/* ═══════════════════════════════════════════════════════════
   Flixfam Pixel-Abenteuer · Activity CSS
   ═══════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@600;800&family=Orbitron:wght@600;700&family=Rajdhani:wght@500;600;700&display=swap');

:root {
  --bg:       #060810;
  --surface:  rgba(12,16,28,0.82);
  --glass:    rgba(10,14,26,0.72);
  --glass2:   rgba(18,22,38,0.68);
  --gold:     #e8c547;
  --gold-dim: rgba(232,197,71,0.14);
  --accent:   #5ec4ff;
  --accent2:  #7c5cff;
  --green:    #3ecf72;
  --danger:   #e74c3c;
  --boss:     #ff5722;
  --txt:      #eef1ff;
  --muted:    rgba(238,241,255,0.52);
  --line:     rgba(232,197,71,0.18);
  --r:        14px;
  --r-sm:     10px;
  --r-lg:     20px;
  --shadow:   0 8px 32px rgba(0,0,0,0.45);
  --scrollbar-size: 8px;
  --scrollbar-size-sm: 6px;
  --scrollbar-thumb: rgba(232,197,71,0.52);
  --scrollbar-thumb-hover: rgba(232,197,71,0.82);
  --scrollbar-track: rgba(6,8,18,0.78);
  --scrollbar-track-edge: rgba(232,197,71,0.14);
  --scrollbar-glow: rgba(124,92,255,0.42);

  --profil-field-bg:url('/activity/rpg/icons/attr-field-bg.png');
  --profil-field-bg-gold:url('/activity/rpg/icons/attr-field-bg-gold.png');
  --profil-icon-plate:url('/activity/rpg/icons/attr-icon-plate.png');}

/* ── Einheitliche Scrollbars (RPG-Gold/Violett) ── */
html,body,
#flix-app-rpg,#app,
html.abenteuer-app,html.abenteuer-app body{
  scrollbar-width:thin;
  scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);
}
html *:not(.scrollbar-hide):not(.coop-dungeon-party):not(.hub-profile-btns),
#flix-app-rpg *:not(.scrollbar-hide):not(.coop-dungeon-party),
#app *:not(.scrollbar-hide):not(.coop-dungeon-party),
.ow-player-suggest-portal,
.mailbox-overlay,
.gh-custom-modal,
.overlay-sheet,
.admin-tab-body{
  scrollbar-width:thin;
  scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);
}
html *:not(.scrollbar-hide):not(.coop-dungeon-party):not(.hub-profile-btns)::-webkit-scrollbar,
#flix-app-rpg *:not(.scrollbar-hide):not(.coop-dungeon-party)::-webkit-scrollbar,
#app *:not(.scrollbar-hide):not(.coop-dungeon-party)::-webkit-scrollbar,
.ow-player-suggest-portal::-webkit-scrollbar,
.mailbox-overlay::-webkit-scrollbar,
.gh-custom-modal::-webkit-scrollbar,
.overlay-sheet::-webkit-scrollbar,
.admin-tab-body::-webkit-scrollbar{
  width:var(--scrollbar-size);height:var(--scrollbar-size);
}
html *:not(.scrollbar-hide):not(.coop-dungeon-party):not(.hub-profile-btns)::-webkit-scrollbar-track,
#flix-app-rpg *:not(.scrollbar-hide):not(.coop-dungeon-party)::-webkit-scrollbar-track,
#app *:not(.scrollbar-hide):not(.coop-dungeon-party)::-webkit-scrollbar-track,
.ow-player-suggest-portal::-webkit-scrollbar-track,
.mailbox-overlay::-webkit-scrollbar-track,
.gh-custom-modal::-webkit-scrollbar-track,
.overlay-sheet::-webkit-scrollbar-track,
.admin-tab-body::-webkit-scrollbar-track{
  background:linear-gradient(180deg,var(--scrollbar-track),rgba(4,6,14,.92));
  border-radius:999px;
  margin:2px 0;
  box-shadow:inset 0 0 0 1px var(--scrollbar-track-edge);
}
html *:not(.scrollbar-hide):not(.coop-dungeon-party):not(.hub-profile-btns)::-webkit-scrollbar-thumb,
#flix-app-rpg *:not(.scrollbar-hide):not(.coop-dungeon-party)::-webkit-scrollbar-thumb,
#app *:not(.scrollbar-hide):not(.coop-dungeon-party)::-webkit-scrollbar-thumb,
.ow-player-suggest-portal::-webkit-scrollbar-thumb,
.mailbox-overlay::-webkit-scrollbar-thumb,
.gh-custom-modal::-webkit-scrollbar-thumb,
.overlay-sheet::-webkit-scrollbar-thumb,
.admin-tab-body::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,var(--scrollbar-thumb),color-mix(in srgb,var(--scrollbar-glow) 68%,rgba(232,197,71,.28)));
  border-radius:999px;
  border:2px solid transparent;
  background-clip:padding-box;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 10px color-mix(in srgb,var(--scrollbar-glow) 35%,transparent);
}
html *:not(.scrollbar-hide):not(.coop-dungeon-party):not(.hub-profile-btns)::-webkit-scrollbar-thumb:hover,
#flix-app-rpg *:not(.scrollbar-hide):not(.coop-dungeon-party)::-webkit-scrollbar-thumb:hover,
#app *:not(.scrollbar-hide):not(.coop-dungeon-party)::-webkit-scrollbar-thumb:hover,
.ow-player-suggest-portal::-webkit-scrollbar-thumb:hover,
.mailbox-overlay::-webkit-scrollbar-thumb:hover,
.gh-custom-modal::-webkit-scrollbar-thumb:hover,
.overlay-sheet::-webkit-scrollbar-thumb:hover,
.admin-tab-body::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,var(--scrollbar-thumb-hover),color-mix(in srgb,var(--scrollbar-glow) 78%,rgba(232,197,71,.42)));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 0 14px color-mix(in srgb,var(--scrollbar-glow) 48%,transparent);
}
html *:not(.scrollbar-hide):not(.coop-dungeon-party)::-webkit-scrollbar-corner,
#flix-app-rpg *:not(.scrollbar-hide):not(.coop-dungeon-party)::-webkit-scrollbar-corner,
#app *:not(.scrollbar-hide):not(.coop-dungeon-party)::-webkit-scrollbar-corner{background:transparent}
.scrollbar-hide,.coop-dungeon-party,html.abenteuer-app.abenteuer-touch-ui .hub-profile-btns{scrollbar-width:none;-ms-overflow-style:none}
.scrollbar-hide::-webkit-scrollbar,.coop-dungeon-party::-webkit-scrollbar,html.abenteuer-app.abenteuer-touch-ui .hub-profile-btns::-webkit-scrollbar{display:none}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100dvh;background:var(--bg);color:var(--txt);font-family:ui-sans-serif,system-ui,sans-serif;overflow-x:hidden}
html.abenteuer-app,html.abenteuer-app body{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  touch-action:pan-y;
}
html.abenteuer-app{
  overflow-x:hidden;
}
html.abenteuer-app.abenteuer-touch-ui,
html.abenteuer-app.abenteuer-touch-ui body{
  height:auto;
  min-height:100dvh;
  max-height:none;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  overscroll-behavior-y:auto;
}
html.abenteuer-app:not(.abenteuer-touch-ui) body{
  overflow-x:hidden;
  overflow-y:auto;
  height:auto;
  min-height:100dvh;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:auto;
}
/* Mobile + APK: volle Breite wie Handy-Browser — kein Zoom, kein Sonder-Layout */
html.flix-rpg-mobile.abenteuer-app,
html.flix-rpg-mobile.abenteuer-app.abenteuer-touch-ui{
  font-size:inherit;
  --abenteuer-ui-scale:1;
  --abenteuer-hub-icon:unset;
  --abenteuer-btn-min:unset;
  --abenteuer-card-r:unset;
  --abenteuer-touch-gap:unset;
}
html.flix-rpg-mobile.abenteuer-touch-ui:not(.flix-rpg-pc-scale) #app{
  max-width:100vw!important;width:100%!important;margin:0!important;
  zoom:1!important;transform:none!important;font-size:inherit!important;
}
html.flix-rpg-mobile.abenteuer-touch-ui #hub-nav-grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;margin-top:8px!important;padding-top:12px!important;
}
@media(min-width:480px){
  html.flix-rpg-mobile.abenteuer-touch-ui #hub-nav-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
html.flix-rpg-mobile.abenteuer-touch-ui .hub-grid-icon{
  width:28px!important;height:28px!important;
  max-width:28px!important;max-height:28px!important;
}
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) #app,
html.flix-rpg-mobile.flix-rpg-web:not(.flix-rpg-pc-scale) #app{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box;
}
html.flix-rpg-mobile .top-bar,
html.flix-rpg-mobile.flix-rpg-web .top-bar{
  max-width:none!important;
  width:100%!important;
  margin-inline:0!important;
  box-sizing:border-box;
}
html.flix-rpg-mobile body.rpg-fixed-topbar .top-bar{
  position:sticky!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:none!important;
}
html.abenteuer-app:not(.flix-rpg-pc-scale) #app,
html.abenteuer-app:not(.flix-rpg-pc-scale) .top-bar{
  transform:none!important;
}
/* Mobile Uniform-Scale: --abenteuer-ui-scale + zoom kommen aus JS (applyMobileUniformUiScale) */
html.flix-rpg-mobile.abenteuer-ui-zoom,
html[data-mobile-shell="1"].abenteuer-ui-zoom,
html[data-abenteuer-apk="1"].abenteuer-ui-zoom{
  touch-action:manipulation;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  --abenteuer-hub-icon:clamp(20px,5.5vw,28px);
  --abenteuer-btn-min:40px;
  --abenteuer-card-r:14px;
  --abenteuer-touch-gap:6px;
}
/* APK-Pinch: User-Zoom auf #app — Body clippt, kein Browser-Zoom */
html.apk-user-zoomed,
html.apk-user-zoomed body{
  overflow:hidden!important;
  overscroll-behavior:none;
}
html.apk-user-zoomed #app{
  will-change:transform;
}
html[data-apk-pinch-ready="1"]{
  --apk-user-zoom:1;
}
html.abenteuer-app:not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]){
  font-size:18px;
  --abenteuer-ui-scale:1.72;
  --abenteuer-touch-gap:10px;
  --abenteuer-btn-min:58px;
  --abenteuer-card-r:18px;
  --abenteuer-line:rgba(232,197,71,.2);
  --abenteuer-hub-icon:clamp(68px,19vw,84px);
}
html.abenteuer-app body.rpg-fixed-topbar .top-bar{
  position:sticky!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:none!important;
}

/* Handy + APK (ohne native App-Shell): Mobile-Layout auch bei Breite >700px */
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) #app{
  padding-left:max(8px,env(safe-area-inset-left,0px));
  padding-right:max(8px,env(safe-area-inset-right,0px));
  padding-top:max(22px,calc(env(safe-area-inset-top,0px) + 14px));
  padding-bottom:max(28px,calc(env(safe-area-inset-bottom,0px) + 12px));
  max-width:100vw;
  overflow-x:hidden;
  overflow:visible;
  max-height:none;
  height:auto;
}
html.flix-rpg-mobile body,html[data-mobile-shell="1"] body{
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:auto;
  height:auto;
  min-height:100dvh;
}
html.flix-rpg-mobile #hub-nav-grid{grid-template-columns:repeat(3,1fr);margin-top:8px;padding-top:16px}
html.flix-rpg-mobile #screen-hub:not(.hidden){display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) #app{min-height:100dvh;display:flex;flex-direction:column}
html.flix-rpg-mobile .screen.hidden{display:none!important}
html.flix-rpg-mobile .hub-grid-btn.locked,
html[data-mobile-shell="1"] .hub-grid-btn.locked,
html[data-abenteuer-apk="1"] .hub-grid-btn.locked{
  display:flex!important;
  opacity:.42;
  filter:grayscale(.7);
  cursor:not-allowed;
}
html.flix-rpg-mobile .hub-grid-btn.locked .hub-grid-soon,
html[data-mobile-shell="1"] .hub-grid-btn.locked .hub-grid-soon,
html[data-abenteuer-apk="1"] .hub-grid-btn.locked .hub-grid-soon{
  opacity:0;
  transform:translateX(-50%) translateY(6px);
}
html.flix-rpg-mobile .hub-grid-btn.locked.hub-grid-soon-open .hub-grid-soon,
html[data-mobile-shell="1"] .hub-grid-btn.locked.hub-grid-soon-open .hub-grid-soon,
html[data-abenteuer-apk="1"] .hub-grid-btn.locked.hub-grid-soon-open .hub-grid-soon{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}
html.flix-rpg-mobile #screen-hub:not(.hidden){padding-top:8px}
html.flix-rpg-mobile .hub-grid-icon,
html[data-abenteuer-apk="1"] .hub-grid-icon{
  width:clamp(20px,5.5vw,28px);
  height:clamp(20px,5.5vw,28px);
}
/* Hub = Browser-Mobile (schlägt abenteuer-app/touch-ui in TWA/APK) */
html.flix-rpg-mobile .hub-char-card-inner,
html[data-abenteuer-apk="1"] .hub-char-card-inner{
  display:flex!important;grid-template-columns:unset!important;grid-template-rows:unset!important;
  align-items:center!important;gap:10px!important;flex-wrap:wrap!important;padding:12px 14px!important;
}
html.flix-rpg-mobile .hub-avatar-wrap,
html[data-abenteuer-apk="1"] .hub-avatar-wrap{
  width:92px!important;height:92px!important;grid-row:unset!important;grid-column:unset!important;border-radius:14px!important;
}
html.flix-rpg-mobile .hub-char-info,
html[data-abenteuer-apk="1"] .hub-char-info{grid-column:unset!important;grid-row:unset!important;align-self:unset!important}
html.flix-rpg-mobile .hub-profile-btns,
html[data-abenteuer-apk="1"] .hub-profile-btns{
  display:flex!important;flex-wrap:wrap!important;grid-column:unset!important;grid-row:unset!important;
  overflow:visible!important;border-top:none!important;padding-top:0!important;margin-top:6px!important;
}
html.flix-rpg-mobile .hub-grid-btn,
html.flix-rpg-mobile a.hub-grid-btn,
html[data-abenteuer-apk="1"] .hub-grid-btn,
html[data-abenteuer-apk="1"] a.hub-grid-btn{
  aspect-ratio:unset!important;min-height:0!important;padding:4px 4px 6px!important;gap:4px!important;
  touch-action:pan-y;
}
html.flix-rpg-mobile .more-item,
html[data-mobile-shell="1"] .more-item,
html[data-abenteuer-apk="1"] .more-item{
  touch-action:pan-y;
}
@media (display-mode:standalone),(display-mode:fullscreen){
  @media (max-width:900px){
    html.flix-rpg-web:not(.flix-rpg-pc-scale) #app,html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) #app{
      width:100%!important;max-width:none!important;margin:0!important;
      min-height:100dvh!important;display:flex!important;flex-direction:column!important;
      padding-left:max(8px,env(safe-area-inset-left,0px));
      padding-right:max(8px,env(safe-area-inset-right,0px));
      padding-top:max(22px,calc(env(safe-area-inset-top,0px) + 14px));
      padding-bottom:max(28px,calc(env(safe-area-inset-bottom,0px) + 12px));
    }
    html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) #app{
      padding-top:calc(env(safe-area-inset-top,0px) + 44px)!important;
    }
    html.flix-rpg-web #screen-hub:not(.hidden),html[data-abenteuer-apk="1"] #screen-hub:not(.hidden){
      display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-height:0!important;
    }
    html.flix-rpg-web #hub-nav-grid,html[data-abenteuer-apk="1"] #hub-nav-grid{
      grid-template-columns:repeat(3,1fr)!important;margin-top:8px!important;padding-top:16px!important;
    }
    html.flix-rpg-web .hub-grid-icon,html[data-abenteuer-apk="1"] .hub-grid-icon{
      width:clamp(20px,5.5vw,28px)!important;height:clamp(20px,5.5vw,28px)!important;
    }
    html.flix-rpg-web .screen.hidden,html[data-abenteuer-apk="1"] .screen.hidden{display:none!important}
    /* Login/Mode-Tür: ID-Regeln mit display:flex dürfen .hidden nicht schlagen */
    html[data-abenteuer-apk="1"] #screen-login.hidden,
    html[data-abenteuer-apk="1"] #screen-mode.hidden,
    html[data-mobile-shell="1"] #screen-login.hidden,
    html[data-mobile-shell="1"] #screen-mode.hidden,
    html.flix-rpg-mobile #screen-login.hidden,
    html.flix-rpg-mobile #screen-mode.hidden,
    html.flix-rpg-web #screen-login.hidden,
    html.flix-rpg-web #screen-mode.hidden,
    html.flix-rpg-active #screen-login.hidden,
    html.flix-rpg-active #screen-mode.hidden{
      display:none!important;pointer-events:none!important;visibility:hidden!important;z-index:-1!important
    }
    html.flix-rpg-web .top-bar,html[data-abenteuer-apk="1"] .top-bar{
      width:100%!important;max-width:none!important;margin-inline:0!important;transform:none!important;
    }
  }
}
@media (display-mode:fullscreen){
  html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) #app,
  html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) .top-bar{
    max-width:520px!important;
    width:min(520px,calc(100vw - 20px))!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
html.flix-rpg-mobile .combat-arena{
  min-height:min(max(28vh,28vw),220px);
  max-height:min(max(44vh,44vw),360px);
}
html.flix-rpg-mobile .combat-duel{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:8px;padding:8px 6px 6px;align-items:stretch;
  min-height:0;width:100%;box-sizing:border-box;
}
html.flix-rpg-mobile .combat-duel .duel-vs{display:flex;align-items:center;justify-content:center}
html.flix-rpg-mobile .combat-duel>.duel-panel{max-width:none;width:100%;min-width:0;overflow:visible}
html.flix-rpg-mobile .duel-portrait,
html.flix-rpg-mobile .duel-player .duel-portrait,
html.flix-rpg-mobile .duel-enemy .duel-portrait{
  width:100%;max-width:100%;
  max-height:min(max(24vh,24vw),195px);
  min-height:min(max(17vh,17vw),130px);
  aspect-ratio:3/4;
}
html.flix-rpg-mobile #screen-combat .combat-arena{
  min-height:min(max(28vh,28vw),220px);
  max-height:min(max(44vh,44vw),360px);
  flex:1 1 auto;
  overflow:hidden;
}
html.flix-rpg-mobile #screen-combat .combat-duel{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:8px;padding:8px 6px;align-items:stretch;overflow:visible;
}
html.flix-rpg-mobile #screen-combat .duel-player .duel-portrait-wrap,
html.flix-rpg-mobile #screen-combat .duel-enemy .duel-portrait-wrap,
html.flix-rpg-mobile #screen-combat .duel-portrait-wrap{
  max-height:min(max(24vh,24vw),195px);
  height:auto;
  flex:0 1 auto;
  overflow:visible;
}
html.flix-rpg-mobile #screen-combat .duel-player .duel-portrait,
html.flix-rpg-mobile #screen-combat .duel-enemy .duel-portrait,
html.flix-rpg-mobile #screen-combat .duel-portrait{
  width:100%!important;max-width:100%!important;
  height:auto!important;
  max-height:min(max(24vh,24vw),195px)!important;
  min-height:min(max(17vh,17vw),130px)!important;
  aspect-ratio:3/4!important;
  flex:1 1 auto!important;
}
html.flix-rpg-mobile #screen-combat .duel-portrait-wrap.has-cos-frame,
html.flix-rpg-mobile #screen-combat .duel-portrait-wrap.has-cos-aura{
  overflow:visible!important;
  aspect-ratio:1/1!important;
  width:min(100%,min(max(24vh,24vw),195px))!important;
  height:auto!important;max-height:none!important;
}
html.flix-rpg-mobile #screen-combat .duel-portrait-wrap.has-cos-frame>.duel-portrait{
  width:var(--cos-frame-hole)!important;height:var(--cos-frame-hole)!important;
  max-width:var(--cos-frame-hole)!important;max-height:var(--cos-frame-hole)!important;
  min-height:0!important;aspect-ratio:1/1!important;
  border-radius:var(--cos-frame-radius)!important;background:transparent!important;border:0!important
}
html.flix-rpg-mobile #screen-combat .duel-portrait-wrap.has-cos-frame.has-cos-aura>.duel-portrait{
  width:var(--cos-avatar-framed-aura)!important;height:var(--cos-avatar-framed-aura)!important;
  max-width:var(--cos-avatar-framed-aura)!important;max-height:var(--cos-avatar-framed-aura)!important
}
html.flix-rpg-mobile #screen-combat .duel-portrait-wrap.has-cos-aura:not(.has-cos-frame)>.duel-portrait{
  width:var(--cos-avatar-aura-alone)!important;height:var(--cos-avatar-aura-alone)!important;
  max-width:var(--cos-avatar-aura-alone)!important;max-height:var(--cos-avatar-aura-alone)!important;
  min-height:0!important;aspect-ratio:1/1!important;
  border-radius:var(--cos-frame-radius)!important;background:transparent!important;border:0!important
}
html.flix-rpg-mobile #screen-combat .duel-name{font-size:.6rem;line-height:1.2}
html.flix-rpg-mobile #screen-combat .duel-class{font-size:.48rem;-webkit-line-clamp:2}
html.flix-rpg-mobile #screen-combat .duel-bar{gap:3px;grid-template-columns:16px minmax(0,1fr) max-content}
html.flix-rpg-mobile #screen-combat .duel-bar-lbl{font-size:.48rem}
html.flix-rpg-mobile #screen-combat .duel-bar .bar-val{font-size:clamp(.48rem,.52rem,2vw);min-width:2.5rem}
html.flix-rpg-mobile #screen-combat .combat-stat-row{min-height:auto;max-height:none;overflow:visible}
html.flix-rpg-mobile #screen-combat .combat-stat-compact{display:block;font-size:clamp(.48rem,.54rem,2.2vw)}
html.flix-rpg-mobile #screen-combat .duel-player .duel-combat-mini{font-size:.52rem}
html.flix-rpg-mobile #screen-combat .status-chip{font-size:.48rem}

/* APK Querformat: Portrait-Breite hochskalieren + vertikal scrollen */
html.abenteuer-app.abenteuer-landscape-layout,
html.abenteuer-app.abenteuer-landscape-layout body{
  overflow-x:hidden;
  overflow-y:auto;
  height:auto;
  min-height:100dvh;
  overscroll-behavior-y:auto;
}
html.abenteuer-app.abenteuer-landscape-layout #app{
  margin-inline:auto;
  padding-bottom:max(32px,calc(env(safe-area-inset-bottom,0px) + 16px));
}
html.abenteuer-app.abenteuer-landscape-layout #flix-app-rpg.active{
  overflow:visible;
  flex:none;
  min-height:0;
}
html.abenteuer-app.abenteuer-landscape-layout #screen-combat,
html.abenteuer-app.abenteuer-landscape-layout #screen-coop-combat,
html.abenteuer-app.abenteuer-landscape-layout #screen-hub,
html.abenteuer-app.abenteuer-landscape-layout #screen-panel{
  overflow:visible;
  min-height:auto;
  flex:none;
}
html.abenteuer-app.abenteuer-landscape-layout .combat-wrap{
  overflow-y:auto;
  overflow-x:hidden;
  min-height:auto;
  flex:none;
  max-height:none;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  touch-action:pan-y;
  padding-bottom:8px;
}
html.abenteuer-app.abenteuer-landscape-layout .combat-wrap.combat-subpanel-open{
  overflow-y:auto;
}
html.abenteuer-app.abenteuer-landscape-layout .combat-log .log-inner{
  max-height:min(28vh,120px);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}

/* ══════════════════════════════════════════════════════════════
   APK · Touch-Gaming-UI v2 — sauberes Grid, große Touch-Ziele
══════════════════════════════════════════════════════════════ */
html.abenteuer-app.abenteuer-touch-ui #app{
  padding-left:max(10px,env(safe-area-inset-left,0px));
  padding-right:max(10px,env(safe-area-inset-right,0px));
  padding-top:max(12px,calc(env(safe-area-inset-top,0px) + 8px));
  padding-bottom:max(20px,calc(env(safe-area-inset-bottom,0px) + 12px));
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  min-height:100dvh;
  height:auto;
  max-height:none;
  overflow:visible;
  display:block;
  box-sizing:border-box;
}
html.abenteuer-app.abenteuer-touch-ui #app-touch-scale{
  display:flex;
  flex-direction:column;
  gap:var(--abenteuer-touch-gap);
  box-sizing:border-box;
  margin-left:auto;
  margin-right:auto;
  transform-origin:top center;
  will-change:transform;
}
/* APK: Seiten scrollen über body — keine feste Viewport-Höhe */
html.abenteuer-app.abenteuer-touch-ui .screen:not(.hidden){
  flex:0 1 auto!important;
  min-height:0;
  height:auto;
}
html.abenteuer-app.abenteuer-touch-ui #screen-hub,
html.abenteuer-app.abenteuer-touch-ui #screen-world,
html.abenteuer-app.abenteuer-touch-ui #screen-zone,
html.abenteuer-app.abenteuer-touch-ui #screen-panel,
html.abenteuer-app.abenteuer-touch-ui #screen-lobby,
html.abenteuer-app.abenteuer-touch-ui #screen-coop-world,
html.abenteuer-app.abenteuer-touch-ui #screen-saga,
html.abenteuer-app.abenteuer-touch-ui #screen-hall-of-fame,
html.abenteuer-app.abenteuer-touch-ui #screen-skill-tree{
  overflow:visible!important;
  max-height:none!important;
  min-height:0;
  flex:none;
}
/* Hall of Fame (Touch): gesamter Inhalt über Body scrollen — auch über Top-3/Listenfelder */
html.abenteuer-app.abenteuer-touch-ui #screen-hall-of-fame .hof-screen-wrap{
  overflow:visible!important;
  max-height:none!important;
  height:auto!important;
  flex:none!important;
  touch-action:pan-y!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-hall-of-fame .hof-podium-slot,
html.abenteuer-app.abenteuer-touch-ui #screen-hall-of-fame .hof-row,
html.abenteuer-app.abenteuer-touch-ui #screen-hall-of-fame .hof-interactive{
  touch-action:pan-y!important;
}
html.abenteuer-app.abenteuer-touch-ui body.screen-coop-world #screen-coop-world{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
html.abenteuer-app.abenteuer-touch-ui body.world-map-immersive #screen-coop-world,
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-dungeon #screen-coop-world,
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-saga #screen-coop-world,
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-zone #screen-coop-world{
  height:100%!important;
  max-height:none!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
}
html.abenteuer-app.abenteuer-touch-ui #cw-explore-wrap,
html.abenteuer-app.abenteuer-touch-ui #cw-saga-wrap{
  overflow:visible!important;
  max-height:none!important;
  flex:none!important;
  min-height:0;
}
html.abenteuer-app.abenteuer-touch-ui body.world-map-immersive #screen-coop-world #cw-explore-wrap{
  overflow:hidden!important;
  position:absolute!important;
  inset:0!important;
  flex:none!important;
}
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-zone #screen-coop-world #cw-explore-wrap,
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-saga #screen-coop-world #cw-saga-wrap{
  overflow:hidden!important;
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  display:flex!important;
  flex-direction:column!important;
}
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-dungeon #screen-coop-world #cw-explore-wrap,
html[data-abenteuer-apk="1"] body.coop-layout-dungeon #screen-coop-world #cw-explore-wrap,
html.flix-rpg-mobile body.coop-layout-dungeon #screen-coop-world #cw-explore-wrap{
  display:block!important;
  flex:1 1 0%!important;
  min-height:0!important;
  height:0!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:scroll!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
  padding-bottom:max(96px,calc(env(safe-area-inset-bottom,0px) + 80px))!important;
}
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-dungeon #screen-coop-world #cw-dungeon-panel,
html[data-abenteuer-apk="1"] body.coop-layout-dungeon #screen-coop-world #cw-dungeon-panel{
  display:block!important;
  flex:none!important;
  height:auto!important;
  overflow:visible!important;
  max-height:none!important;
}
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-dungeon #screen-coop-world .dng-market-shell--coop,
html[data-abenteuer-apk="1"] body.coop-layout-dungeon #screen-coop-world .dng-market-shell--coop{
  flex:none!important;
  height:auto!important;
  overflow:visible!important;
  max-height:none!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-world #cw-dungeon-gallery,
html[data-abenteuer-apk="1"] #screen-coop-world #cw-dungeon-gallery,
html.abenteuer-app.abenteuer-touch-ui #screen-coop-world .dng-market-gallery,
html[data-abenteuer-apk="1"] #screen-coop-world .dng-market-gallery{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  touch-action:pan-x!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-world .saga-chapter-tabs,
html[data-abenteuer-apk="1"] #screen-coop-world .saga-chapter-tabs{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  touch-action:pan-x!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card,
html.abenteuer-app.abenteuer-touch-ui .panel-card{
  max-height:none!important;
  overflow:visible!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-daily{
  max-height:var(--rpg-menu-scroll-max)!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-daily .daily-panel-wrap{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-daily .daily-claim-footer{
  flex-shrink:0!important;
}
/* Aufträge/Quests: innere Scroll-Region (sonst clipped #screen-panel ohne Scroll) */
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-quests{
  max-height:var(--rpg-menu-scroll-max)!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-quests .quest-workshop{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-quests .quest-workshop-header{
  flex-shrink:0!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-quests .quest-scroll-wrap{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-quests .quest-row,
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-quests .quest-fold,
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-quests .quest-fold-summary,
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-quests .quest-active,
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-quests .quest-claim{
  touch-action:pan-y!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-daily .daily-block-month{
  flex:0 1 auto!important;
  min-height:0!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-daily .monthly-calendar-compact{
  flex:0 1 auto!important;
  max-height:min(32vh,240px)!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-skills,
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-profession,
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-guild{
  max-height:var(--rpg-menu-scroll-max)!important;
  height:var(--rpg-menu-scroll-max)!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-guild>.hub-social-panel{
  flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;
  display:flex!important;flex-direction:column!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-guild #hub-guild-tab-body:not(.hub-guild-tab-skills):not(.hub-guild-tab-quests){
  flex:1 1 auto!important;min-height:0!important;
  overflow-y:auto!important;overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;
  overscroll-behavior:contain!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-skills .tree-panel-body,
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-profession .tree-panel-body,
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-guild.panel-guild-skills-open .hub-guild-tab-body,
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-guild.panel-guild-quests-open .hub-guild-tab-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-skills .tree-scroll,
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-profession .tree-scroll,
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-guild.panel-guild-skills-open .hub-guild-skills-scroll,
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-guild.panel-guild-quests-open .hub-guild-quests-scroll{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
  overscroll-behavior:contain!important;
}
html.abenteuer-app.abenteuer-touch-ui body.screen-guild-raid #screen-guild-raid{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  display:flex!important;
  flex-direction:column!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-guild-raid .guild-raid-combat-full,
html.abenteuer-app.abenteuer-touch-ui #screen-guild-raid:not(.combat-pokemon) .guild-raid-screen-host{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-guild-raid.combat-pokemon .guild-raid-screen-host{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:visible!important;
  display:flex!important;
  flex-direction:column!important;
}
html.abenteuer-app.abenteuer-touch-ui .inv-list,
html.abenteuer-app.abenteuer-touch-ui .trade-pick-scroll,
html.abenteuer-app.abenteuer-touch-ui .saga-map-scroll,
html.abenteuer-app.abenteuer-touch-ui .combat-skills-body,
html.abenteuer-app.abenteuer-touch-ui .hub-guild-skills-scroll,
html.abenteuer-app.abenteuer-touch-ui .hub-guild-quests-scroll,
html.abenteuer-app.abenteuer-touch-ui #hub-guild-tab-body:not(.hub-guild-tab-skills):not(.hub-guild-tab-quests),
html.abenteuer-app.abenteuer-touch-ui .log-inner,
html.abenteuer-app.abenteuer-touch-ui .profil-scroll-body{
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
html.abenteuer-app.abenteuer-touch-ui body.screen-combat #screen-combat,
html.abenteuer-app.abenteuer-touch-ui body.screen-coop-combat #screen-coop-combat,
html.abenteuer-app.abenteuer-touch-ui body.screen-guild-raid #screen-guild-raid{
  overflow:visible!important;
  max-height:none!important;
}
html.abenteuer-app.abenteuer-touch-ui .top-bar{
  padding:10px 12px;min-height:50px;gap:8px;
  border-radius:var(--abenteuer-card-r);
  margin-top:0;
}
html.abenteuer-app.abenteuer-touch-ui .top-title{font-size:.92rem;font-weight:800}
html.abenteuer-app.abenteuer-touch-ui .btn-icon{
  min-width:46px;min-height:46px;padding:8px 11px;font-size:1.05rem;border-radius:12px;
}
html.abenteuer-app.abenteuer-touch-ui .btn,
html.abenteuer-app.abenteuer-touch-ui .cbtn{min-height:var(--abenteuer-btn-min)}

/* ── Hub: klare Sektionen ── */
html.abenteuer-app.abenteuer-touch-ui #screen-hub{
  display:flex;flex-direction:column;gap:var(--abenteuer-touch-gap);
}
html.abenteuer-app.abenteuer-touch-ui .hub-back-activities{display:flex!important;visibility:visible!important}
html.abenteuer-app.abenteuer-touch-ui .hub-char-card{
  border-radius:var(--abenteuer-card-r);
  border:1px solid var(--abenteuer-line);
  background:linear-gradient(145deg,rgba(16,20,36,.96),rgba(8,10,18,.94));
  box-shadow:0 8px 28px rgba(0,0,0,.35);
}
html.abenteuer-app.abenteuer-touch-ui .hub-char-card-inner{
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  grid-template-rows:auto auto auto;
  gap:6px 12px;
  padding:14px;
  align-items:center;
  flex-wrap:nowrap;
}
html.abenteuer-app.abenteuer-touch-ui .hub-avatar-wrap{
  grid-row:1/span 2;grid-column:1;
  width:76px;height:76px;border-radius:16px;
}
html.abenteuer-app.abenteuer-touch-ui .hub-char-info{
  grid-column:2;grid-row:1;align-self:end;min-width:0;
}
html.abenteuer-app.abenteuer-touch-ui .hub-char-name{font-size:1.02rem;line-height:1.2}
html.abenteuer-app.abenteuer-touch-ui .hub-char-meta{margin-top:4px}
html.abenteuer-app.abenteuer-touch-ui .hub-char-meta-row{gap:3px}
html.abenteuer-app.abenteuer-touch-ui .hub-char-meta-line{gap:4px}
html.abenteuer-app.abenteuer-touch-ui .zone-party-panel .hub-meta-chip{font-size:.64rem;padding:3px 8px}
html.abenteuer-app.abenteuer-touch-ui .hub-meta-chip{font-size:.74rem;padding:3px 9px}
html.abenteuer-app.abenteuer-touch-ui .hub-profile-btns{
  grid-column:1/-1;grid-row:3;
  display:flex;flex-wrap:nowrap;gap:6px;
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  margin-top:2px;padding-top:10px;
  border-top:1px solid rgba(255,255,255,.08);
  scrollbar-width:none;
}
html.abenteuer-app.abenteuer-touch-ui .hub-profile-btns::-webkit-scrollbar{display:none}
html.abenteuer-app.abenteuer-touch-ui .hub-profil-inline-btn{
  flex:0 0 auto;min-height:42px;padding:8px 12px;font-size:.76rem;
  border-radius:12px;white-space:nowrap;
}
html.abenteuer-app.abenteuer-touch-ui .hub-stats{
  border-radius:var(--abenteuer-card-r);
  border:1px solid rgba(255,255,255,.1);
  background:rgba(10,14,26,.88);
  padding:12px 14px;
  display:flex;flex-direction:column;gap:8px;
}
html.abenteuer-app.abenteuer-touch-ui .hub-stats .bar-row{gap:6px;margin:0;width:100%}
html.abenteuer-app.abenteuer-touch-ui .hub-stats .bar-track{flex:1 1 auto;min-width:0}
html.abenteuer-app.abenteuer-touch-ui .hub-stats .bar-val{flex:0 0 auto}
html.abenteuer-app.abenteuer-touch-ui .hub-stats .chips-row,
html.abenteuer-app.abenteuer-touch-ui .hub-stats .hub-rest-btn,
html.abenteuer-app.abenteuer-touch-ui .hub-stats .hub-status-chips{width:100%}
html.abenteuer-app.abenteuer-touch-ui .hub-stats .bar-lbl{font-size:.76rem;width:auto;min-width:22px;flex-shrink:0}
html.abenteuer-app.abenteuer-touch-ui .hub-stats .bar-track{height:11px;border-radius:999px}
html.abenteuer-app.abenteuer-touch-ui .hub-stats .bar-val{font-size:.74rem;min-width:3rem}
html.abenteuer-app.abenteuer-touch-ui .hub-meta-chips{gap:6px;margin-top:0}
html.abenteuer-app.abenteuer-touch-ui .hub-rest-btn{
  width:100%;min-height:56px;font-size:.86rem;margin-top:2px;border-radius:14px;padding:0;overflow:hidden;
}
html.abenteuer-app.abenteuer-touch-ui .hub-rest-btn-label{
  min-height:56px;padding:12px 14px;justify-content:center;text-align:center;
}
html.abenteuer-app.abenteuer-touch-ui #hub-invite-banner,
html.abenteuer-app.abenteuer-touch-ui #hub-quest-bar,
html.abenteuer-app.abenteuer-touch-ui #pending-combat-banner.hub-alert,
html.abenteuer-app.abenteuer-touch-ui .hub-alert{
  border-radius:14px;padding:12px 14px;font-size:.82rem;min-height:56px;
}
html.abenteuer-app.abenteuer-touch-ui .hub-alert .btn,
html.abenteuer-app.abenteuer-touch-ui #hub-invite-banner .btn,
html.abenteuer-app.abenteuer-touch-ui #hub-quest-bar .btn,
html.abenteuer-app.abenteuer-touch-ui #pending-combat-banner.hub-alert .btn{
  min-height:44px;font-size:.82rem;padding:10px 14px;
}
html.abenteuer-app.abenteuer-touch-ui #hub-nav-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:4px!important;
  padding:4px 0 8px!important;
  justify-items:stretch;
  align-content:start;
}
@media(min-width:480px){
  html.abenteuer-app.abenteuer-touch-ui #hub-nav-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
html.abenteuer-app.abenteuer-touch-ui .hub-grid-btn,
html.abenteuer-app.abenteuer-touch-ui a.hub-grid-btn{
  display:flex!important;
  flex-direction:column!important;
  aspect-ratio:16/12!important;
  width:100%;
  max-width:none;
  min-height:0;
  padding:0!important;
  border-radius:12px!important;
  gap:0;
  background:#0c1018!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.35)!important;
  justify-content:flex-end;
  align-items:stretch;
  position:relative;
  overflow:hidden!important;
}
html.abenteuer-app.abenteuer-touch-ui .hub-grid-btn:hover,
html.abenteuer-app.abenteuer-touch-ui .hub-grid-btn:active,
html.abenteuer-app.abenteuer-touch-ui a.hub-grid-btn:hover,
html.abenteuer-app.abenteuer-touch-ui a.hub-grid-btn:active{
  background:#0c1018!important;
  transform:scale(.985);
}
html.abenteuer-app.abenteuer-touch-ui .hub-grid-btn.locked{opacity:.45;filter:grayscale(.6)}
html.abenteuer-app.abenteuer-touch-ui .hub-grid-icon{
  width:28px!important;
  height:28px!important;
  border-radius:8px;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.75));
  flex-shrink:0;
  position:absolute!important;
  top:10px!important;left:10px!important;
}
html.abenteuer-app.abenteuer-touch-ui .hub-grid-btn:active .hub-grid-icon,
html.abenteuer-app.abenteuer-touch-ui a.hub-grid-btn:active .hub-grid-icon{
  transform:scale(.96);
}
html.abenteuer-app.abenteuer-touch-ui .hub-grid-label{
  display:block!important;
  font-size:.82rem!important;
  font-weight:800!important;
  line-height:1.2!important;
  text-align:left;
  width:100%;
  max-width:100%;
  padding:0 1px;
  opacity:.92;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  text-overflow:ellipsis;
  word-break:break-word;
}
html.abenteuer-app.abenteuer-touch-ui .hub-grid-soon{
  display:block!important;
  position:static!important;
  transform:none!important;
  opacity:0!important;
  max-height:0!important;
  overflow:hidden!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  font-size:.6rem!important;
  font-weight:700!important;
  color:var(--muted)!important;
  white-space:normal!important;
  text-align:center;
  line-height:1.2;
  transition:opacity .15s ease,max-height .15s ease,margin .15s ease;
}
html.abenteuer-app.abenteuer-touch-ui .hub-grid-btn.locked.hub-grid-soon-open .hub-grid-soon{
  opacity:.75!important;
  max-height:3em!important;
  margin:-2px 0 0!important;
}
html.abenteuer-app.abenteuer-touch-ui .hub-grid-lock{
  top:0;right:calc(50% - var(--abenteuer-hub-icon) / 2 + 4px);font-size:1rem;
  filter:drop-shadow(0 1px 4px rgba(0,0,0,.9));
}
html.abenteuer-app.abenteuer-touch-ui .hub-grid-badge{
  top:-2px;right:calc(50% - var(--abenteuer-hub-icon) / 2 + 2px);font-size:1rem;
}

/* ── Kampf: Arena + Log + Aktions-Dock ── */
html.abenteuer-app.abenteuer-touch-ui #screen-combat,
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat,
html.abenteuer-app.abenteuer-touch-ui #screen-guild-raid{
  overflow:visible!important;min-height:0;
}
html.abenteuer-app.abenteuer-touch-ui .combat-wrap{
  display:flex;flex-direction:column;gap:8px;
  padding:4px 2px 0;overflow:visible!important;min-height:0;
}
html.abenteuer-app.abenteuer-touch-ui #screen-combat .combat-arena,
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .combat-arena,
html.abenteuer-app.abenteuer-touch-ui #screen-guild-raid .combat-arena,
html.abenteuer-app.abenteuer-touch-ui #screen-guild-raid #guild-raid-arena{
  min-height:unset!important;
  max-height:none!important;
  height:auto!important;
  flex:1 1 auto!important;
  border-radius:var(--abenteuer-card-r);
  overflow:hidden;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-combat-arena.coop-duel-1v1 .coop-duel{
  height:auto!important;align-items:start!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-combat-arena.coop-duel-1v1 .coop-duel-side .duel-panel.coop-duel-card{
  flex:0 0 auto!important;height:auto!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-skills,
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-profession,
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-guild{
  max-height:var(--rpg-menu-scroll-max)!important;
  height:var(--rpg-menu-scroll-max)!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-profil{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:var(--rpg-menu-scroll-max)!important;
  height:var(--rpg-menu-scroll-max)!important;
  overflow:hidden!important;
}
html.abenteuer-app.abenteuer-touch-ui body.screen-panel:has(#panel-card.panel-profil) #screen-panel{
  max-height:var(--rpg-menu-scroll-max)!important;
  overflow:hidden!important;
}
html.abenteuer-app.abenteuer-touch-ui body.screen-panel:has(#panel-card.panel-profil) #panel-card.panel-profil{
  max-height:var(--rpg-menu-scroll-max)!important;
  overflow:hidden!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-profil .profil-body{
  overflow:hidden!important;
}
/* Profil Mobile/APK: Body MUSS scrollen (Touch-UI-hidden überschreiben) */
html.abenteuer-app.abenteuer-touch-ui.flix-rpg-mobile #panel-card.panel-profil .profil-body,
html.abenteuer-app.abenteuer-touch-ui.flix-rpg-pc-scale #panel-card.panel-profil .profil-body,
html.abenteuer-app.abenteuer-touch-ui[data-abenteuer-apk="1"] #panel-card.panel-profil .profil-body,
html.abenteuer-app.abenteuer-touch-ui[data-mobile-shell="1"] #panel-card.panel-profil .profil-body,
html.flix-rpg-pc-scale.flix-rpg-mobile #panel-card.panel-profil .profil-body,
html.flix-rpg-pc-scale.flix-rpg-mobile #panel-card.panel-profil .profil-body.rpg-scroll-region,
html.flix-rpg-compact-ui #panel-card.panel-profil .profil-body,
html.flix-rpg-compact-ui #panel-card.panel-profil .profil-body.rpg-scroll-region{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  min-height:0!important;
  flex:1 1 auto!important;
}
html.flix-rpg-pc-scale.flix-rpg-mobile #panel-card.panel-profil .profil-shell,
html.flix-rpg-compact-ui #panel-card.panel-profil .profil-shell,
html[data-abenteuer-apk="1"] #panel-card.panel-profil .profil-shell,
html[data-mobile-shell="1"] #panel-card.panel-profil .profil-shell{
  display:flex!important;
  flex-direction:column!important;
  grid-template-rows:none!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
html.flix-rpg-pc-scale.flix-rpg-mobile #panel-card.panel-profil .profil-topbar,
html.flix-rpg-compact-ui #panel-card.panel-profil .profil-topbar,
html[data-abenteuer-apk="1"] #panel-card.panel-profil .profil-topbar,
html[data-mobile-shell="1"] #panel-card.panel-profil .profil-topbar{
  flex:0 0 auto!important;
  height:auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  grid-template-columns:1fr!important;
  --profil-hud-cols:1fr;
  overflow:visible!important;
}
/* Rem-Boost dämpfen: Portrait/Titel auf kleinen Screens nicht aufblähen */
html.flix-rpg-pc-scale.flix-rpg-mobile #panel-card.panel-profil .profil-hero-portrait,
html[data-abenteuer-apk="1"] #panel-card.panel-profil .profil-hero-portrait,
html[data-mobile-shell="1"] #panel-card.panel-profil .profil-hero-portrait{
  width:72px!important;height:72px!important;
}
html.flix-rpg-pc-scale.flix-rpg-mobile #panel-card.panel-profil .profil-title,
html[data-abenteuer-apk="1"] #panel-card.panel-profil .profil-title,
html[data-mobile-shell="1"] #panel-card.panel-profil .profil-title{
  font-size:1.05rem!important;
}
html.flix-rpg-pc-scale.flix-rpg-mobile #panel-card.panel-profil .attr-list-primary,
html[data-abenteuer-apk="1"] #panel-card.panel-profil .attr-list-primary,
html[data-mobile-shell="1"] #panel-card.panel-profil .attr-list-primary{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
html.flix-rpg-pc-scale.flix-rpg-mobile #panel-card.panel-profil .attr-list-secondary,
html[data-abenteuer-apk="1"] #panel-card.panel-profil .attr-list-secondary,
html[data-mobile-shell="1"] #panel-card.panel-profil .attr-list-secondary{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-statistik{
  max-height:var(--rpg-menu-scroll-max)!important;
  height:var(--rpg-menu-scroll-max)!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-statistik .stats-panel,
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-statistik .stats-panel-scroll{
  flex:1 1 auto!important;
  min-height:0!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-statistik .stats-panel-scroll{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-statistik .stats-interactive,
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-statistik .stats-card,
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-statistik .stats-featured,
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-statistik .stats-ach-btn{
  touch-action:pan-y!important;
}
html.abenteuer-app.abenteuer-touch-ui body.screen-panel #screen-panel{
  flex:1 1 auto!important;
  max-height:var(--rpg-menu-scroll-max)!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-skill-tree{
  flex:1 1 auto!important;
  max-height:var(--rpg-menu-scroll-max)!important;
  height:var(--rpg-menu-scroll-max)!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-combat .combat-duel{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:10px!important;padding:10px 8px!important;
  align-items:stretch!important;overflow:visible!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-duel{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  gap:6px!important;padding:6px!important;
  align-items:stretch!important;overflow:visible!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-duel .duel-vs{display:flex!important}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-duel-side{
  display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;
  gap:6px!important;justify-content:center!important;align-items:stretch!important;
  overflow:visible!important;max-height:none!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-duel-side .duel-panel.coop-duel-card{
  flex:0 0 calc(50% - 4px)!important;max-width:calc(50% - 4px)!important;
  min-width:88px!important;padding:6px!important;
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  border-radius:12px!important;overflow:visible!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-combat-arena.coop-duel-1v1 .coop-duel-side .duel-panel.coop-duel-card{
  flex:1 1 auto!important;max-width:100%!important;min-width:0!important;width:100%!important;
  padding:10px 8px!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-duel-side .duel-portrait{
  max-height:56px!important;min-height:48px!important;aspect-ratio:1!important;
  width:100%!important;height:auto!important;border-radius:10px!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-combat-arena.coop-duel-1v1 .coop-duel-side{
  flex-direction:column!important;align-items:stretch!important;justify-content:center!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-combat-arena.coop-duel-1v1 .coop-duel-side .duel-portrait{
  max-height:min(max(38vh,38vw),280px)!important;min-height:min(max(28vh,28vw),190px)!important;
  aspect-ratio:3/4!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-combat-arena.coop-duel-1v1 .coop-duel-side .duel-name{
  font-size:.74rem!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-combat-arena.coop-duel-1v1 .coop-duel-side .duel-class{
  font-size:.62rem!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-combat-arena.coop-duel-1v1 .coop-duel-side .duel-bar .bar-track{
  height:7px!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-combat-arena.coop-duel-1v1 .coop-duel-side .duel-bar .bar-val{
  font-size:.56rem!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-duel-side .duel-name{
  font-size:.58rem!important;line-height:1.15!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-duel-side .duel-class{
  font-size:.5rem!important;-webkit-line-clamp:1!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-duel-side .duel-bar{
  gap:2px!important;grid-template-columns:12px minmax(0,1fr) max-content!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-duel-side .duel-bar .bar-track{
  height:5px!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-duel-side .duel-bar .bar-val{
  font-size:.44rem!important;min-width:1.9rem!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-combat-arena.coop-members-3 .coop-duel-side .duel-panel.coop-duel-card,
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-combat-arena.coop-members-4 .coop-duel-side .duel-panel.coop-duel-card{
  flex:0 0 calc(33.333% - 4px)!important;max-width:calc(33.333% - 4px)!important;min-width:72px!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-combat-arena.coop-members-4 .coop-duel-side .duel-panel.coop-duel-card{
  flex:0 0 calc(25% - 4px)!important;max-width:calc(25% - 4px)!important;min-width:68px!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-combat-arena.coop-heroes-2 .coop-duel-heroes .duel-panel.coop-duel-card{
  flex:0 0 calc(50% - 4px)!important;max-width:calc(50% - 4px)!important;min-width:84px!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-combat-arena.coop-enemies-2 .coop-duel-enemies .duel-panel.coop-duel-card{
  flex:0 0 calc(50% - 4px)!important;max-width:calc(50% - 4px)!important;min-width:84px!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-combat-arena.coop-heroes-3 .coop-duel-heroes .duel-panel.coop-duel-card,
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-combat-arena.coop-enemies-3 .coop-duel-enemies .duel-panel.coop-duel-card{
  flex:0 0 calc(33.333% - 4px)!important;max-width:calc(33.333% - 4px)!important;min-width:72px!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-combat-arena.coop-heroes-4 .coop-duel-heroes .duel-panel.coop-duel-card,
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-combat-arena.coop-enemies-4 .coop-duel-enemies .duel-panel.coop-duel-card{
  flex:0 0 calc(25% - 4px)!important;max-width:calc(25% - 4px)!important;min-width:68px!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-panel{
  padding:8px!important;gap:6px!important;
  border-radius:14px!important;overflow:visible!important;
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-portrait-wrap,
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-player .duel-portrait-wrap,
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-enemy .duel-portrait-wrap{
  max-height:min(max(28vh,28vw),210px)!important;
  height:auto!important;flex:0 1 auto!important;width:100%!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-portrait,
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-player .duel-portrait,
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-enemy .duel-portrait{
  width:100%!important;height:auto!important;
  max-height:min(max(28vh,28vw),210px)!important;
  min-height:min(max(18vh,18vw),140px)!important;
  aspect-ratio:3/4!important;border-radius:12px!important;
}
/* Touch: mit Rahmen/Aura quadratisch nesten (schlägt 3:4 oben) */
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-portrait-wrap.has-cos-frame,
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-portrait-wrap.has-cos-aura,
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-player .duel-portrait-wrap.has-cos-frame,
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-player .duel-portrait-wrap.has-cos-aura,
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-enemy .duel-portrait-wrap.has-cos-frame,
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-enemy .duel-portrait-wrap.has-cos-aura{
  overflow:visible!important;
  aspect-ratio:1/1!important;
  width:min(100%,min(max(28vh,28vw),210px))!important;
  height:auto!important;max-height:none!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-portrait-wrap.has-cos-frame>.duel-portrait,
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-player .duel-portrait-wrap.has-cos-frame>.duel-portrait,
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-enemy .duel-portrait-wrap.has-cos-frame>.duel-portrait{
  width:var(--cos-frame-hole)!important;height:var(--cos-frame-hole)!important;
  max-width:var(--cos-frame-hole)!important;max-height:var(--cos-frame-hole)!important;
  min-height:0!important;aspect-ratio:1/1!important;border-radius:var(--cos-frame-radius)!important;
  background:transparent!important;border:0!important
}
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-portrait-wrap.has-cos-frame.has-cos-aura>.duel-portrait,
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-player .duel-portrait-wrap.has-cos-frame.has-cos-aura>.duel-portrait,
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-enemy .duel-portrait-wrap.has-cos-frame.has-cos-aura>.duel-portrait{
  width:var(--cos-avatar-framed-aura)!important;height:var(--cos-avatar-framed-aura)!important;
  max-width:var(--cos-avatar-framed-aura)!important;max-height:var(--cos-avatar-framed-aura)!important
}
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-portrait-wrap.has-cos-aura:not(.has-cos-frame)>.duel-portrait,
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-player .duel-portrait-wrap.has-cos-aura:not(.has-cos-frame)>.duel-portrait,
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-enemy .duel-portrait-wrap.has-cos-aura:not(.has-cos-frame)>.duel-portrait{
  width:var(--cos-avatar-aura-alone)!important;height:var(--cos-avatar-aura-alone)!important;
  max-width:var(--cos-avatar-aura-alone)!important;max-height:var(--cos-avatar-aura-alone)!important;
  min-height:0!important;aspect-ratio:1/1!important;border-radius:var(--cos-frame-radius)!important;
  background:transparent!important;border:0!important
}
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-name{font-size:.82rem!important;line-height:1.25!important}
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-class{font-size:.7rem!important;-webkit-line-clamp:2!important}
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-bar{
  gap:4px!important;grid-template-columns:18px minmax(0,1fr) max-content!important;width:100%!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-bar-lbl{font-size:.64rem!important}
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-bar .bar-track{height:7px!important}
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-bar .bar-val{font-size:.68rem!important;min-width:2.9rem!important}
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-player .duel-bar-sta,
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-player .duel-bar-mana,
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-player .duel-bar-xp,
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-player .duel-xp-level{display:block!important;font-size:clamp(.58rem,2.2vw,.72rem)!important}
html.abenteuer-app.abenteuer-touch-ui #screen-combat .duel-player .duel-combat-mini{
  display:block!important;font-size:.68rem!important;line-height:1.3!important;padding:2px 0!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-combat .combat-stat-row{
  min-height:auto!important;max-height:none!important;overflow:visible!important;margin:2px 0!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-combat .combat-stat-compact{display:block!important;font-size:.66rem!important}
html.abenteuer-app.abenteuer-touch-ui #screen-combat .status-chip{font-size:.6rem!important;padding:2px 5px!important}
html.abenteuer-app.abenteuer-touch-ui .combat-log{
  flex:0 0 auto!important;border-radius:14px;overflow:hidden;
}
html.abenteuer-app.abenteuer-touch-ui .combat-log-toggle{
  padding:8px 12px!important;font-size:.72rem!important;
}
html.abenteuer-app.abenteuer-touch-ui .combat-log-body{
  max-height:min(26vh,120px)!important;min-height:64px!important;
}
html.abenteuer-app.abenteuer-touch-ui .log-inner{font-size:.74rem!important;padding:6px 10px!important;line-height:1.4!important}
html.abenteuer-app.abenteuer-touch-ui .combat-fx-damage{font-size:.9rem!important}
html.abenteuer-app.abenteuer-touch-ui .combat-fx-crit{font-size:1.02rem!important}
html.abenteuer-app.abenteuer-touch-ui .combat-fx-status{font-size:.62rem!important}
html.abenteuer-app.abenteuer-touch-ui .log-text{font-size:.74rem!important}

html.abenteuer-app.abenteuer-touch-ui .combat-btns,
html.abenteuer-app.abenteuer-touch-ui .combat-action-wheel,
html.abenteuer-app.abenteuer-touch-ui #combat-btns,
html.abenteuer-app.abenteuer-touch-ui #coop-combat-btns{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  padding:10px 8px max(14px,env(safe-area-inset-bottom,0px))!important;
  margin:0 -2px!important;
  border-radius:20px 20px 0 0;
  border-top:1px solid var(--abenteuer-line);
  background:rgba(8,10,18,.97)!important;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  position:sticky;bottom:0;z-index:20;
  box-shadow:0 -8px 32px rgba(0,0,0,.45);
}
html.abenteuer-app.abenteuer-touch-ui .combat-wheel-row{
  display:grid!important;
  gap:8px!important;
  align-items:center!important;
}
html.abenteuer-app.abenteuer-touch-ui .combat-wheel-top{
  grid-template-columns:1fr 1fr!important;
}
html.abenteuer-app.abenteuer-touch-ui .combat-wheel-bot3{
  grid-template-columns:1fr auto 1fr!important;
}
html.abenteuer-app.abenteuer-touch-ui .combat-wheel-bot3:has(.cbtn-pet.hidden){
  grid-template-columns:auto 1fr!important;
}
html.abenteuer-app.abenteuer-touch-ui .combat-wheel-bot3 .cbtn-potion{justify-self:stretch}
html.abenteuer-app.abenteuer-touch-ui .combat-wheel-bot3 .cbtn-flee{justify-self:center}
html.abenteuer-app.abenteuer-touch-ui .cbtn{
  min-height:54px!important;font-size:.82rem!important;
  padding:11px 8px!important;border-radius:14px!important;
  letter-spacing:.04em!important;
}
html.abenteuer-app.abenteuer-touch-ui .cbtn-flee{
  width:72px!important;height:72px!important;min-height:72px!important;
  border-radius:50%!important;flex-direction:column!important;
  padding:0!important;margin:0 auto!important;gap:2px!important;
  background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.14),rgba(18,18,28,.92))!important;
  border:2px solid rgba(255,255,255,.16)!important;
  box-shadow:0 0 0 4px rgba(255,255,255,.04),inset 0 0 18px rgba(0,0,0,.35)!important;
  text-transform:none!important;
}
html.abenteuer-app.abenteuer-touch-ui .cbtn-flee-ring{display:block!important}
html.abenteuer-app.abenteuer-touch-ui .cbtn-flee-core{font-size:1.35rem!important;line-height:1}
html.abenteuer-app.abenteuer-touch-ui .cbtn-flee-label{
  font-size:.5rem!important;margin-top:1px!important;text-transform:uppercase!important;
  font-weight:800!important;letter-spacing:.05em!important;opacity:.78;
}
html.abenteuer-app.abenteuer-touch-ui .combat-btns.combat-grid-2x2,
html.abenteuer-app.abenteuer-touch-ui #combat-btns.combat-grid-2x2,
html.abenteuer-app.abenteuer-touch-ui #coop-combat-btns.combat-grid-2x2{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  grid-template-rows:1fr 1fr!important;
  gap:8px!important;
}
html.abenteuer-app.abenteuer-touch-ui .combat-btns.combat-grid-2x2 .combat-wheel-row,
html.abenteuer-app.abenteuer-touch-ui #combat-btns.combat-grid-2x2 .combat-wheel-row,
html.abenteuer-app.abenteuer-touch-ui #coop-combat-btns.combat-grid-2x2 .combat-wheel-row{
  display:contents!important;
}
html.abenteuer-app.abenteuer-touch-ui .combat-btns.combat-grid-2x2 .cbtn,
html.abenteuer-app.abenteuer-touch-ui #combat-btns.combat-grid-2x2 .cbtn,
html.abenteuer-app.abenteuer-touch-ui #coop-combat-btns.combat-grid-2x2 .cbtn{
  width:100%!important;min-height:54px!important;height:100%!important;
  margin:0!important;border-radius:14px!important;
}
html.abenteuer-app.abenteuer-touch-ui .combat-btns.combat-grid-2x2 .cbtn-flee,
html.abenteuer-app.abenteuer-touch-ui #combat-btns.combat-grid-2x2 .cbtn-flee,
html.abenteuer-app.abenteuer-touch-ui #coop-combat-btns.combat-grid-2x2 .cbtn-flee{
  display:flex!important;visibility:visible!important;pointer-events:auto!important;min-height:44px!important;
}

/* ── Raid-/Regions-Lobby: wie Browser, größere Touch-Ziele ── */
html.abenteuer-app.abenteuer-touch-ui .raid-lobby-encounter .raid-action-btn{
  min-height:52px;padding:14px 16px;font-size:.86rem;border-radius:14px;
  letter-spacing:.02em;box-shadow:0 4px 16px rgba(0,0,0,.28);
}
html.abenteuer-app.abenteuer-touch-ui .raid-lobby-encounter .raid-action-btn.danger{
  background:linear-gradient(135deg,rgba(192,57,43,.35),rgba(231,76,60,.18));
  border-color:rgba(231,76,60,.45);
}
html.abenteuer-app.abenteuer-touch-ui .raid-lobby-encounter .raid-action-btn.boss{
  background:linear-gradient(135deg,rgba(255,87,34,.32),rgba(255,120,50,.14));
  border-color:rgba(255,87,34,.5);
}
html.abenteuer-app.abenteuer-touch-ui .raid-lobby-encounter .raid-action-btn.success{
  background:linear-gradient(135deg,rgba(39,174,96,.28),rgba(62,207,114,.12));
  border-color:rgba(62,207,114,.4);
}
html.abenteuer-app.abenteuer-touch-ui .raid-choice-btn{
  min-height:50px;padding:12px 14px;font-size:.8rem;border-radius:12px;
  border:1px solid var(--line);background:rgba(255,255,255,.06);
}
html.abenteuer-app.abenteuer-touch-ui .raid-prep-btn{
  min-height:48px;padding:10px 12px;font-size:.78rem;border-radius:12px;
  border:1px solid rgba(94,196,255,.22);background:rgba(94,196,255,.08);
}
html.abenteuer-app.abenteuer-touch-ui .raid-prep-btn:not(:disabled):active{
  background:rgba(124,92,255,.2);border-color:rgba(124,92,255,.4);
}
html.abenteuer-app.abenteuer-touch-ui .raid-lobby-footer .raid-leave-btn{
  min-height:48px;border-radius:12px;font-size:.82rem;
}

/* ── Zone & allgemeine Buttons ── */
html.abenteuer-app.abenteuer-touch-ui .region-grid{gap:10px}
html.abenteuer-app.abenteuer-touch-ui .region-card{min-height:110px;border-radius:16px}
html.abenteuer-app.abenteuer-touch-ui .zone-actions{gap:10px}
html.abenteuer-app.abenteuer-touch-ui .zone-btn{
  min-height:54px;font-size:.84rem;padding:12px 10px;border-radius:14px;
}
html.abenteuer-app.abenteuer-touch-ui .btn-primary,
html.abenteuer-app.abenteuer-touch-ui .btn-sm{
  min-height:50px;font-size:.84rem;padding:11px 14px;border-radius:14px;
}
html.abenteuer-app.abenteuer-touch-ui .zone-party-panel{margin:-32px 8px 0;padding:11px 12px 10px;border-radius:16px}
html.abenteuer-app.abenteuer-touch-ui body.zone-immersive .zone-party-panel{
  margin:0;padding:11px 12px 10px;border-radius:18px;
}
html.abenteuer-app.abenteuer-touch-ui .zone-player-strip{border-radius:0;padding:0}
html.abenteuer-app.abenteuer-touch-ui .zone-player-stats .bar-row{width:100%}
html.abenteuer-app.abenteuer-touch-ui .zone-player-stats .bar-track{flex:1 1 auto;min-width:0;height:9px}
html.abenteuer-app.abenteuer-touch-ui .zone-player-stats .bar-val{flex:0 0 auto;min-width:2.8rem}
html.abenteuer-app.abenteuer-touch-ui .zone-player-stats .zone-vital .bar-track{flex:none;width:100%;height:9px}
html.abenteuer-app.abenteuer-touch-ui .zone-player-stats .zone-vital .bar-val{flex:none;min-width:0;text-align:left;font-size:.72rem}
html.abenteuer-app.abenteuer-touch-ui body.zone-immersive .zone-player-stats .zone-vital .bar-track{height:10px}
html.abenteuer-app.abenteuer-touch-ui body.zone-immersive .zone-player-stats .zone-vital .bar-val{font-size:.78rem}
html.abenteuer-app.abenteuer-touch-ui .screen-title{font-size:1.05rem}

html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) #app,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) .top-bar{
  zoom:1!important;
  max-width:520px!important;
  width:min(520px,calc(100vw - 20px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) #app{
  padding-left:10px!important;
  padding-right:10px!important;
  padding-top:0!important;
  padding-bottom:28px!important;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
}
/* Desktop-Web: Top-Leiste im Flow (sticky), nicht fixed — kein Überlappen */
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) body.rpg-fixed-topbar .top-bar{
  position:sticky!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:none!important;
  margin-top:8px!important;
  top:max(8px,env(safe-area-inset-top,0px))!important;
}
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) body.rpg-fixed-topbar #app{
  padding-top:0!important;
}
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) #hub-nav-grid{
  grid-template-columns:repeat(4,1fr)!important;
  margin-top:10px!important;
  padding-top:0!important;
}
/* Breite Panels — Craft volle Viewport-Breite; Rest nicht auf Hub-520px begrenzen */
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-craft) #app,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-kosmetik) #app,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-achievements) #app {
  max-width:100vw!important;
  width:100%!important;
  margin-inline:0!important;
}
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-statistik) #app,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-admin) #app {
  max-width:min(1100px,100vw)!important;
  width:min(1100px,calc(100vw - 16px))!important;
}
/* Profil: volle Seitenbreite (Rand für Edge-Rail) */
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-profil) #app,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-profil) .top-bar,
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-profil) #app,
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-profil) .top-bar{
  max-width:100vw!important;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  margin-inline:0!important;
  transform:none!important;
}
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-profil) #app,
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-profil) #app{
  padding-left:clamp(10px,1.2vw,20px)!important;
  padding-right:clamp(58px,4.5vw,72px)!important;
  padding-bottom:0!important;
}
/* Bestiarium: Desktop-Web aus der 520px-Fessel */
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) body.screen-bestiary #app,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) body.screen-bestiary .top-bar,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) body.screen-jobs #app,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) body.screen-jobs .top-bar,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) body.screen-saga #app,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) body.screen-saga .top-bar{
  max-width:100vw!important;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not(.flix-rpg-pc-scale) body.screen-bestiary #app{
  padding-left:0!important;
  padding-right:0!important;
  padding-bottom:0!important;
}
/* Desktop-Web: Immersive Login/Wartung/Modus — nur ohne PC-Scale-Stage */
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale) body.screen-mode #app,
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale) body.screen-login.login-maintenance-active #app,
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale) body.screen-login.login-entry-active #app,
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale) body.abenteuer-immersive-entry #app{
  max-width:100vw!important;width:100%!important;margin:0!important;padding:0!important;
}
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale) body.screen-mode #screen-mode:not(.hidden),
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale) body.screen-login.login-maintenance-active #screen-login:not(.hidden),
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale) body.screen-login.login-entry-active #screen-login:not(.hidden),
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale) body.abenteuer-immersive-entry #screen-login:not(.hidden){
  position:fixed!important;inset:0!important;z-index:99990!important;
  width:100vw!important;height:100dvh!important;max-width:none!important;
  margin:0!important;padding:0!important;overflow:hidden!important;
  min-height:100dvh!important;max-height:100dvh!important;
  display:flex!important;flex-direction:column!important;
  align-items:stretch!important;justify-content:stretch!important;
}
html[data-desktop-web="1"].flix-rpg-web body.screen-mode #screen-mode .center-panel,
html[data-desktop-web="1"].flix-rpg-web body.login-maintenance-active #screen-login .center-panel,
html[data-desktop-web="1"].flix-rpg-web body.login-entry-active #screen-login .center-panel,
html[data-desktop-web="1"].flix-rpg-web body.abenteuer-immersive-entry #screen-login .center-panel,
html[data-desktop-web="1"].flix-rpg-web body.abenteuer-immersive-entry #screen-mode .center-panel{
  max-width:none!important;width:100%!important;height:100%!important;min-height:100%!important;
  margin:0!important;padding:0!important;border:none!important;border-radius:0!important;
  box-shadow:none!important;background:transparent!important;
  display:flex!important;flex-direction:column!important;
}
html[data-desktop-web="1"].flix-rpg-web body.login-maintenance-active .login-maintenance-banner,
html[data-desktop-web="1"].flix-rpg-web body.login-entry-active .login-maintenance-banner,
html[data-desktop-web="1"].flix-rpg-web body.abenteuer-immersive-entry .mode-entry-banner,
html[data-desktop-web="1"].flix-rpg-web body.abenteuer-immersive-entry .login-maintenance-banner{
  max-width:none!important;width:100%!important;height:100%!important;margin:0!important;
  flex:1 1 auto!important;min-height:0!important;
}
html[data-desktop-web="1"].flix-rpg-web body.login-maintenance-active .login-maintenance-screen,
html[data-desktop-web="1"].flix-rpg-web body.login-entry-active .login-maintenance-screen,
html[data-desktop-web="1"].flix-rpg-web body.screen-mode .login-maintenance-screen,
html[data-desktop-web="1"].flix-rpg-web body.abenteuer-immersive-entry .login-maintenance-screen{
  position:relative!important;display:block!important;overflow:hidden!important;
  width:100%!important;height:100%!important;min-height:100dvh!important;
}
html[data-desktop-web="1"].flix-rpg-web body.login-maintenance-active .login-maintenance-art-stage,
html[data-desktop-web="1"].flix-rpg-web body.login-entry-active .login-maintenance-art-stage,
html[data-desktop-web="1"].flix-rpg-web body.screen-mode .login-maintenance-art-stage,
html[data-desktop-web="1"].flix-rpg-web body.abenteuer-immersive-entry .login-maintenance-art-stage,
html[data-desktop-web="1"].flix-rpg-web #screen-login.login-maintenance-active .login-maintenance-art-stage,
html[data-desktop-web="1"].flix-rpg-web #screen-login.login-entry-active .login-maintenance-art-stage,
html[data-desktop-web="1"].flix-rpg-web #screen-mode.mode-entry-active .login-maintenance-art-stage{
  position:absolute!important;inset:0!important;padding:0!important;overflow:hidden!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  background:radial-gradient(ellipse at 50% 42%,#1a1230 0%,#0c0818 55%,#060810 100%);
}
html[data-desktop-web="1"].flix-rpg-web body.login-maintenance-active .login-maintenance-art-frame,
html[data-desktop-web="1"].flix-rpg-web body.login-entry-active .login-maintenance-art-frame,
html[data-desktop-web="1"].flix-rpg-web body.screen-mode .login-maintenance-art-frame,
html[data-desktop-web="1"].flix-rpg-web body.abenteuer-immersive-entry .login-maintenance-art-frame,
html[data-desktop-web="1"].flix-rpg-web #screen-login.login-maintenance-active .login-maintenance-art-frame,
html[data-desktop-web="1"].flix-rpg-web #screen-login.login-entry-active .login-maintenance-art-frame,
html[data-desktop-web="1"].flix-rpg-web #screen-mode.mode-entry-active .login-maintenance-art-frame{
  width:100%!important;height:100%!important;max-height:none!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
html[data-desktop-web="1"].flix-rpg-web #screen-login.login-maintenance-active:not(.login-entry-active) .login-maintenance-screen{
  display:block!important;overflow:hidden!important;
  width:100%!important;height:100%!important;min-height:100dvh!important;
}
html[data-desktop-web="1"].flix-rpg-web #screen-login.login-maintenance-active:not(.login-entry-active) .login-maintenance-art-stage{
  position:absolute!important;inset:0!important;
  align-items:stretch!important;justify-content:stretch!important;overflow:hidden!important;
}
html[data-desktop-web="1"].flix-rpg-web #screen-login.login-maintenance-active:not(.login-entry-active) .login-maintenance-art-frame{
  width:100%!important;height:100%!important;
  display:flex!important;align-items:stretch!important;justify-content:stretch!important;
}
html[data-desktop-web="1"].flix-rpg-web:not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]) #screen-login.login-maintenance-active:not(.login-entry-active) .login-maintenance-art-fit{
  position:relative!important;width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;aspect-ratio:auto!important;
  flex:1 1 auto!important;align-self:stretch!important;overflow:hidden!important;
}
html[data-desktop-web="1"].flix-rpg-web:not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]) #screen-login.login-maintenance-active:not(.login-entry-active) .login-maintenance-art-fit .login-maintenance-art,
html[data-desktop-web="1"].flix-rpg-web:not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]) #screen-login.login-maintenance-active:not(.login-entry-active) .login-maintenance-art-fit .login-maintenance-art-unlocked{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  display:block!important;
  object-fit:fill!important;object-position:center center!important;
  image-rendering:pixelated;image-rendering:crisp-edges;
}
/* Entry/Start/Modus Desktop: 100vw×100dvh + fill — volle Breite, nichts oben/unten abgeschnitten */
html[data-desktop-web="1"].flix-rpg-web #screen-login.login-entry-active .login-maintenance-screen,
html[data-desktop-web="1"].flix-rpg-web #screen-mode.mode-entry-active .login-maintenance-screen,
html[data-desktop-web="1"].flix-rpg-web body.screen-mode #screen-mode.mode-entry-active .login-maintenance-screen,
html[data-desktop-web="1"].flix-rpg-web body.login-entry-door-reveal .login-maintenance-screen{
  display:block!important;overflow:hidden!important;
  width:100%!important;height:100%!important;min-height:100dvh!important;
}
html[data-desktop-web="1"].flix-rpg-web #screen-login.login-entry-active .login-maintenance-art-stage,
html[data-desktop-web="1"].flix-rpg-web #screen-mode.mode-entry-active .login-maintenance-art-stage,
html[data-desktop-web="1"].flix-rpg-web body.login-entry-door-reveal .login-maintenance-art-stage,
html[data-desktop-web="1"].flix-rpg-web body.screen-mode #screen-mode.mode-entry-active .login-maintenance-art-stage{
  position:absolute!important;inset:0!important;
  align-items:center!important;justify-content:center!important;overflow:hidden!important;
}
html[data-desktop-web="1"].flix-rpg-web #screen-login.login-entry-active .login-maintenance-art-frame,
html[data-desktop-web="1"].flix-rpg-web #screen-mode.mode-entry-active .login-maintenance-art-frame,
html[data-desktop-web="1"].flix-rpg-web body.login-entry-door-reveal .login-maintenance-art-frame,
html[data-desktop-web="1"].flix-rpg-web body.screen-mode #screen-mode.mode-entry-active .login-maintenance-art-frame{
  width:100%!important;height:100%!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) #screen-login.login-entry-active .login-maintenance-art-fit,
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) #screen-mode.mode-entry-active .login-maintenance-art-fit,
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.login-entry-door-reveal .login-maintenance-art-fit,
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.screen-mode #screen-mode.mode-entry-active .login-maintenance-art-fit{
  position:relative!important;
  width:min(100%,calc(100dvh * 1536 / 1024))!important;height:auto!important;
  max-width:100%!important;max-height:100%!important;aspect-ratio:1536/1024!important;
  flex:0 0 auto!important;align-self:center!important;margin:auto!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  overflow:hidden!important;
}
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art,
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art,
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art,
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.screen-mode #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  display:block!important;z-index:1!important;
  object-fit:contain!important;object-position:center center!important;
  image-rendering:auto;
}
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) #screen-login.login-entry-active .login-maintenance-art-fit .login-entry-art-open,
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) #screen-mode.mode-entry-active .login-maintenance-art-fit .login-entry-art-open,
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.login-entry-door-reveal .login-maintenance-art-fit .login-entry-art-open,
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.screen-mode #screen-mode.mode-entry-active .login-maintenance-art-fit .login-entry-art-open{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  display:block!important;opacity:0;pointer-events:none!important;z-index:2!important;
  object-fit:contain!important;object-position:center center!important;
}
html[data-desktop-web="1"].flix-rpg-web .login-maintenance-art-fit.login-entry-door-open .login-entry-art-closed{opacity:0!important}
html[data-desktop-web="1"].flix-rpg-web .login-maintenance-art-fit.login-entry-door-open .login-entry-art-open{opacity:1!important}
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app) .hub-grid-icon{
  width:52px!important;
  height:52px!important;
  max-width:52px!important;
  max-height:52px!important;
}
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app) #screen-hub:not(.hidden){
  display:block!important;
  flex:none!important;
  min-height:0!important;
  overflow:visible!important;
  padding-top:0!important;
}
.rpg-deploy-chip{
  position:fixed;right:6px;bottom:max(6px,env(safe-area-inset-bottom,0px));z-index:1200;
  pointer-events:none;opacity:.45;font-size:9px;line-height:1.2;padding:3px 6px;border-radius:6px;
  background:rgba(6,8,16,.72);border:1px solid rgba(255,255,255,.08);color:rgba(238,241,255,.65);
  font-family:ui-monospace,monospace;letter-spacing:.02em;
}
.rpg-reload-banner{
  position:fixed;top:0;left:0;right:0;z-index:100200;
  padding:max(8px,env(safe-area-inset-top,0px)) 10px 8px;
  background:linear-gradient(180deg,rgba(20,28,60,.97),rgba(12,16,36,.94));
  border-bottom:1px solid rgba(232,197,71,.45);
  box-shadow:0 8px 28px rgba(0,0,0,.45);
  pointer-events:none;
  box-sizing:border-box;
}
.rpg-reload-banner.hidden{display:none!important}
.rpg-reload-banner-inner{
  max-width:min(920px,100%);margin:0 auto;
  display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
}
.rpg-reload-banner-text{
  font-size:clamp(.78rem,2.4vw,.92rem);font-weight:700;line-height:1.35;
  color:#fff6d0;text-align:center;
}
.rpg-reload-banner-btn{flex-shrink:0;padding:6px 14px;font-size:.76rem;pointer-events:auto}
html.rpg-reload-banner-active{
  --rpg-reload-banner-h:52px;
}
/* Ohne PC-Scale: Inhalt nach unten schieben */
html.rpg-reload-banner-active:not(.flix-rpg-pc-scale):not([data-pc-scale-stage="1"]) body{
  padding-top:var(--rpg-reload-banner-h,52px)!important;
  box-sizing:border-box;
}
html.rpg-reload-banner-active:not(.flix-rpg-pc-scale) .top-bar{
  top:calc(var(--rpg-reload-banner-h,52px) + max(8px,env(safe-area-inset-top,0px)));
}
html.rpg-reload-banner-active.rpg-fixed-topbar:not(.flix-rpg-pc-scale):not([data-pc-scale-stage="1"]) body{
  padding-top:calc(var(--rpg-reload-banner-h,52px) + 54px + max(8px,env(safe-area-inset-top,0px)))!important;
}
/* PC-Scale/APK: kein body-Padding — Stage bekommt top-Offset via JS */
html.rpg-reload-banner-active.flix-rpg-pc-scale body,
html.rpg-reload-banner-active[data-pc-scale-stage="1"] body,
html.rpg-reload-banner-active[data-abenteuer-apk="1"].flix-rpg-pc-scale body{
  padding-top:0!important;
}
#flix-app-rpg,#app,#flix-app-rpg .screen,#app .screen,#flix-app-rpg .hub-grid,#app .hub-grid,#flix-app-rpg .saga-map-scroll,#app .saga-map-scroll,#flix-app-rpg .saga-chapters,#app .saga-chapters{
  user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;
}
#flix-app-rpg *:not(input):not(textarea):not(select):not([contenteditable="true"]),
#app *:not(input):not(textarea):not(select):not([contenteditable="true"]){
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;
}
#flix-app-rpg ::selection,#app ::selection{background:transparent}
#flix-app-rpg input::selection,#app input::selection,
#flix-app-rpg textarea::selection,#app textarea::selection,
#flix-app-rpg select::selection,#app select::selection,
#flix-app-rpg [contenteditable="true"]::selection,#app [contenteditable="true"]::selection,
#flix-app-rpg [contenteditable=""]::selection,#app [contenteditable=""]::selection{
  background:rgba(232,197,71,.38);color:inherit;
}
#flix-app-rpg input::-moz-selection,#app input::-moz-selection,
#flix-app-rpg textarea::-moz-selection,#app textarea::-moz-selection,
#flix-app-rpg select::-moz-selection,#app select::-moz-selection{
  background:rgba(232,197,71,.38);color:inherit;
}
#flix-app-rpg img,#app img,#flix-app-rpg svg,#app svg,#flix-app-rpg .hub-grid-icon,#app .hub-grid-icon{
  -webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none;
}
#flix-app-rpg input,#app input,#flix-app-rpg textarea,#app textarea,#flix-app-rpg select,#app select,#flix-app-rpg [contenteditable="true"],#app [contenteditable="true"],#flix-app-rpg [contenteditable=""],#app [contenteditable=""]{
  user-select:text;-webkit-user-select:text;-webkit-touch-callout:default;
}
.craft-search-input,.craft-qty-input,.admin-input,.admin-textarea,.trade-name-input,.trade-qty-input,.pet-qty-input,.saga-puzzle-input{
  user-select:text;-webkit-user-select:text;-webkit-touch-callout:default;
}
button{font-family:inherit;font-size:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(232,197,71,.2);color:var(--txt)}
img{display:block;max-width:100%}
select{font-family:inherit}

/* ── Hintergrund ── */
#bg-wrap{position:fixed;inset:0;z-index:0;pointer-events:none}
.bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .6s ease}
.bg-img.bg-active{opacity:.9}
#bg-overlay{position:fixed;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,8,16,.18) 0%,rgba(6,8,16,.65) 50%,rgba(6,8,16,.92) 100%)}

/* Zone-Tint: per body-class gesetzt vom JS */
body.zone-forest  #bg-overlay{background:linear-gradient(180deg,rgba(5,30,10,.25) 0%,rgba(6,8,16,.72) 55%,rgba(6,8,16,.95) 100%)}
body.zone-mine    #bg-overlay{background:linear-gradient(180deg,rgba(40,25,10,.25) 0%,rgba(6,8,16,.75) 55%,rgba(6,8,16,.95) 100%)}
body.zone-coast   #bg-overlay{background:linear-gradient(180deg,rgba(5,18,50,.35) 0%,rgba(6,8,20,.80) 55%,rgba(4,5,16,.98) 100%)}
body.zone-dungeon #bg-overlay{background:linear-gradient(180deg,rgba(25,5,40,.25) 0%,rgba(6,8,16,.80) 55%,rgba(6,8,16,.98) 100%)}
body.screen-combat #bg-overlay,body.screen-coop-combat #bg-overlay,body.screen-guild-raid #bg-overlay{background:linear-gradient(180deg,rgba(60,5,5,.28) 0%,rgba(6,8,16,.78) 50%,rgba(6,8,16,.96) 100%)}
body.screen-char-select #bg-overlay,body.screen-char #bg-overlay{
  background:linear-gradient(180deg,rgba(8,10,24,.12) 0%,rgba(4,6,14,.28) 45%,rgba(4,6,14,.55) 100%)!important;
}
body.screen-char-select .bg-img.bg-active,body.screen-char .bg-img.bg-active{
  opacity:1!important;filter:saturate(1.14) contrast(1.05) brightness(1);
}
html:not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.flix-rpg-pc-scale) body.screen-char-select #app,
html:not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.flix-rpg-pc-scale) body.screen-char #app{
  max-width:min(1040px,calc(100vw - 24px))!important;width:100%!important;
  margin-left:auto!important;margin-right:auto!important;
  padding-left:12px!important;padding-right:12px!important;
}
html.flix-rpg-mobile body.screen-char-select #app,
html[data-mobile-shell="1"] body.screen-char-select #app,
html[data-abenteuer-apk="1"] body.screen-char-select #app,
html.flix-rpg-mobile body.screen-char #app,
html[data-mobile-shell="1"] body.screen-char #app,
html[data-abenteuer-apk="1"] body.screen-char #app{
  max-width:none!important;width:100%!important;margin:0!important;
  padding-left:0!important;padding-right:0!important;padding-top:0!important;
}
html.flix-rpg-mobile body.screen-char-select .char-select-stage-fullbleed .char-slot-visual,
html[data-mobile-shell="1"] body.screen-char-select .char-select-stage-fullbleed .char-slot-visual,
html[data-abenteuer-apk="1"] body.screen-char-select .char-select-stage-fullbleed .char-slot-visual,
html.flix-rpg-mobile body.screen-char .hero-setup-stage-fullbleed .char-slot-visual,
html[data-mobile-shell="1"] body.screen-char .hero-setup-stage-fullbleed .char-slot-visual,
html[data-abenteuer-apk="1"] body.screen-char .hero-setup-stage-fullbleed .char-slot-visual{
  aspect-ratio:unset!important;max-height:none!important;height:100%!important;min-height:100%!important;
}
html.flix-rpg-mobile body.screen-char-select .char-select-stage-fullbleed .char-slot-art,
html[data-mobile-shell="1"] body.screen-char-select .char-select-stage-fullbleed .char-slot-art,
html[data-abenteuer-apk="1"] body.screen-char-select .char-select-stage-fullbleed .char-slot-art,
html.flix-rpg-mobile body.screen-char .hero-carousel-fullbleed .char-slot-art,
html[data-mobile-shell="1"] body.screen-char .hero-carousel-fullbleed .char-slot-art,
html[data-abenteuer-apk="1"] body.screen-char .hero-carousel-fullbleed .char-slot-art{
  object-fit:fill!important;object-position:center center!important;
  width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;
  max-width:none!important;max-height:none!important;
}
body.screen-char-select #app .screen,body.screen-char #app .screen{width:100%}

/* ── App ── */
#app{position:relative;z-index:2;max-width:520px;margin:0 auto;padding:0 10px 28px;display:flex;flex-direction:column;gap:8px;min-height:100dvh}
body.screen-saga #app,
body.screen-bestiary #app{
  max-width:100vw!important;width:100%!important;
  padding:0!important;margin:0!important;
  min-height:100dvh;
}
body.rpg-fixed-topbar.screen-bestiary .top-bar,
body.bestiary-fullscreen-active .top-bar,
body.rpg-fixed-topbar.screen-jobs .top-bar,
body.rpg-fixed-topbar.screen-saga .top-bar{
  width:min(100vw,calc(100vw - 16px))!important;max-width:none!important;
}
body.bestiary-fullscreen-active .top-bar{
  background:rgba(6,8,12,.72)!important;
  border-color:rgba(212,175,110,.28)!important;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}

/* ── TOP BAR ── */
.top-bar{position:sticky;top:max(8px,env(safe-area-inset-top,0px));z-index:20050;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--r);background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:var(--shadow);margin-top:8px;pointer-events:auto;isolation:isolate}
.top-title-cluster{
  flex:0 1 auto;min-width:0;max-width:min(58vw,280px);
  display:flex;align-items:center;justify-content:flex-start;gap:7px;
}
.top-bar > .top-settings-wrap{margin-left:auto}
.top-beta-badge{
  flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
  padding:2px 7px;border-radius:999px;line-height:1.15;
  font-size:.52rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;
  color:#1a1208;
  background:linear-gradient(145deg,#fff3c4 0%,#fde68a 38%,#e8c547 72%,#c9a227 100%);
  border:1px solid rgba(255,236,170,.62);
  box-shadow:0 0 10px rgba(232,197,71,.32),inset 0 1px 0 rgba(255,255,255,.42);
  text-shadow:0 1px 0 rgba(255,255,255,.28);
  user-select:none;pointer-events:none;
  animation:topBetaBadgeGlow 3.6s ease-in-out infinite;
}
@keyframes topBetaBadgeGlow{
  0%,100%{filter:brightness(1);box-shadow:0 0 10px rgba(232,197,71,.28),inset 0 1px 0 rgba(255,255,255,.4)}
  50%{filter:brightness(1.08);box-shadow:0 0 16px rgba(232,197,71,.48),inset 0 1px 0 rgba(255,255,255,.5)}
}
@media (max-width:360px){
  .top-beta-badge{padding:2px 5px;font-size:.48rem;letter-spacing:.08em}
  .top-title-cluster{gap:5px;max-width:min(52vw,220px)}
}
/* Fixiert: Scroll läuft oft auf #flix-app-rpg — sticky reicht dann nicht */
body.rpg-fixed-topbar .top-bar{
  position:fixed;left:50%;transform:translateX(-50%);
  width:min(520px,calc(100vw - 20px));max-width:520px;box-sizing:border-box;
  top:max(8px,env(safe-area-inset-top,0px));margin-top:0;
  z-index:20050;
}
body.rpg-fixed-topbar #app{
  padding-top:calc(54px + max(8px,env(safe-area-inset-top,0px)));
}
.top-settings-btn{position:relative;z-index:3;flex-shrink:0;pointer-events:auto}
.top-settings-wrap{position:relative;margin-left:auto;flex-shrink:0;z-index:3;pointer-events:auto;display:flex;align-items:center;gap:6px}
.top-settings-wrap .top-settings-btn{margin-left:0}
.top-pwa-install-btn{
  flex-shrink:0;min-width:40px;min-height:40px;font-size:1.05rem;line-height:1;
  border:1px solid rgba(232,197,71,.35);background:rgba(232,197,71,.12);border-radius:10px;
}
html:not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not(.flix-rpg-pc-scale) .top-pwa-install-btn{display:none!important}
body:not(.screen-hub) #btn-pwa-install,
body:not(.screen-hub) .top-pwa-install-btn{display:none!important;visibility:hidden!important;pointer-events:none!important}
html[data-desktop-web="1"]:not([data-pwa-install-available="1"]) #btn-pwa-install,
html[data-desktop-web="1"]:not([data-pwa-install-available="1"]) .top-pwa-install-btn{display:none!important;visibility:hidden!important;pointer-events:none!important}
html[data-pwa-install-available="1"] body.screen-hub .top-pwa-install-btn:not([hidden]):not(.hidden),
html[data-pwa-install-available="1"] body.screen-hub #btn-pwa-install:not([hidden]):not(.hidden){
  display:inline-flex!important;visibility:visible!important;align-items:center;justify-content:center
}
/* claim-notify-ui-v2 mailbox-inbox — Header-Glocke zählt Postfach + Flüstern */
.top-mailbox-btn,.top-chat-btn,.top-claim-btn,.top-bell-btn{position:relative;flex-shrink:0;pointer-events:auto;overflow:visible}
.top-mailbox-btn.mailbox-has-mail{animation:mailbox-blink 1.4s ease-in-out infinite}
.top-chat-btn.chat-has-unread{animation:mailbox-blink 1.4s ease-in-out infinite}
.top-claim-btn.claim-has-rewards,.top-bell-btn.claim-has-rewards{animation:mailbox-blink 1.4s ease-in-out infinite}
.claim-rewards-badge{
  position:absolute;top:-4px;right:-4px;z-index:5;
  min-width:16px;height:16px;padding:0 4px;border-radius:999px;
  background:#ef4444;color:#fff;font-size:10px;font-weight:800;line-height:16px;text-align:center;
  pointer-events:none;box-shadow:0 0 0 2px rgba(8,12,22,.9);
}
.claim-rewards-badge[hidden]{display:none!important}
/* Menüs ohne rechte Dock: schwebende Glocke nur bei offenen Benachrichtigungen */
.rpg-claim-notify-float{
  position:fixed;
  top:max(10px, env(safe-area-inset-top, 0px));
  right:max(10px, env(safe-area-inset-right, 0px));
  z-index:30260;
  width:48px;height:48px;padding:0;margin:0;
  display:grid;place-items:center;
  border:1px solid rgba(245,158,11,.42);
  border-radius:14px;
  background:linear-gradient(160deg,rgba(28,24,18,.94),rgba(12,14,22,.96));
  box-shadow:0 10px 28px rgba(0,0,0,.45);
  cursor:pointer;pointer-events:auto;
  color:#f8e7c2;
}
.rpg-claim-notify-float.hidden{display:none!important;pointer-events:none!important;visibility:hidden!important}
.rpg-claim-notify-float.claim-has-rewards{animation:mailbox-blink 1.4s ease-in-out infinite}
.rpg-claim-notify-float .rpg-edge-chrome-glyph,
.rpg-claim-notify-float .rpg-edge-chrome-glyph--img{
  width:26px;height:26px;object-fit:contain;pointer-events:none;
}
.rpg-claim-notify-float .claim-rewards-badge{
  position:absolute;top:-4px;right:-4px;z-index:5;
}
.claim-rewards-overlay{
  position:fixed;inset:0;z-index:30100;display:flex;align-items:center;justify-content:center;
  padding:max(14px,env(safe-area-inset-top,0px)) 14px max(16px,env(safe-area-inset-bottom,0px));
  animation:claimNotifyIn .28s ease-out both;
}
@keyframes claimNotifyIn{
  from{opacity:0}
  to{opacity:1}
}
.claim-rewards-overlay.hidden{display:none!important}
.claim-rewards-backdrop{
  position:absolute;inset:0;border:0;padding:0;margin:0;cursor:pointer;
  background:rgba(3,6,14,.72);
  backdrop-filter:blur(10px) saturate(1.05);-webkit-backdrop-filter:blur(10px) saturate(1.05);
}
.claim-rewards-sheet{
  position:relative;z-index:1;
  width:min(460px,100%);max-height:min(84vh,680px);
  display:flex;flex-direction:column;gap:0;overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(232,197,71,.42);
  background:rgba(8,10,18,.96);
  box-shadow:
    0 28px 64px rgba(0,0,0,.62),
    0 0 0 1px rgba(255,255,255,.04),
    0 0 48px rgba(99,102,241,.12);
  animation:claimSheetIn .34s cubic-bezier(.2,.85,.25,1) both;
}
@keyframes claimSheetIn{
  from{opacity:0;transform:translateY(16px) scale(.97)}
  to{opacity:1;transform:none}
}
.claim-rewards-panel-bg{
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
}
.claim-rewards-panel-bg img{
  width:100%;height:100%;object-fit:cover;object-position:center top;
  display:block;opacity:.55;filter:saturate(.9) brightness(.62) contrast(1.05);
}
.claim-rewards-frame{
  position:absolute;inset:8px;z-index:1;pointer-events:none;border-radius:16px;
  border:1px solid rgba(232,197,71,.16);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),inset 0 1px 0 rgba(255,255,255,.05);
}
.claim-rewards-frame::before,
.claim-rewards-frame::after{
  content:"";position:absolute;width:18px;height:18px;
  border:2px solid rgba(232,197,71,.45);
}
.claim-rewards-frame::before{top:6px;left:6px;border-right:0;border-bottom:0;border-radius:4px 0 0 0}
.claim-rewards-frame::after{bottom:6px;right:6px;border-left:0;border-top:0;border-radius:0 0 4px 0}
.claim-rewards-hero{
  position:relative;z-index:2;flex-shrink:0;height:108px;overflow:hidden;
  margin:10px 10px 0;border-radius:14px;
  border:1px solid rgba(232,197,71,.2);
  box-shadow:0 10px 24px rgba(0,0,0,.28);
}
.claim-rewards-hero-img{
  width:100%;height:100%;object-fit:cover;object-position:center 38%;
  display:block;opacity:.85;filter:saturate(1) brightness(.82);
}
.claim-rewards-hero-veil{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(8,10,18,.55),transparent 40%,transparent 60%,rgba(8,10,18,.45)),
    linear-gradient(180deg,rgba(8,10,18,.15) 0%,rgba(8,10,18,.55) 70%,rgba(8,10,18,.92) 100%);
}
.claim-rewards-head{
  position:relative;z-index:2;
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:14px 18px 8px;
}
.claim-rewards-brand{min-width:0;flex:1}
.claim-rewards-kicker{
  font-size:.64rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(232,197,71,.95);margin:0 0 4px;
  text-shadow:0 1px 8px rgba(0,0,0,.45);
}
.claim-rewards-title{
  font-family:Cinzel,Georgia,"Times New Roman",serif;
  font-size:clamp(1.45rem,5vw,1.75rem);font-weight:800;color:#fff8ec;margin:0;line-height:1.1;
  letter-spacing:.04em;
  text-shadow:0 2px 16px rgba(0,0,0,.55),0 0 24px rgba(232,197,71,.18);
}
.claim-rewards-sub{
  margin:7px 0 0;line-height:1.4;font-size:.8rem;
  color:rgba(186,198,230,.88);max-width:32ch;
}
.claim-rewards-close{
  appearance:none;-webkit-appearance:none;flex-shrink:0;z-index:3;
  width:36px;height:36px;border-radius:12px;cursor:pointer;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.35);color:#f1f5f9;
  font:inherit;font-size:1rem;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
  transition:background-color .14s ease,border-color .14s ease;
}
.claim-rewards-close:hover{
  background:rgba(255,255,255,.1);border-color:rgba(232,197,71,.35);
}
.claim-rewards-stats{
  position:relative;z-index:2;
  display:flex;flex-wrap:wrap;gap:8px;padding:2px 18px 10px;
}
.claim-rewards-stats.is-empty{display:none}
.claim-rewards-stats-pill{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 10px;border-radius:999px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.05);
  font-size:.72rem;color:rgba(226,232,240,.88);
}
.claim-rewards-stats-pill strong{font-weight:850;color:#fff}
.claim-rewards-stats-pill--hot{
  border-color:rgba(248,113,113,.35);
  background:rgba(239,68,68,.14);
  color:#fecaca;
}
.claim-rewards-stats-pill--mail{
  border-color:rgba(125,211,252,.35);
  background:rgba(56,189,248,.12);
  color:#bae6fd;
}
.claim-rewards-stats-pill--chat{
  border-color:rgba(167,139,250,.38);
  background:rgba(139,92,246,.14);
  color:#ddd6fe;
}
.claim-rewards-section{
  margin:4px 2px 0;
  padding:2px 4px 0;
  font-size:.64rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(232,197,71,.82);
}
.claim-rewards-list{
  position:relative;z-index:2;
  flex:1;min-height:0;overflow:auto;
  padding:2px 14px 8px;display:flex;flex-direction:column;gap:10px;
  -webkit-overflow-scrolling:touch;
}
.claim-rewards-item{
  appearance:none;-webkit-appearance:none;cursor:pointer;font:inherit;color:inherit;width:100%;text-align:left;
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;
  padding:12px 12px 12px 11px;
  border:1px solid rgba(255,255,255,.1);border-radius:16px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02) 42%,rgba(0,0,0,.28)),
    rgba(8,12,22,.55);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 8px 18px rgba(0,0,0,.18);
  transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease;
}
.claim-rewards-item:hover,.claim-rewards-item:focus-visible{
  outline:none;border-color:rgba(232,197,71,.48);
  background:
    linear-gradient(135deg,rgba(232,197,71,.16),rgba(255,255,255,.04) 45%,rgba(0,0,0,.3)),
    rgba(10,14,26,.65);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 12px 26px rgba(0,0,0,.28);
}
.claim-rewards-item:active{transform:none}
.claim-rewards-item-ico{
  width:58px;height:58px;border-radius:16px;flex-shrink:0;overflow:hidden;
  display:flex;align-items:center;justify-content:center;font-size:1.25rem;
  background:rgba(0,0,0,.35);border:1px solid rgba(232,197,71,.26);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 6px 16px rgba(0,0,0,.3);
}
.claim-rewards-item-art{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .35s ease;
}
.claim-rewards-item:hover .claim-rewards-item-art{transform:scale(1.06)}
.claim-rewards-item-emoji{line-height:1}
.claim-rewards-item--skills .claim-rewards-item-ico{border-color:rgba(251,146,60,.42);box-shadow:0 0 18px rgba(251,146,60,.22)}
.claim-rewards-item--profession .claim-rewards-item-ico{border-color:rgba(251,191,36,.42);box-shadow:0 0 18px rgba(251,191,36,.2)}
.claim-rewards-item--daily .claim-rewards-item-ico{border-color:rgba(250,204,21,.4)}
.claim-rewards-item--achievements .claim-rewards-item-ico{border-color:rgba(232,197,71,.45)}
.claim-rewards-item--mailbox .claim-rewards-item-ico,
.claim-rewards-item--mailbox-mail .claim-rewards-item-ico{border-color:rgba(125,211,252,.38)}
.claim-rewards-item--chat-dm .claim-rewards-item-ico{border-color:rgba(167,139,250,.42);box-shadow:0 0 16px rgba(139,92,246,.2)}
.claim-rewards-item--jobs .claim-rewards-item-ico{border-color:rgba(167,139,250,.4)}
.claim-rewards-item-count--text{
  min-width:auto;padding:0 8px;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;
}
.claim-rewards-item-copy{min-width:0;display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.claim-rewards-item-copy strong{
  font-size:1rem;font-weight:850;line-height:1.2;color:#f8fafc;
}
.claim-rewards-item-desc{
  font-size:.76rem;line-height:1.35;color:rgba(186,198,230,.86);
}
.claim-rewards-item-aside{
  display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0;
}
.claim-rewards-item-count{
  min-width:30px;height:30px;padding:0 10px;border-radius:999px;
  background:linear-gradient(135deg,#f87171,#dc2626);color:#fff;font-size:.8rem;font-weight:900;
  display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 4px 14px rgba(239,68,68,.4);
}
.claim-rewards-item-go{
  font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(232,197,71,.88);
}
.claim-rewards-foot{
  position:relative;z-index:2;flex-shrink:0;
  text-align:center;padding:8px 16px 14px;
  color:rgba(148,163,184,.78)!important;font-size:.7rem;
}
.claim-rewards-empty{
  padding:42px 18px;text-align:center;color:var(--muted);line-height:1.45;
  border:1px dashed rgba(232,197,71,.22);border-radius:16px;
  background:rgba(0,0,0,.28);
  display:flex;flex-direction:column;align-items:center;gap:8px;
}
.claim-rewards-empty-ico{font-size:2rem;line-height:1;filter:drop-shadow(0 6px 14px rgba(99,102,241,.35))}
.claim-rewards-empty-title{font-weight:850;font-size:1.05rem;color:var(--txt)}

@media (max-width:520px){
  .claim-rewards-overlay{align-items:stretch;padding:0}
  .claim-rewards-sheet{
    width:100%;max-height:none;height:100%;
    margin:0;border-radius:0;border-left:0;border-right:0;
  }
  .claim-rewards-frame{inset:0;border-radius:0}
  .claim-rewards-hero{margin:0;border-radius:0;border-left:0;border-right:0;height:88px}
  .claim-rewards-head{padding:10px 14px 6px}
  .claim-rewards-title{font-size:1.28rem}
  .claim-rewards-sub{font-size:.74rem;margin-top:4px}
  .claim-rewards-stats{padding:0 14px 8px;gap:6px}
  .claim-rewards-list{padding:2px 10px 8px;gap:8px}
  .claim-rewards-item{padding:10px 10px}
  .claim-rewards-item-ico{width:46px;height:46px;border-radius:12px}
  .claim-rewards-item-copy strong{font-size:.92rem}
  .claim-rewards-item-desc{font-size:.7rem}
  .claim-rewards-foot{padding:6px 12px 10px;font-size:.65rem}
}

/* APK / Mobile-Shell: Benachrichtigungen immer Vollbild + Scroll */
html[data-abenteuer-apk="1"] .claim-rewards-overlay,
html[data-mobile-shell="1"] .claim-rewards-overlay,
html.flix-rpg-mobile .claim-rewards-overlay{
  align-items:stretch!important;justify-content:stretch!important;padding:0!important;
}
html[data-abenteuer-apk="1"] .claim-rewards-sheet,
html[data-mobile-shell="1"] .claim-rewards-sheet,
html.flix-rpg-mobile .claim-rewards-sheet{
  width:100%!important;height:100%!important;max-height:none!important;
  margin:0!important;border-radius:0!important;
  padding-top:max(0px,env(safe-area-inset-top,0px))!important;
}
html[data-abenteuer-apk="1"] .claim-rewards-hero,
html[data-mobile-shell="1"] .claim-rewards-hero,
html.flix-rpg-mobile .claim-rewards-hero{
  display:none!important;
}
html[data-abenteuer-apk="1"] .claim-rewards-head,
html[data-mobile-shell="1"] .claim-rewards-head,
html.flix-rpg-mobile .claim-rewards-head{
  padding:max(6px,env(safe-area-inset-top,0px)) 12px 4px!important;
  gap:8px!important;
}
html[data-abenteuer-apk="1"] .claim-rewards-kicker,
html[data-mobile-shell="1"] .claim-rewards-kicker,
html.flix-rpg-mobile .claim-rewards-kicker{
  display:none!important;
}
html[data-abenteuer-apk="1"] .claim-rewards-title,
html[data-mobile-shell="1"] .claim-rewards-title,
html.flix-rpg-mobile .claim-rewards-title{
  font-size:1.05rem!important;line-height:1.15!important;
}
html[data-abenteuer-apk="1"] .claim-rewards-sub,
html[data-mobile-shell="1"] .claim-rewards-sub,
html.flix-rpg-mobile .claim-rewards-sub{
  display:none!important;
}
html[data-abenteuer-apk="1"] .claim-rewards-stats,
html[data-mobile-shell="1"] .claim-rewards-stats,
html.flix-rpg-mobile .claim-rewards-stats{
  padding:0 12px 4px!important;gap:4px!important;
}
html[data-abenteuer-apk="1"] .claim-rewards-list,
html[data-mobile-shell="1"] .claim-rewards-list,
html.flix-rpg-mobile .claim-rewards-list{
  overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;touch-action:pan-y!important;min-height:0!important;
  flex:1 1 auto!important;
  padding:2px 10px max(10px,env(safe-area-inset-bottom,0px))!important;gap:6px!important;
}
html[data-abenteuer-apk="1"] .claim-rewards-item,
html[data-mobile-shell="1"] .claim-rewards-item,
html.flix-rpg-mobile .claim-rewards-item{
  padding:8px 9px!important;gap:8px!important;
}
html[data-abenteuer-apk="1"] .claim-rewards-item-ico,
html[data-mobile-shell="1"] .claim-rewards-item-ico,
html.flix-rpg-mobile .claim-rewards-item-ico{
  width:40px!important;height:40px!important;border-radius:10px!important;
}
.chat-badge{
  position:absolute;top:-5px;right:-6px;z-index:5;
  min-width:18px;height:18px;padding:0 5px;border-radius:999px;
  background:#ef4444;color:#fff;font-size:10px;font-weight:800;line-height:18px;text-align:center;
  pointer-events:none;box-shadow:0 0 0 2px rgba(8,12,22,.9);
}
.chat-badge[hidden]{display:none!important}
/* Vollsperre — nur Bild, nichts klickbar */
html.rpg-banned-lock,body.rpg-banned-lock{overflow:hidden!important;touch-action:none!important}
html.rpg-banned-lock #app,
html.rpg-banned-lock #flix-app-rpg,
html.rpg-banned-lock .top-bar,
html.rpg-banned-lock .screen,
html.rpg-banned-lock .mailbox-overlay,
html.rpg-banned-lock .chat-overlay,
html.rpg-banned-lock .daily-overlay,
html.rpg-banned-lock .overlay-sheet,
body.rpg-banned-lock #app,
body.rpg-banned-lock #flix-app-rpg,
body.rpg-banned-lock .top-bar,
body.rpg-banned-lock .screen,
body.rpg-banned-lock .mailbox-overlay,
body.rpg-banned-lock .chat-overlay,
body.rpg-banned-lock .daily-overlay,
body.rpg-banned-lock .overlay-sheet{
  pointer-events:none!important;visibility:hidden!important;opacity:0!important
}
.rpg-banned-lock-screen{
  position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;
  background:#05070d;pointer-events:auto;user-select:none;-webkit-user-select:none
}
.rpg-banned-lock-art{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;
  pointer-events:none;user-select:none;-webkit-user-drag:none
}
.rpg-banned-lock-info{
  position:relative;z-index:2;width:min(92vw,420px);margin:auto;
  margin-top:min(42vh,380px);
  padding:14px 16px 16px;border-radius:14px;
  background:linear-gradient(165deg,rgba(8,10,18,.92),rgba(4,6,12,.96));
  border:1px solid rgba(232,197,71,.35);
  box-shadow:0 12px 40px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.06);
  text-align:center;pointer-events:none
}
.rpg-banned-lock-title{
  font-size:1.05rem;font-weight:900;color:var(--gold,#e8c547);margin:0 0 10px;
  letter-spacing:.02em;text-shadow:0 1px 3px rgba(0,0,0,.7)
}
.rpg-banned-lock-row{display:flex;flex-direction:column;gap:2px;margin-top:8px}
.rpg-banned-lock-label{
  font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(200,210,235,.7)
}
.rpg-banned-lock-value{
  font-size:.86rem;font-weight:700;line-height:1.35;color:#eef1ff;
  word-break:break-word;text-shadow:0 1px 2px rgba(0,0,0,.55)
}
.chat-mod-dialog{
  position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;
  padding:12px;background:rgba(0,0,0,.55)
}
.chat-mod-dialog.hidden{display:none!important}
.chat-mod-dialog-card{
  width:min(100%,340px);padding:14px 14px 12px;border-radius:14px;
  background:linear-gradient(165deg,rgba(16,20,34,.98),rgba(8,10,18,.99));
  border:1px solid rgba(232,197,71,.28);box-shadow:0 12px 36px rgba(0,0,0,.55)
}
.chat-mod-dialog-card h4{margin:0 0 6px;font-size:.92rem;color:var(--gold)}
.chat-mod-dialog-card p{margin:0 0 10px;font-size:.72rem;line-height:1.4;color:var(--muted)}
.chat-mod-dialog-actions{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.chat-mod-dialog-actions .btn{width:100%;justify-content:center}
.chat-mod-dialog-row{display:flex;gap:6px;margin-top:8px}
.chat-mod-dialog-row .btn{flex:1}
.chat-mod-dialog select,.chat-mod-dialog input[type="text"]{
  width:100%;margin-top:4px;padding:8px 10px;border-radius:10px;
  border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.35);color:inherit;font-size:.78rem
}
.chat-overlay{position:fixed;inset:0;z-index:40060!important;display:flex;align-items:flex-end;justify-content:center;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));pointer-events:auto;box-sizing:border-box}
.chat-overlay.hidden{display:none!important}
.chat-overlay.chat-fullscreen{align-items:stretch;justify-content:stretch;padding:0}
.chat-overlay.chat-kb-open{align-items:flex-end;justify-content:center}
.chat-overlay.chat-kb-open .chat-backdrop{opacity:.35}
/* APK: beim Tippen Tabs/Titel/Topbar weg — ✕ + Vollbild bleiben immer sichtbar */
html.chat-apk-typing #top-bar,
html.chat-apk-typing .top-bar,
body.chat-apk-typing #top-bar,
body.chat-apk-typing .top-bar{
  display:none!important;visibility:hidden!important;pointer-events:none!important;height:0!important;min-height:0!important;overflow:hidden!important;
}
html.chat-apk-typing .chat-overlay .chat-tabs,
html.chat-apk-typing .chat-overlay .chat-sub,
html.chat-apk-typing .chat-overlay .chat-title,
body.chat-apk-typing .chat-overlay .chat-tabs,
body.chat-apk-typing .chat-overlay .chat-sub,
body.chat-apk-typing .chat-overlay .chat-title,
html[data-abenteuer-apk="1"] .chat-overlay.chat-kb-open .chat-tabs,
html[data-abenteuer-apk="1"] .chat-overlay.chat-kb-open .chat-sub,
html[data-abenteuer-apk="1"] .chat-overlay.chat-kb-open .chat-title,
html.abenteuer-app .chat-overlay.chat-kb-open .chat-tabs,
html.abenteuer-app .chat-overlay.chat-kb-open .chat-sub,
html.abenteuer-app .chat-overlay.chat-kb-open .chat-title{
  display:none!important;
}
/* Kompakter Kopf nur mit Aktions-Buttons */
html.chat-apk-typing .chat-overlay .chat-head,
body.chat-apk-typing .chat-overlay .chat-head,
html[data-abenteuer-apk="1"] .chat-overlay.chat-kb-open .chat-head,
html.abenteuer-app .chat-overlay.chat-kb-open .chat-head{
  display:flex!important;visibility:visible!important;
  align-items:center!important;justify-content:flex-end!important;
  padding:6px 8px!important;min-height:44px!important;gap:4px!important;
  border-bottom:1px solid var(--line)!important;flex-shrink:0!important;
}
html.chat-apk-typing .chat-overlay .chat-brand,
html.chat-apk-typing .chat-overlay .chat-hero,
body.chat-apk-typing .chat-overlay .chat-brand,
body.chat-apk-typing .chat-overlay .chat-hero,
html[data-abenteuer-apk="1"] .chat-overlay.chat-kb-open .chat-brand,
html[data-abenteuer-apk="1"] .chat-overlay.chat-kb-open .chat-hero,
html.abenteuer-app .chat-overlay.chat-kb-open .chat-brand,
html.abenteuer-app .chat-overlay.chat-kb-open .chat-hero{
  display:none!important;
}
html.chat-apk-typing .chat-overlay .chat-head-actions,
body.chat-apk-typing .chat-overlay .chat-head-actions,
html[data-abenteuer-apk="1"] .chat-overlay.chat-kb-open .chat-head-actions,
html.abenteuer-app .chat-overlay.chat-kb-open .chat-head-actions{
  display:flex!important;visibility:visible!important;opacity:1!important;
  pointer-events:auto!important;gap:4px!important;margin-left:auto!important;
}
html[data-abenteuer-apk="1"] .chat-overlay #chat-close,
html[data-abenteuer-apk="1"] .chat-overlay #chat-fullscreen,
html[data-mobile-shell="1"] .chat-overlay #chat-close,
html[data-mobile-shell="1"] .chat-overlay #chat-fullscreen,
html.chat-apk-typing .chat-overlay #chat-close,
html.chat-apk-typing .chat-overlay #chat-fullscreen,
body.chat-apk-typing .chat-overlay #chat-close,
body.chat-apk-typing .chat-overlay #chat-fullscreen,
html.abenteuer-app .chat-overlay #chat-close,
html.abenteuer-app .chat-overlay #chat-fullscreen{
  display:inline-flex!important;visibility:visible!important;opacity:1!important;
  pointer-events:auto!important;
  min-width:40px!important;min-height:40px!important;
  width:40px!important;height:40px!important;
  align-items:center!important;justify-content:center!important;
}
html.chat-apk-typing .chat-overlay.chat-kb-open .chat-sheet,
html[data-abenteuer-apk="1"] .chat-overlay.chat-kb-open .chat-sheet,
html.abenteuer-app .chat-overlay.chat-kb-open .chat-sheet{
  border-radius:10px!important;
}
.chat-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(10px)}
/* APK/WebView: backdrop-filter flackert stark — solid darken statt Blur */
html[data-abenteuer-apk="1"] .chat-backdrop,
html[data-mobile-shell="1"] .chat-backdrop,
html.flix-rpg-mobile .chat-backdrop,
html.abenteuer-app .chat-backdrop{
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  background:rgba(0,0,0,.72)!important;
}
html[data-abenteuer-apk="1"] .chat-overlay .chat-messages,
html[data-mobile-shell="1"] .chat-overlay .chat-messages{
  contain:layout paint style;
  transform:translateZ(0);
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
.chat-sheet{
  position:relative;z-index:1;width:min(720px,100%);
  height:min(82vh,820px);max-height:min(82vh,820px);min-height:360px;
  display:flex;flex-direction:column;overflow:hidden;color:var(--txt);
  box-sizing:border-box;border-radius:22px;
  border:1px solid rgba(125,211,252,.28);
  background:rgba(8,12,22,.94);
  box-shadow:
    0 28px 64px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,255,255,.04),
    0 0 40px rgba(59,130,246,.12);
}
.chat-panel-bg{
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
}
.chat-panel-bg img{
  width:100%;height:100%;object-fit:cover;object-position:center top;
  display:block;opacity:.42;filter:saturate(.95) brightness(.55) contrast(1.05);
}
.chat-frame{
  position:absolute;inset:8px;z-index:1;pointer-events:none;border-radius:16px;
  border:1px solid rgba(125,211,252,.12);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),inset 0 1px 0 rgba(255,255,255,.04);
}
.chat-hero{
  position:relative;z-index:2;flex-shrink:0;height:92px;overflow:hidden;
  margin:10px 10px 0;border-radius:14px;
  border:1px solid rgba(125,211,252,.22);
  box-shadow:0 10px 24px rgba(0,0,0,.28);
}
.chat-hero-banner{
  width:100%;height:100%;object-fit:cover;object-position:center 40%;
  display:block;opacity:.85;filter:saturate(1.05) brightness(.8);
}
.chat-hero-veil{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(8,10,18,.55),transparent 42%,transparent 58%,rgba(8,10,18,.4)),
    linear-gradient(180deg,rgba(8,10,18,.12) 0%,rgba(8,10,18,.55) 70%,rgba(8,10,18,.92) 100%);
}
.chat-overlay.chat-kb-open .chat-sheet{
  width:100%;min-height:0;border-radius:14px 14px 10px 10px
}
.chat-overlay.chat-fullscreen .chat-sheet{
  width:100%;height:100%;max-height:none;min-height:0;border-radius:0;
  border-left:0;border-right:0;
}
.chat-overlay.chat-fullscreen .chat-hero{margin:0;border-radius:0;border-left:0;border-right:0;height:84px}
.chat-overlay.chat-fullscreen .chat-frame{inset:0;border-radius:0}
/* APK: Vollbild ohne Zwischenzustand / Rand */
html[data-abenteuer-apk="1"] .chat-overlay,
html[data-mobile-shell="1"] .chat-overlay,
html.flix-rpg-mobile .chat-overlay{
  padding:0!important;
  align-items:stretch!important;
  justify-content:stretch!important;
}
html[data-abenteuer-apk="1"] .chat-overlay .chat-sheet,
html[data-mobile-shell="1"] .chat-overlay .chat-sheet,
html.flix-rpg-mobile .chat-overlay .chat-sheet,
html[data-abenteuer-apk="1"] .chat-overlay.chat-fullscreen .chat-sheet,
html[data-mobile-shell="1"] .chat-overlay.chat-fullscreen .chat-sheet,
html.flix-rpg-mobile .chat-overlay.chat-fullscreen .chat-sheet{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  min-height:0!important;
  border-radius:0!important;
}
html[data-abenteuer-apk="1"] .chat-overlay #chat-fullscreen,
html[data-mobile-shell="1"] .chat-overlay #chat-fullscreen,
html.flix-rpg-mobile .chat-overlay #chat-fullscreen{
  display:none!important;
}
html[data-abenteuer-apk="1"] .chat-messages,
html[data-mobile-shell="1"] .chat-messages,
html.flix-rpg-mobile .chat-messages{
  overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;touch-action:pan-y!important;min-height:0!important;
}
html[data-abenteuer-apk="1"] .chat-hero,
html[data-mobile-shell="1"] .chat-hero,
html.flix-rpg-mobile .chat-hero{
  display:none!important;
}
html[data-abenteuer-apk="1"] .chat-seal,
html[data-mobile-shell="1"] .chat-seal,
html.flix-rpg-mobile .chat-seal{width:32px!important;height:32px!important}
html[data-abenteuer-apk="1"] .chat-kicker,
html[data-mobile-shell="1"] .chat-kicker,
html.flix-rpg-mobile .chat-kicker,
html[data-abenteuer-apk="1"] .chat-sub,
html[data-mobile-shell="1"] .chat-sub,
html.flix-rpg-mobile .chat-sub{display:none!important}
html[data-abenteuer-apk="1"] .chat-title,
html[data-mobile-shell="1"] .chat-title,
html.flix-rpg-mobile .chat-title{font-size:.98rem!important;line-height:1.15!important}
html[data-abenteuer-apk="1"] .chat-head,
html[data-mobile-shell="1"] .chat-head,
html.flix-rpg-mobile .chat-head{
  padding:max(6px,env(safe-area-inset-top,0px)) 10px 4px!important;gap:6px!important;
  align-items:center!important;
}
html[data-abenteuer-apk="1"] .chat-tabs,
html[data-mobile-shell="1"] .chat-tabs,
html.flix-rpg-mobile .chat-tabs{
  padding:2px 8px 0!important;gap:3px!important;
}
html[data-abenteuer-apk="1"] .chat-tab,
html[data-mobile-shell="1"] .chat-tab,
html.flix-rpg-mobile .chat-tab{
  padding:4px 8px!important;font-size:.7rem!important;min-height:30px!important;
}
.chat-head{
  position:relative;z-index:2;
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:12px 14px 8px;border-bottom:1px solid rgba(125,211,252,.14);flex-shrink:0;
}
.chat-brand{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.chat-seal{
  width:48px;height:48px;flex:0 0 auto;object-fit:contain;border-radius:0;background:transparent;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.45));
}
.chat-brand-copy{min-width:0}
.chat-kicker{
  font-size:.58rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(125,211,252,.9);margin:0 0 2px;
}
.chat-head-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;position:relative;z-index:3}
.chat-fs-btn,.chat-clear-btn{font-size:1rem;line-height:1}
.chat-clear-btn.hidden{display:none!important}
.chat-title{
  font-family:Cinzel,Georgia,serif;font-weight:800;font-size:1.12rem;margin:0;
  color:#f0f7ff;letter-spacing:.02em;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}
.chat-sub{color:rgba(186,198,230,.82);margin-top:2px}
.chat-tabs{position:relative;z-index:2;display:flex;gap:6px;padding:8px 12px 0;flex-shrink:0;flex-wrap:wrap}
.chat-tab{
  position:relative;display:inline-flex;align-items:center;gap:6px;
  border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.28);color:var(--txt);
  border-radius:999px;padding:6px 12px;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;
  backdrop-filter:blur(6px);
}
.chat-tab:hover{background:rgba(255,255,255,.08);border-color:rgba(125,211,252,.35)}
.chat-tab.active{border-color:rgba(56,189,248,.55);background:rgba(14,165,233,.2);color:#e0f2fe}
.chat-tab.locked,.chat-tab:disabled{opacity:.45;cursor:not-allowed}
.chat-tab-badge{
  min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#3b82f6;color:#fff;
  font-size:10px;font-weight:800;line-height:16px;text-align:center
}
.chat-ban-note{
  position:relative;z-index:2;
  margin:6px 12px 0;padding:6px 10px;border-radius:10px;
  background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.3);color:#fecaca;flex-shrink:0
}
.chat-ban-note.hidden{display:none!important}
.chat-head.is-dm-thread{align-items:center;gap:8px;padding:10px 14px 8px}
.chat-head.is-dm-thread .chat-brand{flex:1;min-width:0}
.chat-head.is-dm-thread .chat-title{font-size:.95rem}
.chat-head.is-dm-thread .chat-sub{max-width:100%}
.chat-head.is-dm-thread .chat-seal{width:40px;height:40px}
.chat-messages-wrap{
  position:relative;z-index:2;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;
}
.chat-messages{
  flex:1 1 auto;min-height:0;max-height:none;
  overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;touch-action:pan-y;
  padding:10px 12px;display:flex;flex-direction:column;gap:8px;
  scrollbar-gutter:stable;
  background:rgba(0,0,0,.12);
}
.chat-compose{
  position:relative;z-index:2;
  display:flex;gap:6px;align-items:center;padding:8px 12px max(10px,env(safe-area-inset-bottom,0px));
  flex-shrink:0;border-top:1px solid rgba(125,211,252,.14);
  background:rgba(6,10,18,.72);
}
.chat-scroll-down{
  position:absolute;right:14px;bottom:10px;z-index:4;
  width:36px;height:36px;border-radius:999px;
  border:1px solid rgba(148,163,184,.35);
  background:rgba(15,23,42,.92);color:#e2e8f0;
  font-size:1.1rem;font-weight:800;line-height:1;cursor:pointer;
  box-shadow:0 8px 20px rgba(0,0,0,.4);
}
.chat-scroll-down:hover,.chat-scroll-down:focus-visible{
  border-color:rgba(96,165,250,.55);background:rgba(30,41,59,.96);outline:none
}
.chat-scroll-down.hidden{display:none!important}
.chat-empty{padding:18px 8px;text-align:center;flex-shrink:0}
.chat-row,.chat-msg-card{
  position:relative;padding:9px 11px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:stretch;gap:0;
  background:
    linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.02) 55%,rgba(0,0,0,.18)),
    rgba(12,14,22,.55);
  border:1px solid rgba(140,160,200,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 4px 14px rgba(0,0,0,.18);
  transition:border-color .15s,box-shadow .15s,background .15s;
}
.chat-msg-card:hover{border-color:rgba(180,200,230,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 20px rgba(0,0,0,.28)}

/* Staff-Karten: klar hervorgehoben vs. normale Spieler — Emote links am Rand */
.chat-row.has-staff-rail{padding-left:0}
.chat-row-staff-rail{
  flex:0 0 40px;align-self:stretch;
  display:flex;align-items:center;justify-content:center;
  border-right:1px solid rgba(255,255,255,.1);
  margin-right:10px;
  font-size:1.28rem;line-height:1;
  position:relative;
}
.chat-row-staff-rail::before{
  content:'';position:absolute;inset:8px 6px;border-radius:10px;
  background:rgba(255,255,255,.04);pointer-events:none;
}
.chat-row-staff-rail .player-staff-role-icon,
.chat-row-staff-rail .admin-role-icon{
  margin:0;width:auto;font-size:1.35rem;position:relative;z-index:1;
  filter:drop-shadow(0 0 8px rgba(255,255,255,.35)) drop-shadow(0 2px 4px rgba(0,0,0,.45));
  animation:chatStaffRailPulse 2.8s ease-in-out infinite;
}
@keyframes chatStaffRailPulse{
  0%,100%{transform:scale(1);filter:drop-shadow(0 0 6px rgba(255,255,255,.28)) drop-shadow(0 2px 4px rgba(0,0,0,.4))}
  50%{transform:scale(1.08);filter:drop-shadow(0 0 12px rgba(255,255,255,.5)) drop-shadow(0 2px 6px rgba(0,0,0,.45))}
}
.chat-row-staff-owner{
  background:
    linear-gradient(145deg,rgba(232,197,71,.22),rgba(50,34,8,.42) 48%,rgba(0,0,0,.24)),
    rgba(18,14,8,.78);
  border-color:rgba(232,197,71,.62);
  box-shadow:inset 0 1px 0 rgba(255,240,180,.16),0 0 22px rgba(232,197,71,.22),0 4px 16px rgba(0,0,0,.28);
}
.chat-row-staff-owner .chat-row-staff-rail{
  background:linear-gradient(180deg,rgba(232,197,71,.38),rgba(232,197,71,.1));
  border-right-color:rgba(232,197,71,.45);
  box-shadow:inset 0 0 18px rgba(232,197,71,.12);
}
.chat-row-staff-owner .chat-row-staff-rail .player-staff-role-icon{
  filter:drop-shadow(0 0 10px rgba(255,210,80,.75)) drop-shadow(0 0 18px rgba(232,197,71,.45));
}
.chat-row-staff-admin{
  background:
    linear-gradient(145deg,rgba(96,165,250,.22),rgba(12,24,48,.45) 48%,rgba(0,0,0,.24)),
    rgba(10,16,28,.78);
  border-color:rgba(110,180,255,.58);
  box-shadow:inset 0 1px 0 rgba(180,220,255,.14),0 0 20px rgba(80,150,255,.2),0 4px 16px rgba(0,0,0,.28);
}
.chat-row-staff-admin .chat-row-staff-rail{
  background:linear-gradient(180deg,rgba(96,165,250,.38),rgba(96,165,250,.1));
  border-right-color:rgba(110,180,255,.45);
  box-shadow:inset 0 0 18px rgba(96,165,250,.12);
}
.chat-row-staff-admin .chat-row-staff-rail .player-staff-role-icon{
  filter:drop-shadow(0 0 10px rgba(120,190,255,.75)) drop-shadow(0 0 18px rgba(80,150,255,.45));
}
.chat-row-staff-gm{
  background:
    linear-gradient(145deg,rgba(180,140,255,.22),rgba(28,14,48,.45) 48%,rgba(0,0,0,.24)),
    rgba(14,10,24,.78);
  border-color:rgba(180,140,255,.58);
  box-shadow:inset 0 1px 0 rgba(220,200,255,.14),0 0 20px rgba(160,100,255,.2),0 4px 16px rgba(0,0,0,.28);
}
.chat-row-staff-gm .chat-row-staff-rail{
  background:linear-gradient(180deg,rgba(180,140,255,.38),rgba(180,140,255,.1));
  border-right-color:rgba(180,140,255,.45);
  box-shadow:inset 0 0 18px rgba(180,140,255,.12);
}
.chat-row-staff-gm .chat-row-staff-rail .player-staff-role-icon{
  filter:drop-shadow(0 0 10px rgba(200,160,255,.75)) drop-shadow(0 0 18px rgba(160,100,255,.45));
}
.chat-row.has-avatar{gap:9px}
.chat-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;padding:9px 11px 9px 0;position:relative;z-index:1;transition:transform .12s ease}
.chat-row.is-swiping .chat-row-main{will-change:transform}
.chat-row:not(.has-staff-rail) .chat-row-main{padding:0}
.chat-row.has-staff-rail{padding-top:0;padding-bottom:0;padding-right:11px}
.chat-row.has-staff-rail .chat-row-main{padding:9px 0 9px 0}
.chat-row-avatar-btn{
  appearance:none;border:0;background:transparent;padding:0;margin:0;cursor:pointer;flex:0 0 auto;
}
.chat-row-avatar-btn:focus-visible{outline:2px solid rgba(96,165,250,.55);outline-offset:2px;border-radius:12px}
.chat-compact-avatar{
  width:40px;height:40px;flex-shrink:0;position:relative;
  display:grid;place-items:center;
}
.chat-compact-avatar .chat-profile-avatar-img,
.chat-compact-avatar-img{
  width:32px;height:32px;border-radius:10px;object-fit:cover;display:block;
}
.chat-compact-avatar-fallback{
  width:32px;height:32px;border-radius:10px;display:grid;place-items:center;
  font-size:1rem;background:rgba(59,130,246,.2);
}
.chat-dm-avatar-wrap{
  width:48px;height:48px;flex:0 0 auto;
}
.chat-dm-avatar-wrap .chat-profile-avatar-img,
.chat-dm-avatar-wrap .chat-compact-avatar-img{
  width:40px;height:40px;border-radius:50%;
}
.chat-row-mine{background:rgba(59,130,246,.14);border-color:rgba(59,130,246,.28)}
.chat-row-deleted{opacity:.65}
.chat-row-deleted .chat-row-text{font-style:italic;color:rgba(238,241,255,.55)}
.chat-row-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.chat-row-who{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px}
.chat-row-meta-end{
  display:flex;flex-direction:column;align-items:flex-end;gap:4px;
  flex-shrink:0;padding-top:1px;
}
.chat-row-meta-time-row{
  display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;
  max-width:min(220px,52vw);min-width:0;
}
.chat-row-name{font-size:.86rem;font-weight:700;min-width:0;line-height:1.2}
.chat-row-name-line{
  display:flex;flex-wrap:wrap;align-items:center;gap:5px 6px;min-width:0;max-width:100%;
}
.chat-row-presence{
  width:8px;height:8px;border-radius:50%;flex-shrink:0;
  display:inline-block;margin-right:1px;vertical-align:middle;
  box-shadow:0 0 0 1px rgba(0,0,0,.28);
}
.chat-row-presence-online{background:#4ade80;box-shadow:0 0 0 1px rgba(74,222,128,.35),0 0 6px rgba(74,222,128,.45)}
.chat-row-presence-busy{background:#f87171;box-shadow:0 0 0 1px rgba(248,113,113,.35),0 0 6px rgba(248,113,113,.4)}
.chat-row-presence-away{background:#fbbf24;box-shadow:0 0 0 1px rgba(251,191,36,.35),0 0 6px rgba(251,191,36,.35)}
.chat-row-presence-offline{background:#64748b}
.chat-row-name-btn{
  -webkit-appearance:none;appearance:none;border:0;background:transparent!important;background-color:transparent!important;
  padding:0;margin:0;box-shadow:none!important;
  color:inherit;font:inherit;font-weight:inherit;text-align:left;cursor:pointer;
  max-width:100%;min-width:0;
}
.chat-row-name-btn:hover .cos-name-text,
.chat-row-name-btn:focus-visible .cos-name-text{text-decoration:underline;text-underline-offset:2px}
.chat-row-name-btn:focus-visible{outline:2px solid rgba(96,165,250,.55);outline-offset:2px;border-radius:6px}
.chat-row-name .player-name-stack,
.chat-row-name .chat-name-stack{display:inline-flex;max-width:100%}
.chat-row-name .player-staff-role-icon{margin-right:4px;vertical-align:-.1em}
.chat-row-badges{
  display:inline-flex;align-items:center;gap:4px;flex-shrink:0;margin-left:1px;
}
.chat-row-badge.cos-badge-wrap{
  cursor:help;border-radius:7px;padding:0;line-height:0;
  transition:transform .12s ease,filter .12s ease;
}
.chat-row-badge.cos-badge-wrap:hover,
.chat-row-badge.cos-badge-wrap:focus-visible{
  transform:translateY(-1px) scale(1.08);
  filter:drop-shadow(0 0 6px rgba(232,197,71,.45));
}
.chat-row-badges .cos-badge-inline{
  width:22px;height:22px;border:0!important;border-radius:6px;
  background:transparent!important;object-fit:contain;vertical-align:middle;
  box-shadow:none;
}
.chat-row-sub-stack{
  display:flex;flex-direction:column;gap:2px;margin-top:2px;min-width:0;
}
.chat-row-title-line{
  display:flex;align-items:center;min-width:0;line-height:1.2;
}
.chat-row-sub-line{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  min-width:0;
}
.chat-row-sub{
  display:flex;flex-wrap:wrap;align-items:center;gap:2px 0;
  font-size:.68rem;line-height:1.3;opacity:.88;min-width:0;flex:1;
}
.chat-row-dot{margin:0 4px;opacity:.4}
.chat-row-staff{font-weight:700;letter-spacing:.02em}
.chat-row-staff--owner{color:rgba(251,191,36,.95)}
.chat-row-staff--admin{color:rgba(96,165,250,.95)}
.chat-row-staff--gm{color:rgba(196,181,253,.95)}
.chat-row-title{color:rgba(232,197,71,.92);font-style:italic;font-size:.7rem}
.chat-row-class,.chat-row-level,.chat-row-job{color:rgba(226,232,255,.7)}
.chat-row-job-pill{
  flex-shrink:1;min-width:0;
  display:inline-flex;align-items:center;gap:3px;
  max-width:100%;padding:2px 8px;border-radius:999px;
  font-size:.62rem;font-weight:700;line-height:1.25;
  color:rgba(196,220,255,.98);
  background:linear-gradient(135deg,rgba(56,100,180,.32),rgba(20,30,55,.6));
  border:1px solid rgba(120,170,255,.32);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.chat-row-time{flex-shrink:0;font-size:.64rem;line-height:1;opacity:.75;white-space:nowrap}
.chat-row-body{min-width:0}
.chat-row-text{font-size:.9rem;line-height:1.4;word-break:break-word}
.chat-row-reply-quote{
  appearance:none;border:0;border-left:3px solid rgba(96,165,250,.65);
  background:rgba(59,130,246,.12);color:inherit;text-align:left;cursor:pointer;
  display:flex;flex-direction:column;gap:1px;width:100%;box-sizing:border-box;
  margin:0 0 6px;padding:5px 8px;border-radius:0 8px 8px 0;
}
.chat-row-reply-name{font-size:.68rem;font-weight:800;color:rgba(147,197,253,.95);line-height:1.2}
.chat-row-reply-text{font-size:.72rem;opacity:.8;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.chat-row-flash{animation:chat-row-flash .85s ease}
@keyframes chat-row-flash{0%,100%{box-shadow:none}35%{box-shadow:0 0 0 2px rgba(96,165,250,.55)}}
.chat-row-swipeable{position:relative;overflow:hidden;touch-action:pan-y pinch-zoom}
.chat-row-swipe-hint{
  position:absolute;inset:0 0 0 auto;width:88px;display:flex;align-items:center;justify-content:center;
  font-size:.68rem;font-weight:800;color:rgba(147,197,253,.95);
  background:linear-gradient(270deg,rgba(59,130,246,.28),transparent);opacity:0;pointer-events:none;
  transition:opacity .12s;
}
.chat-row.is-swiping .chat-row-swipe-hint{opacity:1}
.chat-row.is-swiping .chat-row-main{transition:none}
.chat-reply-bar{
  display:flex;align-items:center;gap:8px;padding:6px 12px 0;flex-shrink:0;
  border-top:1px solid rgba(255,255,255,.06);
  background:rgba(12,18,32,.92);
}
.chat-reply-bar.hidden{display:none!important}
.chat-reply-bar-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px}
.chat-reply-bar-kicker{font-size:.62rem;font-weight:800;letter-spacing:.02em;color:rgba(147,197,253,.9);text-transform:uppercase}
.chat-reply-bar-name{font-size:.78rem;font-weight:800;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-reply-bar-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-reply-bar-close{flex-shrink:0}
.chat-row-gif-wrap{margin-top:4px;max-width:min(280px,100%)}
.chat-row-gif{
  display:block;width:100%;max-height:220px;object-fit:contain;border-radius:10px;
  background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.08)
}
.chat-row-actions{
  display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:3px;
}
.chat-row-action-btn{
  appearance:none;border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.05);color:rgba(238,241,255,.82);
  width:28px;height:28px;min-width:28px;padding:0;border-radius:8px;
  display:inline-flex;align-items:center;justify-content:center;gap:2px;
  font-size:.78rem;line-height:1;cursor:pointer;flex-shrink:0;
  transition:background-color .12s ease,border-color .12s ease,color .12s ease;
}
.chat-row-action-btn:hover{
  background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);color:#fff;
}
.chat-row-action-btn:focus-visible{outline:2px solid rgba(96,165,250,.55);outline-offset:1px}
.chat-row-action-btn:disabled{opacity:.45;cursor:default}
.chat-row-action-btn.chat-like-btn{min-width:28px;width:auto;padding:0 6px}
.chat-row-action-count{font-size:.62rem;font-weight:700;opacity:.9}
.chat-row-react{display:none} /* legacy */
.chat-row-mod{display:none} /* legacy */
.chat-like-btn.is-liked{color:#fb7185;border-color:rgba(251,113,133,.35);background:rgba(251,113,133,.12)}
.chat-reply-btn{color:rgba(147,197,253,.95);font-weight:800}
.chat-reply-btn:hover,.chat-reply-btn:focus-visible{
  color:#fff;border-color:rgba(96,165,250,.5);background:rgba(59,130,246,.22);
}
/* PC: Antworten per Button; Swipe-Hinweis nur auf Touch */
@media (pointer:fine){
  .chat-row-swipe-hint{display:none!important}
  .chat-row-swipeable{touch-action:auto}
  .chat-reply-btn{opacity:.85}
  .chat-row:hover .chat-reply-btn,.chat-row:focus-within .chat-reply-btn{opacity:1}
}
@media (pointer:coarse){
  .chat-reply-btn{display:inline-flex!important;visibility:visible!important;min-height:40px;align-items:center}
}
.chat-report-btn.is-reported{opacity:.55}
.chat-row-report-count{color:#fca5a5;font-weight:700;font-size:.66rem;padding:0 2px}
.chat-compose{
  position:relative;z-index:2;
  display:flex;gap:6px;align-items:center;
  padding:8px 12px max(10px,env(safe-area-inset-bottom,0px));
  flex-shrink:0;border-top:1px solid rgba(125,211,252,.14);
  background:rgba(6,10,18,.72);
}
.chat-gif-btn{flex:0 0 auto;font-weight:800;letter-spacing:.02em;min-width:44px}
.chat-gif-panel{
  flex:0 0 auto;max-height:210px;overflow:hidden;
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(8,12,22,.92);
}
.chat-gif-panel.hidden{display:none!important}
.chat-gif-panel-inner{display:flex;flex-direction:column;gap:8px;padding:8px 10px 10px;max-height:210px}
.chat-gif-panel-head{display:flex;gap:6px;align-items:center}
.chat-gif-q{
  flex:1;min-width:0;width:100%;box-sizing:border-box;border-radius:10px;border:1px solid rgba(148,163,184,.25);
  background:rgba(255,255,255,.05);color:inherit;padding:7px 10px;font:inherit;font-size:.85rem
}
.chat-gif-modal-search{padding:0 16px 10px;flex:0 0 auto}
.chat-gif-modal-hint{padding:8px 16px 12px;flex:0 0 auto}
.chat-gif-modal-card{height:min(78vh,640px);max-height:min(78vh,640px)}
.chat-gif-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px;
  overflow-y:auto;max-height:150px;padding-bottom:2px
}
.chat-gif-grid-modal{
  max-height:none;padding:12px 16px 18px;
  grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px
}
.chat-gif-pick{
  appearance:none;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:0;
  background:rgba(0,0,0,.25);cursor:pointer;overflow:hidden;aspect-ratio:1;min-height:0
}
.chat-gif-pick img{width:100%;height:100%;object-fit:cover;display:block}
.chat-gif-pick:hover,.chat-gif-pick:focus-visible{border-color:rgba(96,165,250,.6);outline:none}
.chat-reports-btn.has-reports{filter:none;color:#fca5a5}
.chat-reports-modal-card{height:min(82vh,680px);max-height:min(82vh,680px)}
.chat-reports-card{max-height:min(70vh,520px);overflow:auto}
.chat-reports-list{display:flex;flex-direction:column;gap:10px;margin:0}
.chat-report-row{
  padding:8px 10px;border-radius:10px;background:rgba(239,68,68,.08);
  border:1px solid rgba(239,68,68,.22);font-size:.82rem;line-height:1.35
}
.chat-report-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.chat-report-actions .btn{flex:1 1 auto;min-width:calc(50% - 4px)}
.chat-report-gif{margin:6px 0;border-radius:10px;overflow:hidden;max-height:120px;background:rgba(0,0,0,.25)}
.chat-report-gif img{display:block;max-width:100%;max-height:120px;object-fit:contain;margin:0 auto}
.chat-liked-by-pop{
  /* Über Chat (40060) und Profil-Modals */
  position:fixed;z-index:40100;min-width:140px;max-width:min(240px,80vw);
  padding:10px 12px;border-radius:12px;
  border:1px solid rgba(148,163,184,.28);
  background:linear-gradient(168deg,rgba(28,36,58,.98),rgba(12,16,28,.98));
  box-shadow:0 14px 36px rgba(0,0,0,.5);color:rgba(236,240,255,.96);
  pointer-events:auto;
}
.chat-liked-by-title{font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:rgba(186,198,230,.85);margin-bottom:6px}
.chat-liked-by-list{margin:0;padding:0 0 0 14px;font-size:.82rem;line-height:1.45}
.chat-liked-by-list li{margin:0 0 2px}
.chat-typing{
  min-height:1.1rem;padding:2px 12px 6px;font-size:.72rem;letter-spacing:.01em;
  color:rgba(186,198,230,.82);font-style:italic;
}
.chat-typing:not(.hidden)::before{content:'✎ ';opacity:.7}
body.chat-profile-modal-open{overflow:hidden}
.chat-player-actions{
  /* Über Chat (40060), Online-Liste (130000) und Online-Tip (140000) */
  position:fixed;inset:0;z-index:150100!important;
  display:flex;align-items:center;justify-content:center;
  padding:max(12px,env(safe-area-inset-top)) 14px max(12px,env(safe-area-inset-bottom));
  pointer-events:auto;box-sizing:border-box;
}
.chat-player-actions.hidden{display:none!important}
.chat-player-actions-backdrop{
  position:absolute;inset:0;border:0;padding:0;margin:0;cursor:pointer;
  background:rgba(4,8,18,.68);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.chat-player-actions-card{
  position:relative;z-index:1;width:min(360px,100%);
  border-radius:16px;
  border:1px solid rgba(148,163,184,.22);
  background:linear-gradient(168deg,rgba(24,32,54,.98),rgba(10,14,24,.98));
  box-shadow:0 18px 44px rgba(0,0,0,.5);
  color:rgba(236,240,255,.96);
  animation:chatProfileIn .16s ease-out;
  overflow:hidden;
}
.chat-player-actions-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
  padding:14px 14px 10px;border-bottom:1px solid rgba(255,255,255,.08);
}
.chat-player-actions-body{padding:12px 14px 14px}
.chat-player-actions-notes{margin:0 0 10px;line-height:1.35}
.chat-player-actions-list{display:flex;flex-direction:column;gap:8px}
.chat-player-act-btn{width:100%;justify-content:flex-start;text-align:left}
.chat-dm-hub{
  display:flex;flex-direction:column;gap:10px;padding:4px 2px 12px;min-height:0;
  background:
    radial-gradient(120% 70% at 0% 0%,rgba(56,189,248,.08),transparent 55%),
    radial-gradient(90% 50% at 100% 8%,rgba(167,139,250,.06),transparent 50%);
}
.chat-dm-hero{
  display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 12px;border-radius:14px;text-align:left;
  border:1px solid rgba(125,211,252,.2);
  background:
    linear-gradient(145deg,rgba(14,30,52,.9),rgba(10,16,28,.86)),
    rgba(8,12,22,.9);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 6px 16px rgba(0,0,0,.18);
  position:relative;overflow:hidden;
}
.chat-dm-hero::after{
  content:'';position:absolute;right:-18%;top:-40%;width:55%;height:140%;
  background:radial-gradient(circle,rgba(56,189,248,.12),transparent 68%);
  pointer-events:none;
}
.chat-dm-hero-copy{position:relative;z-index:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.chat-dm-hero-kicker{display:none}
.chat-dm-hero-title{
  font-size:1.05rem;font-weight:900;letter-spacing:.01em;line-height:1.15;
  background:linear-gradient(105deg,#e0f2fe 20%,#c4b5fd 90%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.chat-dm-hero-sub{margin:3px 0 0;line-height:1.3;max-width:42ch;font-size:.72rem}
.chat-dm-hero-stat{
  position:relative;z-index:1;flex:0 0 auto;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-width:52px;padding:6px 10px;border-radius:11px;
  border:1px solid rgba(125,211,252,.22);
  background:rgba(8,18,34,.65);
}
.chat-dm-hero-stat strong{font-size:1.1rem;font-weight:850;line-height:1;color:#e0f2fe}
.chat-dm-section-title{
  font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(148,163,184,.9);padding:2px 2px 0;text-align:left
}
.chat-dm-search-wrap{position:relative;display:flex;flex-direction:column;gap:6px}
.chat-dm-search-label{display:none}
.chat-dm-search-row{
  display:flex;align-items:center;gap:8px;padding:0 12px;
  border-radius:12px;border:1px solid rgba(148,163,184,.28);
  background:rgba(255,255,255,.055);
  transition:border-color .15s,box-shadow .15s,background .15s;
}
.chat-dm-search-row:focus-within{
  border-color:rgba(56,189,248,.55);box-shadow:0 0 0 3px rgba(14,165,233,.16);
  background:rgba(255,255,255,.08);
}
.chat-dm-search-ico{opacity:.55;font-size:1.05rem;line-height:1;flex-shrink:0}
.chat-dm-search{
  flex:1;min-width:0;box-sizing:border-box;border:0;background:transparent;
  color:inherit;padding:10px 0;font:inherit;font-size:.9rem;outline:none
}
.chat-dm-search-results{
  display:flex;flex-direction:column;gap:4px;max-height:200px;overflow:auto;
  padding:6px;border-radius:14px;border:1px solid rgba(125,211,252,.2);
  background:rgba(6,12,24,.96);
  box-shadow:0 12px 28px rgba(0,0,0,.35);
}
.chat-dm-search-results.hidden{display:none!important}
.chat-dm-search-status{padding:8px 6px}
.chat-dm-search-hit{
  display:flex;align-items:center;gap:10px;width:100%;text-align:left;
  border:0;border-radius:12px;padding:8px 9px;cursor:pointer;
  background:transparent;color:inherit;font:inherit;
  transition:background .12s;
}
.chat-dm-search-hit:hover,.chat-dm-search-hit:focus-visible{background:rgba(56,189,248,.14);outline:none}
.chat-dm-search-hit-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.chat-dm-search-hit-meta{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}
.chat-dm-search-hit-cta{
  color:rgba(125,211,252,.98);font-weight:800;flex-shrink:0;font-size:.78rem;
  letter-spacing:.02em;
}
.chat-dm-filters{
  display:flex;gap:6px;flex-wrap:nowrap;padding:0;justify-content:flex-start;
  overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.chat-dm-filters::-webkit-scrollbar{display:none}
.chat-dm-filter{
  appearance:none;border:1px solid rgba(148,163,184,.22);
  background:rgba(255,255,255,.04);color:rgba(226,232,255,.82);
  border-radius:999px;padding:7px 11px;font:inherit;font-size:.76rem;font-weight:750;
  cursor:pointer;display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;
  transition:background .12s,border-color .12s,color .12s,transform .1s;
}
.chat-dm-filter:hover{background:rgba(255,255,255,.08);color:#fff}
.chat-dm-filter.is-active{
  border-color:rgba(56,189,248,.5);background:rgba(14,165,233,.2);color:#e0f2fe;
  box-shadow:0 0 0 1px rgba(56,189,248,.12);
}
.chat-dm-filter-count{
  min-width:16px;height:16px;padding:0 5px;border-radius:999px;
  background:rgba(0,0,0,.28);font-size:10px;font-weight:800;line-height:16px;text-align:center;
}
.chat-dm-filter.is-active .chat-dm-filter-count{background:rgba(14,165,233,.45)}
.chat-dm-thread-list{display:flex;flex-direction:column;gap:6px}
.chat-dm-empty{
  padding:28px 14px;text-align:center;line-height:1.45;
  border-radius:16px;border:1px dashed rgba(148,163,184,.28);
  background:rgba(255,255,255,.03);
  display:flex;flex-direction:column;align-items:center;gap:8px;
}
.chat-dm-empty-ico{font-size:1.8rem;line-height:1;opacity:.9;filter:drop-shadow(0 4px 10px rgba(56,189,248,.25))}
.chat-dm-empty-title{font-weight:800;font-size:.98rem}
.chat-dm-filter-reset{margin-top:4px}
.chat-dm-thread{
  display:flex;flex-direction:row;align-items:stretch;gap:0;
  border-radius:16px;border:1px solid rgba(148,163,184,.14);
  background:rgba(255,255,255,.035);
  overflow:hidden;
  /* Kein Transition-Flicker bei Poll/Hover */
  transition:none;
}
.chat-dm-thread:hover{
  border-color:rgba(125,211,252,.32);
  background:rgba(56,189,248,.08);
}
.chat-dm-thread.has-unread{
  border-color:rgba(56,189,248,.4);
  background:
    linear-gradient(105deg,rgba(14,165,233,.16),rgba(255,255,255,.03) 48%),
    rgba(10,16,28,.55);
  box-shadow:inset 3px 0 0 rgba(56,189,248,.85);
}
.chat-dm-thread.is-pinned{border-color:rgba(251,191,36,.32)}
.chat-dm-thread.is-muted{opacity:.78}
.chat-dm-thread.is-muted.has-unread{opacity:.9}
.chat-dm-thread-main{
  flex:1;min-width:0;display:flex;flex-direction:row;align-items:center;gap:12px;
  border:0;background:transparent;color:inherit;font:inherit;
  text-align:left;padding:11px 8px 11px 12px;cursor:pointer;position:relative
}
.chat-dm-thread-main:hover,.chat-dm-thread-main:focus-visible{outline:none;background:transparent}
.chat-dm-avatar-slot{
  position:relative;flex:0 0 auto;width:48px;height:48px;
  display:inline-flex;align-items:center;justify-content:center;overflow:hidden;
  border-radius:50%;
}
.chat-dm-avatar-slot.sm{width:34px;height:34px}
.chat-dm-avatar-wrap,
.chat-dm-avatar-slot .chat-compact-avatar,
.chat-dm-avatar-slot .chat-profile-avatar-wrap{
  width:48px!important;height:48px!important;
  pointer-events:none;
}
.chat-dm-avatar-wrap .chat-profile-avatar-img,
.chat-dm-avatar-wrap .chat-compact-avatar-img,
.chat-dm-avatar-slot .chat-profile-avatar-img,
.chat-dm-avatar-slot .chat-compact-avatar-img,
.chat-dm-avatar-slot .chat-compact-avatar-fallback,
.chat-dm-avatar-slot .chat-profile-avatar-fallback{
  width:40px!important;height:40px!important;border-radius:50%!important;
  object-fit:cover;box-shadow:0 0 0 2px rgba(8,12,22,.9),0 0 0 3px rgba(125,211,252,.28);
  pointer-events:none;
}
.chat-dm-avatar-slot .cos-aura-img,
.chat-dm-avatar-slot .cos-frame-overlay{
  width:48px!important;height:48px!important;max-width:none!important;max-height:none!important;
  pointer-events:none!important;
}
.chat-dm-avatar{
  flex:0 0 auto;width:40px;height:40px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.95rem;
  background:linear-gradient(145deg,rgba(56,189,248,.38),rgba(99,102,241,.28));
  border:1px solid rgba(125,211,252,.28);color:#e2e8f0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.chat-dm-avatar.sm{width:32px;height:32px;font-size:.82rem}
.chat-dm-presence{
  position:absolute;right:1px;bottom:1px;z-index:3;
  width:12px;height:12px;border-radius:999px;
  border:2px solid rgba(8,12,22,.96);
  box-shadow:0 0 0 1px rgba(0,0,0,.2);
}
.chat-dm-presence-online{background:#4ade80;box-shadow:0 0 8px rgba(74,222,128,.55)}
.chat-dm-presence-busy{background:#f87171;box-shadow:0 0 8px rgba(248,113,113,.45)}
.chat-dm-presence-offline{background:#64748b}
.chat-dm-thread-body{
  flex:1;min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:2px;
}
.chat-dm-thread-top{
  display:flex;align-items:baseline;justify-content:space-between;gap:10px;width:100%;min-width:0;
}
.chat-dm-name{
  font-size:.98rem;font-weight:800;line-height:1.25;color:var(--txt);
  min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;
  letter-spacing:.01em;
  display:inline-flex;align-items:center;gap:6px;
}
.chat-dm-name .chat-row-presence{margin-right:0}
.chat-dm-thread.has-unread .chat-dm-name{font-weight:900;color:#f8fafc}
.chat-dm-pin-mark,.chat-dm-mute-mark{margin-right:4px;font-size:.72rem;opacity:.9}
.chat-dm-meta{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}
.chat-dm-unread{
  position:static;top:auto;right:auto;
  min-width:18px;height:18px;padding:0 6px;border-radius:999px;
  background:linear-gradient(135deg,#38bdf8,#6366f1);color:#fff;font-size:10px;font-weight:800;
  line-height:18px;text-align:center;box-shadow:0 2px 8px rgba(56,189,248,.35)
}
.chat-dm-thread-preview{
  display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  line-height:1.35;text-align:left;font-size:.8rem;min-height:1.35em;
  color:rgba(148,163,184,.95);
}
.chat-dm-thread-preview.is-unread{color:rgba(226,232,255,.92);font-weight:650}
.chat-dm-thread-meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:0;margin-top:1px;
  font-size:.68rem;line-height:1.3;color:rgba(148,163,184,.82);min-width:0;
}
.chat-dm-meta-bit{
  display:inline-flex;align-items:center;gap:4px;max-width:16ch;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.chat-dm-meta-sep{margin:0 5px;opacity:.45;flex-shrink:0}
.chat-dm-meta-dot{
  width:6px;height:6px;border-radius:999px;background:currentColor;opacity:.9;flex-shrink:0;
}
.chat-dm-meta-online{color:#86efac}
.chat-dm-meta-busy{color:#fca5a5}
.chat-dm-meta-offline{color:rgba(148,163,184,.9)}
.chat-dm-meta-guild{color:rgba(125,211,252,.88);max-width:18ch}
.chat-dm-time{
  font-size:.68rem;font-weight:650;color:rgba(148,163,184,.78);
  white-space:nowrap;font-variant-numeric:tabular-nums;
}
.chat-dm-thread.has-unread .chat-dm-time{color:rgba(125,211,252,.9)}
.chat-dm-thread-chips{display:none}
.chat-dm-thread-chip{display:none}
.chat-dm-thread-foot{
  display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;justify-content:flex-start;margin-top:1px
}
.chat-dm-guild{max-width:14ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-dm-thread-actions{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  padding:8px 7px;flex:0 0 auto;width:auto;
  border-left:1px solid rgba(255,255,255,.05);
  background:transparent;
  opacity:1;
}
.chat-dm-act{
  appearance:none;border:0;background:transparent;color:inherit;
  width:30px;height:30px;border-radius:10px;padding:0;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:.9rem;line-height:1;opacity:.72;
  transition:none;
}
.chat-dm-act:hover{background:rgba(255,255,255,.1);opacity:1}
.chat-dm-act:focus-visible{outline:2px solid rgba(56,189,248,.55);outline-offset:1px}
.chat-dm-act > span{pointer-events:none}
.chat-dm-act.is-on{
  opacity:1;background:rgba(251,191,36,.14);
}
.chat-dm-thread-mute.is-on{background:rgba(148,163,184,.16)}
.chat-dm-thread-del:hover{background:rgba(248,113,113,.14)}
.chat-dm-online{color:#4ade80;margin-right:4px;font-size:.7rem}
.chat-dm-busy{color:#f87171;margin-right:4px;font-size:.7rem}
.chat-dm-offline{color:#94a3b8;margin-right:4px;font-size:.7rem}
.chat-dm-back-btn.hidden,.chat-dm-delete-btn.hidden{display:none!important}

/* APK / Mobile: noch kompakter & fingerfreundlich */
html[data-abenteuer-apk="1"] .chat-dm-hub,
html[data-mobile-shell="1"] .chat-dm-hub,
html.flix-rpg-mobile .chat-dm-hub{
  gap:10px!important;padding:2px 0 10px!important;
}
html[data-abenteuer-apk="1"] .chat-dm-hero-sub,
html[data-mobile-shell="1"] .chat-dm-hero-sub,
html.flix-rpg-mobile .chat-dm-hero-sub{
  display:none!important;
}
html[data-abenteuer-apk="1"] .chat-dm-thread-main,
html[data-mobile-shell="1"] .chat-dm-thread-main,
html.flix-rpg-mobile .chat-dm-thread-main{
  padding:12px 6px 12px 12px!important;gap:12px!important;
}
html[data-abenteuer-apk="1"] .chat-dm-thread-actions,
html[data-mobile-shell="1"] .chat-dm-thread-actions,
html.flix-rpg-mobile .chat-dm-thread-actions{
  opacity:1!important;padding:6px 5px!important;gap:2px!important;
}
html[data-abenteuer-apk="1"] .chat-dm-act,
html[data-mobile-shell="1"] .chat-dm-act,
html.flix-rpg-mobile .chat-dm-act{
  width:34px!important;height:34px!important;font-size:.95rem!important;
}
html[data-abenteuer-apk="1"] .chat-dm-name,
html[data-mobile-shell="1"] .chat-dm-name,
html.flix-rpg-mobile .chat-dm-name{
  font-size:1.02rem!important;
}
html[data-abenteuer-apk="1"] .chat-dm-thread-preview,
html[data-mobile-shell="1"] .chat-dm-thread-preview,
html.flix-rpg-mobile .chat-dm-thread-preview{
  font-size:.84rem!important;
}
html[data-abenteuer-apk="1"] .chat-dm-thread-meta,
html[data-mobile-shell="1"] .chat-dm-thread-meta,
html.flix-rpg-mobile .chat-dm-thread-meta{
  font-size:.72rem!important;
}
html[data-abenteuer-apk="1"] .chat-sheet-dm-hub .chat-messages,
html[data-mobile-shell="1"] .chat-sheet-dm-hub .chat-messages,
html.flix-rpg-mobile .chat-sheet-dm-hub .chat-messages{
  overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;
  padding-left:10px!important;padding-right:10px!important;
}

/* Peer-Bar — kleines zentriertes Banner im Thread */
.chat-dm-peer-bar{
  display:flex;align-items:center;justify-content:center;
  margin:6px 12px 4px;padding:0;flex-shrink:0;
  animation:chatDmPeerIn .16s ease-out;
}
.chat-dm-peer-bar.hidden{display:none!important}
@keyframes chatDmPeerIn{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:none}
}
.chat-dm-peer-banner{
  width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;
  padding:5px 8px;border-radius:12px;text-align:left;
  border:1px solid rgba(125,211,252,.28);
  background:
    radial-gradient(120% 90% at 12% 50%,rgba(56,189,248,.14),transparent 55%),
    linear-gradient(165deg,rgba(16,26,44,.96),rgba(10,14,24,.97));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 4px 12px rgba(0,0,0,.16);
}
.chat-dm-peer-center{display:contents}
.chat-dm-peer-main{display:contents}
.chat-dm-peer-avatar-btn{
  appearance:none;border:0;background:transparent;padding:0;margin:0;cursor:pointer;flex:0 0 auto;
  line-height:0;order:0;
}
.chat-dm-peer-avatar-btn:focus-visible{outline:2px solid rgba(56,189,248,.55);outline-offset:2px;border-radius:10px}
.chat-dm-peer-avatar-btn:hover .chat-dm-avatar-slot{transform:translateY(-1px)}
.chat-dm-peer-banner .chat-dm-avatar-slot{
  width:32px;height:32px;transition:transform .12s ease;
}
.chat-dm-peer-banner .chat-dm-avatar-wrap,
.chat-dm-peer-banner .chat-compact-avatar,
.chat-dm-peer-banner .chat-profile-avatar-wrap{
  width:32px;height:32px;
}
.chat-dm-peer-banner .chat-dm-avatar,
.chat-dm-peer-banner .chat-compact-avatar-img,
.chat-dm-peer-banner .chat-compact-avatar-fallback,
.chat-dm-peer-banner .chat-profile-avatar-img,
.chat-dm-peer-banner .chat-profile-avatar-fallback{
  width:32px!important;height:32px!important;border-radius:10px;font-size:.88rem;
}
.chat-dm-peer-copy{
  min-width:0;flex:1 1 auto;order:1;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;
}
.chat-dm-peer-kicker{display:none}
.chat-dm-peer-name{
  font-size:.82rem;font-weight:900;line-height:1.15;color:var(--txt);
  max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.chat-dm-peer-status{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-dm-peer-chips{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:3px;
}
.chat-dm-peer-chip{
  display:inline-flex;align-items:center;gap:3px;
  padding:1px 7px;border-radius:999px;font-size:.55rem;font-weight:750;line-height:1.2;
  color:rgba(226,232,240,.92);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
}
.chat-dm-peer-chip-dot{
  width:5px;height:5px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 2px rgba(148,163,184,.18);
}
.chat-dm-peer-chip-online .chat-dm-peer-chip-dot{background:#4ade80;box-shadow:0 0 0 2px rgba(74,222,128,.22)}
.chat-dm-peer-chip-busy .chat-dm-peer-chip-dot{background:#f87171;box-shadow:0 0 0 2px rgba(248,113,113,.22)}
.chat-dm-peer-chip-away .chat-dm-peer-chip-dot{background:#fbbf24;box-shadow:0 0 0 2px rgba(251,191,36,.2)}
.chat-dm-peer-chip-offline .chat-dm-peer-chip-dot{background:#64748b;box-shadow:0 0 0 2px rgba(100,116,139,.2)}
.chat-dm-peer-chip-online{color:#bbf7d0;border-color:rgba(74,222,128,.28);background:rgba(74,222,128,.1)}
.chat-dm-peer-chip-busy{color:#fecaca;border-color:rgba(248,113,113,.28);background:rgba(248,113,113,.1)}
.chat-dm-peer-chip-offline{color:#cbd5e1;border-color:rgba(148,163,184,.25);background:rgba(148,163,184,.1)}
.chat-dm-peer-chip-guild{color:#bae6fd;border-color:rgba(56,189,248,.28);background:rgba(56,189,248,.1)}
.chat-dm-peer-chip-pin{color:#fde68a;border-color:rgba(251,191,36,.3);background:rgba(251,191,36,.1)}
.chat-dm-peer-chip-mute{color:#cbd5e1;border-color:rgba(148,163,184,.28);background:rgba(148,163,184,.1)}
.chat-dm-peer-actions{display:flex;align-items:center;justify-content:flex-end;gap:2px;flex:0 0 auto;order:2;margin-top:0}
.chat-dm-peer-actions .btn-icon{
  width:24px;height:24px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;
  font-size:.74rem;opacity:.75;
}
.chat-dm-peer-actions .btn-icon:hover{opacity:1}
.chat-dm-peer-actions .btn-icon.is-on{
  opacity:1;background:rgba(251,191,36,.14);border-color:rgba(251,191,36,.35);
}
.chat-overlay.chat-dm-thread-open .chat-tabs{justify-content:center}
.chat-quick-emojis,.chat-dm-quick{
  display:flex;gap:6px;align-items:center;padding:6px 12px 0;flex-shrink:0;
  overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.chat-quick-emojis::-webkit-scrollbar,.chat-dm-quick::-webkit-scrollbar{display:none}
.chat-quick-emojis.hidden,.chat-dm-quick.hidden{display:none!important}
.chat-quick-btn,.chat-dm-quick-btn{
  appearance:none;border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.05);color:inherit;
  width:34px;height:34px;border-radius:11px;flex:0 0 auto;
  font-size:1.05rem;line-height:1;cursor:pointer;
  transition:transform .12s,background .12s,border-color .12s;
}
.chat-quick-btn:hover,.chat-quick-btn:focus-visible,
.chat-dm-quick-btn:hover,.chat-dm-quick-btn:focus-visible{
  background:rgba(56,189,248,.18);border-color:rgba(56,189,248,.4);
  transform:translateY(-1px) scale(1.06);outline:none;
}
.chat-quick-btn:active,.chat-dm-quick-btn:active{transform:scale(.96)}

/* Sheet-Zustände Flüstern */
.chat-sheet-dm-hub .chat-messages{
  background:
    radial-gradient(100% 60% at 50% 0%,rgba(14,165,233,.06),transparent 55%);
}
.chat-sheet-dm-thread .chat-messages-dm{
  gap:10px;padding:12px 10px 14px;
  background:
    radial-gradient(80% 40% at 100% 0%,rgba(99,102,241,.07),transparent 50%),
    radial-gradient(70% 35% at 0% 100%,rgba(14,165,233,.06),transparent 50%);
}
.chat-messages-dm .chat-row-dm{
  max-width:min(92%,420px);align-self:flex-start;
  border-radius:16px 16px 16px 6px;
  background:
    linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02)),
    rgba(12,18,30,.72);
  border-color:rgba(148,163,184,.18);
  box-shadow:0 6px 16px rgba(0,0,0,.2);
  padding:8px 10px;
  gap:8px;
}
.chat-messages-dm .chat-row-dm.chat-row-mine{
  align-self:flex-end;
  border-radius:16px 16px 6px 16px;
  background:
    linear-gradient(145deg,rgba(14,165,233,.28),rgba(59,130,246,.18) 55%,rgba(30,41,59,.55));
  border-color:rgba(56,189,248,.38);
  box-shadow:0 8px 18px rgba(14,165,233,.14);
}
.chat-messages-dm .chat-row-dm .chat-row-meta-dm{
  align-items:center;gap:8px;margin-bottom:2px;
}
.chat-messages-dm .chat-row-dm.chat-row-mine .chat-row-meta-dm{justify-content:flex-end}
.chat-messages-dm .chat-row-dm .chat-row-name{font-size:.78rem}
.chat-messages-dm .chat-row-dm .chat-row-text{font-size:.92rem;line-height:1.42}
.chat-messages-dm .chat-row-dm .chat-row-actions{opacity:1}
.chat-messages-dm .chat-row-dm:hover .chat-row-actions,
.chat-messages-dm .chat-row-dm:focus-within .chat-row-actions{opacity:1}
.chat-messages-dm .chat-row-avatar-spacer{width:36px;flex:0 0 auto}
.chat-messages-dm .chat-row-dm.chat-row-mine .chat-row-avatar-spacer{display:none}
.chat-messages-dm .chat-row-dm .chat-row-swipe-hint{border-radius:inherit}
.chat-compose.hidden{display:none!important}
.chat-profile-overlay{
  /* Über Chat (40060) und Online-Liste (130000) — Profil aus Online-Aktionen */
  position:fixed;inset:0;z-index:150110!important;
  display:flex;align-items:center;justify-content:center;
  padding:max(12px,env(safe-area-inset-top)) 14px max(12px,env(safe-area-inset-bottom));
  pointer-events:auto;box-sizing:border-box;
}
.chat-profile-overlay.hidden{display:none!important}
.chat-confirm-modal-card{
  height:auto!important;max-height:min(70vh,420px)!important;min-height:0;
  width:min(400px,100%);
}
.chat-confirm-body{
  padding:4px 16px 8px;font-size:.8rem;line-height:1.45;color:var(--muted);
}
.chat-confirm-body p{margin:0 0 6px}
.chat-confirm-body strong{color:var(--txt);font-weight:800}
.chat-confirm-actions{
  display:flex;gap:8px;padding:10px 16px 16px;margin-top:auto;
  border-top:1px solid rgba(255,255,255,.08);
}
.chat-confirm-actions .btn{flex:1;justify-content:center;font-weight:700}
.chat-profile-backdrop{
  position:absolute;inset:0;border:0;padding:0;margin:0;cursor:pointer;
  background:rgba(4,8,18,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.chat-profile-card{
  position:relative;z-index:1;display:flex;flex-direction:column;
  width:min(460px,100%);
  height:min(82vh,680px);max-height:min(82vh,680px);
  min-height:0;overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(148,163,184,.22);
  background:
    radial-gradient(120% 80% at 10% -10%,rgba(59,130,246,.18),transparent 55%),
    radial-gradient(90% 60% at 100% 0%,rgba(232,197,71,.12),transparent 45%),
    linear-gradient(168deg,rgba(24,32,54,.98),rgba(10,14,24,.98));
  box-shadow:0 22px 56px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.06);
  color:rgba(236,240,255,.96);
  animation:chatProfileIn .18s ease-out;
}
@keyframes chatProfileIn{
  from{opacity:0;transform:translateY(14px) scale(.97)}
  to{opacity:1;transform:none}
}
.chat-profile-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
  flex:0 0 auto;padding:14px 16px 12px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.chat-profile-kicker{
  display:block;margin-bottom:2px;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(148,163,184,.9);
}
.chat-profile-head strong{
  display:block;font-size:1.08rem;font-weight:800;letter-spacing:.01em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(70vw,320px);
}
.chat-profile-close{opacity:.75;flex-shrink:0}
.chat-profile-close:hover{opacity:1}
.chat-profile-scroll{
  flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;
  overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  touch-action:pan-y;padding:0;scrollbar-gutter:stable;
}
.chat-profile-scroll::-webkit-scrollbar{width:8px}
.chat-profile-scroll::-webkit-scrollbar-thumb{
  background:rgba(148,163,184,.35);border-radius:999px;border:2px solid transparent;background-clip:padding-box;
}
.chat-profile-body{padding:14px 16px 18px}
.chat-profile-loading{
  padding:28px 8px;text-align:center;color:rgba(186,198,230,.75);font-size:.86rem;
}
.chat-profile-loading.is-error{color:rgba(252,165,165,.95)}
.chat-profile-actions{
  display:flex;flex-wrap:wrap;gap:8px;flex:0 0 auto;
  padding:12px 16px 14px;border-top:1px solid rgba(255,255,255,.08);
  background:rgba(8,12,22,.55);
}
.chat-profile-actions .btn{flex:1 1 140px}
.chat-profile-inspect{display:flex;flex-direction:column;gap:14px}
.chat-profile-hero{
  display:flex;align-items:flex-start;gap:12px;
  padding:12px;border-radius:14px;
  background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.08);
}
.chat-profile-avatar{
  width:56px;height:56px;border-radius:16px;flex-shrink:0;
  display:grid;place-items:center;font-size:1.7rem;line-height:1;
  background:linear-gradient(160deg,rgba(59,130,246,.28),rgba(15,23,42,.55));
  border:1px solid rgba(147,197,253,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.chat-profile-avatar-wrap{
  position:relative;flex-shrink:0;width:72px;height:72px;
  overflow:visible;isolation:isolate;
}
.chat-profile-avatar-wrap .chat-profile-avatar-img,
.chat-profile-avatar-wrap .chat-profile-avatar-fallback{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:100%;height:100%;border-radius:50%;
  object-fit:cover;object-position:center 18%;
  z-index:2;background:rgba(0,0,0,.35);
  display:grid;place-items:center;font-size:1.6rem;line-height:1;
}
.chat-profile-avatar-wrap.has-cos-frame .chat-profile-avatar-img,
.chat-profile-avatar-wrap.has-cos-frame .chat-profile-avatar-fallback{
  width:var(--cos-frame-hole,62%);height:var(--cos-frame-hole,62%);
}
.chat-profile-avatar-wrap.has-cos-frame.has-cos-aura .chat-profile-avatar-img,
.chat-profile-avatar-wrap.has-cos-frame.has-cos-aura .chat-profile-avatar-fallback{
  width:var(--cos-avatar-framed-aura,56%);height:var(--cos-avatar-framed-aura,56%);
}
.chat-profile-avatar-wrap.has-cos-aura:not(.has-cos-frame) .chat-profile-avatar-img,
.chat-profile-avatar-wrap.has-cos-aura:not(.has-cos-frame) .chat-profile-avatar-fallback{
  width:var(--cos-avatar-aura-alone,66%);height:var(--cos-avatar-aura-alone,66%);
}
.chat-profile-avatar-wrap .cos-aura-img{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:var(--cos-aura-alone,84%);height:var(--cos-aura-alone,84%);
  object-fit:contain;pointer-events:none;z-index:1;
}
.chat-profile-avatar-wrap.has-cos-frame .cos-aura-img{
  width:var(--cos-aura-framed,86%);height:var(--cos-aura-framed,86%);
}
.chat-profile-avatar-wrap .cos-frame-overlay{
  position:absolute;inset:0;width:100%;height:100%;
  pointer-events:none;z-index:3;object-fit:contain;
}
.chat-profile-chip.is-online{color:#86efac;border-color:rgba(74,222,128,.35);background:rgba(34,197,94,.14)}
.chat-profile-chip.is-busy{color:#fca5a5;border-color:rgba(248,113,113,.4);background:rgba(239,68,68,.14)}
.chat-profile-chip.is-offline{color:rgba(148,163,184,.9);border-color:rgba(148,163,184,.25)}
.chat-profile-combat{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;
}
.chat-profile-combat-cell{
  display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;
  padding:8px 4px;border-radius:12px;text-align:center;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  font-size:.62rem;color:rgba(148,163,184,.9);text-transform:uppercase;letter-spacing:.04em;
}
.chat-profile-combat-cell strong{font-size:.86rem;font-weight:800;color:rgba(236,240,255,.96);letter-spacing:0;text-transform:none}
.chat-profile-wallet{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:2px;
}
.chat-profile-wallet-chip{
  display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;
  border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.28);
}
.chat-profile-wallet-chip > span{font-size:1.15rem;line-height:1}
.chat-profile-wallet-chip strong{display:block;font-size:.92rem;font-weight:900;color:#fff;line-height:1.1}
.chat-profile-wallet-chip small{
  display:block;font-size:.62rem;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;opacity:.72;margin-top:2px;color:rgba(226,232,240,.85);
}
.chat-profile-wallet-chip--fc{
  border-color:rgba(232,197,71,.35);
  background:linear-gradient(145deg,rgba(70,55,18,.42),rgba(8,12,24,.65));
}
.chat-profile-wallet-chip--gem{
  border-color:rgba(96,165,250,.4);
  background:linear-gradient(145deg,rgba(30,58,110,.5),rgba(8,12,24,.65));
}
.chat-profile-extras{display:flex;flex-direction:column;gap:6px}
.chat-profile-extra-row{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:8px 10px;border-radius:10px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);
  font-size:.78rem;color:rgba(186,198,230,.88);
}
.chat-profile-extra-row strong{font-weight:700;color:rgba(236,240,255,.96);text-align:right}
.chat-profile-badges{display:flex;flex-wrap:wrap;gap:6px;padding:4px 2px}
.chat-profile-badge{width:28px;height:28px;object-fit:contain;border-radius:8px}
.chat-profile-badge-emoji{font-size:1.2rem;line-height:1}
@media (max-width:420px){
  .chat-profile-combat{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.chat-profile-hero-text{min-width:0;flex:1}
.chat-profile-name{
  font-size:1.12rem;font-weight:800;line-height:1.2;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.chat-profile-stats{
  display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:6px;
  font-size:.78rem;color:rgba(186,198,230,.88);
}
.chat-profile-stats em{font-style:normal;opacity:.7;margin-right:1px}
.chat-profile-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.chat-profile-chip{
  display:inline-flex;align-items:center;max-width:100%;
  padding:3px 9px;border-radius:999px;font-size:.68rem;font-weight:700;
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.chat-profile-chip.is-owner{color:#fcd34d;border-color:rgba(251,191,36,.35);background:rgba(251,191,36,.12)}
.chat-profile-chip.is-admin{color:#93c5fd;border-color:rgba(96,165,250,.35);background:rgba(59,130,246,.14)}
.chat-profile-chip.is-gm{color:#c4b5fd;border-color:rgba(167,139,250,.35);background:rgba(139,92,246,.14)}
.chat-profile-chip.is-title{color:rgba(232,197,71,.95);border-color:rgba(232,197,71,.28);font-style:italic;font-weight:600}
.chat-profile-chip.is-guild{color:rgba(167,243,208,.92);border-color:rgba(52,211,153,.28)}
.chat-profile-bonus{
  padding:8px 10px;border-radius:10px;font-size:.76rem;
  color:rgba(186,198,230,.9);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);
}
.chat-profile-section{display:flex;flex-direction:column;gap:8px}
.chat-profile-section-title{
  margin:0;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(148,163,184,.9);
}
.chat-profile-slots{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
}
.chat-profile-slot{
  display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;
  column-gap:8px;row-gap:2px;align-items:center;
  padding:8px 9px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  min-width:0;
}
.chat-profile-slot.is-empty{opacity:.55}
.chat-profile-slot-ico{grid-row:1 / span 2;font-size:1.15rem;line-height:1}
.chat-profile-slot-lab{font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;color:rgba(148,163,184,.85)}
.chat-profile-slot-val-row{
  grid-column:2;display:flex;align-items:center;gap:6px;min-width:0;
}
.chat-profile-slot-val{
  min-width:0;font-size:.78rem;font-weight:650;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.chat-profile-slot-stats{
  grid-column:2;display:flex;align-items:center;gap:6px;min-width:0;
  font-size:.66rem;color:rgba(148,163,184,.85);line-height:1.3;
}
.chat-profile-slot-stats-text{
  min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.chat-profile-slot-meta,.chat-profile-slot-desc{grid-column:2;line-height:1.3}
.chat-profile-items{display:flex;flex-direction:column;gap:2px}
.chat-profile-item{
  display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;
  padding:7px 8px;border-radius:10px;font-size:.78rem;
}
.chat-profile-item.is-equipped{border:1px solid rgba(96,165,250,.28);background:rgba(59,130,246,.08)}
.chat-profile-item-main{min-width:0;display:flex;flex-direction:column;gap:1px}
.chat-profile-item-name-row{display:flex;align-items:center;gap:6px;min-width:0}
.chat-profile-item:nth-child(odd):not(.is-equipped){background:rgba(255,255,255,.03)}
.chat-profile-item-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:650}
.chat-profile-item-meta,.chat-profile-item-desc,.chat-profile-item-stats{line-height:1.3}
.chat-profile-item-meta{
  display:flex;align-items:center;gap:6px;min-width:0;
  font-size:.66rem;color:rgba(148,163,184,.9);
}
.chat-profile-item-meta-text{
  min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.chat-profile-item-stats{color:rgba(186,198,230,.9)}
.chat-profile-item-qty{color:rgba(148,163,184,.85);font-size:.72rem;padding-top:2px}
.chat-profile-item .stat-hover-wrap,.chat-profile-slot .stat-hover-wrap{flex:0 0 auto}
/* Hover-Tooltip über dem Profil-Modal (Modal liegt bei z-index 40090) */
body.chat-profile-modal-open .stat-hover-tooltip-portal,
body.chat-profile-modal-open .rpg-tooltip-portal{
  z-index:40110;
}
.chat-profile-empty-note{margin:0;padding:6px 2px}
@media (max-width:420px){
  .chat-profile-slots{grid-template-columns:1fr}
  .chat-profile-card{height:min(86vh,720px);max-height:min(86vh,720px);border-radius:16px}
}
.chat-compose{
  position:relative;z-index:2;
  display:flex;gap:6px;align-items:center;
  padding:8px 12px max(10px,env(safe-area-inset-bottom,0px));
  flex-shrink:0;border-top:1px solid rgba(125,211,252,.14);
  background:rgba(6,10,18,.72);
}
.chat-input{flex:1 1 auto;min-width:0;border-radius:12px;border:1px solid var(--line);background:rgba(0,0,0,.28);color:var(--txt);padding:10px 12px;font:inherit}
.chat-input:focus{outline:none;border-color:rgba(59,130,246,.55)}
.chat-input:disabled{opacity:.55}
@keyframes mailbox-blink{0%,100%{filter:none;transform:none}50%{filter:drop-shadow(0 0 6px rgba(251,191,36,.85));transform:scale(1.06)}}
.mailbox-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;font-weight:800;line-height:16px;text-align:center;pointer-events:none}
body.mailbox-modal-open{overflow:hidden}
.mailbox-overlay{
  position:fixed;inset:0;z-index:40070!important;display:flex;align-items:center;justify-content:center;
  padding:max(12px,env(safe-area-inset-top)) 14px max(12px,env(safe-area-inset-bottom));
  pointer-events:auto;box-sizing:border-box
}
.mailbox-overlay.hidden{display:none!important}
.mailbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(12px)}
.mailbox-sheet{
  position:relative;z-index:1;width:min(980px,100%);
  height:min(88vh,820px);max-height:min(88vh,820px);
  display:flex;flex-direction:column;overflow:hidden;color:var(--txt);
  box-sizing:border-box;border-radius:22px;
  border:1px solid rgba(232,197,71,.28);
  box-shadow:
    0 28px 64px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,255,255,.04),
    0 0 48px rgba(59,130,246,.1);
  background:rgba(8,12,22,.94);
  animation:mailboxSheetIn .34s cubic-bezier(.2,.85,.25,1) both;
}
@keyframes mailboxSheetIn{
  from{opacity:0;transform:translateY(16px) scale(.97)}
  to{opacity:1;transform:none}
}
.mailbox-panel-bg{
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
}
.mailbox-panel-bg img{
  width:100%;height:100%;object-fit:cover;object-position:center top;
  display:block;opacity:.48;filter:saturate(.95) brightness(.55) contrast(1.06);
}
.mailbox-frame{
  position:absolute;inset:8px;z-index:1;pointer-events:none;border-radius:16px;
  border:1px solid rgba(232,197,71,.14);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),inset 0 1px 0 rgba(255,255,255,.05);
}
.mailbox-frame::before,
.mailbox-frame::after{
  content:"";position:absolute;width:18px;height:18px;
  border:2px solid rgba(232,197,71,.42);
}
.mailbox-frame::before{top:6px;left:6px;border-right:0;border-bottom:0;border-radius:4px 0 0 0}
.mailbox-frame::after{bottom:6px;right:6px;border-left:0;border-top:0;border-radius:0 0 4px 0}
.mailbox-hero{
  position:relative;z-index:2;flex-shrink:0;height:118px;overflow:hidden;
  margin:10px 10px 0;border-radius:14px;
  border:1px solid rgba(232,197,71,.22);
  box-shadow:0 12px 28px rgba(0,0,0,.32);
}
.mailbox-hero-banner{
  width:100%;height:100%;object-fit:cover;object-position:center 42%;
  display:block;opacity:.88;filter:saturate(1.05) brightness(.82) contrast(1.04);
}
.mailbox-hero-veil{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(8,10,18,.5),transparent 38%,transparent 62%,rgba(8,10,18,.42)),
    linear-gradient(180deg,rgba(8,10,18,.12) 0%,rgba(8,10,18,.5) 68%,rgba(8,10,18,.9) 100%);
}
.mailbox-head{
  position:relative;z-index:2;
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:14px 18px 6px;flex-shrink:0;
}
.mailbox-brand{display:flex;align-items:center;gap:14px;min-width:0}
.mailbox-seal{
  width:64px;height:64px;flex:0 0 auto;border-radius:0;
  object-fit:contain;background:transparent;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.5));
  animation:epicSealFloat 4.8s ease-in-out infinite alternate;
}
.mailbox-brand-copy{min-width:0}
.mailbox-kicker{
  font-size:.64rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(232,197,71,.95);margin:0 0 4px;
  text-shadow:0 1px 8px rgba(0,0,0,.45);
}
.mailbox-title{
  font-family:Cinzel,Georgia,"Times New Roman",serif;
  font-weight:800;font-size:clamp(1.4rem,4vw,1.7rem);color:#fff8ec;margin:0;
  letter-spacing:.04em;line-height:1.1;
  text-shadow:0 2px 16px rgba(0,0,0,.55),0 0 24px rgba(232,197,71,.18);
}
.mailbox-sub{
  margin:7px 0 0;line-height:1.4;font-size:.8rem;
  color:rgba(186,198,230,.88);max-width:36ch;
}
.mailbox-close{
  appearance:none;-webkit-appearance:none;flex-shrink:0;z-index:3;
  width:36px;height:36px;border-radius:12px;cursor:pointer;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.35);color:#f1f5f9;
  font:inherit;font-size:1rem;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
  transition:background-color .14s ease,border-color .14s ease;
}
.mailbox-close:hover{
  background:rgba(255,255,255,.1);border-color:rgba(232,197,71,.35);
}
.mailbox-stats{
  position:relative;z-index:2;
  display:flex;flex-wrap:wrap;gap:8px;padding:2px 18px 8px;
}
.mailbox-stats.is-empty{display:none}
.mailbox-stats-pill{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 10px;border-radius:999px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.05);
  font-size:.72rem;color:rgba(226,232,240,.88);
}
.mailbox-stats-pill strong{font-weight:850;color:#fff}
.mailbox-stats-pill--info{
  border-color:rgba(96,165,250,.35);
  background:rgba(59,130,246,.14);
  color:#bfdbfe;
}
.mailbox-stats-pill--hot{
  border-color:rgba(251,191,36,.4);
  background:rgba(245,158,11,.14);
  color:#fde68a;
}
.mailbox-toolbar{
  position:relative;z-index:2;
  display:flex;gap:8px;padding:4px 18px 12px;flex-wrap:wrap;flex-shrink:0;
}
.mailbox-toolbar .btn{min-height:40px}
.mailbox-tool-primary{
  background:linear-gradient(135deg,rgba(232,197,71,.32),rgba(180,120,30,.2));
  border:1px solid rgba(232,197,71,.45);color:#fff8ec;font-weight:800;
  box-shadow:0 8px 18px rgba(0,0,0,.22);
}
.mailbox-tool-primary:hover{border-color:rgba(251,191,36,.65);filter:brightness(1.06)}
.mailbox-body{
  position:relative;z-index:2;
  flex:1 1 auto;min-height:0;display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(0,1.3fr);gap:0;
  margin:0 10px;
  border:1px solid rgba(232,197,71,.14);
  border-radius:16px;
  overflow:hidden;
  background:rgba(0,0,0,.22);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.mailbox-list-pane{
  display:flex;flex-direction:column;min-height:0;min-width:0;
  border-right:1px solid rgba(255,255,255,.07);
  background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 42%);
}
.mailbox-pane-label{
  flex-shrink:0;padding:12px 14px 6px;
  font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(232,197,71,.78);
}
.mailbox-list{
  overflow-y:auto;overflow-x:hidden;min-height:0;max-height:none;flex:1 1 auto;
  padding:6px 10px 16px;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;
  scrollbar-gutter:stable
}
.mailbox-detail{overflow:hidden;min-height:0;max-height:none;padding:0;display:flex;flex-direction:column;background:rgba(0,0,0,.16)}
.mailbox-detail.hidden{display:none}
.mailbox-detail-placeholder{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:8px;padding:32px 18px;text-align:center;color:rgba(186,198,230,.8);
}
.mailbox-detail-placeholder-ico{font-size:2.1rem;line-height:1;filter:drop-shadow(0 8px 18px rgba(232,197,71,.3))}
.mailbox-detail-placeholder-title{font-weight:850;font-size:1.05rem;color:#fff8ec}
.mailbox-detail-scroll{
  padding:16px 18px 18px;overflow-y:auto;overflow-x:hidden;min-height:0;flex:1 1 auto;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;
  scrollbar-gutter:stable
}
.mailbox-detail-back{display:none;margin:0 0 12px;align-self:flex-start;min-height:40px}
.mailbox-claim-bar{
  flex-shrink:0;padding:12px 16px max(14px,env(safe-area-inset-bottom,0px));
  border-top:1px solid rgba(232,197,71,.18);
  background:linear-gradient(180deg,rgba(232,197,71,.1),rgba(8,12,28,.88));
}
.mailbox-claim-btn{width:100%;max-width:100%;min-height:46px;font-weight:800}
.mailbox-item{
  display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;
  padding:11px 12px;margin-bottom:7px;position:relative;
  border-radius:14px;border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.02) 42%,rgba(0,0,0,.22)),
    rgba(8,12,22,.45);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 6px 14px rgba(0,0,0,.16);
  cursor:pointer;color:var(--txt);box-sizing:border-box;-webkit-tap-highlight-color:transparent;
  transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease;
}
.mailbox-item:hover{
  border-color:rgba(232,197,71,.4);
  background:
    linear-gradient(135deg,rgba(232,197,71,.14),rgba(255,255,255,.04) 45%,rgba(0,0,0,.28)),
    rgba(10,14,26,.6);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 22px rgba(0,0,0,.24);
}
.mailbox-item.active{
  border-color:rgba(232,197,71,.55);
  background:linear-gradient(135deg,rgba(232,197,71,.18),rgba(255,255,255,.05));
  box-shadow:inset 3px 0 0 rgba(232,197,71,.8),0 10px 22px rgba(0,0,0,.22);
}
.mailbox-item.unread{background:linear-gradient(155deg,rgba(59,130,246,.14),rgba(255,255,255,.035))}
.mailbox-item.unread .mailbox-item-title{font-weight:850;color:#f8fafc}
.mailbox-item.has-unclaimed{border-color:rgba(251,191,36,.42)}
.mailbox-item-ico{
  flex:0 0 auto;width:40px;height:40px;border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:1.15rem;line-height:1;
  background:linear-gradient(145deg,rgba(232,197,71,.18),rgba(255,255,255,.04));
  border:1px solid rgba(232,197,71,.26);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.mailbox-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.mailbox-item-top{display:flex;justify-content:space-between;gap:8px;align-items:center}
.mailbox-item-kind{font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:rgba(232,197,71,.88);font-weight:750}
.mailbox-item-date{flex-shrink:0;font-size:.68rem;color:rgba(148,163,184,.85);font-variant-numeric:tabular-nums}
.mailbox-item-title{font-size:.95rem;line-height:1.3;color:var(--txt);word-break:break-word;overflow-wrap:anywhere}
.mailbox-item-from{color:rgba(186,198,230,.78);font-size:.76rem;margin-top:1px}
.mailbox-item-attach{margin-top:4px;font-size:.74rem;font-weight:750}
.mailbox-item-attach.is-pending{color:#fbbf24}
.mailbox-item-attach.is-done{color:rgba(134,239,172,.9)}
.mailbox-item-dot{
  position:absolute;top:12px;right:10px;width:8px;height:8px;border-radius:999px;
  background:#60a5fa;box-shadow:0 0 8px rgba(96,165,250,.65);
}
.mailbox-empty{
  padding:36px 16px;text-align:center;color:rgba(238,241,255,.72);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  border:1px dashed rgba(232,197,71,.2);border-radius:16px;margin:8px 4px;
  background:rgba(0,0,0,.22);
}
.mailbox-empty-ico{font-size:2rem;line-height:1;filter:drop-shadow(0 6px 14px rgba(232,197,71,.25))}
.mailbox-empty-title{font-weight:850;font-size:1.02rem;color:var(--txt)}
.mailbox-compose{position:relative;z-index:2;padding:0 14px 8px;flex-shrink:0;max-height:min(42vh,360px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.mailbox-compose.hidden{display:none!important}
.mailbox-compose-inner{
  padding:14px 14px 16px;display:flex;flex-direction:column;gap:14px;color:var(--txt);
  border-radius:16px;border:1px solid rgba(232,197,71,.22);
  background:
    linear-gradient(165deg,rgba(232,197,71,.1),rgba(255,255,255,.03) 38%,rgba(0,0,0,.34)),
    rgba(8,12,22,.92);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 12px 28px rgba(0,0,0,.22);
}
.mailbox-compose-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding-bottom:4px;border-bottom:1px solid rgba(232,197,71,.14);
  flex-shrink:0;
}
.mailbox-compose-head-copy{min-width:0;flex:1}
.mailbox-compose-kicker{
  margin:0 0 4px;font-size:.64rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(232,197,71,.92);
}
.mailbox-compose-title{
  font-family:Cinzel,Georgia,serif;font-weight:800;font-size:1.18rem;line-height:1.2;color:#fff8ec;
  letter-spacing:.03em;
}
.mailbox-compose-hint{margin:6px 0 0;line-height:1.4;color:rgba(186,198,230,.82)!important}
.mailbox-compose-back{flex-shrink:0;min-height:36px}
.mailbox-compose-fields{display:flex;flex-direction:column;gap:12px;min-width:0}
.mailbox-compose-section-label{
  font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(232,197,71,.86);margin-bottom:2px;
}
.mailbox-compose-input,.mailbox-compose-textarea{
  width:100%;box-sizing:border-box;min-height:42px;
  border-radius:12px!important;border-color:rgba(255,255,255,.12)!important;
  background:rgba(0,0,0,.28)!important;
}
.mailbox-compose-textarea{min-height:96px;resize:vertical;line-height:1.45}
.mailbox-compose-actions{display:flex;justify-content:stretch;padding-top:2px;flex-shrink:0}
.mailbox-send-submit{width:100%;min-height:46px;font-weight:800}
.mailbox-field{display:flex;flex-direction:column;gap:5px;font-size:.78rem;font-weight:650;color:rgba(238,241,255,.9)}
.mailbox-send-attach{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mailbox-item-attach-block{
  display:flex;flex-direction:column;gap:8px;padding:12px;
  border-radius:12px;border:1px dashed rgba(232,197,71,.22);background:rgba(0,0,0,.18);
}
.mailbox-attached-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;flex-wrap:wrap}
.mailbox-attached-emoji{font-size:1.2rem}
.mailbox-attached-name{flex:1;min-width:0;font-weight:700;color:var(--txt);overflow:visible;text-overflow:unset;white-space:normal;word-break:break-word}
.mailbox-attach-list{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.mailbox-grant-chip{max-width:100%;min-width:0;padding:7px 11px;border-radius:11px;background:rgba(232,197,71,.08);border:1px solid rgba(232,197,71,.28)}
.mailbox-grant-name{display:block;max-width:100%;overflow:visible;text-overflow:unset;white-space:normal;word-break:break-word;overflow-wrap:anywhere;font-weight:700;color:var(--gold,#e8c578);font-size:.86rem;line-height:1.35}
.mailbox-attached-empty{margin-bottom:4px;color:rgba(238,241,255,.72)}
.mailbox-target-wrap{position:relative;width:100%;overflow:visible}
.mailbox-tool-compose-active{
  border-color:rgba(232,197,71,.45)!important;
  background:rgba(232,197,71,.12)!important;
  color:#fff8ec!important;
}
/* Compose-Modus: nur Sende-Formular, Posteingang ausgeblendet, Viewport-fit */
.mailbox-overlay.mailbox-is-compose .mailbox-body,
.mailbox-overlay.mailbox-is-compose .mailbox-stats,
.mailbox-overlay.mailbox-is-compose .mailbox-foot,
.mailbox-overlay.mailbox-is-compose .mailbox-list-pane,
.mailbox-overlay.mailbox-is-compose .mailbox-detail{
  display:none!important;visibility:hidden!important;pointer-events:none!important;
  height:0!important;min-height:0!important;max-height:0!important;overflow:hidden!important;
  margin:0!important;padding:0!important;border:0!important;
}
.mailbox-overlay.mailbox-is-compose .mailbox-panel-bg img{
  opacity:.22;filter:saturate(.7) brightness(.35) contrast(1.05);
}
.mailbox-overlay.mailbox-is-compose .mailbox-compose{
  display:flex!important;flex-direction:column;flex:1 1 auto;min-height:0;max-height:none!important;
  overflow:hidden;padding:0 14px max(12px,env(safe-area-inset-bottom,0px));
}
.mailbox-overlay.mailbox-is-compose .mailbox-compose-inner{
  flex:1 1 auto;min-height:0;max-height:100%;max-width:560px;width:100%;margin:0 auto;
  display:flex;flex-direction:column;gap:10px;overflow:hidden;
  padding:12px 12px 12px;
  background:
    linear-gradient(165deg,rgba(232,197,71,.12),rgba(255,255,255,.04) 38%,rgba(0,0,0,.5)),
    rgba(8,12,22,.96);
}
.mailbox-overlay.mailbox-is-compose .mailbox-compose-hint{display:none}
.mailbox-overlay.mailbox-is-compose .mailbox-compose-title{font-size:1.05rem}
.mailbox-overlay.mailbox-is-compose .mailbox-compose-fields{
  flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;touch-action:pan-y;gap:10px;padding-right:2px;
}
.mailbox-overlay.mailbox-is-compose .mailbox-compose-textarea{
  min-height:56px;max-height:18vh;resize:vertical;
}
.mailbox-overlay.mailbox-is-compose .mailbox-compose-actions{
  flex-shrink:0;padding-top:8px;margin-top:2px;
  border-top:1px solid rgba(232,197,71,.16);
  background:rgba(8,12,22,.98);
}
.mailbox-overlay.mailbox-is-compose .mailbox-item-attach-block{padding:10px}
.mailbox-item-picker{position:fixed;inset:0;z-index:40150;display:flex;align-items:center;justify-content:center;padding:12px;pointer-events:auto}
.mailbox-item-picker.hidden{display:none!important}
.mailbox-item-picker-sheet{width:min(560px,100%);max-height:min(78vh,640px);display:flex;flex-direction:column;overflow:hidden;padding:12px 14px;gap:10px;color:var(--txt)}
.mailbox-item-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.mailbox-item-picker-title{font-weight:800;color:var(--txt)}
.mailbox-item-picker-grid{flex:1 1 auto;min-height:0;overflow-y:auto;max-height:min(48vh,420px);display:flex;flex-direction:column;gap:6px;padding-right:2px;-webkit-overflow-scrolling:touch}
.mailbox-inv-pick{width:100%;text-align:left;border:1px solid transparent;background:rgba(255,255,255,.04);border-radius:10px;padding:8px 10px;cursor:pointer;color:var(--txt);font:inherit;transition:border-color .12s ease,background-color .12s ease}
.mailbox-inv-pick:hover,.mailbox-inv-pick.active{border-color:rgba(232,197,71,.4);background:rgba(232,197,71,.08)}
.mailbox-item-picker-qty{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding-top:4px;border-top:1px solid var(--line)}
.mailbox-attach{
  margin-top:14px;padding:12px 14px;border-radius:14px;
  border:1px solid rgba(232,197,71,.24);
  background:linear-gradient(145deg,rgba(232,197,71,.1),rgba(255,255,255,.03));
}
.mailbox-attach-label{
  font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(232,197,71,.9);margin-bottom:8px;
}
.mailbox-detail-head{margin-bottom:4px}
.mailbox-detail-kind{
  font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(232,197,71,.88);margin-bottom:6px;
}
.mailbox-detail-title{font-family:Cinzel,Georgia,serif;font-weight:800;font-size:1.22rem;margin-bottom:6px;color:#fff8ec;line-height:1.25;word-break:break-word;overflow-wrap:anywhere}
.mailbox-detail-meta{line-height:1.4;font-size:.8rem;color:rgba(186,198,230,.82)}
.mailbox-detail-meta strong{color:rgba(238,241,255,.95);font-weight:750}
.mailbox-detail-body{margin:14px 0;line-height:1.55;font-size:.95rem;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;color:rgba(238,241,255,.94)}
.mailbox-detail-actions{margin-top:14px}
.mailbox-foot{
  position:relative;z-index:2;flex-shrink:0;
  text-align:center;padding:8px 16px 12px;
  color:rgba(148,163,184,.78)!important;font-size:.7rem;
}

/* Mobile / schmal: Liste ODER Detail (nicht gequetscht), volle Höhe, Scroll */
@media (max-width:720px){
  .mailbox-overlay{align-items:stretch;justify-content:stretch;padding:0}
  .mailbox-sheet{
    width:100%;height:100%;max-height:none;margin:0;border-radius:0;
    padding-top:max(0px,env(safe-area-inset-top,0px));
    border-left:0;border-right:0;
  }
  .mailbox-frame{inset:0;border-radius:0}
  .mailbox-hero{margin:0;border-radius:0;border-left:0;border-right:0;height:112px}
  .mailbox-head{padding:12px 14px 6px}
  .mailbox-seal{width:52px;height:52px}
  .mailbox-title{font-size:1.28rem}
  .mailbox-stats{padding:2px 14px 8px}
  .mailbox-toolbar{padding:4px 14px 10px;gap:10px}
  .mailbox-toolbar .btn{flex:1 1 auto;min-height:44px;font-size:.9rem}
  .mailbox-body{
    margin:0;border-radius:0;border-left:0;border-right:0;
    grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);
  }
  .mailbox-list-pane{border-right:none}
  .mailbox-list{
    border-right:none;border-bottom:none;max-height:none;
    padding:6px 12px max(20px,env(safe-area-inset-bottom,0px));
  }
  .mailbox-detail{max-height:none;min-height:0}
  .mailbox-detail-back{display:inline-flex!important}
  .mailbox-overlay:not(.mailbox-has-selection) .mailbox-detail{display:none!important}
  .mailbox-overlay.mailbox-has-selection .mailbox-list-pane{display:none!important}
  .mailbox-overlay.mailbox-has-selection .mailbox-detail{display:flex!important}
  .mailbox-overlay.mailbox-has-selection:not(.mailbox-is-compose) .mailbox-compose{display:none!important}
  .mailbox-overlay.mailbox-is-compose .mailbox-compose{display:flex!important;max-height:none!important;flex:1 1 auto;min-height:0;overflow:hidden}
  .mailbox-overlay.mailbox-is-compose .mailbox-compose-back{display:none}
  .mailbox-overlay.mailbox-is-compose .mailbox-compose-fields{padding-bottom:4px}
  .mailbox-item{padding:13px 12px;margin-bottom:9px;border-radius:14px}
  .mailbox-item-title{font-size:1.02rem}
  .mailbox-item-from,.mailbox-item-attach{font-size:.82rem}
  .mailbox-detail-scroll{padding:14px 16px max(18px,env(safe-area-inset-bottom,0px))}
  .mailbox-detail-title{font-size:1.22rem}
  .mailbox-detail-body{font-size:1.02rem;line-height:1.6}
  .mailbox-claim-btn{min-height:50px;font-size:1rem}
  .mailbox-compose{max-height:none}
  .mailbox-send-attach{grid-template-columns:1fr}
  .mailbox-foot{padding-bottom:max(10px,env(safe-area-inset-bottom,0px))}
}

/* APK / Mobile-Shell: gleiche Lesbarkeit + Touch-Scroll erzwingen */
html[data-abenteuer-apk="1"] .mailbox-overlay,
html[data-mobile-shell="1"] .mailbox-overlay,
html.flix-rpg-mobile .mailbox-overlay{
  align-items:stretch!important;justify-content:stretch!important;padding:0!important;
}
html[data-abenteuer-apk="1"] .mailbox-sheet,
html[data-mobile-shell="1"] .mailbox-sheet,
html.flix-rpg-mobile .mailbox-sheet{
  width:100%!important;height:100%!important;max-height:none!important;margin:0!important;border-radius:0!important;
  padding-top:max(0px, env(safe-area-inset-top, 0px))!important;
}
html[data-abenteuer-apk="1"] .mailbox-body,
html[data-mobile-shell="1"] .mailbox-body,
html.flix-rpg-mobile .mailbox-body{
  grid-template-columns:1fr!important;grid-template-rows:minmax(0,1fr)!important;
}
html[data-abenteuer-apk="1"] .mailbox-list,
html[data-mobile-shell="1"] .mailbox-list,
html.flix-rpg-mobile .mailbox-list,
html[data-abenteuer-apk="1"] .mailbox-detail-scroll,
html[data-mobile-shell="1"] .mailbox-detail-scroll,
html.flix-rpg-mobile .mailbox-detail-scroll{
  overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;touch-action:pan-y!important;min-height:0!important;
}
html[data-abenteuer-apk="1"] .mailbox-detail-back,
html[data-mobile-shell="1"] .mailbox-detail-back,
html.flix-rpg-mobile .mailbox-detail-back{
  display:inline-flex!important;min-height:44px!important;margin-bottom:12px!important;
}
html[data-abenteuer-apk="1"] .mailbox-overlay:not(.mailbox-has-selection) .mailbox-detail,
html[data-mobile-shell="1"] .mailbox-overlay:not(.mailbox-has-selection) .mailbox-detail,
html.flix-rpg-mobile .mailbox-overlay:not(.mailbox-has-selection) .mailbox-detail{
  display:none!important;
}
html[data-abenteuer-apk="1"] .mailbox-overlay.mailbox-has-selection .mailbox-list,
html[data-mobile-shell="1"] .mailbox-overlay.mailbox-has-selection .mailbox-list,
html.flix-rpg-mobile .mailbox-overlay.mailbox-has-selection .mailbox-list,
html[data-abenteuer-apk="1"] .mailbox-overlay.mailbox-has-selection .mailbox-list-pane,
html[data-mobile-shell="1"] .mailbox-overlay.mailbox-has-selection .mailbox-list-pane,
html.flix-rpg-mobile .mailbox-overlay.mailbox-has-selection .mailbox-list-pane{
  display:none!important;
}
html[data-abenteuer-apk="1"] .mailbox-overlay.mailbox-has-selection .mailbox-detail,
html[data-mobile-shell="1"] .mailbox-overlay.mailbox-has-selection .mailbox-detail,
html.flix-rpg-mobile .mailbox-overlay.mailbox-has-selection .mailbox-detail{
  display:flex!important;
}
html[data-abenteuer-apk="1"] .mailbox-item,
html[data-mobile-shell="1"] .mailbox-item,
html.flix-rpg-mobile .mailbox-item{
  padding:10px 11px!important;margin-bottom:7px!important;
}
html[data-abenteuer-apk="1"] .mailbox-item-title,
html[data-mobile-shell="1"] .mailbox-item-title,
html.flix-rpg-mobile .mailbox-item-title{
  font-size:.92rem!important;line-height:1.3!important;
}
html[data-abenteuer-apk="1"] .mailbox-item-from,
html[data-mobile-shell="1"] .mailbox-item-from,
html.flix-rpg-mobile .mailbox-item-from,
html[data-abenteuer-apk="1"] .mailbox-item-attach,
html[data-mobile-shell="1"] .mailbox-item-attach,
html.flix-rpg-mobile .mailbox-item-attach{
  font-size:.72rem!important;
}
html[data-abenteuer-apk="1"] .mailbox-hero,
html[data-mobile-shell="1"] .mailbox-hero,
html.flix-rpg-mobile .mailbox-hero{
  display:none!important;
}
html[data-abenteuer-apk="1"] .mailbox-seal,
html[data-mobile-shell="1"] .mailbox-seal,
html.flix-rpg-mobile .mailbox-seal{
  width:34px!important;height:34px!important;
}
html[data-abenteuer-apk="1"] .mailbox-kicker,
html[data-mobile-shell="1"] .mailbox-kicker,
html.flix-rpg-mobile .mailbox-kicker,
html[data-abenteuer-apk="1"] .mailbox-sub,
html[data-mobile-shell="1"] .mailbox-sub,
html.flix-rpg-mobile .mailbox-sub{
  display:none!important;
}
html[data-abenteuer-apk="1"] .mailbox-head,
html[data-mobile-shell="1"] .mailbox-head,
html.flix-rpg-mobile .mailbox-head{
  padding:max(6px,env(safe-area-inset-top,0px)) 10px 4px!important;
  gap:8px!important;align-items:center!important;
}
html[data-abenteuer-apk="1"] .mailbox-title,
html[data-mobile-shell="1"] .mailbox-title,
html.flix-rpg-mobile .mailbox-title{
  font-size:1.05rem!important;line-height:1.15!important;
}
html[data-abenteuer-apk="1"] .mailbox-stats,
html[data-mobile-shell="1"] .mailbox-stats,
html.flix-rpg-mobile .mailbox-stats{
  padding:0 10px 4px!important;gap:4px!important;
}
html[data-abenteuer-apk="1"] .mailbox-toolbar,
html[data-mobile-shell="1"] .mailbox-toolbar,
html.flix-rpg-mobile .mailbox-toolbar{
  padding:2px 10px 6px!important;gap:6px!important;
}
html[data-abenteuer-apk="1"] .mailbox-toolbar .btn,
html[data-mobile-shell="1"] .mailbox-toolbar .btn,
html.flix-rpg-mobile .mailbox-toolbar .btn{
  min-height:36px!important;font-size:.78rem!important;padding:6px 10px!important;
}
html[data-abenteuer-apk="1"] .mailbox-toolbar .btn,
html[data-mobile-shell="1"] .mailbox-toolbar .btn,
html.flix-rpg-mobile .mailbox-toolbar .btn{
  min-height:40px!important;font-size:.84rem!important;
}
html[data-abenteuer-apk="1"] .mailbox-overlay.mailbox-is-compose .mailbox-body,
html[data-mobile-shell="1"] .mailbox-overlay.mailbox-is-compose .mailbox-body,
html.flix-rpg-mobile .mailbox-overlay.mailbox-is-compose .mailbox-body,
html[data-abenteuer-apk="1"] .mailbox-overlay.mailbox-is-compose .mailbox-stats,
html[data-mobile-shell="1"] .mailbox-overlay.mailbox-is-compose .mailbox-stats,
html.flix-rpg-mobile .mailbox-overlay.mailbox-is-compose .mailbox-stats,
html[data-abenteuer-apk="1"] .mailbox-overlay.mailbox-is-compose .mailbox-foot,
html[data-mobile-shell="1"] .mailbox-overlay.mailbox-is-compose .mailbox-foot,
html.flix-rpg-mobile .mailbox-overlay.mailbox-is-compose .mailbox-foot{
  display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;
}
html[data-abenteuer-apk="1"] .mailbox-overlay.mailbox-is-compose .mailbox-compose,
html[data-mobile-shell="1"] .mailbox-overlay.mailbox-is-compose .mailbox-compose,
html.flix-rpg-mobile .mailbox-overlay.mailbox-is-compose .mailbox-compose{
  display:flex!important;flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow:hidden!important;
}
html[data-abenteuer-apk="1"] .mailbox-overlay.mailbox-is-compose .mailbox-compose-fields,
html[data-mobile-shell="1"] .mailbox-overlay.mailbox-is-compose .mailbox-compose-fields,
html.flix-rpg-mobile .mailbox-overlay.mailbox-is-compose .mailbox-compose-fields{
  overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;min-height:0!important;
}
html[data-abenteuer-apk="1"] .mailbox-overlay.mailbox-is-compose .mailbox-compose-actions,
html[data-mobile-shell="1"] .mailbox-overlay.mailbox-is-compose .mailbox-compose-actions,
html.flix-rpg-mobile .mailbox-overlay.mailbox-is-compose .mailbox-compose-actions{
  flex-shrink:0!important;
}

html[data-abenteuer-apk="1"] .mailbox-detail-body,
html[data-mobile-shell="1"] .mailbox-detail-body,
html.flix-rpg-mobile .mailbox-detail-body{
  font-size:.95rem!important;line-height:1.55!important;
}
html[data-abenteuer-apk="1"] .mailbox-detail-title,
html[data-mobile-shell="1"] .mailbox-detail-title,
html.flix-rpg-mobile .mailbox-detail-title{
  font-size:1.08rem!important;
}
html[data-abenteuer-apk="1"] .mailbox-grant-name,
html[data-mobile-shell="1"] .mailbox-grant-name,
html.flix-rpg-mobile .mailbox-grant-name{
  white-space:normal!important;overflow:visible!important;text-overflow:unset!important;max-width:none!important;
  font-size:.8rem!important;
}
html[data-abenteuer-apk="1"] .mailbox-foot,
html[data-mobile-shell="1"] .mailbox-foot,
html.flix-rpg-mobile .mailbox-foot{
  display:none!important;
}
.top-settings-btn:hover,.top-settings-btn:focus-visible{background:rgba(255,255,255,.16);border-color:rgba(232,197,71,.4);box-shadow:0 0 0 1px rgba(232,197,71,.25)}
.settings-menu{
  position:fixed;top:72px;right:64px;
  z-index:13050;min-width:220px;width:max-content;max-width:min(92vw,280px);
  padding:6px;display:flex;flex-direction:column;gap:4px;
  border-radius:var(--r-sm);
  background:rgba(14,14,20,.97);border:1px solid var(--line);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 12px 40px rgba(0,0,0,.55);
  pointer-events:auto;
}
.settings-menu.hidden{display:none!important}
/* Offen: immer Viewport-Portal (nie Kind der transformierten Edge-Rail) */
body > #settings-menu.settings-menu:not(.hidden){
  display:flex!important;position:fixed!important;z-index:13050!important;
  pointer-events:auto!important;
}
.settings-menu-item{width:100%;text-align:left;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--txt);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,transform .12s}
.settings-menu-item:hover,.settings-menu-item:focus-visible{background:rgba(255,255,255,.12);border-color:rgba(232,197,71,.35)}
.settings-menu-item:active{transform:scale(.98)}
.btn-icon{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:var(--txt);border-radius:8px;padding:5px 10px;font-size:.85rem;line-height:1;flex-shrink:0}
.top-title{flex:0 1 auto;min-width:0;max-width:100%;font-weight:800;font-size:.82rem;color:var(--gold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
/* Topbar-Titel (falls noch sichtbar) ebenfalls mittig */
body.screen-saga .top-bar{
  position:relative;
}
body.screen-saga .top-title-cluster{
  position:absolute;left:50%;transform:translateX(-50%);
  max-width:min(70vw,340px);justify-content:center;z-index:1;
  pointer-events:none;
}
body.screen-saga .top-title{
  text-align:center;text-transform:uppercase;letter-spacing:.12em;
}
.status-badge{font-size:.62rem;color:var(--muted);flex-shrink:0;display:none}
body.screen-login .status-badge{display:inline}

/* ── Glass cards ── */
.glass{background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.glow{box-shadow:var(--shadow),0 0 40px rgba(232,197,71,.06)}
.card{padding:14px}

/* ── Screens ── */
.screen{display:flex;flex-direction:column;gap:10px;flex:1;padding:4px 0}
.hidden{display:none!important}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:var(--txt);font-weight:700;font-size:.88rem;line-height:1.2;transition:transform .12s,opacity .12s,box-shadow .12s;user-select:none}
.btn:active{transform:scale(.96)}
.btn:disabled{opacity:.4;pointer-events:none}
.btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-color:rgba(100,160,255,.3)}
.btn-success{background:linear-gradient(135deg,var(--green),#1a7a40);border-color:rgba(62,207,114,.3)}
.btn-danger{background:linear-gradient(135deg,#ef4444,#991b1b);border-color:rgba(239,68,68,.3)}
.btn-ghost{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)}
.btn-xl{padding:14px 28px;font-size:.92rem;border-radius:var(--r);width:100%}
.btn-sm{padding:7px 12px;font-size:.72rem}
.btn-xs{padding:3px 8px;font-size:.6rem;line-height:1.3;border-radius:6px}
.btn-tiny{padding:5px 9px;font-size:.62rem;border-radius:8px}
.btn-more{width:100%;border-style:dashed;background:rgba(232,197,71,.05);border-color:rgba(232,197,71,.25);color:var(--gold);font-size:.76rem}
.shine{position:relative;overflow:hidden}
.shine::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.12) 50%,transparent 70%);transform:translateX(-100%);animation:shine 2.8s ease infinite}
@keyframes shine{0%,100%{transform:translateX(-100%)}50%{transform:translateX(100%)}}

/* ── Text ── */
.sub,.muted{color:var(--muted);font-size:.84rem}
.hint{color:var(--muted);font-size:.74rem;text-align:center;margin-top:8px}
.tiny{font-size:.7rem;color:var(--muted)}
h1{font-size:1.5rem;color:var(--gold);margin-bottom:6px}
h2{font-size:1.18rem;color:var(--gold);margin-bottom:4px}
.badge{display:inline-block;background:var(--gold-dim);border:1px solid rgba(232,197,71,.3);color:var(--gold);font-size:.7rem;font-weight:800;padding:3px 8px;border-radius:6px;margin-bottom:6px;letter-spacing:.04em}
.screen-title{font-size:1.18rem;font-weight:800;color:var(--gold);padding:4px 2px}
.screen-sub{padding:0 2px;margin-top:-4px}

/* ── Bars ── */
.bar-track{flex:1;height:7px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden}
.bar-fill{height:100%;width:0;border-radius:inherit;transition:width .4s ease}
.bar-fill.hp{background:linear-gradient(90deg,#ef4444,#f97316)}
.bar-fill.sta{background:linear-gradient(90deg,#3b82f6,#06b6d4)}
.bar-fill.mana{background:linear-gradient(90deg,#6366f1,#a78bfa)}
.bar-fill.xp{background:linear-gradient(90deg,#a855f7,#f59e0b)}
.bar-fill.enemy{background:linear-gradient(90deg,#9b59b6,#e74c3c)}
.duel-xp-level{margin-top:2px;text-align:left}
.bar-row{display:flex;align-items:center;gap:8px}
.bar-row.compact{gap:5px}
.bar-lbl{font-size:.72rem;color:var(--muted);flex-shrink:0;width:16px}
.bar-val{font-size:.7rem;color:var(--txt);flex-shrink:0;min-width:40px;text-align:right;font-variant-numeric:tabular-nums}

/* ── Chips ── */
.chip{display:inline-flex;align-items:center;gap:3px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:3px 8px;font-size:.72rem;color:var(--txt)}
.chip-gold{border-color:rgba(232,197,71,.35);color:var(--gold)}
.chip-online{border-color:rgba(74,222,128,.32);color:#86efac}
.rpg-revive-modal{
  position:fixed;inset:0;z-index:120000;display:flex;align-items:center;justify-content:center;
  padding:18px;background:rgba(0,0,0,.62);backdrop-filter:blur(6px)
}
.rpg-revive-modal-card{
  width:min(360px,100%);padding:18px 16px;border-radius:14px;text-align:center;
  border:1px solid rgba(251,191,36,.35);box-shadow:0 12px 40px rgba(0,0,0,.45)
}
.rpg-revive-modal-card h3{margin:0 0 8px;font-size:1.05rem}
.rpg-revive-modal-card p{margin:0 0 14px;line-height:1.4}
.rpg-revive-modal-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.chip-hp{border-color:rgba(239,68,68,.3);color:#fca5a5}
.chip-sta{border-color:rgba(59,130,246,.3);color:#93c5fd}
.chips-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.hub-meta-chips{gap:6px;align-items:center}
.hub-meta-chips .chip{margin:0}
.hub-fc-chip{flex-shrink:0;font-size:.72rem;font-weight:800;white-space:nowrap}
.hub-gems-chip{flex-shrink:0;font-size:.72rem;font-weight:800;white-space:nowrap}

/* ── Select ── */
.select{width:100%;background:rgba(0,0,0,.35);border:1px solid var(--line);color:var(--txt);border-radius:var(--r-sm);padding:8px 10px;font-size:.76rem}
#flix-app-rpg select,#app select,.select,select.admin-input{
  color-scheme:dark;
  background-color:rgba(8,10,18,.96);
  color:var(--txt,#eef1ff);
}
#flix-app-rpg select option,#app select option,.select option,select.admin-input option{
  background-color:#141824;
  color:#eef1ff;
}
#flix-app-rpg select option:checked,#app select option:checked,
#flix-app-rpg select option:hover,#app select option:hover,
select.admin-input option:checked,select.admin-input option:hover{
  background-color:rgba(232,197,71,.28);
  color:#fff;
}
.lbl{font-size:.65rem;color:var(--muted);display:block;margin-bottom:4px}

/* ══════════════════════════════════════════
   SCREEN: LOGIN
   ══════════════════════════════════════════ */
body.screen-login #top-bar,
body.screen-mode #top-bar{display:none!important}
#screen-login{justify-content:center;align-items:center;min-height:calc(100dvh - 56px)}
.center-panel{padding:28px 22px;text-align:center;max-width:380px;width:100%}
.login-maintenance-banner{width:100%;max-width:min(520px,100%);margin:0 auto}
body.login-maintenance-active{overflow:hidden}
body.login-maintenance-active #top-bar,
body.login-maintenance-active #boot-loading{display:none!important}
#screen-login.login-maintenance-active{
  position:fixed;inset:0;z-index:99990;
  padding:0;margin:0;overflow:hidden;
  min-height:100dvh;height:100dvh;max-height:100dvh;
  align-items:stretch;justify-content:stretch;
}
#screen-login.login-maintenance-active .center-panel{
  max-width:none;width:100%;height:100%;min-height:100%;
  padding:0;margin:0;border:none;border-radius:0;box-shadow:none;
  background:transparent;display:flex;flex-direction:column;
}
#screen-login.login-maintenance-active .login-maintenance-banner{
  max-width:none;width:100%;height:100%;margin:0;flex:1 1 auto;min-height:0;
}
html.flix-rpg-active #flix-app-rpg.active #screen-login.login-maintenance-active,
html.flix-rpg-web #screen-login.login-maintenance-active{
  min-height:100dvh;height:100dvh;padding:0;
}
#screen-login.login-maintenance-active .login-icon,
#screen-login.login-maintenance-active h1,
#screen-login.login-maintenance-active .sub,
#screen-login.login-maintenance-active .hint,
#screen-login.login-maintenance-active #web-login-actions,
#screen-login.login-maintenance-active #btn-discord-login{display:none!important}
#screen-login.login-maintenance-active .login-maintenance-screen{
  position:relative;display:block;overflow:hidden;
  min-height:100dvh;height:100%;
  background:radial-gradient(ellipse at 50% 42%,#1a1230 0%,#0c0818 55%,#060810 100%);
}
#screen-login.login-entry-active .login-maintenance-art-stage,
#screen-mode.mode-entry-active .login-maintenance-art-stage,
body.login-entry-door-reveal .login-maintenance-art-stage{
  position:absolute;inset:0;padding:0;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
#screen-login.login-maintenance-active .login-maintenance-art-stage{
  position:absolute;inset:0;padding:0;overflow:hidden;
  display:flex;align-items:stretch;justify-content:stretch;
}
#screen-login.login-maintenance-active .login-maintenance-art-frame,
#screen-login.login-entry-active .login-maintenance-art-frame,
#screen-mode.mode-entry-active .login-maintenance-art-frame,
body.login-entry-door-reveal .login-maintenance-art-frame{
  width:100%;height:100%;max-height:none;
  display:flex;align-items:center;justify-content:center;
}
html:not(.flix-rpg-pc-scale) #screen-login.login-entry-active .login-maintenance-art-fit,
html:not(.flix-rpg-pc-scale) #screen-mode.mode-entry-active .login-maintenance-art-fit,
html:not(.flix-rpg-pc-scale) body.login-entry-door-reveal .login-maintenance-art-fit{
  position:relative;width:min(100%,calc(100dvh * 1536 / 1024));height:auto;max-width:100%;max-height:100%;
  aspect-ratio:1536/1024;flex:0 0 auto;align-self:center;margin:auto;
  overflow:hidden;
}
#screen-login.login-maintenance-active .login-maintenance-art-fit{
  position:relative;width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto;
  overflow:hidden;
}
html:not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.abenteuer-app) #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art,
html:not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.abenteuer-app) #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art-unlocked{
  position:absolute;inset:0;z-index:1;
  width:100%;height:100%;display:block;object-fit:cover;object-position:center center;
  max-width:none;max-height:none;
}
#screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art-unlocked{z-index:2}
html:not(.flix-rpg-pc-scale):not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.abenteuer-app) #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art,
html:not(.flix-rpg-pc-scale):not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.abenteuer-app) #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art,
html:not(.flix-rpg-pc-scale):not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.abenteuer-app) #screen-login.login-entry-active .login-entry-art-open,
html:not(.flix-rpg-pc-scale):not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.abenteuer-app) #screen-login.login-entry-active .login-entry-art-closed,
html:not(.flix-rpg-pc-scale):not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.abenteuer-app) #screen-mode.mode-entry-active .login-entry-art-open,
html:not(.flix-rpg-pc-scale):not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.abenteuer-app) body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art,
html:not(.flix-rpg-pc-scale):not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.abenteuer-app) body.login-entry-door-reveal .login-entry-art-open,
html:not(.flix-rpg-pc-scale):not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.abenteuer-app) body.login-entry-door-reveal .login-entry-art-closed{
  width:100%;height:100%;display:block;object-fit:contain;object-position:center center;
}
#screen-login.login-maintenance-active .login-maintenance-copy{
  position:absolute;left:max(12px,env(safe-area-inset-left));right:auto;bottom:max(12px,env(safe-area-inset-bottom));
  z-index:4;width:auto;max-width:min(420px,82vw);flex:none;
  padding:12px 14px;border-radius:12px;
  background:linear-gradient(135deg,rgba(6,8,16,.92) 0%,rgba(6,8,16,.78) 100%);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  max-height:min(46dvh,100%);
  overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;
}
body.login-entry-active{overflow:hidden}
body.login-entry-active #top-bar,
body.login-entry-active #boot-loading{display:none!important}
#screen-login.login-entry-active{
  position:fixed;inset:0;z-index:99990;
  padding:0;margin:0;overflow:hidden;
  min-height:100dvh;height:100dvh;max-height:100dvh;
  align-items:stretch;justify-content:stretch;
}
#screen-login.login-entry-active .center-panel{
  max-width:none;width:100%;height:100%;min-height:100%;
  padding:0;margin:0;border:none;border-radius:0;box-shadow:none;
  background:transparent;display:flex;flex-direction:column;
}
#screen-login.login-entry-active .login-maintenance-banner{
  max-width:none;width:100%;height:100%;margin:0;flex:1 1 auto;min-height:0;
}
html.flix-rpg-active #flix-app-rpg.active #screen-login.login-entry-active,
html.flix-rpg-web #screen-login.login-entry-active{
  min-height:100dvh;height:100dvh;padding:0;
}
#screen-login.login-entry-active .login-icon,
#screen-login.login-entry-active h1,
#screen-login.login-entry-active .sub,
#screen-login.login-entry-active .hint,
#screen-login.login-entry-active #web-login-actions,
#screen-login.login-entry-active #btn-discord-login{display:none!important}
#screen-login.login-entry-active .login-maintenance-screen,
#screen-mode.mode-entry-active .login-maintenance-screen{
  position:relative;display:block;overflow:hidden;
  min-height:100dvh;height:100%;
  background:radial-gradient(ellipse at 50% 42%,#1a1230 0%,#0c0818 55%,#060810 100%);
}
#screen-login.login-entry-active .login-entry-copy,
#screen-mode.mode-entry-active .mode-entry-copy{
  display:flex!important;flex-direction:column;gap:8px;
  position:absolute;left:max(12px,env(safe-area-inset-left));right:auto;bottom:max(12px,env(safe-area-inset-bottom));
  z-index:4;width:auto;max-width:min(360px,74vw);flex:none;
  padding:12px 14px;border-radius:12px;
  background:linear-gradient(135deg,rgba(6,8,16,.92) 0%,rgba(6,8,16,.78) 100%);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  max-height:none;overflow:visible;
  pointer-events:none;
}
#screen-login.login-entry-active .login-entry-copy .login-maintenance-badge,
#screen-login.login-entry-active .login-entry-copy .login-maintenance-title,
#screen-login.login-entry-active .login-entry-copy .login-maintenance-message,
#screen-login.login-entry-active .login-entry-copy .login-active-char,
#screen-login.login-entry-active .login-entry-copy .login-entry-logout-btn,
#screen-login.login-entry-active .login-entry-copy .web-logout-btn,
#screen-mode.mode-entry-active .mode-entry-copy .login-maintenance-badge,
#screen-mode.mode-entry-active .mode-entry-copy .login-maintenance-title,
#screen-mode.mode-entry-active .mode-entry-copy .login-maintenance-message,
#screen-mode.mode-entry-active .mode-entry-copy .login-active-char,
#screen-mode.mode-entry-active .mode-entry-copy .login-entry-logout-btn,
#screen-mode.mode-entry-active .mode-entry-copy .web-logout-btn{
  pointer-events:auto;
}
.login-active-char{
  display:flex;align-items:center;gap:10px;
  margin-top:2px;padding:8px 10px;
  border-radius:12px;
  border:1px solid rgba(94,196,255,.28);
  background:linear-gradient(135deg,rgba(12,18,32,.72),rgba(8,12,22,.55));
  box-shadow:inset 0 1px 0 rgba(255,244,220,.06),0 6px 14px rgba(0,0,0,.28);
  max-width:100%;min-width:0;
}
.login-active-char.hidden,
.login-active-char--pending{display:none!important}
.login-active-char-art-wrap{
  flex:0 0 auto;width:52px;height:52px;border-radius:10px;overflow:hidden;
  border:1px solid rgba(232,197,71,.28);
  background:rgba(0,0,0,.35);
  box-shadow:0 2px 8px rgba(0,0,0,.35);
}
.login-active-char-art{
  display:block;width:100%;height:100%;
  object-fit:cover;object-position:center top;
  image-rendering:auto;
}
.login-active-char-meta{
  flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;
}
.login-active-char-badge{
  font-size:.58rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  color:rgba(165,243,252,.9);
}
.login-active-char-name{
  font-size:.92rem;line-height:1.2;color:#f7f0e4;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.login-active-char-sub{
  font-size:.68rem;line-height:1.25;color:rgba(216,220,232,.78);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.login-entry-art-open{
  position:absolute;left:0;top:0;width:100%;height:100%;
  opacity:0;transition:opacity .65s ease;pointer-events:none;
}
.login-maintenance-art-fit.login-entry-door-open .login-entry-art-closed{opacity:0}
.login-maintenance-art-fit.login-entry-door-open .login-entry-art-open{opacity:1}
.login-maintenance-art-fit.login-entry-door-opening .login-entry-hotspot-door,
.login-maintenance-art-fit.login-entry-door-opening .mode-entry-hotspot-door,
.login-maintenance-art-fit.login-entry-door-opening .login-maintenance-hotspot-bubble{
  filter:brightness(1.15);
  animation:loginEntryDoorPulse .52s ease;
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
}
@keyframes loginEntryDoorPulse{
  0%,100%{filter:brightness(1)}
  50%{filter:brightness(1.18)}
}
.login-entry-badge{
  color:#a5f3fc;border-color:rgba(94,196,255,.38);background:rgba(94,196,255,.12);
}
.login-entry-modal-overlay{
  position:absolute;inset:0;z-index:12;
  display:flex;align-items:center;justify-content:center;
  padding:max(10px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));
}
.login-entry-modal-overlay.hidden{display:none!important;pointer-events:none!important}
.login-entry-modal-backdrop{
  position:absolute;inset:0;background:rgba(4,6,14,.78);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.login-entry-modal{
  position:relative;z-index:1;flex:0 0 auto;width:min(92vw,520px);
  background:transparent;animation:loginEntryModalIn .32s ease;
}
.login-entry-modal-frame{
  position:relative;width:100%;aspect-ratio:1536/1024;
  overflow:hidden;background:transparent;
  filter:drop-shadow(0 18px 42px rgba(0,0,0,.72));
}
.login-entry-modal-art{
  position:absolute;inset:0;width:100%;height:100%;
  display:block;object-fit:cover;object-position:center center;
  transform:scale(1.075);transform-origin:center center;
  user-select:none;image-rendering:pixelated;image-rendering:crisp-edges;pointer-events:none;
}
.login-entry-modal-inset{
  position:absolute;z-index:2;
  left:19%;top:24.5%;width:62%;height:60%;
  display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
  gap:0;overflow:hidden;
  padding:1.5% 3.5% 2.5%;box-sizing:border-box;
}
@keyframes loginEntryModalIn{
  0%{opacity:0;transform:translateY(10px) scale(.95)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}
.login-entry-modal-close{
  position:absolute;top:3.5%;right:4.5%;z-index:4;width:28px;height:28px;padding:0;
  border-radius:6px;font-size:.85rem;line-height:1;color:rgba(253,230,138,.88);
  border:1px solid rgba(232,197,71,.35);background:rgba(12,10,8,.72);cursor:pointer;
}
.login-entry-modal-close:hover{color:#fff;border-color:rgba(232,197,71,.65);background:rgba(20,16,10,.88)}
.login-entry-modal-title{
  flex:0 0 auto;margin:0 0 0;font-size:clamp(.64rem,2.2vw,.78rem);line-height:1.1;font-weight:900;
  color:#fde68a;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.9);
}
.login-entry-modal-message{
  flex:0 0 auto;margin:0 0 3px;font-size:clamp(.5rem,1.8vw,.58rem);line-height:1.2;
  color:rgba(226,232,240,.88);text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.85);
}
body.login-entry-modal-open .login-entry-copy{opacity:.22;pointer-events:none}
/* Nur Modal während Tür-Animation ausblenden — Willkommen/Abmelden bleiben sichtbar */
body.login-entry-door-reveal .login-entry-modal-overlay{
  visibility:hidden!important;opacity:0!important;pointer-events:none!important;
}
body.login-entry-door-reveal .login-maintenance-screen{
  min-height:100dvh;height:100dvh;
}
.login-entry-auth{
  flex:1 1 auto;min-height:0;width:100%;display:flex;flex-direction:column;
}
.login-auth-actions{display:flex;flex-direction:column;gap:5px;width:100%}
.login-auth-actions--modal{
  flex:1 1 auto;min-height:0;height:100%;gap:3px;justify-content:stretch;
}
.login-auth-main{
  flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:4px;
}
.login-auth-main .login-auth-btn{
  flex:1 1 0;min-height:0;height:auto;max-height:none;
  padding:3px 8px;font-size:clamp(.58rem,2vw,.7rem);
}
.login-auth-main .login-auth-btn-icon{
  flex:0 0 clamp(20px,5.5vw,28px);width:clamp(20px,5.5vw,28px);height:clamp(20px,5.5vw,28px);
  font-size:clamp(.58rem,1.8vw,.68rem);
}
.login-auth-actions--modal .login-auth-btn--ghost{
  flex:0 0 auto;min-height:22px;max-height:24px;padding:2px 6px;
  font-size:clamp(.52rem,1.7vw,.58rem);line-height:1.1;
}
.login-auth-footer-row{
  display:grid;grid-template-columns:1fr 1fr;gap:4px;width:100%;
}
.login-auth-footer-row .login-auth-btn{
  min-height:32px;padding:4px 8px;font-size:clamp(.58rem,1.8vw,.68rem);
  justify-content:center;gap:4px;
}
.login-auth-modal-footer{
  flex:0 0 auto;display:grid;grid-template-columns:1fr;gap:4px;width:100%;
  margin-top:auto;padding-top:2px;
}
.login-auth-actions--modal .login-auth-modal-footer .login-auth-btn{
  min-height:24px;height:24px;max-height:26px;padding:0 6px;
  font-size:clamp(.5rem,1.55vw,.56rem);justify-content:center;gap:4px;
}
.login-auth-actions--modal .login-auth-modal-footer .login-auth-btn--ghost{
  border-style:dashed;border-color:rgba(232,197,71,.32);
  background:rgba(8,6,4,.55);color:rgba(203,213,225,.78);
}
.login-auth-actions--modal .login-auth-modal-footer .login-auth-btn--support{
  border-color:rgba(232,197,71,.38);background:rgba(12,10,8,.72);
}
.login-auth-actions--modal .login-auth-modal-footer .login-auth-btn-icon{
  flex:0 0 16px;width:16px;height:16px;font-size:.52rem;
}
.login-auth-btn-icon--support{
  background:linear-gradient(180deg,#fde68a 0%,#d97706 100%);color:#1a1208;
}
.login-auth-btn{
  display:flex;align-items:center;gap:8px;width:100%;min-height:38px;padding:5px 8px;
  border-radius:3px;text-decoration:none;cursor:pointer;box-sizing:border-box;
  border:2px solid #7a5c1a;
  background:linear-gradient(180deg,#4a3420 0%,#2a1a0e 55%,#1f1208 100%);
  box-shadow:inset 0 1px 0 rgba(255,220,160,.18),inset 0 -2px 0 rgba(0,0,0,.35),0 2px 6px rgba(0,0,0,.4);
  color:#f8fafc;transition:filter .12s ease,transform .12s ease,border-color .12s ease;
  font-size:.72rem;font-weight:700;
}
.login-auth-btn:hover,.login-auth-btn:focus-visible{
  filter:brightness(1.08);transform:translateY(-1px);border-color:#c9a227;
}
.login-auth-btn:active{transform:translateY(0);filter:brightness(.94)}
.login-auth-btn-icon{
  flex:0 0 26px;width:26px;height:26px;display:grid;place-items:center;
  border-radius:3px;font-weight:900;font-size:.72rem;line-height:1;
  border:1px solid rgba(0,0,0,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.login-auth-btn-label{flex:1 1 auto;text-align:left;line-height:1.2;min-width:0}
.login-auth-btn--google{border-color:#a8862a}
.login-auth-btn--google .login-auth-btn-icon{background:linear-gradient(180deg,#fff,#e8eaed);color:#4285f4}
.login-auth-btn--twitch{border-color:#7c3aed}
.login-auth-btn--twitch .login-auth-btn-icon{background:linear-gradient(180deg,#bf94ff,#9146ff);color:#fff}
.login-auth-btn--email{border-color:#0284c7}
.login-auth-btn--email .login-auth-btn-icon{background:linear-gradient(180deg,#7dd3fc,#0369a1);color:#fff}
.login-auth-btn--apk{border-color:#15803d}
.login-auth-btn--apk .login-auth-btn-icon{background:linear-gradient(180deg,#86efac,#166534);color:#052e16}
.login-auth-btn--ghost{
  justify-content:center;min-height:30px;padding:4px 8px;font-size:.62rem;font-weight:600;
  border-style:dashed;border-color:rgba(232,197,71,.28);background:rgba(10,8,6,.45);color:rgba(203,213,225,.72);
}
.login-auth-support{display:flex;justify-content:center;margin-top:1px}
.login-auth-support .hub-grid-btn,.login-auth-support .web-support-btn{
  flex-direction:row;gap:6px;padding:4px 10px;border-radius:999px;
  border:1px solid rgba(232,197,71,.22);background:rgba(0,0,0,.25);
}
.login-auth-support .hub-grid-label{font-size:.58rem;color:#fde68a}
.login-auth-support .hub-grid-icon{width:18px;height:18px;object-fit:contain}
.login-maintenance-hint,
.login-entry-bypass-notice,
.login-puzzle-toast,
body.login-maintenance-active .login-maintenance-copy:not(.login-entry-copy),
body.login-entry-active .login-maintenance-copy:not(.login-entry-copy){
  display:none!important;
}
.login-entry-bypass-notice{
  margin:4px 0 0;font-size:.68rem;line-height:1.45;color:rgba(134,239,172,.92);
}
body.mode-entry-active{overflow:hidden}
body.mode-entry-active #top-bar,
body.mode-entry-active #boot-loading{display:none!important}
#screen-mode.mode-entry-active{
  position:fixed;inset:0;z-index:99990;
  padding:0;margin:0;overflow:hidden;
  min-height:100dvh;height:100dvh;max-height:100dvh;
  align-items:stretch;justify-content:stretch;
}
#screen-mode.mode-entry-active .center-panel{
  max-width:none;width:100%;height:100%;min-height:100%;
  padding:0;margin:0;border:none;border-radius:0;box-shadow:none;
  background:transparent;display:flex;flex-direction:column;
}
#screen-mode.mode-entry-active .mode-entry-banner{
  max-width:none;width:100%;height:100%;margin:0;flex:1 1 auto;min-height:0;
}
html.flix-rpg-active #flix-app-rpg.active #screen-mode.mode-entry-active,
html.flix-rpg-web #screen-mode.mode-entry-active{
  min-height:100dvh;height:100dvh;padding:0;
}
.login-maintenance-screen{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:100%;height:100%;min-height:100dvh;
  padding:0;border:none;border-radius:0;overflow:hidden;text-align:left;
  background:radial-gradient(ellipse at 50% 42%,#1a1230 0%,#0c0818 55%,#060810 100%);
  box-shadow:none;
}
.login-maintenance-art-stage{
  position:relative;flex:1 1 auto;min-height:0;width:100%;
  display:flex;align-items:stretch;justify-content:stretch;
  padding:0;
}
.login-maintenance-art-frame{
  position:relative;width:100%;height:100%;max-height:none;
  display:flex;align-items:stretch;justify-content:stretch;
}
.login-maintenance-art-fit{
  position:relative;width:100%;height:100%;
  max-width:none;max-height:none;aspect-ratio:auto;
  display:flex;align-items:stretch;justify-content:stretch;
  overflow:visible;
}
.login-maintenance-art-fit .login-maintenance-art{
  width:100%;height:100%;display:block;border:none;border-radius:0;vertical-align:top;
  object-fit:cover;object-position:center center;
  pointer-events:none;position:relative;z-index:1;
}
html:not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.abenteuer-app) #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art,
html:not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.abenteuer-app) #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art,
html:not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.abenteuer-app) body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art{
  position:absolute;inset:0;z-index:1;
  object-fit:cover;object-position:center center;
  max-width:none;max-height:none;
}
.login-maintenance-art-fit .login-maintenance-art-unlocked{z-index:2}
/* Mobile/APK: ganzes Bild sichtbar, ohne Stretch — Hotspots bleiben am Bild (aspect-ratio-Box) */
html.flix-rpg-mobile #screen-login.login-entry-active .login-maintenance-art-stage,
html.flix-rpg-mobile #screen-login.login-maintenance-active .login-maintenance-art-stage,
html.flix-rpg-mobile #screen-mode.mode-entry-active .login-maintenance-art-stage,
html.flix-rpg-mobile body.login-entry-door-reveal .login-maintenance-art-stage,
html.abenteuer-app #screen-login.login-entry-active .login-maintenance-art-stage,
html.abenteuer-app #screen-login.login-maintenance-active .login-maintenance-art-stage,
html.abenteuer-app #screen-mode.mode-entry-active .login-maintenance-art-stage,
html.abenteuer-app body.login-entry-door-reveal .login-maintenance-art-stage{
  align-items:center;justify-content:center;
}
html.flix-rpg-mobile #screen-login.login-entry-active .login-maintenance-art-frame,
html.flix-rpg-mobile #screen-login.login-maintenance-active .login-maintenance-art-frame,
html.flix-rpg-mobile #screen-mode.mode-entry-active .login-maintenance-art-frame,
html.flix-rpg-mobile body.login-entry-door-reveal .login-maintenance-art-frame,
html.abenteuer-app #screen-login.login-entry-active .login-maintenance-art-frame,
html.abenteuer-app #screen-login.login-maintenance-active .login-maintenance-art-frame,
html.abenteuer-app #screen-mode.mode-entry-active .login-maintenance-art-frame,
html.abenteuer-app body.login-entry-door-reveal .login-maintenance-art-frame{
  align-items:center;justify-content:center;
}
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) #screen-login.login-entry-active .login-maintenance-art-fit,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) #screen-login.login-maintenance-active .login-maintenance-art-fit,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) #screen-mode.mode-entry-active .login-maintenance-art-fit,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.login-entry-door-reveal .login-maintenance-art-fit,
html.abenteuer-app:not(.flix-rpg-pc-scale) #screen-login.login-entry-active .login-maintenance-art-fit,
html.abenteuer-app:not(.flix-rpg-pc-scale) #screen-login.login-maintenance-active .login-maintenance-art-fit,
html.abenteuer-app:not(.flix-rpg-pc-scale) #screen-mode.mode-entry-active .login-maintenance-art-fit,
html.abenteuer-app:not(.flix-rpg-pc-scale) body.login-entry-door-reveal .login-maintenance-art-fit{
  width:100%;height:auto;max-height:100%;max-width:100%;
  aspect-ratio:1536/1024;flex:0 1 auto;align-self:center;
}
html.flix-rpg-mobile[data-mobile-shell="1"] body.screen-login.login-entry-active #app,
html.flix-rpg-mobile[data-mobile-shell="1"] body.screen-login.login-maintenance-active #app,
html.flix-rpg-mobile[data-mobile-shell="1"] body.screen-mode.mode-entry-active #app,
html[data-mobile-shell="1"] body.screen-login.login-entry-active #app,
html[data-mobile-shell="1"] body.screen-login.login-maintenance-active #app,
html[data-mobile-shell="1"] body.screen-mode.mode-entry-active #app{
  max-width:none!important;width:100%!important;margin:0!important;padding:0!important;
}
html.flix-rpg-mobile[data-mobile-shell="1"] #screen-login.login-entry-active:not(.hidden),
html.flix-rpg-mobile[data-mobile-shell="1"] #screen-login.login-maintenance-active:not(.hidden),
html.flix-rpg-mobile[data-mobile-shell="1"] #screen-mode.mode-entry-active:not(.hidden),
html[data-mobile-shell="1"] #screen-login.login-entry-active:not(.hidden),
html[data-mobile-shell="1"] #screen-login.login-maintenance-active:not(.hidden),
html[data-mobile-shell="1"] #screen-mode.mode-entry-active:not(.hidden){
  position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-height:none!important;overflow:hidden!important;
}
html.flix-rpg-mobile[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) #screen-login.login-entry-active .login-maintenance-art-fit,
html.flix-rpg-mobile[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) #screen-login.login-maintenance-active .login-maintenance-art-fit,
html.flix-rpg-mobile[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) #screen-mode.mode-entry-active .login-maintenance-art-fit,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) #screen-login.login-entry-active .login-maintenance-art-fit,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) #screen-login.login-maintenance-active .login-maintenance-art-fit,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) #screen-mode.mode-entry-active .login-maintenance-art-fit,
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) #screen-login.login-entry-active .login-maintenance-art-fit,
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) #screen-login.login-maintenance-active .login-maintenance-art-fit,
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) #screen-mode.mode-entry-active .login-maintenance-art-fit{
  width:min(100%,calc(100dvh * 1536 / 1024))!important;max-width:100%!important;height:auto!important;max-height:100%!important;
  aspect-ratio:1536/1024!important;margin:auto!important;align-self:center!important;flex:0 0 auto!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
html.flix-rpg-mobile[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art,
html.flix-rpg-mobile[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art,
html.flix-rpg-mobile[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art{
  object-fit:contain!important;object-position:center center!important;
  width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
}
/* Desktop-Web: Entry/Start — aspect-ratio-Box, kein Stretch */
html[data-desktop-web="1"].flix-rpg-web:not([data-mobile-shell="1"]):not(.flix-rpg-mobile) #screen-login.login-entry-active .login-maintenance-art-fit,
html[data-desktop-web="1"].flix-rpg-web:not([data-mobile-shell="1"]):not(.flix-rpg-mobile) #screen-mode.mode-entry-active .login-maintenance-art-fit,
html[data-desktop-web="1"].flix-rpg-web:not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.login-entry-door-reveal .login-maintenance-art-fit{
  width:min(100%,calc(100dvh * 1536 / 1024))!important;height:auto!important;
  max-width:100%!important;max-height:100%!important;aspect-ratio:1536/1024!important;
  flex:0 0 auto!important;align-self:center!important;margin:auto!important;
}
html[data-desktop-web="1"].flix-rpg-web:not([data-mobile-shell="1"]):not(.flix-rpg-mobile) #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art,
html[data-desktop-web="1"].flix-rpg-web:not([data-mobile-shell="1"]):not(.flix-rpg-mobile) #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art,
html[data-desktop-web="1"].flix-rpg-web:not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art,
html[data-desktop-web="1"].flix-rpg-web:not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .login-maintenance-art-fit .login-entry-art-open,
html[data-desktop-web="1"].flix-rpg-web:not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .login-maintenance-art-fit .login-entry-art-closed{
  object-fit:contain!important;object-position:center center!important;
  max-width:100%!important;max-height:100%!important;
}
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) .login-maintenance-art-fit .login-maintenance-art,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) .login-maintenance-art-fit .login-maintenance-art-unlocked,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) .login-entry-art-open,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art-unlocked,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.login-entry-door-reveal .login-entry-art-open,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) .login-maintenance-art-fit .login-maintenance-art-unlocked,
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) .login-maintenance-art-fit .login-maintenance-art-unlocked,
html.abenteuer-app:not(.flix-rpg-pc-scale) .login-maintenance-art-fit .login-maintenance-art,
html.abenteuer-app:not(.flix-rpg-pc-scale) .login-maintenance-art-fit .login-maintenance-art-unlocked,
html.abenteuer-app:not(.flix-rpg-pc-scale) .login-entry-art-open{
  object-fit:contain!important;object-position:center center;
}
html.flix-rpg-mobile #screen-login.login-entry-active .login-maintenance-screen,
html.flix-rpg-mobile #screen-mode.mode-entry-active .login-maintenance-screen,
html.abenteuer-app #screen-login.login-entry-active .login-maintenance-screen,
html.abenteuer-app #screen-mode.mode-entry-active .login-maintenance-screen{
  display:block!important;overflow:hidden;
}
html.flix-rpg-mobile #screen-login.login-entry-active .login-maintenance-art-stage,
html.flix-rpg-mobile #screen-mode.mode-entry-active .login-maintenance-art-stage,
html.flix-rpg-mobile body.login-entry-door-reveal .login-maintenance-art-stage,
html.abenteuer-app #screen-login.login-entry-active .login-maintenance-art-stage,
html.abenteuer-app #screen-mode.mode-entry-active .login-maintenance-art-stage,
html.abenteuer-app body.login-entry-door-reveal .login-maintenance-art-stage{
  position:absolute!important;inset:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
html.flix-rpg-mobile #screen-login.login-entry-active .login-entry-copy,
html.flix-rpg-mobile #screen-mode.mode-entry-active .mode-entry-copy,
html.abenteuer-app #screen-login.login-entry-active .login-entry-copy,
html.abenteuer-app #screen-mode.mode-entry-active .mode-entry-copy{
  position:absolute!important;left:max(12px,env(safe-area-inset-left))!important;right:auto!important;
  bottom:max(12px,env(safe-area-inset-bottom))!important;
  flex:none!important;width:auto!important;max-width:min(360px,74vw)!important;
  margin:0!important;z-index:6!important;
}
@media(max-width:768px){
  html.flix-rpg-mobile #screen-login.login-entry-active .login-maintenance-art-stage,
  html.flix-rpg-mobile #screen-login.login-maintenance-active .login-maintenance-art-stage,
  html.flix-rpg-mobile #screen-mode.mode-entry-active .login-maintenance-art-stage,
  html.flix-rpg-mobile body.login-entry-door-reveal .login-maintenance-art-stage,
  html.abenteuer-app #screen-login.login-entry-active .login-maintenance-art-stage,
  html.abenteuer-app #screen-login.login-maintenance-active .login-maintenance-art-stage,
  html.abenteuer-app #screen-mode.mode-entry-active .login-maintenance-art-stage,
  html.abenteuer-app body.login-entry-door-reveal .login-maintenance-art-stage,
  html[data-mobile-shell="1"] #screen-login.login-entry-active .login-maintenance-art-stage,
  html[data-mobile-shell="1"] #screen-login.login-maintenance-active .login-maintenance-art-stage,
  html[data-mobile-shell="1"] #screen-mode.mode-entry-active .login-maintenance-art-stage,
  html[data-mobile-shell="1"] body.login-entry-door-reveal .login-maintenance-art-stage{
    align-items:center;justify-content:center;
  }
  html.flix-rpg-mobile #screen-login.login-entry-active .login-maintenance-art-frame,
  html.flix-rpg-mobile #screen-login.login-maintenance-active .login-maintenance-art-frame,
  html.flix-rpg-mobile #screen-mode.mode-entry-active .login-maintenance-art-frame,
  html.flix-rpg-mobile body.login-entry-door-reveal .login-maintenance-art-frame,
  html.abenteuer-app #screen-login.login-entry-active .login-maintenance-art-frame,
  html.abenteuer-app #screen-login.login-maintenance-active .login-maintenance-art-frame,
  html.abenteuer-app #screen-mode.mode-entry-active .login-maintenance-art-frame,
  html.abenteuer-app body.login-entry-door-reveal .login-maintenance-art-frame,
  html[data-mobile-shell="1"] #screen-login.login-entry-active .login-maintenance-art-frame,
  html[data-mobile-shell="1"] #screen-login.login-maintenance-active .login-maintenance-art-frame,
  html[data-mobile-shell="1"] #screen-mode.mode-entry-active .login-maintenance-art-frame,
  html[data-mobile-shell="1"] body.login-entry-door-reveal .login-maintenance-art-frame{
    align-items:center;justify-content:center;
  }
  html.flix-rpg-mobile #screen-login.login-entry-active .login-maintenance-art-fit,
  html.flix-rpg-mobile #screen-login.login-maintenance-active .login-maintenance-art-fit,
  html.flix-rpg-mobile #screen-mode.mode-entry-active .login-maintenance-art-fit,
  html.flix-rpg-mobile body.login-entry-door-reveal .login-maintenance-art-fit,
  html.abenteuer-app #screen-login.login-entry-active .login-maintenance-art-fit,
  html.abenteuer-app #screen-login.login-maintenance-active .login-maintenance-art-fit,
  html.abenteuer-app #screen-mode.mode-entry-active .login-maintenance-art-fit,
  html.abenteuer-app body.login-entry-door-reveal .login-maintenance-art-fit,
  html[data-mobile-shell="1"] #screen-login.login-entry-active .login-maintenance-art-fit,
  html[data-mobile-shell="1"] #screen-login.login-maintenance-active .login-maintenance-art-fit,
  html[data-mobile-shell="1"] #screen-mode.mode-entry-active .login-maintenance-art-fit,
  html[data-mobile-shell="1"] body.login-entry-door-reveal .login-maintenance-art-fit{
    width:100%;height:auto;max-height:100%;max-width:100%;
    aspect-ratio:1536/1024;flex:0 1 auto;align-self:center;
  }
  html.flix-rpg-mobile .login-maintenance-art-fit .login-maintenance-art,
  html.flix-rpg-mobile .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html.flix-rpg-mobile .login-entry-art-open,
  html.flix-rpg-mobile #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html.flix-rpg-mobile #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html.flix-rpg-mobile #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art,
  html.flix-rpg-mobile #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html.flix-rpg-mobile #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html.flix-rpg-mobile #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html.flix-rpg-mobile body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art,
  html.flix-rpg-mobile body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html.flix-rpg-mobile body.login-entry-door-reveal .login-entry-art-open,
  html.abenteuer-app .login-maintenance-art-fit .login-maintenance-art,
  html.abenteuer-app .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html.abenteuer-app .login-entry-art-open,
  html.abenteuer-app #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html.abenteuer-app #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html.abenteuer-app #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art,
  html.abenteuer-app #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html.abenteuer-app #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html.abenteuer-app #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html.abenteuer-app body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art,
  html.abenteuer-app body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html.abenteuer-app body.login-entry-door-reveal .login-entry-art-open,
  html[data-mobile-shell="1"] .login-maintenance-art-fit .login-maintenance-art,
  html[data-mobile-shell="1"] .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html[data-mobile-shell="1"] .login-entry-art-open,
  html[data-mobile-shell="1"] #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html[data-mobile-shell="1"] #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html[data-mobile-shell="1"] #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art,
  html[data-mobile-shell="1"] #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html[data-mobile-shell="1"] #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html[data-mobile-shell="1"] #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html[data-mobile-shell="1"] body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art,
  html[data-mobile-shell="1"] body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html[data-mobile-shell="1"] body.login-entry-door-reveal .login-entry-art-open,
  html[data-abenteuer-apk="1"] .login-maintenance-art-fit .login-maintenance-art,
  html[data-abenteuer-apk="1"] .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html[data-abenteuer-apk="1"] .login-entry-art-open,
  html[data-abenteuer-apk="1"] #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html[data-abenteuer-apk="1"] #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html[data-abenteuer-apk="1"] #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art,
  html[data-abenteuer-apk="1"] #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html[data-abenteuer-apk="1"] #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html[data-abenteuer-apk="1"] #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html[data-abenteuer-apk="1"] body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art,
  html[data-abenteuer-apk="1"] body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html[data-abenteuer-apk="1"] body.login-entry-door-reveal .login-entry-art-open{
    object-fit:contain!important;object-position:center center;
  }
  html.flix-rpg-mobile #screen-login.login-entry-active .login-maintenance-screen,
  html.flix-rpg-mobile #screen-mode.mode-entry-active .login-maintenance-screen,
  html.abenteuer-app #screen-login.login-entry-active .login-maintenance-screen,
  html.abenteuer-app #screen-mode.mode-entry-active .login-maintenance-screen,
  html[data-mobile-shell="1"] #screen-login.login-entry-active .login-maintenance-screen,
  html[data-mobile-shell="1"] #screen-mode.mode-entry-active .login-maintenance-screen{
    display:block!important;overflow:hidden;
  }
  html.flix-rpg-mobile #screen-login.login-entry-active .login-maintenance-art-stage,
  html.flix-rpg-mobile #screen-mode.mode-entry-active .login-maintenance-art-stage,
  html.flix-rpg-mobile body.login-entry-door-reveal .login-maintenance-art-stage,
  html.abenteuer-app #screen-login.login-entry-active .login-maintenance-art-stage,
  html.abenteuer-app #screen-mode.mode-entry-active .login-maintenance-art-stage,
  html.abenteuer-app body.login-entry-door-reveal .login-maintenance-art-stage,
  html[data-mobile-shell="1"] #screen-login.login-entry-active .login-maintenance-art-stage,
  html[data-mobile-shell="1"] #screen-mode.mode-entry-active .login-maintenance-art-stage,
  html[data-mobile-shell="1"] body.login-entry-door-reveal .login-maintenance-art-stage{
    position:absolute!important;inset:0!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
  }
  html.flix-rpg-mobile #screen-login.login-entry-active .login-entry-copy,
  html.flix-rpg-mobile #screen-mode.mode-entry-active .mode-entry-copy,
  html.abenteuer-app #screen-login.login-entry-active .login-entry-copy,
  html.abenteuer-app #screen-mode.mode-entry-active .mode-entry-copy,
  html[data-mobile-shell="1"] #screen-login.login-entry-active .login-entry-copy,
  html[data-mobile-shell="1"] #screen-mode.mode-entry-active .mode-entry-copy{
    position:absolute!important;left:max(12px,env(safe-area-inset-left))!important;right:auto!important;
    bottom:max(12px,env(safe-area-inset-bottom))!important;
    flex:none!important;width:auto!important;max-width:min(360px,74vw)!important;
    margin:0!important;z-index:6!important;
  }
  html.flix-rpg-mobile #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html.flix-rpg-mobile #screen-login.login-entry-active .login-maintenance-art-fit .login-entry-art-open,
  html.flix-rpg-mobile #screen-login.login-entry-active .login-maintenance-art-fit .login-entry-art-closed,
  html.flix-rpg-mobile #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html.flix-rpg-mobile #screen-mode.mode-entry-active .login-maintenance-art-fit .login-entry-art-open,
  html.flix-rpg-mobile #screen-mode.mode-entry-active .login-maintenance-art-fit .login-entry-art-closed,
  html.flix-rpg-mobile body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art,
  html.flix-rpg-mobile body.login-entry-door-reveal .login-maintenance-art-fit .login-entry-art-open,
  html.flix-rpg-mobile body.login-entry-door-reveal .login-maintenance-art-fit .login-entry-art-closed,
  html[data-mobile-shell="1"] #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html[data-mobile-shell="1"] #screen-login.login-entry-active .login-maintenance-art-fit .login-entry-art-open,
  html[data-mobile-shell="1"] #screen-login.login-entry-active .login-maintenance-art-fit .login-entry-art-closed,
  html[data-mobile-shell="1"] #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html[data-mobile-shell="1"] #screen-mode.mode-entry-active .login-maintenance-art-fit .login-entry-art-open,
  html[data-mobile-shell="1"] body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art,
  html[data-mobile-shell="1"] body.login-entry-door-reveal .login-maintenance-art-fit .login-entry-art-open,
  html[data-mobile-shell="1"] body.login-entry-door-reveal .login-maintenance-art-fit .login-entry-art-closed,
  html[data-abenteuer-apk="1"] #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html[data-abenteuer-apk="1"] #screen-login.login-entry-active .login-maintenance-art-fit .login-entry-art-open,
  html[data-abenteuer-apk="1"] #screen-login.login-entry-active .login-maintenance-art-fit .login-entry-art-closed,
  html[data-abenteuer-apk="1"] #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html[data-abenteuer-apk="1"] #screen-mode.mode-entry-active .login-maintenance-art-fit .login-entry-art-open,
  html[data-abenteuer-apk="1"] body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art,
  html[data-abenteuer-apk="1"] body.login-entry-door-reveal .login-maintenance-art-fit .login-entry-art-open,
  html[data-abenteuer-apk="1"] body.login-entry-door-reveal .login-maintenance-art-fit .login-entry-art-closed{
    position:absolute!important;inset:0!important;
    width:100%!important;height:100%!important;
    object-fit:contain!important;object-position:center center!important;
  }
}
@media(min-width:769px){
  html:not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.abenteuer-app) #screen-login.login-maintenance-active:not(.login-entry-active) .login-maintenance-art-fit .login-maintenance-art,
  html:not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.abenteuer-app) #screen-login.login-maintenance-active:not(.login-entry-active) .login-maintenance-art-fit .login-maintenance-art-unlocked{
    object-fit:fill;object-position:center center;
    image-rendering:pixelated;image-rendering:crisp-edges;
  }
  html:not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.abenteuer-app) #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html:not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.abenteuer-app) #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html:not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.abenteuer-app) body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art,
  html:not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.abenteuer-app) body.login-entry-door-reveal .login-entry-art-open,
  html:not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.abenteuer-app) .login-entry-art-open{
    object-fit:fill;object-position:center center;
    image-rendering:pixelated;image-rendering:crisp-edges;
  }
}
/* Desktop-Browser (abenteuer.beardflix.de): Entry-/Wartungsbild vollflächig strecken — kein Letterboxing */
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-login.login-entry-active,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-login.login-maintenance-active,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-mode.mode-entry-active,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) body.screen-mode #screen-mode:has(.mode-entry-screen){
  position:fixed;inset:0;z-index:99990;
  width:100vw;height:100dvh;max-width:none;
  padding:0;margin:0;overflow:hidden;
  min-height:100dvh;max-height:100dvh;
  align-items:stretch;justify-content:stretch;
}
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-login.login-entry-active .center-panel,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-login.login-maintenance-active .center-panel,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-mode.mode-entry-active .center-panel,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) body.screen-mode #screen-mode:has(.mode-entry-screen) .center-panel{
  max-width:none;width:100%;height:100%;min-height:100%;
  padding:0;margin:0;border:none;border-radius:0;box-shadow:none;
  background:transparent;display:flex;flex-direction:column;
}
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-login.login-entry-active .login-maintenance-banner,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-login.login-maintenance-active .login-maintenance-banner,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-mode.mode-entry-active .login-maintenance-banner,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-mode.mode-entry-active .mode-entry-banner,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) body.screen-mode #screen-mode:has(.mode-entry-screen) .mode-entry-banner{
  max-width:none!important;width:100%;height:100%;margin:0;flex:1 1 auto;min-height:0;
}
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-login.login-entry-active .login-maintenance-art-stage,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-mode.mode-entry-active .login-maintenance-art-stage,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) body.screen-mode #screen-mode:has(.mode-entry-screen) .login-maintenance-art-stage,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) body.login-entry-door-reveal .login-maintenance-art-stage{
  position:absolute;inset:0;padding:0;overflow:hidden;
  display:flex;align-items:stretch;justify-content:stretch;
}
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-login.login-maintenance-active:not(.login-entry-active) .login-maintenance-art-stage{
  position:absolute;inset:0;padding:0;overflow:hidden;
  display:flex;align-items:stretch;justify-content:stretch;
}
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-login.login-entry-active .login-maintenance-art-frame,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-mode.mode-entry-active .login-maintenance-art-frame,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) body.screen-mode #screen-mode:has(.mode-entry-screen) .login-maintenance-art-frame,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) body.login-entry-door-reveal .login-maintenance-art-frame{
  width:100%;height:100%;max-height:none;
  display:flex;align-items:stretch;justify-content:stretch;
}
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-login.login-maintenance-active:not(.login-entry-active) .login-maintenance-art-frame{
  width:100%;height:100%;max-height:none;
  display:flex;align-items:stretch;justify-content:stretch;
}
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-login.login-entry-active .login-maintenance-art-fit,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-mode.mode-entry-active .login-maintenance-art-fit,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) body.screen-mode #screen-mode:has(.mode-entry-screen) .login-maintenance-art-fit,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) body.login-entry-door-reveal .login-maintenance-art-fit{
  position:relative!important;width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;aspect-ratio:auto!important;
  flex:1 1 auto!important;align-self:stretch!important;
  display:flex;align-items:stretch;justify-content:stretch;
}
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-login.login-maintenance-active:not(.login-entry-active) .login-maintenance-art-fit{
  position:relative!important;width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;aspect-ratio:auto!important;
  flex:1 1 auto!important;align-self:stretch!important;overflow:hidden!important;
}
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-login.login-entry-active .login-maintenance-screen,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-login.login-maintenance-active .login-maintenance-screen,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-mode.mode-entry-active .login-maintenance-screen,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) body.screen-mode #screen-mode:has(.mode-entry-screen) .login-maintenance-screen{
  position:relative;display:block;overflow:hidden;
  min-height:100dvh;height:100%;
}
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) body.screen-mode #screen-mode:has(.mode-entry-screen) .login-maintenance-art-fit .login-maintenance-art,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art{
  width:100%!important;height:100%!important;display:block;
  object-fit:fill!important;object-position:center center;
  image-rendering:pixelated;image-rendering:crisp-edges;
}
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-login.login-maintenance-active:not(.login-entry-active) .login-maintenance-art-fit .login-maintenance-art,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-login.login-maintenance-active:not(.login-entry-active) .login-maintenance-art-fit .login-maintenance-art-unlocked{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  object-fit:fill!important;object-position:center center;
  image-rendering:pixelated;image-rendering:crisp-edges;
}
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-login.login-entry-active .login-entry-art-open,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) #screen-mode.mode-entry-active .login-entry-art-open,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) body.login-entry-door-reveal .login-entry-art-open,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app):not([data-mobile-shell="1"]) body.screen-mode #screen-mode:has(.mode-entry-screen) .login-entry-art-open{
  width:100%!important;height:100%!important;
  object-fit:fill!important;object-position:center center;
  image-rendering:pixelated;image-rendering:crisp-edges;
  position:absolute!important;left:0!important;top:0!important;display:block!important;
}
.login-maintenance-hotspots{
  position:absolute;left:0;top:0;width:100%;height:100%;display:block;pointer-events:none;
  box-sizing:border-box;overflow:visible;z-index:3;
}
.login-art-text-layer{
  position:absolute;left:0;top:0;width:100%;height:100%;display:block;pointer-events:none;
  box-sizing:border-box;overflow:visible;z-index:2;container-type:size;
}
.login-art-text-overlay{
  position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);
  display:flex;align-items:center;justify-content:center;
  margin:0;padding:2px 4px;box-sizing:border-box;pointer-events:none;
  color:var(--hs-color,#fde68a);opacity:var(--hs-opacity,1);
  font-size:calc(var(--hs-font-size,24)/1024*100cqh);
  line-height:1.2;text-align:center;white-space:pre-wrap;word-break:break-word;
  transform:rotate(var(--hs-rotate,0deg));transform-origin:center center;
  -webkit-user-select:none;user-select:none;
}
.login-art-text-overlay--align-left{justify-content:flex-start;text-align:left}
.login-art-text-overlay--align-right{justify-content:flex-end;text-align:right}
.login-art-text-overlay--align-center{justify-content:center;text-align:center}
.login-art-text-overlay--weight-normal{font-weight:400}
.login-art-text-overlay--weight-bold{font-weight:700}
.login-art-text-overlay--weight-800{font-weight:800}
.login-art-text-overlay--spacing-tight{letter-spacing:-.02em}
.login-art-text-overlay--spacing-normal{letter-spacing:0}
.login-art-text-overlay--spacing-wide{letter-spacing:.08em}
.login-art-text-overlay--font-pixel{font-family:'Courier New',ui-monospace,monospace}
.login-art-text-overlay--font-sans{font-family:ui-sans-serif,system-ui,sans-serif}
.login-art-text-overlay--font-serif{font-family:Georgia,'Times New Roman',serif}
.login-art-text-overlay--font-mono{font-family:ui-monospace,'Courier New',monospace}
.login-art-text-overlay--font-display{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:900}
.login-art-text-overlay--fx-shadow{text-shadow:0 2px 0 rgba(0,0,0,.55),0 4px 12px rgba(0,0,0,.45)}
.login-art-text-overlay--fx-glow{text-shadow:0 0 8px currentColor,0 0 18px currentColor,0 2px 4px rgba(0,0,0,.5)}
.login-art-text-overlay--fx-outline{
  text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 2px 6px rgba(0,0,0,.45);
}
.login-art-text-overlay--fx-gold{
  color:#fde68a;
  background:linear-gradient(180deg,#fff6c8 0%,#fde68a 35%,#d4a017 70%,#fde68a 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  text-shadow:none;filter:drop-shadow(0 2px 0 rgba(0,0,0,.5)) drop-shadow(0 0 10px rgba(253,230,138,.35));
}
.login-art-text-overlay--fx-neon{
  text-shadow:0 0 6px currentColor,0 0 14px currentColor,0 0 28px rgba(96,165,250,.55),0 2px 4px rgba(0,0,0,.5);
}
.login-art-text-overlay--anim-pulse{animation:loginArtTextPulse 2.2s ease-in-out infinite}
.login-art-text-overlay--anim-fade{animation:loginArtTextFade 2.8s ease-in-out infinite}
.login-art-text-overlay--anim-bounce{animation:loginArtTextBounce 2.4s ease-in-out infinite}
.login-art-text-overlay--anim-shimmer{animation:loginArtTextShimmer 3s linear infinite}
.login-art-text-overlay--anim-float{animation:loginArtTextFloat 3.6s ease-in-out infinite}
@keyframes loginArtTextPulse{0%,100%{transform:rotate(var(--hs-rotate,0deg)) scale(1)}50%{transform:rotate(var(--hs-rotate,0deg)) scale(1.04)}}
@keyframes loginArtTextFade{0%,100%{opacity:var(--hs-opacity,1)}50%{opacity:calc(var(--hs-opacity,1)*.45)}}
@keyframes loginArtTextBounce{0%,100%{transform:rotate(var(--hs-rotate,0deg)) translateY(0)}50%{transform:rotate(var(--hs-rotate,0deg)) translateY(-6px)}}
@keyframes loginArtTextShimmer{
  0%{filter:brightness(1)}40%{filter:brightness(1.35)}60%{filter:brightness(1.35)}100%{filter:brightness(1)}
}
@keyframes loginArtTextFloat{0%,100%{transform:rotate(var(--hs-rotate,0deg)) translateY(0)}50%{transform:rotate(var(--hs-rotate,0deg)) translateY(-4px)}}
.login-maintenance-hotspot{
  position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);
  display:block;appearance:none;-webkit-appearance:none;
  border:none;border-radius:0;
  background:transparent;padding:0;margin:0;cursor:pointer;
  pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  transition:filter .22s ease,opacity .22s ease;
  outline:none;box-shadow:none;box-sizing:border-box;
  overflow:visible;min-width:0;min-height:0;
  -webkit-user-select:none;user-select:none;
  transform:rotate(var(--hs-rotate,0deg));transform-origin:center center;
}
.login-maintenance-hotspot > *{pointer-events:none!important}
.login-maintenance-hotspot:hover,
.login-maintenance-hotspot:focus-visible,
.login-maintenance-hotspot.has-bubble,
.login-maintenance-hotspot.is-open{
  z-index:4;
}
.login-maintenance-hotspot-link{display:block;text-decoration:none;color:inherit}
.login-maintenance-hotspot-ring{display:none!important}
.login-maintenance-hotspot-tip{
  display:none!important;
}
.login-maintenance-hotspot-tip.is-portaled,
.login-maintenance-hotspot-tip[data-fixed-tip]{
  display:block!important;
  min-width:min(240px,70vw);max-width:min(280px,78vw);
  padding:8px 11px;border-radius:10px;
  background:rgba(8,10,20,.94);border:1px solid rgba(232,197,71,.32);
  box-shadow:0 10px 28px rgba(0,0,0,.45);
  color:#eef1ff;font-size:.68rem;line-height:1.45;font-weight:600;text-align:center;
}
.login-maintenance-hotspot-tip::after{
  display:none;
}
.login-maintenance-hotspot:hover,
.login-maintenance-hotspot:focus-visible{
  background:transparent;border:none;outline:none;box-shadow:none;
  filter:brightness(1.06);
}
.login-maintenance-hotspot-door.has-bubble,
.login-maintenance-hotspot-bubble.has-bubble{
  filter:brightness(1.06);
}
.login-maintenance-hotspot:active{
  border:none;outline:none;box-shadow:none;background:transparent;
  filter:brightness(1.1);
}
.login-maintenance-hotspot-link:hover .login-maintenance-hotspot-tip,
.login-maintenance-hotspot-link:focus-visible .login-maintenance-hotspot-tip{
  display:none!important;
}
.login-maintenance-hotspot-door.has-bubble .login-maintenance-hotspot-tip{display:none}
.login-maintenance-door-bubble{
  position:absolute;left:50%;bottom:calc(100% + 14px);transform:translateX(-50%) scale(.88);
  min-width:min(210px,58vw);max-width:min(300px,82vw);
  padding:10px 14px;border-radius:16px;
  background:#fff8e7;border:2px solid #1a1208;color:#1a1208;
  font-size:.72rem;font-weight:800;line-height:1.4;text-align:center;
  box-shadow:0 7px 0 rgba(0,0,0,.32),0 12px 28px rgba(0,0,0,.42);
  opacity:0;visibility:hidden;pointer-events:none;z-index:9;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.login-maintenance-door-bubble::after{
  content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);
  border:9px solid transparent;border-top-color:#1a1208;
}
.login-maintenance-door-bubble::before{
  content:'';position:absolute;top:calc(100% - 3px);left:50%;transform:translateX(-50%);
  border:7px solid transparent;border-top-color:#fff8e7;z-index:1;
}
.login-maintenance-hotspot-door.has-bubble .login-maintenance-door-bubble{
  opacity:1;visibility:visible;transform:translateX(-50%) scale(1);
  animation:loginMaintBubblePop .28s ease;
}
.login-maintenance-hotspot-bubble.has-bubble .login-maintenance-hotspot-tip{display:none}
.login-maintenance-hotspot-bubble.has-bubble .login-maintenance-door-bubble{
  opacity:1;visibility:visible;transform:translateX(-50%) scale(1);
  animation:loginMaintBubblePop .28s ease;
}
.login-maintenance-hotspot-tip.is-portaled,
.login-maintenance-door-bubble.is-portaled,
.login-maintenance-hotspot-tip[data-fixed-tip],
.login-maintenance-door-bubble[data-fixed-tip]{
  position:fixed!important;
  bottom:auto!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none;
  z-index:100000;
}
.login-maintenance-hotspot-tip.is-portaled::after,
.login-maintenance-door-bubble.is-portaled::after,
.login-maintenance-door-bubble.is-portaled::before,
.login-maintenance-hotspot-tip[data-fixed-tip]::after,
.login-maintenance-door-bubble[data-fixed-tip]::after,
.login-maintenance-door-bubble[data-fixed-tip]::before{
  display:none!important;
}
.login-maintenance-hotspot-door.has-bubble .login-maintenance-door-bubble.is-portaled,
.login-maintenance-hotspot-door.has-bubble .login-maintenance-door-bubble[data-fixed-tip]{
  transform:none!important;
  animation:none!important;
}
@keyframes loginMaintBubblePop{
  0%{transform:translateX(-50%) scale(.78)}
  70%{transform:translateX(-50%) scale(1.05)}
  100%{transform:translateX(-50%) scale(1)}
}
.login-maintenance-copy{
  position:relative;left:auto;right:auto;bottom:auto;z-index:3;flex:0 0 auto;width:100%;
  display:flex;flex-direction:column;gap:8px;
  max-height:min(42dvh,100%);
  overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding:16px max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));
  background:linear-gradient(to top,rgba(6,8,16,.98) 0%,rgba(6,8,16,.9) 72%,rgba(6,8,16,.55) 100%);
}
.login-maintenance-hint{
  font-size:.62rem;line-height:1.45;color:rgba(232,197,71,.72);margin:2px 0 0;font-style:italic;
}
.login-maintenance-badge{
  display:inline-flex;align-self:flex-start;align-items:center;gap:6px;
  font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:#fde68a;padding:4px 10px;border-radius:999px;
  border:1px solid rgba(232,197,71,.35);background:rgba(232,197,71,.12);
  flex-shrink:0;
}
.login-maintenance-title{
  font-size:clamp(1rem,4.5vw,1.35rem);color:var(--gold);
  margin:2px 0 0;line-height:1.3;flex-shrink:0;
}
.login-maintenance-message{
  font-size:clamp(.74rem,3.2vw,.86rem);line-height:1.55;color:#d8dce8;
  margin:0;max-width:42rem;overflow-wrap:anywhere;
}
.login-maintenance-inner{
  display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 16px;
  border-radius:var(--r);border:1px solid rgba(232,197,71,.22);text-align:center;
}
.login-maintenance-inner.login-maintenance-owner{border-color:rgba(74,222,128,.28);background:rgba(74,222,128,.06)}
.login-maintenance-icon{font-size:1.4rem;line-height:1}
.login-maintenance-inner strong{font-size:.82rem;color:var(--gold)}
.login-maintenance-inner p{font-size:.72rem;line-height:1.45;color:var(--muted);margin:0}
.login-icon{font-size:3rem;margin-bottom:12px;filter:drop-shadow(0 0 16px rgba(232,197,71,.4))}

/* ══════════════════════════════════════════
   SCREEN: MODUS
   ══════════════════════════════════════════ */
#screen-mode{justify-content:center;align-items:center;min-height:calc(100dvh - 56px)}
html[data-desktop-web="1"] body.screen-mode #screen-mode,
html[data-desktop-web="1"] #screen-mode.mode-entry-active{
  justify-content:stretch!important;align-items:stretch!important;min-height:100dvh!important;
}
.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 12px}
.mode-tile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 10px;border-radius:var(--r);border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--txt);transition:transform .15s,box-shadow .15s,border-color .15s}
.mode-tile:hover,.mode-tile:active{transform:translateY(-2px);border-color:var(--gold)}
.mode-start-btn{margin-top:16px;min-width:180px;padding:14px 28px;font-size:1rem;font-weight:900;border-radius:14px}
.tile-icon{font-size:2.2rem;line-height:1}
.tile-name{font-weight:800;font-size:.9rem;color:var(--gold)}
.tile-desc{font-size:.62rem;color:var(--muted);line-height:1.35;text-align:center}

/* ══════════════════════════════════════════
   SCREEN: HUB
   ══════════════════════════════════════════ */
.hub-char-card{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;position:relative;overflow:hidden;transform:translateZ(0);contain:layout style;border-radius:16px}
.hub-char-card.glass{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.hub-char-card-inner{display:flex;align-items:center;gap:10px;flex:1;padding:12px 14px;position:relative;flex-wrap:wrap;min-width:0}
.hub-avatar-wrap{position:relative;width:92px;height:92px;flex-shrink:0;overflow:visible;border-radius:14px;isolation:isolate}
.hub-avatar-wrap.hub-avatar-pickable{cursor:pointer;transition:transform .12s ease,filter .12s ease}
.hub-avatar-wrap.hub-avatar-pickable:active{transform:scale(1.03)}
.hub-avatar-wrap.hub-avatar-pickable.is-busy{opacity:.72;cursor:wait;pointer-events:none}
.hub-avatar-pick-hit{
    position:absolute;inset:0;z-index:5;border-radius:inherit;
    cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(232,197,71,.22);
    appearance:none;border:0;background:transparent;padding:0;margin:0;
}
.hub-avatar-file-input{
    position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
    clip:rect(0,0,0,0);white-space:nowrap;border:0;opacity:0;
}
#screen-hub.hidden .hub-avatar-pick-hit{pointer-events:none}
.hub-avatar-wrap.hub-avatar-pickable:hover .hub-sprite.hub-avatar-img,
.hub-avatar-wrap.hub-avatar-pickable:hover .hub-avatar-fallback,
.hub-avatar-wrap.hub-avatar-pickable:active .hub-sprite.hub-avatar-img,
.hub-avatar-wrap.hub-avatar-pickable:active .hub-avatar-fallback,
.hub-avatar-wrap.hub-avatar-pickable:focus-within .hub-sprite.hub-avatar-img,
.hub-avatar-wrap.hub-avatar-pickable:focus-within .hub-avatar-fallback{
    box-shadow:0 0 0 3px rgba(232,197,71,.22),0 4px 12px rgba(0,0,0,.4);
}
.hub-avatar-fallback,
.hub-avatar-wrap>.hub-sprite{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;margin:0;box-sizing:border-box}
.hub-avatar-wrap:not(.has-cos-frame)>.hub-sprite.hub-avatar-img,
.hub-avatar-wrap:not(.has-cos-frame)>.hub-avatar-fallback{width:100%;height:100%;left:0;top:0;transform:none;border-radius:14px}
.hub-avatar-fallback{display:flex;align-items:center;justify-content:center;font-size:2.2rem;border-radius:12px;background:rgba(0,0,0,.35);border:2px solid var(--line)}
.hub-sprite{width:100%;height:100%;border-radius:12px;image-rendering:pixelated;object-fit:contain;background:rgba(0,0,0,.35);border:2px solid rgba(232,197,71,.3);box-shadow:0 4px 12px rgba(0,0,0,.4)}
.hub-char-info{flex:1;min-width:0}
.hub-profile-btns{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.hub-profil-inline-btn{
  flex:1;min-width:0;padding:6px 8px;font-size:.68rem;
  transition:transform .14s ease,border-color .14s ease,background .14s ease;
}
.hub-profil-inline-btn:hover{transform:translateY(-1px)}
@media (prefers-reduced-motion:reduce){
  .hub-frame-overlay,.cos-frame-overlay,
  .hub-mythic-banner::before,.cos-namecolor-mythic .cos-name-text,
  .cos-fx-layer:not(.cos-salon-fx-layer) .cos-particle,.cos-fx-layer:not(.cos-salon-fx-layer) .cos-flake,.cos-fx-layer:not(.cos-salon-fx-layer) .cos-ember,.cos-fx-layer:not(.cos-salon-fx-layer) .cos-rainbow-dot,.cos-fx-layer:not(.cos-salon-fx-layer) .cos-matrix-col,.cos-fx-layer:not(.cos-salon-fx-layer) .cos-staff-emoji{
    animation:none!important;opacity:.9!important;
  }
  /* Staff-FX bleiben auch bei reduced-motion leicht sichtbar */
  .cos-fx-layer .cos-crown-dust,.cos-fx-layer .cos-crown-glint,.cos-fx-layer .cos-staff-hexfly,.cos-fx-layer .cos-gm-spark,.cos-fx-layer .cos-gm-beam,.cos-fx-layer .cos-feather-plume{
    opacity:.95!important;
  }
  .hub-grid-btn,.hub-grid-icon,.hub-profil-inline-btn{transition:none!important}
}
.attr-points-banner{padding:10px 12px;margin:8px 0;border-radius:var(--r-sm);font-size:.78rem;text-align:center}
.attr-points-banner.attr-points-ready{border-color:rgba(168,85,247,.45);background:rgba(168,85,247,.12)}
.attr-list{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.attr-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:var(--r-sm)}
.attr-row-main{display:flex;align-items:center;gap:10px;min-width:0}
.attr-emoji{font-size:1.2rem;flex-shrink:0}
.attr-labels{min-width:0}
.attr-name{font-size:.82rem;font-weight:700}
.attr-row-right{display:flex;align-items:center;gap:8px;flex-shrink:0}
.attr-cap-hint{margin:0 0 8px;line-height:1.45}
.profil-rename{
  display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 220px;
  margin:0;padding:0;border:0;background:transparent;box-shadow:none;border-radius:0;
}
.profil-rename-title{
  flex:0 0 auto;font-family:Cinzel,Georgia,serif;font-size:.72rem;font-weight:800;
  letter-spacing:.04em;color:var(--gold,#e8c547);margin:0;
}
.profil-rename-hint{display:none}
.profil-rename-row{display:contents}
.profil-rename-input{
  flex:1 1 auto;min-width:0;padding:6px 10px;border-radius:10px;
  border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.32);
  color:var(--txt,#eef1f6);font-size:.8rem;font-weight:600;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.profil-rename-input:disabled{opacity:.55}
.profil-rename-input:focus{outline:none;border-color:rgba(232,197,71,.5);box-shadow:0 0 0 2px rgba(232,197,71,.12)}
#profil-rename-btn.profil-rename-img-btn{flex:0 0 auto;min-width:0;min-height:0;padding:0;border:0;background:transparent;border-radius:0;font-size:0}
#profil-rename-btn:not(.profil-rename-img-btn){flex:0 0 auto;min-width:72px;min-height:32px;padding:6px 12px;border-radius:10px;font-weight:800;font-size:.76rem}
.profil-vitals{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.profil-vital-chip{font-size:.72rem;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:var(--muted,#b8c0cc);line-height:1.25}
.profil-vital-chip strong{color:var(--txt,#eef1f6);font-weight:800}
.attr-row-capped{opacity:.92;border:1px solid rgba(232,197,71,.12)}
.attr-cap-badge{color:var(--gold);font-weight:800}
.attr-breakdown{line-height:1.35;margin-top:2px}
.attr-name-row{display:flex;align-items:center;gap:4px;min-width:0;flex-wrap:wrap}
.attr-name-row .stat-hover-wrap{flex-shrink:0;margin-left:auto}
.attr-name-row .stat-hover-trigger.chip-more{width:16px;height:16px;min-width:16px}
.attr-meta{display:flex;flex-wrap:wrap;gap:3px;margin-top:5px;align-items:center}
.attr-meta-chip{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;border-radius:999px;font-size:.56rem;font-weight:600;line-height:1.25;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.78);font-variant-numeric:tabular-nums;white-space:nowrap;max-width:100%}
.attr-meta-chip.attr-meta-pkt{color:#c4b5fd;border-color:rgba(168,85,247,.32);background:rgba(168,85,247,.12)}
.attr-meta-chip.attr-meta-equip{color:#93c5fd;border-color:rgba(94,196,255,.26);background:rgba(94,196,255,.1)}
.attr-meta-chip.attr-meta-paragon{color:var(--gold);border-color:rgba(232,197,71,.28);background:rgba(232,197,71,.1)}
.attr-meta-chip.attr-meta-cap{color:#fcd34d;border-color:rgba(252,211,77,.35);background:rgba(252,211,77,.1);font-weight:800}
.profil-attr-hint{display:none}
.panel-profil .attr-section-primary,
.panel-profil .attr-section-secondary,
.panel-profil .attr-section-points{margin-top:0;padding-top:0}
.panel-profil .profil-points-banner-chip{
  font-family:Rajdhani,system-ui,sans-serif;font-weight:800;letter-spacing:.02em;
}
.panel-profil .profil-points-banner-chip.is-ready{
  border-color:rgba(232,197,71,.55)!important;
  background:rgba(232,197,71,.16)!important;
  color:#fde68a!important;
  box-shadow:0 0 12px rgba(232,197,71,.18);
}
.panel-profil .profil-attr-board{
  display:grid;
  grid-template-rows:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(10px,1.6vh,18px);
  flex:1 1 auto;min-height:0;height:100%;width:100%;
  padding:0;
}
.panel-profil .profil-attr-section{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:clamp(6px,1vh,10px);
  min-height:0;width:100%;
}
.panel-profil .profil-section-label{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-family:Cinzel,Georgia,serif;letter-spacing:.08em;font-size:clamp(.74rem,1vh + .3rem,.86rem);font-weight:800;
  color:rgba(232,197,71,.95);border-bottom:1px solid rgba(232,197,71,.22);
  padding:0 2px clamp(4px,.7vh,8px);margin:0;
}
.panel-profil .attr-list,
.panel-profil .attr-list-primary,
.panel-profil .attr-list-secondary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:clamp(6px,1vh,10px) clamp(8px,1vw,12px);
  margin-top:0;
  min-height:0;
  height:100%;
  align-content:stretch;
  width:100%;
}
.panel-profil .attr-list-secondary{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.panel-profil .attr-card{
  position:relative;overflow:hidden;
  height:100%;min-height:0;width:100%;
  display:flex;align-items:center;
  padding:clamp(6px,.9vh,10px) clamp(8px,.9vw,12px);
  border-radius:12px;
  border:1px solid rgba(232,197,71,.26);
  background:
    linear-gradient(155deg,rgba(8,10,18,.22),rgba(6,8,14,.58)),
    var(--profil-field-bg,url('/activity/rpg/icons/attr-field-bg.png')) center/cover no-repeat;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 3px 10px rgba(0,0,0,.18);
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,filter .15s ease;
}
.panel-profil .attr-card::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,rgba(232,197,71,.1),transparent 40%,rgba(0,0,0,.14));
}
.panel-profil .attr-card::after{display:none}
.panel-profil .attr-card:hover{
  border-color:rgba(232,197,71,.48);
  transform:translateY(-1px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 0 16px rgba(232,197,71,.12),0 8px 18px rgba(0,0,0,.25);
  filter:brightness(1.05);
}
.panel-profil .attr-card--spendable{
  border-color:rgba(232,197,71,.4);
  background:
    linear-gradient(155deg,rgba(232,197,71,.1),rgba(6,8,14,.48)),
    var(--profil-field-bg-gold,url('/activity/rpg/icons/attr-field-bg-gold.png')) center/cover no-repeat;
}
.panel-profil .attr-card-capped{
  border-color:rgba(232,197,71,.42);
  background:
    linear-gradient(155deg,rgba(232,197,71,.14),rgba(6,8,14,.45)),
    var(--profil-field-bg-gold,url('/activity/rpg/icons/attr-field-bg-gold.png')) center/cover no-repeat;
}
.panel-profil .attr-card-main{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:clamp(6px,.7vw,10px);
  align-items:center;
  width:100%;
}
.panel-profil .attr-card-emoji{
  width:clamp(1.7rem,2.8vh,2.1rem);height:clamp(1.7rem,2.8vh,2.1rem);
  display:flex;align-items:center;justify-content:center;
  font-size:clamp(.9rem,1.5vh,1.1rem);border-radius:8px;flex-shrink:0;
  border:1px solid rgba(232,197,71,.3);
  background:
    linear-gradient(145deg,rgba(6,8,16,.3),rgba(6,8,16,.55)),
    var(--profil-icon-plate,url('/activity/rpg/icons/attr-icon-plate.png')) center/cover no-repeat;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 2px 6px rgba(0,0,0,.2);
}
.panel-profil .attr-card-body{
  display:flex;flex-direction:column;gap:1px;min-width:0;justify-content:center;
}
.panel-profil .attr-card-title{
  display:flex;align-items:center;gap:3px;min-width:0;margin:0;
}
.panel-profil .attr-card-name{
  font-family:Cinzel,Georgia,serif;
  font-size:clamp(.62rem,.85vh + .22rem,.74rem);font-weight:700;
  line-height:1.1;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(232,197,71,.72);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  text-shadow:0 1px 2px rgba(0,0,0,.55);
}
.panel-profil .attr-card-meta,
.panel-profil .attr-card-side{display:none}
.panel-profil .attr-card-total{
  font-family:Rajdhani,system-ui,sans-serif;
  font-size:clamp(1.05rem,1.6vh + .22rem,1.28rem);font-weight:700;line-height:1.05;
  letter-spacing:.02em;color:#f0d060;font-variant-numeric:tabular-nums;
  text-shadow:0 1px 2px rgba(0,0,0,.5),0 0 8px rgba(232,197,71,.14);
}
.panel-profil .attr-card-btn,
.panel-profil .attr-cap-badge{
  flex-shrink:0;align-self:center;
}
.panel-profil .attr-card-btn{
  min-width:0;min-height:0;padding:0;border:0;background:transparent;box-shadow:none;border-radius:0;
}
.panel-profil .attr-card-btn--empty{visibility:hidden;pointer-events:none;width:30px;height:30px}
.panel-profil .attr-cap-badge{
  font-size:.58rem;font-weight:800;color:var(--gold,#e8c547);letter-spacing:.06em;
  padding:3px 6px;border-radius:7px;border:1px solid rgba(232,197,71,.28);
  background:rgba(232,197,71,.1);
}
#panel-card.panel-profil .attr-plus-img-btn img{width:30px;height:30px}
@media (max-width:900px){
  .panel-profil .attr-list-primary,
  .panel-profil .attr-list-secondary{
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:none;
    grid-auto-rows:minmax(56px,1fr);
  }
}
@media (max-width:760px){
  .panel-profil .profil-attr-board{display:flex;flex-direction:column;height:auto}
  .panel-profil .profil-attr-section{display:flex;flex-direction:column;flex:0 0 auto}
  .panel-profil .attr-list-primary,
  .panel-profil .attr-list-secondary{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:none;grid-auto-rows:auto;height:auto;
  }
  .panel-profil .attr-card{height:auto;padding:8px 10px}
}
@media (max-width:700px){
  html.flix-rpg-mobile #panel-card.panel-statistik,
  html[data-abenteuer-apk="1"] #panel-card.panel-statistik,
  html[data-mobile-shell="1"] #panel-card.panel-statistik,
  #panel-card.panel-statistik{
    max-height:var(--rpg-menu-scroll-max,78vh)!important;
    height:var(--rpg-menu-scroll-max,78vh)!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
  }
  html.flix-rpg-mobile #panel-card.panel-statistik .stats-panel,
  html[data-abenteuer-apk="1"] #panel-card.panel-statistik .stats-panel,
  html[data-mobile-shell="1"] #panel-card.panel-statistik .stats-panel,
  #panel-card.panel-statistik .stats-panel{
    flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;height:100%!important;
  }
  html.flix-rpg-mobile #panel-card.panel-statistik .stats-panel-scroll,
  html[data-abenteuer-apk="1"] #panel-card.panel-statistik .stats-panel-scroll,
  html[data-mobile-shell="1"] #panel-card.panel-statistik .stats-panel-scroll,
  #panel-card.panel-statistik .stats-panel-scroll{
    flex:1 1 auto!important;min-height:0!important;
    overflow-y:auto!important;overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;
    overscroll-behavior:contain!important;
  }
  html.flix-rpg-mobile #panel-card.panel-statistik .stats-interactive,
  html[data-abenteuer-apk="1"] #panel-card.panel-statistik .stats-interactive,
  html[data-mobile-shell="1"] #panel-card.panel-statistik .stats-interactive,
  #panel-card.panel-statistik .stats-interactive,
  #panel-card.panel-statistik .stats-ach-btn{
    touch-action:pan-y!important;
  }
}
.admin-check-row{display:flex;align-items:center;gap:10px;margin:8px 0}
.attr-total{font-size:1rem;font-weight:800;font-variant-numeric:tabular-nums;min-width:2rem;text-align:right}
.attr-plus-btn{min-width:36px;padding:4px 10px;font-weight:800}
/* Hub-Name: Badges immer links, dann Titel, dann Name — nie truncaten die Badges */
.hub-char-name{font-weight:800;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;flex-wrap:nowrap;gap:3px;min-width:0}
.hub-char-name.has-guild-tag,.zone-player-name.has-guild-tag,#hero-combat-name.has-guild-tag{
  flex-direction:column;align-items:flex-start;gap:1px;line-height:1.15
}
.hub-char-name .cos-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
/* Gildenname über Spielername */
.player-name-stack{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;max-width:100%;line-height:1.15}
.player-name-stack--compact{gap:0}
.player-paragon-mark{
  display:inline-block;margin-right:.28em;font-weight:800;line-height:1;
  color:#e8c547;text-shadow:0 0 8px rgba(232,197,71,.45),0 1px 2px rgba(0,0,0,.55);
  vertical-align:-.05em;flex-shrink:0
}
.player-display-name .player-paragon-mark,
.cos-player-name .player-paragon-mark,
.hub-friend-name-text .player-paragon-mark,
.chat-row-name-text .player-paragon-mark,
.online-modal-name-text .player-paragon-mark{margin-right:.32em}
.player-guild-tag{
  display:inline-flex;align-items:center;gap:3px;max-width:100%;
  font-family:Georgia,"Times New Roman",Palatino,serif;font-weight:700;font-size:.62rem;
  letter-spacing:.06em;text-transform:none;color:#f5d78e;
  text-shadow:0 0 8px rgba(245,215,142,.45),0 1px 2px rgba(0,0,0,.85);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.player-guild-icon{font-size:.72rem;line-height:1;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}
.player-guild-icon.player-guild-logo-img{width:1.15em;height:1.15em;min-width:1.15em;border-radius:4px;object-fit:cover;display:inline-block;vertical-align:middle;font-size:inherit;line-height:1;filter:none;border:1px solid rgba(232,197,71,.35)}
.lobby-name-stack .player-guild-icon.player-guild-logo-img{width:1.25em;height:1.25em;min-width:1.25em}
.player-guild-text{overflow:hidden;text-overflow:ellipsis}
.player-display-name{display:inline-flex;align-items:center;gap:3px;max-width:100%;min-width:0;font-weight:800}
.player-display-name .cos-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.hub-char-name .player-guild-tag,.zone-player-name .player-guild-tag{font-size:.58rem}
.hub-char-name .player-display-name,.zone-player-name .player-display-name{font-size:inherit}
.duel-name-stack{align-items:center;text-align:center;width:100%}
.duel-name .player-name-stack{align-items:center;width:100%}
.duel-name .player-guild-tag{font-size:clamp(.46rem,.54rem,2.2vw);justify-content:center;width:100%}
.duel-name .player-display-name{justify-content:center;width:100%;font-size:inherit}
.ow-social-name-stack,.ow-hud-name-stack{max-width:100%}
.ow-social-name .player-name-stack,.ow-hud-name .player-name-stack{width:100%}
.ow-social-name .player-guild-tag{font-size:.56rem}
.ow-hud-name .player-guild-tag{font-size:.54rem}
.player-name-stack.cos-namecolor-mythic .player-display-name .cos-name-text,
.player-name-stack .player-display-name.cos-namecolor-mythic .cos-name-text{
  position:relative;display:inline-block;font-weight:900;letter-spacing:.05em;
  background:linear-gradient(105deg,#f8ecc0 0%,#e8c547 18%,#ffe08a 34%,#d8b4fe 52%,#a855f7 68%,#c084fc 78%,#e8c547 92%,#fde68a 100%);
  background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 5px rgba(255,215,120,.5)) drop-shadow(0 0 10px rgba(168,85,247,.42));
  animation:cosMythicNameShimmer 4s ease-in-out infinite;
}
.hof-name.player-name-stack{align-items:flex-start}
.hof-name .player-guild-tag{font-size:.52rem}
/* Mythische Namensfarbe (Lv.100) — Gold-Lila-Glanz am Spielernamen */
.hub-char-name.cos-namecolor-mythic .cos-name-text,
.zone-player-name.cos-namecolor-mythic .cos-name-text,
#hero-combat-name.cos-namecolor-mythic .cos-name-text,
.hof-name.cos-namecolor-mythic .cos-name-text,
.cos-namecolor-mythic .cos-name-text,
.chat-row-name-btn .cos-namecolor-mythic .cos-name-text,
.hub-friend-name-btn .cos-namecolor-mythic .cos-name-text,
.cos-name-text.cos-namecolor-mythic,
.cos-namecolor-preview.cos-namecolor-mythic .cos-name-text{
  position:relative;display:inline-block;font-weight:900;letter-spacing:.05em;
  background:linear-gradient(105deg,#f8ecc0 0%,#e8c547 18%,#ffe08a 34%,#d8b4fe 52%,#a855f7 68%,#c084fc 78%,#e8c547 92%,#fde68a 100%);
  background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
  filter:none;
  animation:cosMythicNameShimmer 4s ease-in-out infinite;
  will-change:background-position;
}
.cos-namecolor-mythic,
.hub-char-name.cos-namecolor-mythic,
.zone-player-name.cos-namecolor-mythic,
#hero-combat-name.cos-namecolor-mythic,
.hof-name.cos-namecolor-mythic,
.player-name-stack.cos-namecolor-mythic,
.cos-namecolor-preview.cos-namecolor-mythic{
  filter:drop-shadow(0 0 5px rgba(255,215,120,.5)) drop-shadow(0 0 10px rgba(168,85,247,.42));
}
.cos-namecolor-preview.cos-namecolor-mythic{
  display:flex;align-items:center;justify-content:center;min-height:3.6rem;width:100%;
  padding:10px 8px;border-radius:10px;position:relative;overflow:hidden;
  background:radial-gradient(ellipse at 50% 38%,rgba(168,85,247,.18),rgba(12,8,20,.92) 62%);
  border:1px solid rgba(232,197,71,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 16px rgba(168,85,247,.12);
}
.cos-namecolor-preview.cos-namecolor-mythic::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 36%,rgba(255,220,120,.12) 50%,transparent 64%);
  animation:hub-mythic-shine 4.5s ease-in-out infinite;pointer-events:none;
}
.cos-namecolor-preview.cos-namecolor-mythic .cos-name-text{
  font-size:.95rem;text-transform:uppercase;letter-spacing:.12em;z-index:1;
}
@keyframes cosMythicNameShimmer{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}
.hub-char-meta{display:block;text-align:center;margin-top:5px;max-width:100%;width:100%}
.hub-char-meta-row{
  display:inline-flex;flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:center;
  gap:4px;max-width:100%;vertical-align:top;text-align:center;
}
.hub-char-meta-line{
  display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:5px;max-width:100%;
}
.hub-meta-chip{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:999px;font-size:.68rem;font-weight:700;line-height:1.25;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.hub-online-chip{
  justify-content:center;max-width:100%;
  font-size:.62rem;font-weight:700;
}
.hub-online-chip--clickable{
  cursor:pointer;user-select:none;
  transition:border-color .15s,background .15s,transform .12s;
}
.hub-online-chip--clickable:hover,
.hub-online-chip--clickable:focus-visible{
  border-color:rgba(74,222,128,.55);
  background:rgba(34,197,94,.16);
  outline:none;
}
.hub-online-chip--clickable:active{transform:scale(.98)}

.hub-presence-slot{display:none!important}
.hub-presence-wrap{
  position:relative;flex:0 0 auto;width:auto;min-width:0;
  display:inline-flex;align-items:center;justify-content:center;
}
.hub-presence-btn{
  flex:0 0 auto;width:28px;height:28px;min-width:28px;padding:0;margin:0;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;cursor:pointer;user-select:none;
  border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);
  box-shadow:0 2px 8px rgba(0,0,0,.2);
  transition:border-color .15s,background .15s,transform .12s,filter .15s;
}
.hub-presence-btn:hover,.hub-presence-btn:focus-visible{outline:none;transform:translateY(-1px);filter:brightness(1.08)}
.hub-presence-dot{
  width:10px;height:10px;border-radius:50%;display:block;flex:0 0 auto;
  box-shadow:0 0 0 1px rgba(0,0,0,.25);
}
.hub-presence-btn.hub-presence--online{
  border-color:rgba(74,222,128,.5);background:rgba(34,197,94,.16);
}
.hub-presence-btn.hub-presence--online .hub-presence-dot{
  background:#4ade80;box-shadow:0 0 0 1px rgba(74,222,128,.35),0 0 8px rgba(74,222,128,.55);
}
.hub-presence-btn.hub-presence--busy{
  border-color:rgba(248,113,113,.55);background:rgba(239,68,68,.16);
}
.hub-presence-btn.hub-presence--busy .hub-presence-dot{
  background:#f87171;box-shadow:0 0 0 1px rgba(248,113,113,.35),0 0 8px rgba(248,113,113,.5);
}
.hub-presence-btn.hub-presence--offline{
  border-color:rgba(148,163,184,.5);background:rgba(100,116,139,.18);
}
.hub-presence-btn.hub-presence--offline .hub-presence-dot{
  background:#94a3b8;box-shadow:0 0 0 1px rgba(148,163,184,.3);
}
.hub-presence-menu{
  position:fixed;left:0;top:0;z-index:140000;
  display:flex;flex-direction:column;gap:4px;padding:8px;
  width:max-content;min-width:188px;max-width:min(92vw,280px);
  border-radius:12px;border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(165deg,rgba(24,30,46,.98),rgba(8,10,18,.99));
  box-shadow:0 14px 36px rgba(0,0,0,.45);
  pointer-events:auto;
}
.hub-presence-menu.hidden{display:none!important}
.hub-presence-option{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  width:100%;padding:8px 10px;border-radius:10px;border:1px solid transparent;
  background:rgba(255,255,255,.04);color:inherit;font:inherit;font-size:.72rem;font-weight:700;
  cursor:pointer;text-align:left;
}
.hub-presence-option:hover,.hub-presence-option.is-active{
  border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.08);
}
.hub-presence-hint{font-size:.62rem;font-weight:600;opacity:.65;white-space:nowrap}

/* Online-Spieler Modal */
.online-players-modal{
  position:fixed;inset:0;z-index:130000;display:flex;align-items:center;justify-content:center;
  padding:max(10px, env(safe-area-inset-top, 0px)) max(10px, env(safe-area-inset-right, 0px)) max(10px, env(safe-area-inset-bottom, 0px)) max(10px, env(safe-area-inset-left, 0px));
  opacity:0;pointer-events:none;transition:opacity .2s ease;
  box-sizing:border-box;
}
.online-players-modal.is-open{opacity:1;pointer-events:auto}
.online-players-modal-backdrop{
  position:absolute;inset:0;background:rgba(0,0,0,.66);backdrop-filter:blur(9px)
}
.online-players-modal-card{
  position:relative;z-index:1;width:min(560px,100%);
  height:auto;max-height:100%;min-height:0;
  display:flex;flex-direction:column;border-radius:16px;overflow:hidden;
  border:1px solid rgba(255,255,255,.14);box-shadow:0 22px 60px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.06);
  background:
    radial-gradient(120% 80% at 10% -10%,rgba(120,160,255,.14),transparent 50%),
    linear-gradient(165deg,rgba(24,30,46,.97),rgba(8,10,18,.99));
  box-sizing:border-box;
}
.online-players-modal-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:12px 14px 10px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0
}
.online-players-modal-head h3{margin:0;font-size:1.05rem;letter-spacing:.02em}
.online-players-modal-list{
  flex:1 1 0%;min-height:0;height:auto;
  overflow-y:scroll!important;overflow-x:hidden;
  /* Banner füllen die Inhaltsfläche — nur kleiner Rand zum Modal (0–8px) */
  padding:8px 4px 14px 4px;display:flex;flex-direction:column;gap:10px;
  align-items:stretch;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  touch-action:pan-y;
  scrollbar-gutter:stable;
  scrollbar-width:auto;
  scrollbar-color:rgba(232,197,71,.7) rgba(0,0,0,.4);
}
.online-players-modal-list::-webkit-scrollbar{width:12px}
.online-players-modal-list::-webkit-scrollbar-track{
  background:rgba(0,0,0,.4);border-radius:999px;margin:4px 0;
}
.online-players-modal-list::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(232,197,71,.7),rgba(180,140,60,.55));
  border-radius:999px;border:2px solid rgba(0,0,0,.3);
  min-height:40px;
}
/* Kein mask — hat Scrollbar + letzte Karte abgeschnitten */
.online-players-modal-list.is-scrollable,
.online-players-modal-list.is-scrollable.is-at-end{
  mask-image:none!important;-webkit-mask-image:none!important;
}
.online-players-modal-scroll-hint{
  flex:0 0 auto;text-align:center;font-size:.68rem;font-weight:700;
  letter-spacing:.04em;color:rgba(232,197,71,.9);padding:6px 8px 10px;
  opacity:1;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(8,10,18,.95) 35%);
}
.online-players-modal-scroll-hint.hidden{display:none!important}
.online-players-modal-empty{padding:18px 8px;text-align:center}
.online-modal-card{
  position:relative;width:100%;max-width:none;box-sizing:border-box;
  flex:0 0 auto;align-self:stretch;
  border-radius:14px;overflow:hidden;
  border:1px solid rgba(255,255,255,.11);
  background:#07060c;
  transition:border-color .18s ease, box-shadow .18s ease;
  cursor:context-menu;-webkit-touch-callout:none;user-select:none;
}
.online-modal-card:hover{
  border-color:rgba(180,200,255,.28);
  box-shadow:0 8px 22px rgba(0,0,0,.32)
}
.online-modal-card.is-self{border-color:rgba(74,222,128,.4);box-shadow:0 0 0 1px rgba(74,222,128,.12) inset}
/* Aktivitäts-Hintergrund: volle Kartenfläche (full-bleed), kein Top-Streifen / Mask-Fade */
.online-modal-banner{
  position:absolute;inset:0;z-index:0;
  width:100%;height:100%;max-width:none;
  background-color:#07060c;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  mask-image:none;-webkit-mask-image:none;
  cursor:help;pointer-events:auto
}
.online-modal-banner::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  /* Stärkerer Scrim für Lesbarkeit von Name/Chips — BG bleibt full-bleed */
  background:
    linear-gradient(105deg,rgba(4,6,12,.28) 0%,rgba(4,6,12,.55) 42%,rgba(4,6,12,.72) 100%),
    linear-gradient(180deg,rgba(4,6,12,.2) 0%,rgba(4,6,12,.15) 40%,rgba(4,6,12,.55) 100%)
}
.online-modal-banner--empty{
  background-image:linear-gradient(120deg,rgba(80,120,200,.35),rgba(20,20,40,.7),rgba(160,80,200,.28))
}
.online-modal-card-body{
  display:flex;gap:10px;padding:10px;margin-top:0;position:relative;z-index:1
}
.online-modal-avatar-tip{flex-shrink:0;display:block}
.online-modal-avatar-wrap{
  position:relative;width:64px;height:64px;flex-shrink:0;
  border-radius:14px;overflow:visible;cursor:help
}
.online-modal-avatar-img,
.online-modal-avatar-fallback{
  position:absolute;inset:11%;width:78%;height:78%;border-radius:10px;
  object-fit:cover;z-index:2;background:rgba(0,0,0,.45)
}
.online-modal-avatar-fallback{
  display:flex;align-items:center;justify-content:center;font-size:1.35rem
}
.online-modal-avatar-wrap .cos-aura-img{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:100%;height:100%;object-fit:contain;z-index:1;pointer-events:none
}
.online-modal-avatar-wrap .cos-frame-overlay{
  position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:3;pointer-events:none
}
.online-modal-meta{
  min-width:0;flex:1;padding:8px 8px 6px;margin-top:6px;overflow:visible;
  border-radius:10px;
  background:rgba(6,8,14,.42);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
  backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)
}
.online-modal-name-line{
  display:flex;align-items:flex-start;gap:6px;min-width:0;flex-wrap:wrap
}
.online-modal-name{
  font-size:.92rem;white-space:normal;overflow:visible;text-overflow:unset;
  word-break:break-word;overflow-wrap:anywhere;cursor:help;min-width:0;flex:1 1 auto;line-height:1.25;
  text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 12px rgba(0,0,0,.55)
}
.online-modal-name-text{
  display:inline;font-weight:750;white-space:normal;word-break:break-word;overflow-wrap:anywhere;
  text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 10px rgba(0,0,0,.5)
}
.online-modal-you{
  flex-shrink:0;font-size:.55rem;font-weight:800;padding:2px 6px;border-radius:999px;
  color:#86efac;border:1px solid rgba(74,222,128,.45);background:rgba(10,30,18,.78);cursor:help;
  text-shadow:0 1px 2px rgba(0,0,0,.8)
}
.online-modal-name-line .online-modal-badges{
  display:inline-flex;flex-wrap:wrap;align-items:center;gap:3px;
  margin:0;flex-shrink:0;max-width:100%;justify-content:flex-start
}
/*
 * Titel-Ribbon: Assets (2560×320) haben große transparente Seitenränder.
 * background-size 100% lässt Schwarz links/rechts — deshalb auf sichtbaren Inhalt zoomen,
 * Text bleibt unverändert darüber (gleiche font-size).
 */
.online-modal-title-banner.hub-title-banner{
  display:flex;align-items:center;justify-content:center;
  width:100%;max-width:100%;align-self:stretch;
  height:28px;min-height:28px;margin-top:5px;border-radius:8px;
  border-bottom:none!important;
  cursor:help;pointer-events:auto;overflow:hidden;
  background-color:#07060c;
  background-size:175% 112%;
  background-position:center center;
  background-repeat:no-repeat
}
.online-modal-title-banner.hub-title-banner.has-banner-img{
  background-color:transparent;
  background-image:var(--title-banner-img)!important;
  background-size:175% 112%!important;
  background-position:center center!important;
  background-repeat:no-repeat!important
}
.online-modal-title-banner.hub-title-banner::before{
  display:none!important;content:none!important
}
.online-modal-title-banner.hub-title-banner .hub-title-banner-text{
  /* Text unverändert — nicht mit Banner-Zoom mitskalieren */
  font-size:.56rem;letter-spacing:.1em;font-weight:800;
  max-width:92%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  position:relative;z-index:1;flex-shrink:0;
  text-shadow:0 0 10px rgba(240,200,60,.7),0 1px 4px rgba(0,0,0,.95)
}
.online-modal-badge{width:18px;height:18px;object-fit:contain;border-radius:5px;cursor:help;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}
.online-modal-badge-emoji{font-size:.78rem;line-height:1;cursor:help;text-shadow:0 1px 2px rgba(0,0,0,.85)}
.online-modal-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.online-modal-chip{
  display:inline-flex;align-items:baseline;gap:4px;flex-wrap:wrap;
  max-width:100%;
  padding:3px 8px;border-radius:999px;
  background:rgba(8,10,18,.78);border:1px solid rgba(255,255,255,.18);
  box-shadow:0 1px 4px rgba(0,0,0,.35);
  cursor:help;transition:background .15s ease,border-color .15s ease
}
.online-modal-chip--status{
  background:rgba(12,40,24,.82);border-color:rgba(74,222,128,.45)
}
.online-modal-chip--status .online-modal-chip-val{color:#bbf7d0;max-width:none}
.online-modal-chip:hover,
.online-modal-hot:hover{
  background:rgba(14,18,28,.88);border-color:rgba(180,200,255,.35)
}
.online-modal-chip-lbl{
  font-size:.5rem;text-transform:uppercase;letter-spacing:.04em;color:rgba(255,255,255,.62);font-weight:700;
  text-shadow:0 1px 2px rgba(0,0,0,.75)
}
.online-modal-chip-val{
  font-size:.66rem;font-weight:700;color:rgba(245,248,255,.98);
  max-width:none;white-space:normal;overflow:visible;text-overflow:unset;
  word-break:break-word;overflow-wrap:anywhere;
  text-shadow:0 1px 2px rgba(0,0,0,.8)
}
.online-modal-hot{cursor:pointer}
.online-modal-hot.is-otip-open{
  background:rgba(255,255,255,.1);border-color:rgba(232,197,71,.45)
}
.online-modal-float-tip{
  position:fixed;z-index:140000;left:0;top:0;min-width:180px;max-width:min(280px,82vw);
  padding:9px 11px;border-radius:12px;
  color:#f4f7ff;background:rgba(10,14,24,.96);
  border:1px solid rgba(180,200,255,.32);
  box-shadow:0 14px 36px rgba(0,0,0,.55);
  opacity:0;pointer-events:none;transform:translateY(4px);
  transition:opacity .12s ease, transform .12s ease;
}
.online-modal-float-tip.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
.online-modal-float-title{
  font-size:.78rem;font-weight:800;margin-bottom:6px;padding-bottom:5px;
  border-bottom:1px solid rgba(255,255,255,.1);letter-spacing:.01em
}
.online-modal-float-row{
  display:flex;justify-content:space-between;gap:12px;align-items:baseline;
  font-size:.68rem;line-height:1.35;padding:2px 0
}
.online-modal-float-row span{color:rgba(200,210,230,.55);flex-shrink:0}
.online-modal-float-row strong{font-weight:700;color:rgba(245,248,255,.95);text-align:right}
.online-modal-float-lines{
  margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.08);
  display:flex;flex-direction:column;gap:3px;max-height:180px;overflow:auto
}
.online-modal-float-line{
  font-size:.66rem;font-weight:600;color:rgba(235,240,255,.9);line-height:1.3
}

.hub-avatar-action-sheet{
  position:fixed;inset:0;z-index:130000;display:flex;align-items:flex-end;justify-content:center;
  padding:16px;background:rgba(0,0,0,.55);backdrop-filter:blur(5px)
}
.hub-avatar-action-backdrop{position:absolute;inset:0}
.hub-avatar-action-card{
  position:relative;z-index:1;width:min(360px,100%);padding:16px;
  border-radius:16px;border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(165deg,rgba(24,28,40,.97),rgba(10,12,18,.98));
  box-shadow:0 14px 40px rgba(0,0,0,.45)
}
.hub-avatar-action-card h3{margin:0 0 4px;font-size:1rem}
.hub-avatar-action-btns{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.hub-datetime-chip{
  flex:1 1 100%;justify-content:center;max-width:100%;
  font-size:.62rem;font-weight:600;color:rgba(255,255,255,.52);
  border-color:rgba(255,255,255,.08);background:rgba(0,0,0,.22);
  font-variant-numeric:tabular-nums;letter-spacing:.03em;
}
.hub-datetime-chip:not(.hidden){display:inline-flex}
.hub-meta-lvl{color:var(--gold);border-color:rgba(232,197,71,.4);background:rgba(232,197,71,.14);font-size:.72rem;font-weight:800}
.hub-meta-class{color:var(--txt);border-color:rgba(255,255,255,.14)}
.hub-meta-job{color:#b8e4ff;border-color:rgba(94,196,255,.3);background:rgba(94,196,255,.1)}
.hub-meta-pts{color:var(--muted);font-weight:600;font-size:.62rem;border-style:dashed}
.hub-meta-pts-btn{
  appearance:none;-webkit-appearance:none;cursor:pointer;font:inherit;color:inherit;
  gap:5px;padding:4px 10px;border-style:solid;
  transition:transform .12s ease,border-color .15s,background .15s,box-shadow .15s;
}
.hub-meta-pts-btn:hover,.hub-meta-pts-btn:focus-visible{
  transform:translateY(-1px);outline:none;
  box-shadow:0 4px 12px rgba(0,0,0,.28);
}
.hub-meta-pts-btn:active{transform:scale(.97)}
.hub-meta-pts-ico{font-size:.78rem;line-height:1;flex-shrink:0}
.hub-meta-pts-val{
  font-weight:900;font-size:.8rem;line-height:1;font-variant-numeric:tabular-nums;
  letter-spacing:.01em;
}
.hub-meta-pts-lbl{
  font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;
  opacity:.92;line-height:1;
}
.hub-meta-sp{
  color:#ffe8a8;border-color:rgba(232,197,71,.5);
  background:linear-gradient(145deg,rgba(232,197,71,.22),rgba(20,14,6,.55));
}
.hub-meta-sp:hover,.hub-meta-sp:focus-visible{
  border-color:rgba(251,191,36,.75);background:linear-gradient(145deg,rgba(232,197,71,.32),rgba(30,20,8,.6));
}
.hub-meta-jp{
  color:#bae6fd;border-color:rgba(56,189,248,.48);
  background:linear-gradient(145deg,rgba(56,189,248,.2),rgba(8,16,28,.55));
}
.hub-meta-jp:hover,.hub-meta-jp:focus-visible{
  border-color:rgba(125,211,252,.7);background:linear-gradient(145deg,rgba(56,189,248,.3),rgba(10,22,36,.6));
}
.hub-meta-pts-btn.has-points{animation:hubPtsGlow 2.4s ease-in-out infinite}
@keyframes hubPtsGlow{
  0%,100%{box-shadow:0 0 0 0 transparent}
  50%{box-shadow:0 0 12px rgba(232,197,71,.22)}
}
.hub-meta-jp.has-points{animation-name:hubJpGlow}
@keyframes hubJpGlow{
  0%,100%{box-shadow:0 0 0 0 transparent}
  50%{box-shadow:0 0 12px rgba(56,189,248,.22)}
}
.hub-meta-mythic{border-color:rgba(168,85,247,.45);background:linear-gradient(135deg,rgba(168,85,247,.2),rgba(232,197,71,.12));box-shadow:0 0 10px rgba(168,85,247,.12)}
.hub-meta-paragon{color:#d4b8ff;border-color:rgba(168,85,247,.35);background:rgba(168,85,247,.12)}
.hub-char-stack{display:flex;flex-direction:column;width:100%;gap:0}
.hub-mythic-chip{display:flex;justify-content:center;width:100%;margin:0 0 6px;padding:0;border:none;background:transparent;line-height:1.3}
.hub-mythic-chip:not(.hidden){display:flex}
.hub-mythic-banner{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;padding:8px 12px 7px;border-radius:12px 12px 4px 4px;background:linear-gradient(180deg,rgba(168,85,247,.2) 0%,rgba(22,14,34,.82) 48%,rgba(8,6,14,.92) 100%);border:1px solid rgba(232,197,71,.38);border-bottom-color:rgba(168,85,247,.28);box-shadow:0 0 22px rgba(168,85,247,.14),0 4px 14px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.09);position:relative;overflow:hidden}
.hub-mythic-banner::before{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 38%,rgba(255,220,120,.1) 50%,transparent 62%);animation:hub-mythic-shine 5s ease-in-out infinite;pointer-events:none;will-change:transform,opacity}
@keyframes hub-mythic-shine{0%,100%{transform:translate3d(-130%,0,0);opacity:0}50%{transform:translate3d(130%,0,0);opacity:1}}
.hub-mythic-title-row{display:flex;align-items:center;gap:6px;position:relative;z-index:1}
.hub-mythic-crown{font-size:1.05rem;line-height:1;filter:drop-shadow(0 0 6px rgba(255,215,120,.75))}
.hub-mythic-title{font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(90deg,#f8ecc0,#e8c547,#ffe08a,#c9a227);-webkit-background-clip:text;background-clip:text;color:transparent}
.hub-mythic-sparkle{color:rgba(200,160,255,.9);font-size:.58rem;line-height:1}
.hub-mythic-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;width:100%;position:relative;z-index:1}
.hub-mythic-stat{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:.65rem;background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.1)}
.hub-mythic-stat-val{font-weight:800;color:var(--gold)}
.hub-mythic-stat-lbl{font-weight:600;font-size:.58rem;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.04em}
.hub-mythic-stat--loot .hub-mythic-stat-val{color:#9ee8c8}
.hub-mythic-stat--coin .hub-mythic-stat-val{color:#ffe08a}
.hub-mythic-stat--gem .hub-mythic-stat-val{color:#c8b8ff}
.hub-mythic-stat--xp .hub-mythic-stat-val{color:#a8d4ff}
.zone-char-meta{margin-top:2px}
.hub-stats{padding:12px 14px;display:flex;flex-direction:column;gap:7px}
.hub-pet-vitals{
  margin-top:2px;padding:8px 10px;border-radius:10px;
  background:rgba(15,23,42,.35);border:1px solid rgba(148,163,184,.12);
  display:flex;flex-direction:column;gap:5px;
}
.hub-pet-vitals.hidden{display:none!important}
.hub-pet-vitals.combat-pet-knocked{opacity:.72;border-color:rgba(239,68,68,.35)}
.hub-pet-vitals-head{margin-bottom:1px}
.hub-pet-bar-row{margin:0}
.zone-inline-combat-stats .combat-stat-row{justify-content:space-between;width:100%;min-height:15px}
.zone-inline-combat-stats .combat-stat-row .ellipsis-hover-wrap{flex:1 1 auto;min-width:0}
.zone-inline-combat-stats .combat-stat-row .stat-hover-wrap{flex:0 0 auto;margin-left:4px}
.zone-player-combat-stats.zone-inline-combat-stats{margin-top:2px}
.zone-pet-explore-stat-row .combat-stat-compact{opacity:.92}
.hub-rest-btn{position:relative;width:100%;margin-top:4px;overflow:hidden}
.hub-rest-btn--art{padding:0}
.saga-whisper{font-style:italic;opacity:.85;margin:6px 0}
.saga-hint-box{margin-top:8px;padding:10px 12px;border-left:3px solid var(--gold)}
.saga-hint-dot{font-size:.65rem;position:absolute;top:-2px;right:-2px}
.saga-node{position:relative}
.saga-switch-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
.saga-switch-btn{justify-content:flex-start;text-align:left}
.inv-craft-workshop-btn,.inv-header-craft-btn{
  position:relative;z-index:2;
  width:30px;height:30px;min-width:30px;padding:0;border-radius:8px;
  border:1px solid rgba(232,197,71,.32);background:rgba(232,197,71,.1);
  color:var(--gold);font-size:.82rem;line-height:1;cursor:pointer;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  transition:border-color .15s ease,background .15s ease,transform .12s ease,box-shadow .15s ease;
}
/* Row-Tools: flache Pills, getrennt von Action-Buttons */
.inv-tool-btn{
  cursor:pointer;appearance:none;-webkit-appearance:none;
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  font-family:inherit;line-height:1;
  width:auto;min-width:0;height:auto;min-height:26px;padding:3px 10px;
  font-size:.58rem;font-weight:750;z-index:1;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:rgba(226,232,240,.88);
  box-shadow:none;
  transition:border-color .12s ease,background .12s ease,filter .12s ease,box-shadow .12s ease;
}
.inv-tool-btn .inv-tool-ico{font-size:.72rem;line-height:1;opacity:.9}
.inv-tool-btn .inv-tool-label{line-height:1;letter-spacing:.02em}
.inv-tool-btn.inv-craft-workshop-btn{
  border-color:rgba(232,197,71,.28);background:rgba(232,197,71,.08);color:#fde68a;
}
.inv-tool-btn.inv-compare-btn{
  border-color:rgba(148,163,184,.28);background:rgba(148,163,184,.08);color:#cbd5e1;
}
/* Header-Hammer: nativer title — kein ::after (wird sonst vom Panel geclippt) */
.inv-header-craft-btn[data-tip]::after{display:none!important}
.inv-header-craft-btn:hover{
  border-color:rgba(232,197,71,.6);
  background:rgba(232,197,71,.22);
  transform:translateY(-1px);
  box-shadow:0 2px 10px rgba(232,197,71,.25);
}
.inv-tool-btn:hover{
  transform:none;
  filter:brightness(1.12);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.inv-tool-btn.inv-craft-workshop-btn:hover{
  border-color:rgba(232,197,71,.55);
  background:rgba(232,197,71,.16);
}
.inv-tool-btn.inv-compare-btn:hover{
  border-color:rgba(148,163,184,.45);
  background:rgba(148,163,184,.14);
}
.inv-header-craft-btn:active{transform:scale(.96)}
.inv-tool-btn:active{transform:none;filter:brightness(.92)}
.inv-header-craft-btn{width:auto;min-width:30px;padding:0 10px}
.inv-workshop-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.inv-header-trade-btn{
  position:relative;display:inline-flex;align-items:center;gap:5px;
  min-height:30px;padding:0 10px;border-radius:999px;cursor:pointer;flex-shrink:0;
  border:1px solid rgba(94,196,255,.35);background:linear-gradient(180deg,rgba(94,196,255,.16),rgba(94,196,255,.08));
  color:#dbeafe;font-size:.62rem;font-weight:800;letter-spacing:.02em;
  transition:border-color .15s ease,background .15s ease,transform .12s ease,box-shadow .15s ease;
}
.inv-header-trade-btn:hover{
  border-color:rgba(94,196,255,.55);background:linear-gradient(180deg,rgba(94,196,255,.24),rgba(94,196,255,.12));
  transform:translateY(-1px);box-shadow:0 2px 10px rgba(94,196,255,.18);
}
.inv-header-trade-btn:active{transform:scale(.97)}
.inv-header-trade-btn.has-active-trade{
  border-color:rgba(74,222,128,.45);
  background:linear-gradient(180deg,rgba(74,222,128,.18),rgba(74,222,128,.08));
  color:#dcfce7;
}
.inv-header-trade-icon{font-size:.82rem;line-height:1}
.inv-header-trade-label{line-height:1}
.inv-header-trade-dot{
  position:absolute;top:-2px;right:-2px;width:8px;height:8px;border-radius:50%;
  background:#4ade80;border:1px solid rgba(255,255,255,.85);box-shadow:0 0 8px rgba(74,222,128,.65);
}
.inv-row:has(.inv-craft-workshop-btn:hover),
.inv-row:has(.inv-craft-workshop-btn:focus-visible){position:relative;z-index:6}
.inv-list:has(.inv-craft-workshop-btn:hover),
.inv-list:has(.inv-craft-workshop-btn:focus-visible){overflow:visible}
.shop-scroll-wrap{margin-top:6px;padding-right:2px}
.shop-item-row .shop-buy-row{margin-top:0;width:auto}
.shop-item.has-equip-compare{position:relative}
.shop-compare-btn{flex-shrink:0;align-self:flex-start;padding:4px 8px!important;margin:0}
.shop-compare-btn:hover{background:rgba(94,196,255,.14)!important;border-color:rgba(94,196,255,.45)!important}
.member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 14px;flex:1 1 auto;min-height:0;align-content:start;overflow:auto}
.lobby-slot{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;border-radius:16px;border:1px solid rgba(232,192,122,.24);background:linear-gradient(180deg,rgba(48,32,18,.78),rgba(14,10,8,.86));text-align:center;min-height:140px;box-shadow:0 10px 28px rgba(0,0,0,.28)}
.lobby-slot-empty{opacity:.55;border-style:dashed}
.lobby-slot-plus{font-size:1.6rem;line-height:1;color:rgba(255,230,170,.45)}
.lobby-member-card.is-host{border-color:rgba(232,192,122,.55);box-shadow:0 0 14px rgba(232,192,122,.12)}
.lobby-member-card.is-ready{border-color:rgba(159,223,138,.5)}
.lobby-avatar-wrap{position:relative;width:64px;height:64px;margin:0 auto;flex-shrink:0}
.lobby-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid rgba(232,192,122,.45);display:block}
.lobby-host-mark{
  position:absolute;right:-4px;top:-4px;font-size:.78rem;line-height:1;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.75));pointer-events:none
}
.lobby-host-chip{
  display:inline-flex;align-items:center;justify-content:center;
  padding:2px 8px;border-radius:999px;font-size:.58rem;font-weight:800;letter-spacing:.04em;
  color:#f5d78e;border:1px solid rgba(245,215,142,.4);background:rgba(245,215,142,.12)
}
.lobby-member-name{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;width:100%;max-width:100%;padding:0 2px;text-align:center
}
.lobby-guild-line{
  width:100%;text-align:center;
  font-family:Georgia,"Times New Roman",Palatino,serif;font-weight:700;font-size:.62rem;
  letter-spacing:.04em;color:#f5d78e;
  text-shadow:0 0 8px rgba(245,215,142,.45),0 1px 2px rgba(0,0,0,.85);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.lobby-player-line{
  width:100%;text-align:center;font-size:.74rem;font-weight:800;line-height:1.2;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.lobby-member-meta{font-size:.62rem;color:var(--muted);text-align:center;width:100%}
.lobby-ready-chip{
  font-size:.58rem;font-weight:700;padding:2px 8px;border-radius:99px;
  border:1px solid var(--line);align-self:center
}
.lobby-ready-chip.ready{color:#4ade80;border-color:rgba(74,222,128,.35);background:rgba(74,222,128,.1)}
.lobby-ready-chip.wait{color:var(--muted)}
.cos-aura-preview-wrap,.cos-frame-preview-wrap,.cos-style-banner-wrap{display:block;min-height:0;padding:0;background:#0a0810;border-radius:12px;overflow:hidden}
.cos-aura-preview-img,.cos-frame-preview-img,.cos-style-banner-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.cos-aura-preview.cos-css-preview{min-width:56px;min-height:56px;border-radius:50%;position:relative}
.explore-riddle-overlay{position:fixed;inset:0;z-index:26000;display:flex;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top,0px)) 12px max(12px,env(safe-area-inset-bottom,0px));pointer-events:auto;touch-action:none}
.explore-riddle-overlay.hidden{display:none!important;pointer-events:none!important}
.coop-flee-vote-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.coop-flee-vote-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1);font-size:.78rem;font-weight:700}
.coop-flee-vote-modal .explore-riddle-choices{gap:8px}
.explore-riddle-backdrop{position:absolute;inset:0;background:rgba(4,6,14,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:auto;touch-action:none}
.explore-riddle-modal{position:relative;z-index:2;width:min(100%,400px);max-height:min(72vh,480px);overflow-y:auto;padding:14px 16px;margin:0 auto;background:linear-gradient(165deg,rgba(12,16,30,.98),rgba(6,8,18,.99))!important;color:#eef1ff;border:1px solid rgba(232,197,71,.28)!important;box-shadow:0 16px 48px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.06);pointer-events:auto;touch-action:manipulation}
.explore-riddle-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.explore-riddle-orb{font-size:1.6rem;line-height:1}
.explore-riddle-title{font-size:.92rem;font-weight:800;color:var(--gold);line-height:1.25}
.explore-riddle-text{font-size:.8rem;line-height:1.5;margin:0 0 10px;color:rgba(238,241,255,.96);font-weight:600}
.explore-riddle-hint{font-size:.68rem;color:rgba(200,210,235,.88);margin:0 0 10px;display:flex;gap:6px;align-items:flex-start}
.explore-riddle-choices{display:flex;flex-direction:column;gap:6px}
.explore-riddle-btn{width:100%;text-align:left;padding:10px 12px;font-size:.76rem;line-height:1.35;cursor:pointer;color:#eef1ff;font-weight:700;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.42);border-radius:10px;transition:border-color .15s,background .15s,transform .12s}
.explore-riddle-btn:hover:not(:disabled){border-color:rgba(232,197,71,.45)!important;background:rgba(232,197,71,.12)!important}
.explore-riddle-btn-selected,.explore-riddle-btn:active:not(:disabled){border-color:rgba(232,197,71,.65)!important;background:rgba(232,197,71,.22)!important;transform:scale(.985)}
.explore-riddle-btn:disabled{opacity:.5;cursor:not-allowed}
.quest-investigate-choices .btn{justify-content:flex-start;white-space:normal;height:auto;min-height:40px}
.saga-puzzle-hint-overlay{position:fixed;inset:0;z-index:15022;display:flex;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top,0px)) 12px max(12px,env(safe-area-inset-bottom,0px));pointer-events:auto}
.saga-puzzle-hint-overlay.hidden{display:none!important;pointer-events:none!important}
.saga-puzzle-hint-backdrop{position:absolute;inset:0;background:rgba(4,6,14,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.saga-puzzle-hint-modal{position:relative;z-index:1;width:min(100%,400px);max-height:min(72vh,480px);overflow-y:auto;padding:14px 16px;margin:0 auto}
.saga-puzzle-hint-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.saga-puzzle-hint-head .saga-puzzle-hint-title{flex:1}
.saga-puzzle-hint-close{margin-left:auto;flex-shrink:0}
.saga-story-overlay{z-index:15021}
.saga-story-overlay .explore-riddle-modal{
  max-height:min(90vh,92dvh,680px);
  width:min(100%,420px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:12px 14px;
}
.saga-story-overlay #saga-story-content{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding-bottom:6px;
}
.saga-story-overlay .explore-riddle-head .explore-riddle-title{flex:1}
.saga-story-overlay #btn-saga-story-close{margin-left:auto;flex-shrink:0}
.saga-story-overlay .saga-event-choices{display:flex;flex-direction:column;gap:6px;flex-shrink:0}
.saga-story-overlay .saga-event-prompt{font-size:.78rem;line-height:1.45;margin:0 0 8px}
.saga-restart-banner{margin:0 0 10px;padding:10px 12px;border:1px solid rgba(232,197,71,.35);border-radius:12px;display:flex;flex-direction:column;gap:8px;align-items:stretch}
.saga-restart-text{margin:0;color:rgba(238,241,255,.92)}
.saga-puzzle-hint-orb{font-size:1.6rem;line-height:1}
.saga-puzzle-hint-title{font-size:.92rem;font-weight:800;color:var(--gold);line-height:1.25}
.saga-puzzle-hint-block{margin:0 0 10px;padding:10px 12px;border-radius:var(--r-sm);line-height:1.45;font-size:.74rem}
.saga-puzzle-hint-block.public{background:rgba(232,197,71,.07);border:1px solid rgba(232,197,71,.22);color:var(--txt)}
.saga-puzzle-hint-block.howto{background:rgba(148,163,184,.08);border:1px solid rgba(148,163,184,.22);color:var(--txt)}
.saga-puzzle-howto{margin:4px 0 8px;color:var(--gold);font-weight:600}
.saga-puzzle-hint-block.secret{background:rgba(56,189,248,.08);border:1px solid rgba(56,189,248,.28);color:var(--txt)}
.saga-puzzle-hint-block.secret.locked{color:var(--muted);border-style:dashed}
.saga-puzzle-hint-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 4px}
.saga-puzzle-hint-actions{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.saga-puzzle-hint-modal.saga-puzzle-hint-modal--playing{width:min(100%,440px);max-height:min(88vh,560px)}
.saga-puzzle-hint-intro.is-collapsed .saga-puzzle-hint-block,.saga-puzzle-hint-intro.is-collapsed .muted.tiny{margin-bottom:6px;padding:6px 10px;font-size:.68rem}
.saga-puzzle-hint-intro.is-collapsed .saga-puzzle-hint-actions{display:none}
.saga-puzzle-hint-play{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}
.saga-puzzle-hint-play.hidden{display:none!important}
.saga-puzzle-hint-play .saga-puzzle-inputs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.saga-puzzle-hint-play .arcade-inline-result{margin-bottom:8px;font-size:.72rem}
.track-challenge-overlay{position:fixed;inset:0;z-index:15025;display:flex;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top,0px)) 12px max(12px,env(safe-area-inset-bottom,0px));pointer-events:auto}
.track-challenge-overlay.hidden{display:none!important;pointer-events:none!important}
.track-challenge-backdrop{position:absolute;inset:0;background:rgba(4,8,12,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.track-challenge-modal{position:relative;z-index:1;width:min(100%,480px);max-height:min(88vh,720px);overflow-x:hidden;overflow-y:auto;padding:16px 18px 20px;margin:0 auto;-webkit-overflow-scrolling:touch}
.track-challenge-modal.glass{overflow-x:hidden;overflow-y:auto}
#track-challenge-content{min-height:0}
.track-challenge-modal.track-shake{animation:track-shake .42s ease}
@keyframes track-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}
.track-challenge-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.track-challenge-orb{font-size:1.5rem}
.track-challenge-title{font-size:.92rem;font-weight:800;color:var(--gold)}
.track-challenge-prompt{font-size:.76rem;line-height:1.4;margin:0 0 6px}
.track-challenge-hint{font-size:.68rem;color:var(--muted);margin:0 0 10px;display:flex;gap:6px;align-items:flex-start}
.track-seq-progress{display:flex;justify-content:center;gap:8px;margin:10px 0 6px}
.track-seq-slot{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;border:2px dashed rgba(255,255,255,.2);background:rgba(0,0,0,.25)}
.track-seq-slot.filled{border-color:rgba(62,207,114,.55);background:rgba(62,207,114,.12);box-shadow:0 0 10px rgba(62,207,114,.25)}
.track-pick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 14px}
.track-challenge-cancel{margin-top:6px;width:100%}
.track-attempts{margin:0 0 8px}
.track-pick-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);cursor:pointer;transition:transform .12s,border-color .12s,background .12s}
.track-pick-btn:hover{border-color:rgba(232,197,71,.4);background:rgba(232,197,71,.08)}
.track-pick-btn:active{transform:scale(.96)}
.track-pick-emoji{font-size:1.35rem;line-height:1}
.track-pick-label{font-size:.58rem;color:var(--muted);line-height:1.2;text-align:center}
.track-hint-block.free{margin:0 0 6px;padding:6px 8px;border-radius:6px;background:rgba(46,204,113,.08);border:1px solid rgba(46,204,113,.22)}
.track-hint-block.free p{margin:0;font-size:.68rem;line-height:1.35;color:rgba(226,232,240,.92)}
.track-hint-block.small{margin:0 0 4px;padding:4px 8px;border-radius:5px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
.track-hint-block.small p{margin:0;font-size:.62rem;line-height:1.3;color:rgba(226,232,240,.78)}
.track-hint-block{margin:0 0 8px;padding:8px 10px;border-radius:var(--r-sm);font-size:.72rem;line-height:1.4}
.track-hint-block.public{background:rgba(232,197,71,.07);border:1px solid rgba(232,197,71,.22)}
.track-hint-block.secret{background:rgba(56,189,248,.08);border:1px solid rgba(56,189,248,.28)}
.track-hint-block.secret.locked{border-style:dashed;color:var(--muted)}
.track-hint-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 4px}
.track-hint-actions{margin-bottom:8px}
#screen-zone{position:relative}
.coop-invite-overlay{position:fixed;inset:0;z-index:12050;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.55)}
.coop-invite-window{width:min(100%,380px);padding:12px 14px;border-radius:var(--r)}
.coop-invite-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.coop-invite-list{display:flex;flex-direction:column;gap:6px;max-height:min(50vh,320px);overflow-y:auto}
.coop-invite-user{justify-content:flex-start;text-align:left}
.login-beta-access-overlay{
  --beta-out-ms:1400ms;
  --beta-out-ease:cubic-bezier(.25,.1,.25,1);
  position:fixed;inset:0;z-index:100250;display:flex;align-items:center;justify-content:center;
  padding:max(0px,env(safe-area-inset-top)) max(0px,env(safe-area-inset-right)) max(0px,env(safe-area-inset-bottom)) max(0px,env(safe-area-inset-left));
  overflow:hidden;
  transform:translateZ(0);
  backface-visibility:hidden;
  contain:paint;
}
.login-beta-access-overlay.hidden{display:none!important;pointer-events:none!important}
.login-beta-access-overlay.is-dismissing{
  pointer-events:auto!important;
  animation:loginBetaOverlayShellOut var(--beta-out-ms) var(--beta-out-ease) forwards;
  will-change:opacity;
}
.login-beta-access-overlay.is-dismissing .login-beta-fx,
.login-beta-access-overlay.is-dismissing .login-beta-fx--motes i,
.login-beta-access-overlay.is-dismissing .login-beta-fx--leaves i{
  animation:none!important;
}
.login-beta-access-overlay-backdrop{
  position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 50% 42%,#1a1230 0%,#0c0818 55%,#060810 100%);
  animation:loginBetaOverlayIn .5s ease both;
}
.login-beta-access-overlay.is-dismissing .login-beta-access-overlay-backdrop{
  animation:loginBetaBackdropOut var(--beta-out-ms) var(--beta-out-ease) forwards;
}
.login-beta-access-overlay-btn{
  position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;
  margin:0;padding:0;border:none;background:transparent;cursor:pointer;
  -webkit-tap-highlight-color:transparent;overflow:visible;z-index:1;
}
.login-beta-access-overlay-btn:focus-visible{outline:2px solid rgba(232,197,71,.75);outline-offset:-4px}
.login-beta-access-overlay-art{
  position:relative;display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;max-width:100vw;max-height:100dvh;
}
.login-beta-access-art-stage{
  position:relative;width:min(100vw,calc(100dvh * 1.5));max-height:100dvh;aspect-ratio:1536/1024;
}
.login-beta-access-overlay-img{
  position:relative;z-index:1;width:100%;height:100%;display:block;
  object-fit:contain;object-position:center center;
  image-rendering:pixelated;image-rendering:crisp-edges;
  filter:drop-shadow(0 16px 44px rgba(0,0,0,.62));
}
/* Beta-Bild Vollbild 100vw×100dvh (Desktop-Web + PC-Scale / Mobile-Shell) */
html[data-desktop-web="1"].flix-rpg-web:not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.flix-rpg-mobile) .login-beta-access-overlay,
html.flix-rpg-pc-scale .login-beta-access-overlay,
html.flix-rpg-mobile .login-beta-access-overlay,
html[data-mobile-shell="1"] .login-beta-access-overlay,
html[data-abenteuer-apk="1"] .login-beta-access-overlay{
  padding:0;
}
html[data-desktop-web="1"].flix-rpg-web:not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.flix-rpg-mobile) .login-beta-access-overlay-art,
html.flix-rpg-pc-scale .login-beta-access-overlay-art,
html.flix-rpg-mobile .login-beta-access-overlay-art,
html[data-mobile-shell="1"] .login-beta-access-overlay-art,
html[data-abenteuer-apk="1"] .login-beta-access-overlay-art{
  width:100vw;height:100dvh;max-width:none;max-height:none;
  align-items:stretch;justify-content:stretch;
}
html[data-desktop-web="1"].flix-rpg-web:not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.flix-rpg-mobile) .login-beta-access-art-stage,
html.flix-rpg-pc-scale .login-beta-access-art-stage,
html.flix-rpg-mobile .login-beta-access-art-stage,
html[data-mobile-shell="1"] .login-beta-access-art-stage,
html[data-abenteuer-apk="1"] .login-beta-access-art-stage{
  position:absolute;inset:0;
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  aspect-ratio:auto!important;
}
html[data-desktop-web="1"].flix-rpg-web:not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.flix-rpg-mobile) .login-beta-access-overlay-img,
html.flix-rpg-pc-scale .login-beta-access-overlay-img,
html.flix-rpg-mobile .login-beta-access-overlay-img,
html[data-mobile-shell="1"] .login-beta-access-overlay-img,
html[data-abenteuer-apk="1"] .login-beta-access-overlay-img{
  position:absolute;inset:0;
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  object-fit:fill!important;object-position:center center!important;
  filter:none;
}
html[data-desktop-web="1"].flix-rpg-web:not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.flix-rpg-mobile) .login-beta-art-fx,
html.flix-rpg-pc-scale .login-beta-art-fx,
html.flix-rpg-mobile .login-beta-art-fx,
html[data-mobile-shell="1"] .login-beta-art-fx,
html[data-abenteuer-apk="1"] .login-beta-art-fx{
  position:absolute;inset:0;width:100%;height:100%;
}
html[data-desktop-web="1"].flix-rpg-web:not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]):not(.flix-rpg-mobile) .login-beta-access-overlay.is-dismissing .login-beta-access-art-stage,
html.flix-rpg-pc-scale .login-beta-access-overlay.is-dismissing .login-beta-access-art-stage,
html.flix-rpg-mobile .login-beta-access-overlay.is-dismissing .login-beta-access-art-stage,
html[data-mobile-shell="1"] .login-beta-access-overlay.is-dismissing .login-beta-access-art-stage,
html[data-abenteuer-apk="1"] .login-beta-access-overlay.is-dismissing .login-beta-access-art-stage{
  position:absolute;inset:0;
}
.login-beta-art-fx{
  position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;
}
.login-beta-fx{position:absolute;pointer-events:none;will-change:transform,opacity}
.login-beta-fx--sky-drift{
  inset:0 0 35% 0;
  background:
    radial-gradient(ellipse 70% 50% at 20% 18%,rgba(120,90,200,.1),transparent 60%),
    radial-gradient(ellipse 55% 40% at 78% 22%,rgba(60,40,120,.12),transparent 65%);
  mix-blend-mode:screen;
  animation:loginBetaSkyDrift 18s ease-in-out infinite alternate;
}
.login-beta-fx--moon{
  left:17.5%;top:2.8%;width:12.5%;height:13.5%;
  background:radial-gradient(circle at 48% 48%,rgba(236,226,255,.52) 0%,rgba(180,160,255,.26) 34%,rgba(120,90,220,.1) 58%,transparent 74%);
  mix-blend-mode:screen;opacity:.92;
  animation:loginBetaMoonPulse 5.5s ease-in-out infinite;
}
.login-beta-fx--moon-ring{
  left:16.2%;top:1.4%;width:15%;height:16.2%;
  border-radius:50%;
  box-shadow:0 0 0 1px rgba(210,190,255,.18),inset 0 0 18px rgba(180,160,255,.12);
  mix-blend-mode:screen;opacity:.7;
  animation:loginBetaMoonRing 7.5s ease-in-out infinite;
}
.login-beta-fx--moon-sparkle{
  width:1.1%;height:1.4%;border-radius:50%;
  background:rgba(255,245,230,.95);
  box-shadow:0 0 8px rgba(230,210,255,.85),0 0 14px rgba(180,150,255,.45);
  mix-blend-mode:screen;
  animation:loginBetaMoonSparkle 3.6s ease-in-out infinite;
}
.login-beta-fx--moon-sparkle-a{left:22.5%;top:4.2%;animation-delay:0s}
.login-beta-fx--moon-sparkle-b{left:27.2%;top:8.8%;width:.8%;height:1%;animation-delay:1.1s}
.login-beta-fx--moon-sparkle-c{left:19.4%;top:10.5%;width:.7%;height:.9%;animation-delay:2.2s}
.login-beta-fx--moon-rays{
  left:12%;top:0;width:24%;height:22%;
  background:
    radial-gradient(circle at 48% 42%,rgba(196,181,253,.18) 0%,transparent 62%),
    conic-gradient(from 20deg at 48% 42%,transparent 0deg,rgba(210,195,255,.1) 18deg,transparent 36deg,transparent 90deg,rgba(190,175,255,.08) 108deg,transparent 130deg,transparent 200deg,rgba(220,200,255,.09) 220deg,transparent 245deg);
  mix-blend-mode:screen;opacity:.8;
  animation:loginBetaMoonRays 9s ease-in-out infinite alternate;
}
.login-beta-fx--canopy-sway{
  top:-2%;width:38%;height:42%;
  background:radial-gradient(ellipse at 50% 20%,rgba(20,10,40,.22) 0%,transparent 70%);
  mix-blend-mode:multiply;opacity:.55;
  transform-origin:50% 0%;
}
.login-beta-fx--canopy-sway-l{
  left:-4%;
  animation:loginBetaCanopySway 7.5s ease-in-out infinite;
}
.login-beta-fx--canopy-sway-r{
  right:-6%;left:auto;width:42%;
  animation:loginBetaCanopySway 9s ease-in-out infinite reverse;
}
.login-beta-fx--fog{
  height:28%;width:140%;left:-20%;
  background:linear-gradient(90deg,transparent,rgba(160,140,210,.12),rgba(120,100,180,.16),transparent);
  mix-blend-mode:screen;filter:blur(12px);opacity:.65;
}
.login-beta-fx--fog-a{
  top:38%;
  animation:loginBetaFogDrift 22s linear infinite;
}
.login-beta-fx--fog-b{
  top:52%;height:22%;opacity:.4;
  animation:loginBetaFogDrift 34s linear infinite reverse;
}
.login-beta-fx--ground-mist{
  left:-5%;right:-5%;bottom:0;height:32%;
  background:linear-gradient(180deg,transparent 0%,rgba(90,70,140,.14) 45%,rgba(40,28,70,.22) 100%);
  mix-blend-mode:screen;
  animation:loginBetaGroundMist 8s ease-in-out infinite alternate;
}
.login-beta-fx--title-glow{
  left:27%;top:29.5%;width:46%;height:12%;
  background:radial-gradient(ellipse at 50% 55%,rgba(255,220,120,.3) 0%,rgba(232,197,71,.12) 42%,transparent 72%);
  mix-blend-mode:screen;
  animation:loginBetaTitleGlow 4s ease-in-out infinite;
}
.login-beta-fx--crest{
  left:45.5%;top:12.5%;width:9%;height:11%;
  background:radial-gradient(circle at 50% 45%,rgba(255,230,150,.55) 0%,rgba(232,197,71,.2) 45%,transparent 72%);
  mix-blend-mode:screen;
  animation:loginBetaCrestGlow 3.4s ease-in-out infinite;
}
.login-beta-fx--jewel-top{
  left:48.7%;top:46.2%;width:2.6%;height:2.8%;
  background:radial-gradient(circle,rgba(180,220,255,.9) 0%,rgba(100,150,255,.35) 45%,transparent 72%);
  mix-blend-mode:screen;
  animation:loginBetaGemPulse 2.4s ease-in-out infinite;
}
.login-beta-fx--jewel-mid{
  left:48.7%;top:58.8%;width:2.6%;height:2.8%;
  background:radial-gradient(circle,rgba(180,220,255,.8) 0%,rgba(100,150,255,.28) 45%,transparent 72%);
  mix-blend-mode:screen;
  animation:loginBetaGemPulse 2.9s ease-in-out infinite .35s;
}
/* Laterne: leicht nach rechts/unten korrigiert */
.login-beta-fx--lantern-halo{
  left:3%;top:41.5%;width:14%;height:24%;
  background:radial-gradient(circle at 48% 48%,rgba(255,170,60,.22) 0%,rgba(255,120,30,.09) 40%,transparent 70%);
  mix-blend-mode:screen;filter:blur(10px);
  animation:loginBetaLanternFlicker 2.4s ease-in-out infinite;
}
.login-beta-fx--lantern-glow{
  left:5.7%;top:45.8%;width:7.2%;height:12%;
  background:radial-gradient(circle at 48% 52%,rgba(255,230,150,.9) 0%,rgba(255,170,60,.58) 28%,rgba(255,110,30,.24) 55%,transparent 78%);
  mix-blend-mode:screen;filter:blur(4px);
  animation:loginBetaLanternFlicker 1.85s ease-in-out infinite;
}
.login-beta-fx--lantern-flame{
  left:8.35%;top:48.55%;width:2.05%;height:5.2%;
  background:linear-gradient(180deg,rgba(255,252,230,.98) 0%,rgba(255,210,90,.95) 28%,rgba(255,140,35,.88) 68%,rgba(255,70,10,.35) 100%);
  border-radius:50% 50% 45% 45% / 60% 60% 40% 40%;
  box-shadow:0 0 6px rgba(255,200,80,.9),0 0 14px rgba(255,120,30,.55),0 0 22px rgba(255,80,10,.28);
  mix-blend-mode:screen;transform-origin:50% 85%;
  animation:loginBetaFlameDance .72s ease-in-out infinite alternate;
}
.login-beta-fx--lantern-ember{
  width:.55%;height:.8%;border-radius:50%;
  background:rgba(255,200,100,.95);
  box-shadow:0 0 5px rgba(255,160,50,.8);
  mix-blend-mode:screen;
  animation:loginBetaEmberRise 3.1s ease-out infinite;
}
.login-beta-fx--lantern-ember-a{left:8.65%;top:50.4%;animation-delay:0s}
.login-beta-fx--lantern-ember-b{left:9.35%;top:51.8%;animation-delay:.9s;width:.4%;height:.55%}
.login-beta-fx--lantern-ember-c{left:8.05%;top:52.2%;animation-delay:1.7s;width:.45%;height:.65%}
.login-beta-fx--lantern-ember-d{left:8.9%;top:49.8%;animation-delay:2.4s;width:.35%;height:.5%}
.login-beta-fx--windows{
  left:76%;top:21%;width:10%;height:10%;
  background:
    radial-gradient(circle at 28% 58%,rgba(255,210,100,.55) 0 8%,transparent 16%),
    radial-gradient(circle at 48% 52%,rgba(255,200,80,.5) 0 7%,transparent 15%),
    radial-gradient(circle at 68% 60%,rgba(255,190,70,.45) 0 7%,transparent 14%),
    radial-gradient(ellipse at 50% 55%,rgba(255,180,60,.14) 0%,transparent 70%);
  mix-blend-mode:screen;
  animation:loginBetaWindowGlow 2.8s ease-in-out infinite;
}
.login-beta-fx--windows-b{
  left:84.5%;top:24%;width:7%;height:8%;
  background:
    radial-gradient(circle at 35% 55%,rgba(255,210,100,.45) 0 9%,transparent 18%),
    radial-gradient(circle at 62% 62%,rgba(255,190,70,.4) 0 8%,transparent 16%);
  mix-blend-mode:screen;
  animation:loginBetaWindowGlow 3.4s ease-in-out infinite .6s;
}
.login-beta-fx--potion-l{
  /* großer Lila-Trank unten links */
  left:2.1%;top:77.8%;width:5.8%;height:10.2%;
  background:radial-gradient(circle at 45% 48%,rgba(180,90,255,.55) 0%,rgba(120,50,220,.22) 48%,transparent 72%);
  mix-blend-mode:screen;
  animation:loginBetaPotionGlow 2.8s ease-in-out infinite;
}
.login-beta-fx--potion-l2{
  /* blauer/türkiser Fläschchen-Trank */
  left:6.9%;top:80.8%;width:3.6%;height:6.4%;
  background:radial-gradient(circle at 50% 50%,rgba(90,180,255,.55) 0%,rgba(40,120,220,.2) 50%,transparent 72%);
  mix-blend-mode:screen;
  animation:loginBetaPotionGlow 3.2s ease-in-out infinite .5s;
}
.login-beta-fx--book{
  /* Buch + kleines Braunglas darunter */
  left:9.8%;top:86.2%;width:7.6%;height:5.2%;
  background:radial-gradient(ellipse at 50% 50%,rgba(255,210,100,.32) 0%,transparent 70%);
  mix-blend-mode:screen;
  animation:loginBetaBookGlint 4.2s ease-in-out infinite;
}
.login-beta-fx--potion-r{
  /* hoher Lila-Trank rechts — Glow mittig im Flaschenkörper */
  left:93.0%;top:70.5%;width:5.2%;height:13.5%;
  background:radial-gradient(circle at 50% 55%,rgba(190,100,255,.55) 0%,rgba(130,50,220,.2) 48%,transparent 72%);
  mix-blend-mode:screen;
  animation:loginBetaPotionGlow 3s ease-in-out infinite .8s;
}
.login-beta-fx--chest{
  /* Schatztruhe — Glow auf Deckel/Schloss */
  left:87.2%;top:77.5%;width:8.2%;height:12%;
  background:radial-gradient(ellipse at 50% 52%,rgba(255,210,90,.45) 0%,rgba(255,170,40,.16) 42%,transparent 74%);
  mix-blend-mode:screen;
  animation:loginBetaChestGlint 3.6s ease-in-out infinite;
}
.login-beta-fx--chest-coin{
  /* Münzstapel vor der Truhe */
  left:84.2%;top:86.2%;width:6.4%;height:5.4%;
  background:radial-gradient(circle at 50% 50%,rgba(255,230,120,.75) 0%,rgba(255,190,60,.25) 50%,transparent 75%);
  mix-blend-mode:screen;
  animation:loginBetaChestGlint 2.2s ease-in-out infinite .4s;
}
.login-beta-fx--gem{
  left:48.5%;top:83.8%;width:3.2%;height:3.6%;
  background:radial-gradient(circle,rgba(120,200,255,.92) 0%,rgba(70,140,255,.4) 42%,transparent 72%);
  mix-blend-mode:screen;
  animation:loginBetaGemPulse 2.6s ease-in-out infinite;
}
.login-beta-fx--flowers{
  left:18%;bottom:6%;width:64%;height:14%;
  background:
    radial-gradient(circle at 12% 60%,rgba(190,120,255,.35) 0 1.2%,transparent 3%),
    radial-gradient(circle at 28% 70%,rgba(170,100,255,.28) 0 1%,transparent 2.5%),
    radial-gradient(circle at 55% 55%,rgba(200,140,255,.3) 0 1.1%,transparent 2.8%),
    radial-gradient(circle at 72% 65%,rgba(180,110,255,.26) 0 .9%,transparent 2.4%),
    radial-gradient(circle at 88% 58%,rgba(200,130,255,.32) 0 1%,transparent 2.6%);
  mix-blend-mode:screen;
  animation:loginBetaFlowerTwinkle 3.8s ease-in-out infinite;
}
.login-beta-fx--leaves{inset:0;overflow:hidden}
.login-beta-fx--leaves i{
  position:absolute;width:6px;height:3.5px;border-radius:60% 40%;
  background:rgba(90,140,80,.42);
  box-shadow:0 0 3px rgba(60,100,50,.22);
  animation:loginBetaLeafWind 7.5s ease-in-out infinite;opacity:.55;
}
.login-beta-fx--leaves i:nth-child(1){left:12%;top:14%;animation-delay:0s;background:rgba(110,70,150,.4)}
.login-beta-fx--leaves i:nth-child(2){left:28%;top:8%;animation-delay:1.2s;animation-duration:8.4s}
.login-beta-fx--leaves i:nth-child(3){left:44%;top:11%;animation-delay:2.1s;background:rgba(70,120,90,.38)}
.login-beta-fx--leaves i:nth-child(4){left:61%;top:7%;animation-delay:3.4s;animation-duration:7s;background:rgba(100,60,140,.4)}
.login-beta-fx--leaves i:nth-child(5){left:76%;top:13%;animation-delay:1.8s}
.login-beta-fx--leaves i:nth-child(6){left:88%;top:9%;animation-delay:4.2s;animation-duration:9s;background:rgba(80,110,70,.4)}
.login-beta-fx--leaves i:nth-child(7){left:20%;top:22%;animation-delay:.6s;animation-duration:8.8s;background:rgba(100,80,130,.35)}
.login-beta-fx--leaves i:nth-child(8){left:70%;top:18%;animation-delay:2.8s;animation-duration:7.8s;background:rgba(70,100,80,.36)}
.login-beta-fx--motes{inset:0;mix-blend-mode:screen}
.login-beta-fx--motes i{
  position:absolute;width:3px;height:3px;border-radius:50%;
  background:rgba(230,200,255,.85);box-shadow:0 0 6px rgba(180,140,255,.7);
  animation:loginBetaMoteDrift 6.5s ease-in-out infinite;opacity:0;
}
.login-beta-fx--motes i:nth-child(1){left:4.6%;top:80%;animation-delay:0s;background:rgba(210,150,255,.95);box-shadow:0 0 7px rgba(160,90,255,.8)}
.login-beta-fx--motes i:nth-child(2){left:8.2%;top:83%;animation-delay:.7s;background:rgba(120,190,255,.9)}
.login-beta-fx--motes i:nth-child(3){left:12.2%;top:87%;animation-delay:1.4s;background:rgba(255,210,140,.85)}
.login-beta-fx--motes i:nth-child(4){left:22%;top:78%;animation-delay:2s}
.login-beta-fx--motes i:nth-child(5){left:30%;top:82%;animation-delay:.4s}
.login-beta-fx--motes i:nth-child(6){left:42%;top:84%;animation-delay:1.1s}
.login-beta-fx--motes i:nth-child(7){left:58%;top:81%;animation-delay:2.6s}
.login-beta-fx--motes i:nth-child(8){left:70%;top:76%;animation-delay:1.8s;background:rgba(255,220,140,.85)}
.login-beta-fx--motes i:nth-child(9){left:90.5%;top:82%;animation-delay:3.1s;background:rgba(255,210,130,.8)}
.login-beta-fx--motes i:nth-child(10){left:95.2%;top:76.5%;animation-delay:3.8s;background:rgba(200,140,255,.9)}
.login-beta-fx--motes i:nth-child(11){left:48%;top:16%;animation-delay:2.2s;background:rgba(210,195,255,.75)}
.login-beta-fx--motes i:nth-child(12){left:68%;top:28%;animation-delay:4.2s;background:rgba(255,220,160,.55)}
.login-beta-dismiss-flash{
  position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;
  background:
    radial-gradient(circle at 8.8% 51%,rgba(255,230,160,.95) 0%,rgba(255,170,60,.42) 14%,transparent 38%),
    radial-gradient(circle at 50% 46%,rgba(255,252,235,.85) 0%,rgba(253,230,138,.42) 26%,transparent 62%),
    radial-gradient(ellipse at 50% 55%,rgba(255,210,120,.2) 0%,transparent 70%);
}
.login-beta-access-overlay.is-dismissing .login-beta-access-art-stage{
  animation:loginBetaArtOutEpic var(--beta-out-ms) var(--beta-out-ease) forwards;
  will-change:transform,opacity;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.login-beta-access-overlay.is-dismissing .login-beta-art-fx{
  animation:loginBetaFxVeilOut var(--beta-out-ms) var(--beta-out-ease) forwards;
}
.login-beta-access-overlay.is-dismissing .login-beta-fx--moon,
.login-beta-access-overlay.is-dismissing .login-beta-fx--moon-ring,
.login-beta-access-overlay.is-dismissing .login-beta-fx--moon-rays{
  animation:loginBetaMoonOut var(--beta-out-ms) var(--beta-out-ease) forwards!important;
}
.login-beta-access-overlay.is-dismissing .login-beta-fx--lantern-glow,
.login-beta-access-overlay.is-dismissing .login-beta-fx--lantern-halo{
  animation:loginBetaLanternBlowOut var(--beta-out-ms) var(--beta-out-ease) forwards;
}
.login-beta-access-overlay.is-dismissing .login-beta-fx--lantern-flame{
  animation:loginBetaFlameOut var(--beta-out-ms) var(--beta-out-ease) forwards;
}
.login-beta-access-overlay.is-dismissing .login-beta-fx--lantern-ember{
  animation:loginBetaEmberBurstOut calc(var(--beta-out-ms) * .85) var(--beta-out-ease) forwards!important;
}
.login-beta-access-overlay.is-dismissing .login-beta-dismiss-flash{
  animation:loginBetaDismissFlash var(--beta-out-ms) var(--beta-out-ease) forwards;
}
.login-beta-access-overlay.is-dismissing .login-beta-access-overlay-hint{
  animation:loginBetaHintOut calc(var(--beta-out-ms) * .38) ease forwards;
}
.login-beta-access-overlay-hint{
  position:absolute;left:50%;bottom:max(18px,env(safe-area-inset-bottom,18px));transform:translateX(-50%);
  padding:6px 14px;border-radius:999px;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(253,230,138,.88);background:rgba(6,8,16,.78);border:1px solid rgba(232,197,71,.28);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  pointer-events:none;animation:loginBetaHintPulse 2.8s ease-in-out infinite;
  box-shadow:0 4px 18px rgba(0,0,0,.45),0 0 24px rgba(124,92,255,.12);
  z-index:5;
}
@keyframes loginBetaOverlayIn{from{opacity:0}to{opacity:1}}
@keyframes loginBetaOverlayShellOut{
  0%{opacity:1}
  100%{opacity:0}
}
@keyframes loginBetaBackdropOut{
  0%{opacity:1}
  100%{opacity:0}
}
@keyframes loginBetaSkyDrift{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(2.5%,1%,0) scale(1.04)}}
@keyframes loginBetaMoonPulse{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}
@keyframes loginBetaMoonRing{
  0%,100%{opacity:.45;transform:scale(1)}
  50%{opacity:.85;transform:scale(1.06)}
}
@keyframes loginBetaMoonSparkle{
  0%,100%{opacity:.15;transform:scale(.55)}
  40%{opacity:1;transform:scale(1.15)}
  70%{opacity:.4;transform:scale(.8)}
}
@keyframes loginBetaMoonRays{0%{opacity:.4;transform:scale(1) rotate(0deg)}100%{opacity:.9;transform:scale(1.1) rotate(8deg)}}
@keyframes loginBetaCanopySway{
  0%,100%{transform:rotate(-1.2deg) translate3d(0,0,0)}
  50%{transform:rotate(1.6deg) translate3d(1.2%,.4%,0)}
}
@keyframes loginBetaFogDrift{
  0%{transform:translate3d(-18%,0,0)}
  100%{transform:translate3d(18%,0,0)}
}
@keyframes loginBetaGroundMist{0%{opacity:.45;transform:translateY(0)}100%{opacity:.85;transform:translateY(-3%)}}
@keyframes loginBetaTitleGlow{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes loginBetaCrestGlow{0%,100%{opacity:.4}50%{opacity:1}}
@keyframes loginBetaLanternFlicker{
  0%,100%{opacity:.7;transform:scale(1)}
  12%{opacity:.98;transform:scale(1.05)}
  24%{opacity:.76;transform:scale(.96)}
  42%{opacity:1;transform:scale(1.06)}
  58%{opacity:.78;transform:scale(.98)}
  76%{opacity:.94;transform:scale(1.03)}
}
@keyframes loginBetaFlameDance{
  0%{transform:scaleY(1) scaleX(1) translate(0,0);opacity:.88;filter:brightness(1)}
  35%{transform:scaleY(1.16) scaleX(.9) translate(8%,-3%);opacity:1;filter:brightness(1.15)}
  70%{transform:scaleY(1.05) scaleX(1.08) translate(-6%,-7%);opacity:.95;filter:brightness(1.05)}
  100%{transform:scaleY(1.12) scaleX(.94) translate(4%,-5%);opacity:.98;filter:brightness(1.1)}
}
@keyframes loginBetaEmberRise{
  0%{opacity:0;transform:translate(0,0) scale(.4)}
  15%{opacity:1;transform:translate(6%,-18%) scale(1)}
  65%{opacity:.65;transform:translate(-10%,-120%) scale(.65)}
  100%{opacity:0;transform:translate(12%,-180%) scale(.2)}
}
@keyframes loginBetaGemPulse{0%,100%{opacity:.35;transform:scale(.88)}50%{opacity:1;transform:scale(1.14)}}
@keyframes loginBetaWindowGlow{0%,100%{opacity:.28}30%{opacity:.75}55%{opacity:.4}78%{opacity:.9}}
@keyframes loginBetaChestGlint{0%,100%{opacity:.25}40%{opacity:.85}70%{opacity:.4}}
@keyframes loginBetaPotionGlow{0%,100%{opacity:.35;transform:scale(1)}50%{opacity:.95;transform:scale(1.06)}}
@keyframes loginBetaBookGlint{0%,100%{opacity:.18}50%{opacity:.6}}
@keyframes loginBetaFlowerTwinkle{0%,100%{opacity:.4;filter:brightness(1)}50%{opacity:.95;filter:brightness(1.25)}}
@keyframes loginBetaLeafWind{
  0%,100%{opacity:.35;transform:translate3d(0,0,0) rotate(-8deg)}
  35%{opacity:.65;transform:translate3d(2.2%,.6%,0) rotate(10deg)}
  70%{opacity:.5;transform:translate3d(-1.6%,.3%,0) rotate(-4deg)}
}
@keyframes loginBetaMoteDrift{
  0%{opacity:0;transform:translate3d(0,0,0)}
  12%{opacity:.95}
  55%{opacity:.7;transform:translate3d(8px,-28px,0)}
  100%{opacity:0;transform:translate3d(-6px,-52px,0)}
}
@keyframes loginBetaArtOutEpic{
  0%{opacity:1;transform:translate3d(0,0,0) scale(1)}
  100%{opacity:0;transform:translate3d(0,-18px,0) scale(1.045)}
}
@keyframes loginBetaFxVeilOut{
  0%{opacity:1}
  100%{opacity:0}
}
@keyframes loginBetaMoonOut{
  0%{opacity:1;transform:translate3d(0,0,0) scale(1)}
  100%{opacity:0;transform:translate3d(0,-6%,0) scale(1.08)}
}
@keyframes loginBetaLanternBlowOut{
  0%{opacity:1;transform:translate3d(0,0,0) scale(1)}
  100%{opacity:0;transform:translate3d(0,-8%,0) scale(1.2)}
}
@keyframes loginBetaFlameOut{
  0%{opacity:1;transform:scaleY(1)}
  100%{opacity:0;transform:scaleY(.35) translateY(20%)}
}
@keyframes loginBetaEmberBurstOut{
  0%{opacity:.85;transform:translate3d(0,0,0) scale(1)}
  100%{opacity:0;transform:translate3d(10%,-90%,0) scale(.3)}
}
@keyframes loginBetaDismissFlash{
  0%{opacity:0}
  35%{opacity:.28}
  100%{opacity:0}
}
@keyframes loginBetaHintOut{to{opacity:0;transform:translateX(-50%) translateY(12px) scale(.96)}}
@keyframes loginBetaHintPulse{0%,100%{opacity:.62;transform:translateX(-50%) translateY(0)}50%{opacity:1;transform:translateX(-50%) translateY(-2px)}}
@media (prefers-reduced-motion:reduce){
  .login-beta-fx,.login-beta-fx--motes i,.login-beta-fx--leaves i{animation-duration:12s!important}
}
/* ── Hub-Meldungen: einheitliche Fantasy-Plaque (Invite + Belohnungen + offener Kampf) ── */
.hub-alert,
.hub-invite-banner,
.hub-quest-bar,
#pending-combat-banner.hub-alert{
  --hub-alert-pad-y:10px;
  --hub-alert-pad-x:12px;
  position:relative;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 12px;
  min-height:52px;
  margin:6px 0 0;
  padding:var(--hub-alert-pad-y) var(--hub-alert-pad-x);
  box-sizing:border-box;
  border-radius:14px;
  color:#f4f1e8;
  font-size:.78rem;
  line-height:1.35;
  background:
    linear-gradient(118deg, rgba(12,14,22,.96) 0%, rgba(18,14,8,.94) 46%, rgba(10,12,20,.96) 100%);
  border:1px solid rgba(232,197,71,.36);
  box-shadow:
    0 8px 22px rgba(0,0,0,.38),
    0 0 0 1px rgba(232,197,71,.1),
    inset 0 1px 0 rgba(255,255,255,.07);
  overflow:hidden;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.hub-alert::before,
.hub-invite-banner::before,
.hub-quest-bar::before,
#pending-combat-banner.hub-alert::before{
  content:"";
  position:absolute;left:12px;right:12px;top:0;height:1px;pointer-events:none;z-index:1;
  background:linear-gradient(90deg, transparent, rgba(232,197,71,.5), transparent);
}
.hub-alert::after,
.hub-invite-banner::after,
.hub-quest-bar::after,
#pending-combat-banner.hub-alert::after{
  content:"";
  position:absolute;inset:0;pointer-events:none;z-index:0;border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
  background:
    radial-gradient(90% 120% at 8% 50%, rgba(232,197,71,.07), transparent 42%),
    radial-gradient(70% 100% at 92% 40%, rgba(124,92,255,.06), transparent 45%);
}
.hub-alert--reward{
  border-color:rgba(232,197,71,.42);
  background:
    linear-gradient(118deg, rgba(14,12,6,.96) 0%, rgba(22,16,6,.94) 50%, rgba(12,14,20,.96) 100%);
}
.hub-alert--reward::after{
  background:
    radial-gradient(90% 120% at 10% 50%, rgba(232,197,71,.12), transparent 44%),
    radial-gradient(70% 100% at 90% 35%, rgba(245,158,11,.06), transparent 48%);
}
.hub-alert--combat{
  border-color:rgba(232,197,71,.4);
}
.hub-alert-line,
.hub-invite-line,
.hub-daily-hint,
.hub-combat-line{
  position:relative;z-index:1;
  flex:1 1 180px;
  min-width:0;
  margin:0;
  color:#f4f1e8;
  font-weight:650;
  letter-spacing:.01em;
}
.hub-alert-line strong,
.hub-invite-line strong,
.hub-daily-hint strong,
.hub-combat-line strong{
  color:var(--gold,#e8c547);
  font-weight:800;
}
.hub-alert-actions{
  position:relative;z-index:1;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;
  gap:8px;flex:0 1 auto;margin-left:auto;
}
.hub-alert .btn,
.hub-invite-banner .btn,
.hub-quest-bar .btn,
#pending-combat-banner.hub-alert .btn{
  min-height:36px;
  padding:8px 14px;
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.02em;
  border-radius:10px;
  white-space:nowrap;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.hub-alert .btn-primary,
.hub-invite-banner .btn-primary,
.hub-quest-bar .btn-primary,
#pending-combat-banner.hub-alert .btn-primary{
  background:linear-gradient(160deg,#c9a227 0%,#8a6a12 55%,#5c470a 100%);
  border-color:rgba(232,197,71,.55);
  color:#fff8e1;
  text-shadow:0 1px 0 rgba(0,0,0,.35);
}
.hub-alert .btn-primary:hover,
.hub-invite-banner .btn-primary:hover,
.hub-quest-bar .btn-primary:hover,
#pending-combat-banner.hub-alert .btn-primary:hover{
  border-color:rgba(246,230,160,.7);
  filter:brightness(1.06);
}
.hub-alert .btn-ghost,
.hub-invite-banner .btn-ghost,
.hub-quest-bar .btn-ghost,
#pending-combat-banner.hub-alert .btn-ghost{
  background:rgba(6,8,16,.55);
  border-color:rgba(232,197,71,.28);
  color:rgba(244,241,232,.95);
}
.hub-alert .btn-ghost:hover,
.hub-invite-banner .btn-ghost:hover,
.hub-quest-bar .btn-ghost:hover,
#pending-combat-banner.hub-alert .btn-ghost:hover{
  background:rgba(232,197,71,.12);
  border-color:rgba(232,197,71,.48);
  color:#f6ecc0;
}
.hub-quest-bar-clickable{cursor:pointer}
.hub-quest-bar-btn{display:block;width:100%;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;line-height:1.35}
.hub-quest-bar-btn:active{opacity:.85}
.hub-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hub-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:13px 10px;border-radius:var(--r);border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--txt);font-weight:700;font-size:.82rem;transition:transform .12s,box-shadow .12s,border-color .12s}
.hub-btn:active{transform:scale(.96)}
.hub-btn[data-hub="world"]{border-color:rgba(62,207,114,.3);background:rgba(62,207,114,.08)}
.hub-btn[data-hub="char"]{border-color:rgba(232,197,71,.3);background:rgba(232,197,71,.07)}
.hub-btn[data-hub="daily"]{border-color:rgba(249,115,22,.3);background:rgba(249,115,22,.07)}
.hub-btn[data-hub="coop"]{border-color:rgba(94,196,255,.3);background:rgba(94,196,255,.08)}
.hub-footer{display:flex;gap:8px}
.hub-footer .btn{flex:1}

/* ══════════════════════════════════════════
   SCREEN: WELT / REGIONEN
   ══════════════════════════════════════════ */
.region-grid{display:flex;flex-direction:column;gap:10px}
.region-card{display:flex;flex-direction:column;border-radius:var(--r);border:1px solid var(--line);overflow:hidden;cursor:pointer;transition:border-color .15s,box-shadow .15s;background:transparent;pointer-events:auto;touch-action:manipulation;position:relative;z-index:2;-webkit-tap-highlight-color:rgba(232,197,71,.22)}
.region-card:hover:not(.locked):not([aria-disabled="true"]){border-color:rgba(232,197,71,.42);box-shadow:0 0 16px rgba(232,197,71,.16)}
.region-card:active:not(.locked){transform:scale(.985)}
.region-card.locked{opacity:.55;cursor:not-allowed}
.region-card[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
.region-card.current{border-color:var(--gold);box-shadow:0 0 18px rgba(232,197,71,.22)}
.region-card .region-banner{pointer-events:none;user-select:none;-webkit-user-drag:none}
.region-card[data-zone="forest"]{border-color:rgba(62,207,114,.30)}
.region-card[data-zone="mine"]{border-color:rgba(180,120,60,.30)}
.region-card[data-zone="coast"]{border-color:rgba(59,130,246,.30)}
.region-card[data-zone="dungeon"]{border-color:rgba(124,92,255,.30)}
.region-card[data-zone="shadow_realm"]{border-color:rgba(72,52,110,.38)}
.region-card[data-zone="shadow_realm"] .region-desc{font-style:italic;opacity:.88}
.region-entry-hint{font-size:.58rem;color:var(--muted);margin-top:2px;font-style:italic}
.region-banner{width:100%;height:110px;object-fit:cover;object-position:center;display:block;filter:brightness(.82)}
.region-card.locked .region-banner{filter:brightness(.40) grayscale(.5)}
.region-info{display:flex;align-items:center;gap:10px;padding:10px 12px;background:linear-gradient(180deg,rgba(10,14,26,.78) 0%,rgba(10,14,26,.92) 100%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.08)}
.region-emoji{font-size:1.5rem;line-height:1;flex-shrink:0}
.region-text{flex:1;min-width:0}
.region-name{font-weight:800;font-size:.84rem;color:var(--gold)}
.region-desc{font-size:.63rem;color:var(--muted);line-height:1.35;margin-top:1px}
.region-level{font-size:.6rem;color:var(--muted);margin-top:3px}
.region-locked-lbl{font-size:.6rem;color:#fca5a5;font-weight:700}
.region-current-chip{font-size:.55rem;color:var(--gold);font-weight:700;padding:2px 7px;border:1px solid rgba(232,197,71,.35);border-radius:10px;flex-shrink:0;white-space:nowrap}
/* Scene-Banner für Lobby & Co-op */
.scene-banner{width:100%;height:130px;object-fit:cover;object-position:center top;display:block}
.lobby-scene-card{overflow:hidden;padding:0}
.lobby-scene-body{padding:12px 14px 10px}
.lobby-scene-badge{font-weight:800;font-size:.84rem;color:var(--gold);margin-bottom:3px}
.lobby-scene-story{font-size:.74rem;color:var(--muted);line-height:1.5}

/* ══════════════════════════════════════════
   SCREEN: ZONE
   ══════════════════════════════════════════ */
.zone-hero-card{
  position:relative;overflow:hidden;border-radius:18px;
  border:1px solid rgba(232,197,71,.18);
  background:linear-gradient(180deg,rgba(10,14,24,.55),rgba(6,8,16,.92));
  margin-bottom:10px;
  box-shadow:0 16px 40px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.05);
}
.zone-header{position:relative;padding:0;overflow:hidden}
.zone-badge-label{
  padding:0 0 4px;font-family:"Cinzel",ui-serif,Georgia,serif;
  font-weight:700;font-size:clamp(1.05rem,3.4vw,1.35rem);letter-spacing:.04em;
  color:#f3e6c0;text-shadow:0 2px 12px rgba(0,0,0,.75),0 0 18px rgba(232,197,71,.25);
}
.zone-story-text{padding:0;font-size:.76rem;line-height:1.5;color:rgba(220,230,245,.82);max-width:42ch}

/* ── Zone Banner + Avatar-Overlap ── */
.zone-party-panel{
  position:relative;z-index:4;margin:-34px 10px 0;padding:10px 11px 9px;
  border-radius:14px;
  background:linear-gradient(165deg,rgba(14,18,32,.95) 0%,rgba(8,10,18,.98) 100%);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 8px 24px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.04);
}
.zone-player-strip{display:flex;align-items:center;gap:10px;padding:0;position:relative;z-index:3;border-bottom:none;background:transparent}
.zone-player-body{margin-top:0}
.zone-coins-chip{font-size:.72rem;padding:4px 10px;white-space:nowrap}
.zone-coins-top{position:absolute;top:10px;right:10px;z-index:5;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.zone-banner-fc-row{display:flex;align-items:center;justify-content:flex-end;padding:5px 12px 7px;background:rgba(0,0,0,.25)}
.zone-player-strip .zone-avatar-wrap{
  width:68px;height:68px;flex-shrink:0;border-radius:16px;
  border:3px solid rgba(10,14,26,.96);
  box-shadow:0 8px 22px rgba(0,0,0,.45);
  background:rgba(8,10,20,.94);
  overflow:hidden;
}
.zone-player-strip .zone-avatar-wrap .zone-player-avatar,
.zone-player-strip .zone-avatar-wrap .zone-avatar-fallback{
  position:absolute;inset:0;width:100%;height:100%;
  border-radius:13px;object-fit:cover;object-position:center 18%;
  border:0;box-shadow:none;background:rgba(0,0,0,.35);
}
.zone-player-strip .zone-avatar-wrap .zone-avatar-fallback{display:flex;align-items:center;justify-content:center;font-size:1.65rem;z-index:1}
.zone-title-banner{height:28px;margin-bottom:4px;border-radius:8px}
.zone-title-on-banner{
  position:absolute;left:0;right:0;bottom:0;height:34px;margin:0;z-index:2;
  border-bottom:none;border-radius:0;
}
.zone-title-banner .hub-title-banner-text{font-size:.62rem}
.zone-player-name{display:flex;align-items:center;flex-wrap:nowrap;gap:3px;min-width:0;font-weight:800;font-size:.9rem;line-height:1.15}
.zone-player-name .cos-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.zone-player-head{display:flex;flex-direction:column;gap:3px;margin-bottom:6px}
.zone-player-stats{flex:1;min-width:0;display:flex;flex-direction:column;gap:0;align-self:stretch;justify-content:center;padding-top:0}
.zone-player-meta{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%}
.zone-player-class{line-height:1.2;flex-shrink:0;width:100%}
.zone-player-meta .zone-status-chips{margin:0;width:100%;justify-content:flex-start}
.zone-party-panel .zone-char-meta{margin-top:0}
.zone-party-panel .zone-char-meta .hub-char-meta-row{gap:3px}
.zone-party-panel .zone-char-meta .hub-char-meta-line{gap:4px}
.zone-party-panel .hub-meta-chip{font-size:.6rem;padding:2px 7px;line-height:1.2}
.zone-vitals-stack{display:flex;flex-direction:column;gap:3px}
.zone-vitals-stack.zone-vital-grid{display:grid;flex-direction:unset}
.zone-party-panel .bar-row-compact{gap:5px}
.zone-party-panel .bar-row-compact .bar-lbl{width:1.25rem;font-size:.78rem}
.zone-party-panel .bar-row-compact .bar-track{height:8px}
.zone-party-panel .bar-row-compact .bar-val{font-size:.64rem;min-width:2.6rem}
.zone-party-panel .zone-vital.bar-row-compact{gap:7px}
.zone-party-panel .zone-vital .bar-lbl{width:auto;font-size:.92rem}
.zone-party-panel .zone-vital .bar-track{flex:none;width:100%;height:9px}
.zone-party-panel .zone-vital .bar-val{min-width:0;text-align:left;font-size:.72rem}
.zone-combat-footer{margin-top:4px;padding-top:4px;border-top:1px solid rgba(255,255,255,.07)}
.zone-combat-footer:not(.hidden){display:block}
.zone-party-panel .zone-player-combat-stats .combat-stat-row,
.zone-party-panel .zone-pet-combat-stats .combat-stat-row{justify-content:flex-start;min-height:17px;gap:6px}
.zone-party-panel .combat-stat-compact{font-size:.62rem;text-align:left;max-width:none;flex:0 1 auto}
.zone-party-panel .zone-inline-combat-stats .combat-stat-row .stat-hover-wrap{margin-left:auto}
.combat-title-chip{
  min-height:1.05em;margin:-1px 0 1px;text-align:center;
  font-size:.58rem;font-weight:800;letter-spacing:.03em;line-height:1.15;
  color:var(--gold);opacity:.92;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.combat-title-chip.has-banner-img{
  padding:2px 6px;border-radius:6px;
  background-image:var(--title-banner-img);background-size:cover;background-position:center;
  color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.85);
}
.combat-title-chip.hidden{display:none!important;margin:0;min-height:0}
.zone-player-strip .zone-avatar-wrap.has-cos-frame{overflow:visible}
.zone-player-strip .zone-avatar-wrap.has-cos-frame .zone-player-avatar,
.zone-player-strip .zone-avatar-wrap.has-cos-frame .zone-avatar-fallback{
  inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);
  width:var(--cos-frame-hole);height:var(--cos-frame-hole);
  border-radius:var(--cos-frame-radius);
  clip-path:circle(50% at 50% 50%);
  -webkit-clip-path:circle(50% at 50% 50%);
  z-index:2;background:transparent;
}
.zone-player-strip .zone-avatar-wrap.has-cos-frame.has-cos-aura .zone-player-avatar,
.zone-player-strip .zone-avatar-wrap.has-cos-frame.has-cos-aura .zone-avatar-fallback{
  width:var(--cos-avatar-framed-aura);height:var(--cos-avatar-framed-aura);
}
.zone-player-strip .zone-avatar-wrap.has-cos-aura:not(.has-cos-frame) .zone-player-avatar,
.zone-player-strip .zone-avatar-wrap.has-cos-aura:not(.has-cos-frame) .zone-avatar-fallback{
  inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);
  width:var(--cos-avatar-aura-alone);height:var(--cos-avatar-aura-alone);
  border-radius:var(--cos-frame-radius);
  clip-path:circle(50% at 50% 50%);
  -webkit-clip-path:circle(50% at 50% 50%);
  z-index:2;background:transparent;
}
.zone-pet-strip{
  display:flex;align-items:center;gap:8px;
  padding:8px 0 0;margin-top:8px;
  border-top:1px solid rgba(255,255,255,.08);
  position:relative;z-index:3;
}
.zone-pet-strip.hidden{display:none!important}
.zone-pet-strip.combat-pet-knocked{opacity:.78}
.zone-pet-strip .zone-pet-avatar-wrap{
  width:48px;height:48px;flex-shrink:0;border-radius:12px;
  border:2px solid rgba(10,14,26,.96);
  box-shadow:0 4px 14px rgba(0,0,0,.38);
  background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.55));overflow:hidden;position:relative;
}
.zone-pet-strip .zone-pet-avatar,
.zone-pet-strip .zone-pet-avatar-fallback{
  position:absolute;inset:0;width:100%;height:100%;
  border-radius:10px;object-fit:cover;object-position:center 22%;
  border:0;box-shadow:none;background:transparent;
}
.zone-pet-strip .zone-pet-avatar-fallback{
  display:flex;align-items:center;justify-content:center;font-size:1.25rem;z-index:1;
  background:transparent;opacity:.55;
}
.zone-pet-stats{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;padding-top:0}
.zone-pet-vitals-block{display:flex;flex-direction:column;gap:3px;width:100%}
.zone-pet-head{font-size:.68rem;font-weight:700;line-height:1.2;color:rgba(238,241,255,.88);margin-bottom:1px}
.zone-pet-bars{display:flex;flex-direction:column;gap:3px}
.zone-pet-bars.zone-vital-grid{display:grid;flex-direction:unset}
.zone-inline-combat-stats{margin-top:0}
.bar-row-compact .bar-lbl{width:1.4rem;font-size:.85rem;flex-shrink:0}
.bar-row-compact .bar-track{flex:1 1 auto;height:7px;min-width:0}
.bar-row-compact .bar-val{font-size:.68rem;min-width:2.8rem;flex:0 0 auto;text-align:right}
.bar-row-compact .zone-level-chip{flex-shrink:0;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar-row-compact .zone-level-chip.hidden{display:none!important}
.zone-banner{position:relative;min-height:clamp(168px,32vh,260px);padding-bottom:18px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;background-size:cover;background-position:center top;background-repeat:no-repeat}
.zone-banner--scenic{min-height:clamp(190px,36vh,300px)}
.zone-hero-card .zone-banner-body{padding:14px 14px 16px;background:linear-gradient(180deg,transparent,rgba(4,8,14,.55) 28%,rgba(4,8,14,.78))}
body.zone-forest        .zone-banner{background-image:linear-gradient(to bottom,rgba(4,8,14,.18) 0%,rgba(4,8,14,.42) 42%,rgba(6,8,16,.94) 100%),url('/activity/assets/zone-banner-forest.jpg');background-color:#071a0e;--zone-art:url('/activity/assets/zone-banner-forest.jpg')}
body.zone-mine          .zone-banner{background-image:linear-gradient(to bottom,rgba(4,8,14,.18) 0%,rgba(4,8,14,.42) 42%,rgba(6,8,16,.94) 100%),url('/activity/assets/zone-banner-mine.jpg');background-color:#1a0e04;--zone-art:url('/activity/assets/zone-banner-mine.jpg')}
body.zone-coast         .zone-banner{background-image:linear-gradient(to bottom,rgba(4,8,14,.18) 0%,rgba(4,8,14,.42) 42%,rgba(6,8,16,.94) 100%),url('/activity/assets/zone-banner-coast.jpg');background-color:#020812;--zone-art:url('/activity/assets/zone-banner-coast.jpg')}
body.zone-dungeon       .zone-banner{background-image:linear-gradient(to bottom,rgba(4,8,14,.18) 0%,rgba(4,8,14,.42) 42%,rgba(6,8,16,.94) 100%),url('/activity/assets/zone-banner-dungeon.jpg');background-color:#0c0418;--zone-art:url('/activity/assets/zone-banner-dungeon.jpg')}
body.zone-shadow_realm  .zone-banner{background-image:linear-gradient(to bottom,rgba(4,8,14,.18) 0%,rgba(4,8,14,.42) 42%,rgba(6,8,16,.94) 100%),url('/activity/assets/zone-banner-shadow.jpg');background-color:#0e0420;--zone-art:url('/activity/assets/zone-banner-shadow.jpg')}
body.zone-volcanic_plains .zone-banner{background-image:linear-gradient(to bottom,rgba(4,8,14,.18) 0%,rgba(4,8,14,.42) 42%,rgba(6,8,16,.94) 100%),url('/activity/assets/zone-banner-volcanic.jpg');background-color:#200604;--zone-art:url('/activity/assets/zone-banner-volcanic.jpg')}
body.zone-void_realm    .zone-banner{background-image:linear-gradient(to bottom,rgba(4,8,14,.18) 0%,rgba(4,8,14,.42) 42%,rgba(6,8,16,.94) 100%),url('/activity/assets/zone-banner-void.jpg');background-color:#04041e;--zone-art:url('/activity/assets/zone-banner-void.jpg')}
body.zone-nightmare_realm .zone-banner{background-image:linear-gradient(to bottom,rgba(4,8,14,.18) 0%,rgba(4,8,14,.42) 42%,rgba(6,8,16,.94) 100%),url('/activity/assets/zone-banner-nightmare.jpg');background-color:#18041a;--zone-art:url('/activity/assets/zone-banner-nightmare.jpg')}
.zone-banner-deco{position:absolute;right:8px;top:12px;font-size:3.2rem;line-height:1;opacity:.22;pointer-events:none;user-select:none;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5))}
.zone-banner-deco .rpg-ei,.zone-banner-deco-ico{width:3.2rem;height:3.2rem;opacity:.9}
.zone-banner-body{position:relative;z-index:1;padding:8px 14px 14px}
.zone-banner .zone-badge-label{padding:0 0 4px}
.zone-banner .zone-story-text{padding:0}
.zone-banner-stats{margin-top:10px}
.zone-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.zone-field{
  position:relative;isolation:isolate;overflow:hidden;border-radius:14px;padding:10px 10px 8px;
  border:1px solid rgba(255,255,255,.12);min-height:108px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 20px rgba(0,0,0,.28);
}
.zone-field-atmo{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(160deg,rgba(8,12,22,.55),rgba(4,6,12,.78)),var(--zone-field-art,var(--zone-art,none));
  background-size:cover;background-position:center;transform:scale(1.08);filter:saturate(1.08) brightness(.88);
}
.zone-field--loot .zone-field-atmo{background-image:linear-gradient(155deg,rgba(18,48,28,.55),rgba(6,14,10,.78)),var(--zone-field-art,var(--zone-art,none))}
.zone-field--threat .zone-field-atmo{background-image:linear-gradient(155deg,rgba(52,18,22,.55),rgba(14,6,10,.78)),var(--zone-field-art,var(--zone-art,none))}
.zone-field-head,.zone-field-grid,.zone-field-empty{position:relative;z-index:1}
.zone-field-head{display:flex;flex-direction:column;gap:1px;margin-bottom:8px}
.zone-field-kicker{font-size:.58rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:rgba(232,197,71,.78)}
.zone-field-title{margin:0;font-family:"Cinzel",ui-serif,Georgia,serif;font-size:.82rem;font-weight:700;color:#eef3ff;letter-spacing:.03em}
.zone-field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px}
.zone-field-tile{
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;
  padding:7px 4px 6px;border-radius:12px;min-height:64px;
  background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.zone-field-tile--loot{border-color:rgba(96,220,140,.22)}
.zone-field-tile--threat{border-color:rgba(255,120,110,.22)}
.zone-field-tile-art{width:28px;height:28px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 2px 6px rgba(0,0,0,.55))}
.zone-field-ico,.zone-field-tile-art .rpg-ei{width:26px;height:26px;object-fit:contain}
.zone-field-ico-fb{font-size:1.15rem;line-height:1}
.zone-field-tile-label{font-size:.58rem;font-weight:700;line-height:1.2;text-align:center;color:#e8eef8;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.zone-field-meta{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.zone-field-chip{font-size:.62rem;font-weight:700;padding:4px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.35);color:var(--muted)}
.zone-field-chip--lvl{border-color:rgba(232,197,71,.35);color:var(--gold);background:rgba(232,197,71,.08)}
.zone-field-chip--special{border-color:rgba(94,196,255,.28);color:#9ed7ff;background:rgba(40,90,140,.18)}
.zone-fields.is-hidden-zone .zone-field-tile{opacity:.72;filter:saturate(.7)}
.zone-stat-tag{font-size:.6rem;padding:3px 9px;border-radius:20px;white-space:nowrap;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:var(--muted);line-height:1.6}
.zone-stat-tag.resources{border-color:rgba(62,207,114,.22);background:rgba(62,207,114,.07);color:var(--green)}
.zone-stat-tag.enemies{border-color:rgba(231,76,60,.22);background:rgba(231,76,60,.07);color:#e9a090}
.zone-stat-tag.level{border-color:rgba(232,197,71,.22);background:rgba(232,197,71,.07);color:var(--gold)}
.zone-stat-tag.special{border-color:rgba(94,196,255,.22);background:rgba(94,196,255,.07);color:var(--accent)}
.zone-stat-tag.hidden-zone{opacity:.68;font-style:italic;border-style:dashed;color:#b8a8d8;background:rgba(40,30,60,.25)}
/* Zone-Aktionen & Info: Hub-Bildkarten (volle Felder, ohne Emoji) */
.zone-actions--fields,
.zone-hub-actions{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
}
.zone-hub-actions .zone-hub-card,
.zone-actions--fields .zone-hub-card,
button.zone-btn.zone-hub-card{
  display:flex!important;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:0;
  position:relative;min-height:0;aspect-ratio:auto;padding:0!important;
  border:1px solid rgba(255,255,255,.1)!important;border-radius:14px;overflow:hidden;
  cursor:pointer;color:#f4f1e8;background:#0c1018!important;
  box-shadow:0 8px 22px rgba(0,0,0,.35);
  transform:translateZ(0);
  transition:transform .22s cubic-bezier(.25,.8,.25,1), border-color .22s ease, box-shadow .22s ease;
}
.zone-hub-actions .zone-hub-card .hub-grid-card-media,
.zone-actions--fields .zone-hub-card .hub-grid-card-media{
  position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center;
  transform:scale(1.04);
  filter:brightness(.48) saturate(.95);
  transition:filter .28s ease, transform .35s cubic-bezier(.25,.8,.25,1);
  pointer-events:none;
}
.zone-hub-card[data-act="explore"] .hub-grid-card-media{background-position:30% 35%}
.zone-hub-card[data-act="gather"] .hub-grid-card-media{background-position:70% 45%}
.zone-hub-card[data-act="fight"] .hub-grid-card-media{background-position:55% 25%}
.zone-hub-card[data-act="rest"] .hub-grid-card-media{background-position:40% 70%}
#btn-zone-potion-toggle.zone-hub-card .hub-grid-card-media{background-position:50% 60%}
.zone-hub-actions .zone-hub-card .hub-grid-card-shade,
.zone-actions--fields .zone-hub-card .hub-grid-card-shade{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(6,10,16,.12) 0%, rgba(6,10,16,.5) 48%, rgba(6,10,16,.92) 100%);
  pointer-events:none;
}
.zone-hub-actions .zone-hub-card:hover:not(:disabled),
.zone-hub-actions .zone-hub-card:focus-visible:not(:disabled),
.zone-actions--fields .zone-hub-card:hover:not(:disabled),
.zone-actions--fields .zone-hub-card:focus-visible:not(:disabled){
  transform:none;
  border-color:rgba(232,197,71,.42)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.35), 0 0 0 1px rgba(232,197,71,.18);
}
.zone-hub-card:hover:not(:disabled) .hub-grid-card-media,
.zone-hub-card:focus-visible:not(:disabled) .hub-grid-card-media{
  filter:brightness(.48) saturate(.95);
  transform:scale(1.04);
}
.zone-hub-card:hover:not(:disabled) .hub-grid-card-shade,
.zone-hub-card:focus-visible:not(:disabled) .hub-grid-card-shade,
.zone-hub-card:active:not(:disabled) .hub-grid-card-shade{
  opacity:1!important;
}
/* Kein Transparenz-Flash — aber klarer Press wie ein Button */
.zone-actions .zone-btn,
.zone-actions .zone-hub-card,
.zone-hub-actions .zone-hub-card,
.zone-actions--fields .zone-hub-card,
button.zone-btn.zone-hub-card,
button.zone-btn.hub-grid-card,
button.zone-intel-rail{
  -webkit-tap-highlight-color:transparent!important;
  tap-highlight-color:transparent!important;
  opacity:1!important;
  background-color:#0c1018!important;
  transition:transform .1s ease, filter .1s ease, box-shadow .1s ease, border-color .1s ease!important;
  cursor:pointer;
}
.zone-actions .zone-btn:hover:not(:disabled),
.zone-actions .zone-hub-card:hover:not(:disabled),
.zone-hub-actions .zone-hub-card:hover:not(:disabled),
.zone-actions--fields .zone-hub-card:hover:not(:disabled),
button.zone-btn.zone-hub-card:hover:not(:disabled),
button.zone-intel-rail:hover{
  border-color:rgba(232,197,71,.42)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.35),0 0 0 1px rgba(232,197,71,.16)!important;
}
.zone-actions .zone-btn:active:not(:disabled),
.zone-actions .zone-btn.is-pressed:not(:disabled),
.zone-actions .zone-hub-card:active:not(:disabled),
.zone-actions .zone-hub-card.is-pressed:not(:disabled),
.zone-hub-actions .zone-hub-card:active:not(:disabled),
.zone-hub-actions .zone-hub-card.is-pressed:not(:disabled),
.zone-actions--fields .zone-hub-card:active:not(:disabled),
.zone-actions--fields .zone-hub-card.is-pressed:not(:disabled),
button.zone-btn.zone-hub-card:active:not(:disabled),
button.zone-btn.zone-hub-card.is-pressed:not(:disabled),
button.zone-intel-rail:active,
button.zone-intel-rail.is-pressed{
  opacity:1!important;
  transform:scale(.965)!important;
  filter:brightness(.9)!important;
  -webkit-tap-highlight-color:transparent!important;
  border-color:rgba(232,197,71,.55)!important;
  box-shadow:0 2px 12px rgba(0,0,0,.5),inset 0 0 0 1px rgba(232,197,71,.28)!important;
}
.zone-actions .zone-btn.is-busy,
.zone-actions .zone-hub-card.is-busy,
.zone-hub-actions .zone-hub-card.is-busy,
button.zone-intel-rail.is-busy{
  cursor:progress;
  filter:saturate(.88) brightness(.94);
}
.zone-hub-card .hub-grid-card-media,
.zone-hub-card:hover .hub-grid-card-media,
.zone-hub-card:focus .hub-grid-card-media,
.zone-hub-card:focus-visible .hub-grid-card-media{
  filter:brightness(.48) saturate(.95)!important;
  transform:scale(1.04)!important;
  opacity:1!important;
}
.zone-hub-card:active .hub-grid-card-media,
.zone-hub-card:active:not(:disabled) .hub-grid-card-media,
.zone-hub-card.is-pressed:not(:disabled) .hub-grid-card-media,
.zone-actions--fields .zone-hub-card:active:not(:disabled) .hub-grid-card-media,
.zone-actions--fields .zone-hub-card.is-pressed:not(:disabled) .hub-grid-card-media,
button.zone-intel-rail:active .hub-grid-card-media,
button.zone-intel-rail.is-pressed .hub-grid-card-media{
  filter:brightness(.36) saturate(1.05)!important;
  transform:scale(1.1)!important;
  opacity:1!important;
}
.zone-hub-card .hub-grid-card-shade,
.zone-hub-card:hover .hub-grid-card-shade,
.zone-hub-card:active .hub-grid-card-shade,
.zone-hub-card.is-pressed .hub-grid-card-shade,
button.zone-intel-rail.is-pressed .hub-grid-card-shade{
  opacity:1!important;
}
.zone-hub-card .hub-grid-copy,
.zone-hub-card .zone-hub-card-copy{
  position:relative;z-index:2;
  display:flex;flex-direction:column;gap:2px;
  padding:12px 12px 11px;pointer-events:none;
}
.zone-hub-card .hub-grid-label{
  font-size:.9rem;font-weight:800;letter-spacing:.02em;line-height:1.15;
  text-shadow:0 2px 10px rgba(0,0,0,.75);color:#f4f1e8;
}
.zone-hub-card .hub-grid-desc{
  font-size:.68rem;font-weight:600;line-height:1.25;opacity:.78;color:rgba(240,236,220,.9);
}
.zone-hub-card .rest-cost{font-size:.72rem;opacity:.85;font-weight:700}
.zone-hub-card .zone-btn-atmo,
.zone-hub-card .zone-btn-ico,
.zone-hub-card .zone-btn-kicker,
.zone-hub-card .zone-btn-label{display:none!important}

.zone-hub-fields{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch;
}
/* Legacy photo-cards (falls noch irgendwo) */
.zone-hub-info.hub-grid-card{
  position:relative;min-height:0;aspect-ratio:16/12;padding:0;margin:0;
  border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden;
  background:#0c1018;box-shadow:0 8px 22px rgba(0,0,0,.35);
  display:flex;flex-direction:column;justify-content:flex-end;
}
.zone-hub-info .hub-grid-card-media{
  position:absolute;inset:0;background-size:cover;background-position:center;
  transform:scale(1.04);filter:brightness(.45) saturate(.9);pointer-events:none;
}
.zone-hub-info--loot .hub-grid-card-media{filter:brightness(.48) saturate(1.05) hue-rotate(-8deg)}
.zone-hub-info--threat .hub-grid-card-media{filter:brightness(.42) saturate(1.05) hue-rotate(8deg)}
.zone-hub-info .hub-grid-card-shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,10,16,.1) 0%, rgba(6,10,16,.55) 45%, rgba(6,10,16,.94) 100%);
  pointer-events:none;
}
.zone-hub-info-copy{
  position:relative;z-index:2;padding:12px 12px 10px;
  display:flex;flex-direction:column;gap:4px;
}
.zone-hub-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}
.zone-hub-chip{
  font-size:.62rem;font-weight:700;padding:3px 8px;border-radius:999px;
  border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.42);color:#e8eef8;
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.zone-hub-chip--empty{opacity:.7;font-style:italic;border-style:dashed}
.zone-hub-fields .zone-field-meta{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.zone-hub-fields .zone-field-atmo,
.zone-hub-fields .zone-field-head,
.zone-hub-fields .zone-field-grid{display:none!important}

/* ── Zone HUD: Vital-Kacheln + Intel-Leiste ── */
.zone-vital-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  width:100%;
}
.zone-vital-grid--pet{grid-template-columns:repeat(2,minmax(0,1fr));max-width:280px}
.zone-vital{
  display:flex;align-items:center;gap:7px;
  margin:0;padding:8px 9px 8px;
  border-radius:12px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  min-width:0;
}
.zone-vital .zone-vital-ico,
.zone-vital .bar-lbl{
  width:auto;flex:0 0 auto;font-size:.92rem;line-height:1;opacity:.98;
}
.zone-vital-body{
  flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;
}
.zone-vital .zone-vital-val,
.zone-vital .bar-val{
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
  font-size:.78rem;font-weight:700;letter-spacing:.02em;
  min-width:0;text-align:left;opacity:.96;line-height:1.15;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font-variant-numeric:tabular-nums;
}
.zone-vital .bar-track{
  width:100%;height:9px;border-radius:99px;
  background:rgba(255,255,255,.12);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.4);
}
.zone-vital .bar-fill{
  border-radius:inherit;
  box-shadow:0 0 8px rgba(255,255,255,.14);
}
.zone-vital--hp{border-color:rgba(255,90,90,.22);background:linear-gradient(165deg,rgba(255,70,70,.14),rgba(255,255,255,.03))}
.zone-vital--sta{border-color:rgba(255,200,70,.2);background:linear-gradient(165deg,rgba(255,190,60,.14),rgba(255,255,255,.03))}
.zone-vital--mana{border-color:rgba(90,160,255,.22);background:linear-gradient(165deg,rgba(70,140,255,.14),rgba(255,255,255,.03))}
.zone-vital--xp{border-color:rgba(190,120,255,.2);background:linear-gradient(165deg,rgba(170,100,255,.14),rgba(255,255,255,.03))}
.zone-party-panel .zone-combat-footer{margin-top:7px;padding-top:6px}
.zone-party-panel .zone-vital.bar-row-compact{gap:7px}
.zone-party-panel .zone-vital .bar-lbl{width:auto;font-size:.92rem}
.zone-party-panel .zone-vital .bar-track{flex:none;width:100%;height:9px}
.zone-party-panel .zone-vital .bar-val{min-width:0;text-align:left;font-size:.72rem}

.zone-intel{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:8px;
  align-items:stretch;
}
.zone-intel-rail{
  position:relative;
  display:flex;flex-direction:column;
  min-height:0;
  min-width:0;
  padding:0;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 8px 22px rgba(0,0,0,.32);
  background:#0a1018;
  color:inherit;
  font:inherit;
  text-align:left;
  width:100%;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:transform .1s ease, filter .1s ease, box-shadow .1s ease, border-color .1s ease;
}
button.zone-intel-rail:focus-visible{
  outline:2px solid rgba(232,197,71,.55);
  outline-offset:2px;
}
.zone-intel-rail.hub-grid-card{
  aspect-ratio:auto;
  justify-content:stretch;
}
.zone-intel-rail .hub-grid-card-media{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  filter:brightness(.42) saturate(.95);
  transform:scale(1.03);
  pointer-events:none;
}
.zone-intel-rail--loot .hub-grid-card-media{filter:brightness(.45) saturate(1.05) hue-rotate(-6deg)}
.zone-intel-rail--threat .hub-grid-card-media{filter:brightness(.4) saturate(1.05) hue-rotate(8deg)}
.zone-intel-rail .hub-grid-card-shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,10,16,.35) 0%,rgba(6,10,16,.55) 40%,rgba(6,10,16,.88) 100%);
  pointer-events:none;
}
.zone-intel-panel{
  position:relative;z-index:2;
  display:flex;flex-direction:column;gap:6px;
  padding:8px 8px 8px;
  min-height:0;
  flex:0 0 auto;
}
.zone-intel-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:6px;
}
.zone-intel-kicker{
  font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:#f3e7c4;
  text-shadow:0 1px 8px rgba(0,0,0,.75),0 0 14px rgba(232,197,71,.18);
}
.zone-intel-hint{
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
  font-size:.62rem;font-weight:600;opacity:.7;letter-spacing:.03em;
  color:rgba(220,230,245,.88);
}
.zone-intel-tiles,
.zone-intel .zone-hub-chips{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(64px,1fr));
  gap:6px;
  margin:0;
  flex:0 0 auto;
  align-content:start;
}
.zone-intel-tile{
  position:relative;
  display:flex;flex-direction:column;
  min-width:0;min-height:0;
  border-radius:12px;
  overflow:hidden;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.14);
  color:#eef3fa;
  box-shadow:0 4px 12px rgba(0,0,0,.28);
}
.zone-intel-tile--art{
  padding:0;
  max-width:none;
  font-size:.68rem;font-weight:700;line-height:1.15;
  backdrop-filter:none;-webkit-backdrop-filter:none;
}
.zone-intel-art{
  display:block;width:100%;aspect-ratio:1 / 1.05;
  background:rgba(8,12,20,.35) center/contain no-repeat;
  border-bottom:0;
}
.zone-intel-art--fallback{
  display:flex;align-items:center;justify-content:center;
  font-size:1.45rem;
  background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(0,0,0,.35));
}
.zone-intel-art--unknown{
  display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(circle at 50% 42%,rgba(232,197,71,.16),transparent 58%),
    linear-gradient(160deg,rgba(20,16,28,.72),rgba(6,8,14,.9));
  border:0;
}
.zone-intel-unknown-mark{
  font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:clamp(1.35rem,4.2vw,1.85rem);
  font-weight:800;line-height:1;
  color:#e8c547;
  text-shadow:0 0 12px rgba(232,197,71,.35),0 2px 6px rgba(0,0,0,.75);
  transform:translateY(-2px);
}
.zone-intel-tile--unknown .zone-intel-name{
  letter-spacing:.12em;
  color:#d7c48a;
}
body.zone-immersive .zone-intel-art--unknown{
  background-color:rgba(10,12,20,.72)!important;
  filter:none!important;
  background-size:auto!important;
  background-position:center!important;
}
.zone-intel-caption{
  position:absolute;left:0;right:0;bottom:0;
  display:flex;flex-direction:column;align-items:center;gap:1px;
  padding:18px 4px 5px;
  background:linear-gradient(180deg,transparent 0%,rgba(4,8,14,.55) 35%,rgba(4,8,14,.92) 100%);
  pointer-events:none;
}
.zone-intel-name{
  max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  text-align:center;
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
  font-size:.7rem;font-weight:700;letter-spacing:.02em;
  color:#f4f7ff;
  text-shadow:0 1px 3px rgba(0,0,0,.95);
}
.zone-intel-qty{
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
  font-size:.6rem;font-weight:700;opacity:.85;letter-spacing:.03em;
  color:#d9e4f5;
  text-shadow:0 1px 3px rgba(0,0,0,.9);
}
.zone-intel-tile--empty{
  grid-column:1/-1;
  min-height:52px;align-items:center;justify-content:center;
  border-style:dashed;opacity:.75;font-style:italic;padding:10px;
}
.zone-intel-tile--empty .zone-intel-caption{position:static;padding:0;background:none}
.zone-intel-meta{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;margin-top:0}
.zone-intel-emoji{display:none}

body.zone-immersive .zone-btn--field{
  min-height:0;padding:0!important;backdrop-filter:none;-webkit-backdrop-filter:none;
}

.screen-zone.zone-shadow_realm .zone-story-text{font-style:italic;opacity:.92}
/* ══════════════════════════════════════════
   SCREEN: RAID / DUNGEON — Epic Floor
   Obsidian + Kupfer, Cinzel/Rajdhani, Motion
   ══════════════════════════════════════════ */
.raid-lobby{
  --dng-ink:#07050c;
  --dng-ink-2:#110d18;
  --dng-copper:#e8a45a;
  --dng-copper-soft:rgba(232,164,90,.88);
  --dng-ember:#ff6b3d;
  --dng-mist:#5ec4c8;
  --dng-bone:#f3ebe0;
  display:flex;flex-direction:column;gap:0;padding:0;
  background:
    radial-gradient(ellipse 90% 55% at 50% -10%,rgba(232,164,90,.14),transparent 55%),
    radial-gradient(ellipse 60% 40% at 100% 80%,rgba(94,196,200,.06),transparent 50%),
    linear-gradient(168deg,var(--dng-ink-2),var(--dng-ink));
  color:var(--dng-bone);
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
}
.raid-lobby--epic .raid-lobby-shell{position:relative}
.raid-lobby-atmo{
  position:sticky;top:0;left:0;z-index:0;height:0;margin:0;padding:0;
  pointer-events:none;overflow:visible;
}
.raid-lobby-atmo-embers,
.raid-lobby-atmo-mist,
.raid-lobby-atmo-grid,
.raid-lobby-atmo-vignette{
  position:absolute;left:0;right:0;top:0;height:100dvh;min-height:100%;
}
.raid-lobby-atmo-embers{
  background:
    radial-gradient(1.5px 1.5px at 12% 78%,rgba(255,140,70,.75),transparent),
    radial-gradient(1.5px 1.5px at 28% 62%,rgba(232,164,90,.55),transparent),
    radial-gradient(2px 2px at 48% 88%,rgba(255,107,61,.7),transparent),
    radial-gradient(1px 1px at 67% 70%,rgba(232,164,90,.5),transparent),
    radial-gradient(1.5px 1.5px at 81% 84%,rgba(255,160,90,.65),transparent),
    radial-gradient(1px 1px at 93% 58%,rgba(232,164,90,.4),transparent);
  animation:dng-ember-drift 9s ease-in-out infinite alternate;
  opacity:.85;
}
.raid-lobby-atmo-mist{
  background:
    radial-gradient(ellipse 70% 35% at 20% 100%,rgba(94,196,200,.08),transparent 70%),
    radial-gradient(ellipse 50% 30% at 85% 90%,rgba(232,164,90,.07),transparent 65%);
  animation:dng-mist-breathe 11s ease-in-out infinite;
}
.raid-lobby-atmo-grid{
  background-image:
    linear-gradient(rgba(232,164,90,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(232,164,90,.03) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(180deg,transparent,rgba(0,0,0,.55) 30%,rgba(0,0,0,.35));
  opacity:.5;
}
.raid-lobby-atmo-vignette{
  background:radial-gradient(ellipse 85% 75% at 50% 40%,transparent 40%,rgba(0,0,0,.55) 100%);
}
@keyframes dng-ember-drift{
  from{transform:translateY(0) translateX(0)}
  to{transform:translateY(-18px) translateX(6px)}
}
@keyframes dng-mist-breathe{
  0%,100%{opacity:.55;transform:scale(1)}
  50%{opacity:.9;transform:scale(1.04)}
}
.raid-lobby--bourse .raid-lobby-shell{
  display:flex;flex-direction:column;gap:0;flex:1;min-height:0;
  border-radius:0;border:0;
  background:transparent;
  box-shadow:none;overflow:hidden;
  position:relative;z-index:1;
}
.raid-lobby-shell{
  display:flex;flex-direction:column;gap:0;
  border-radius:16px;border:1px solid rgba(232,164,90,.22);
  background:linear-gradient(168deg,rgba(14,10,26,.96),rgba(6,4,12,.99));
  box-shadow:0 14px 44px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.04);
  overflow:hidden;
}
.raid-lobby-hero{position:sticky;top:0;z-index:12;overflow:hidden;flex-shrink:0}
.raid-lobby-floor-ticker{
  position:relative;z-index:2;
  display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;
  padding:9px 16px;margin:0;
  border-top:1px solid rgba(232,164,90,.14);
  border-bottom:1px solid rgba(232,164,90,.08);
  background:
    linear-gradient(90deg,rgba(232,164,90,.12),rgba(8,6,14,.4) 40%,rgba(8,6,14,.75)),
    repeating-linear-gradient(90deg,transparent,transparent 12px,rgba(232,164,90,.04) 12px,rgba(232,164,90,.04) 13px);
  font-variant-numeric:tabular-nums;
}
.raid-floor-sym{
  font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:.58rem;font-weight:800;letter-spacing:.16em;color:var(--dng-copper);
  padding:3px 8px;border-radius:4px;border:1px solid rgba(232,164,90,.4);
  background:rgba(232,164,90,.12);
  box-shadow:0 0 12px rgba(232,164,90,.15);
}
.raid-floor-name{font-size:.82rem;font-weight:700;letter-spacing:.03em;color:rgba(243,235,224,.95)}
.raid-floor-sep{opacity:.35;font-size:.72rem}
.raid-floor-room{font-size:.72rem;color:rgba(243,235,224,.7);flex:1;min-width:0}
.raid-lobby-runway{
  position:relative;z-index:4;padding:12px 16px 14px;
  border-top:1px solid rgba(232,164,90,.14);
  background:linear-gradient(180deg,rgba(4,2,10,.15),rgba(2,1,6,.92));
}
.raid-lobby-runway-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.raid-lobby-runway-head .dungeon-lobby-progress-label{margin:0;font-size:.68rem;font-weight:600;letter-spacing:.06em;color:rgba(243,235,224,.72);text-transform:uppercase}
.raid-lobby-runway-head .chip-gold{
  font-size:.64rem;padding:4px 10px;border-radius:6px;
  background:rgba(232,164,90,.14);border:1px solid rgba(232,164,90,.38);color:var(--dng-copper);
  font-family:"Cinzel",ui-serif,Georgia,serif;letter-spacing:.04em;
}
.dungeon-lobby-phase-chip{font-size:.7rem!important;font-weight:700;letter-spacing:.02em;max-width:min(100%,280px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.raid-lobby-room-path{display:flex;align-items:center;gap:6px}
.raid-room-step-num{display:none}
.raid-lobby-kicker{
  display:inline-block;font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--dng-copper-soft);margin-bottom:8px;
  padding:3px 0;border-bottom:1px solid rgba(232,164,90,.28);
}
.raid-lobby-party-strip{
  position:relative;z-index:2;
  display:flex;flex-wrap:nowrap;gap:8px;padding:12px 14px;
  border-top:1px solid rgba(232,164,90,.1);
  background:linear-gradient(180deg,rgba(12,9,20,.78),rgba(7,5,12,.92));
}
.raid-lobby-party-strip .chip{
  flex:1 1 0;min-width:0;justify-content:center;text-align:center;
  padding:10px 12px;border-radius:10px;
  background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(0,0,0,.35));
  border:1px solid rgba(232,164,90,.16);
  font-size:.82rem;font-weight:700;letter-spacing:.02em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.raid-lobby-party-strip .chip-hp{border-color:rgba(231,76,60,.28);color:#ffb4ae}
.raid-lobby-party-strip .chip-sta{border-color:rgba(232,164,90,.3);color:#ffd7a8}

.raid-lobby-vitals{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.2fr 1.2fr .7fr 1fr;gap:8px;
  padding:10px 12px 8px;
  border-top:1px solid rgba(232,164,90,.12);
  background:linear-gradient(180deg,rgba(10,8,18,.88),rgba(6,4,12,.95));
}
.raid-vital{
  min-width:0;padding:8px 9px;border-radius:10px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(0,0,0,.28));
}
.raid-vital-top{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin-bottom:5px}
.raid-vital-label{
  font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:.52rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(243,235,224,.55);
}
.raid-vital-top > span:last-child{font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums;color:rgba(243,235,224,.92)}
.raid-vital-track{
  height:6px;border-radius:999px;overflow:hidden;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.05);
}
.raid-vital-fill{
  display:block;height:100%;width:0;border-radius:inherit;
  transition:width .45s cubic-bezier(.2,.8,.2,1);
}
.raid-vital--hp .raid-vital-fill{background:linear-gradient(90deg,#e85d5d,#ff8f7a)}
.raid-vital--hp .raid-vital-track.is-low .raid-vital-fill{background:linear-gradient(90deg,#d4a017,#f0c040)}
.raid-vital--hp .raid-vital-track.is-critical .raid-vital-fill{
  background:linear-gradient(90deg,#c0392b,#ff6b3d);
  animation:dng-vital-crit 1.1s ease-in-out infinite;
}
.raid-vital--sta .raid-vital-fill{background:linear-gradient(90deg,#e8a45a,#ffc078)}
.raid-vital--fc{display:flex;align-items:center}
.raid-vital--fc .raid-vital-top{margin:0;width:100%}
.raid-vital--threat .raid-vital-fill{background:linear-gradient(90deg,#5ec4c8,#e8a45a)}
.raid-vital--threat.tier-caution .raid-vital-fill{background:linear-gradient(90deg,#e8a45a,#f0c040)}
.raid-vital--threat.tier-danger .raid-vital-fill{background:linear-gradient(90deg,#ff8a50,#e85d5d)}
.raid-vital--threat.tier-dire .raid-vital-fill{
  background:linear-gradient(90deg,#ff6b3d,#c0392b);
  animation:dng-vital-crit 1.2s ease-in-out infinite;
}
.raid-vital--threat.tier-dire{
  border-color:rgba(255,107,61,.4);
  box-shadow:0 0 16px rgba(255,107,61,.15);
}
@keyframes dng-vital-crit{
  0%,100%{filter:brightness(1)}
  50%{filter:brightness(1.25)}
}
.raid-lobby-chronik{
  position:relative;z-index:2;
  display:flex;align-items:flex-start;gap:8px;
  margin:0 12px 8px;padding:9px 12px;border-radius:10px;
  border:1px solid rgba(232,164,90,.16);
  background:
    linear-gradient(135deg,rgba(232,164,90,.08),rgba(8,6,14,.55)),
    repeating-linear-gradient(0deg,transparent,transparent 11px,rgba(232,164,90,.03) 11px,rgba(232,164,90,.03) 12px);
  min-height:2.6em;
}
.raid-chronik-mark{
  flex:0 0 auto;margin-top:2px;color:var(--dng-copper);
  font-size:.7rem;opacity:.85;
  text-shadow:0 0 10px rgba(232,164,90,.35);
}
.raid-chronik-text{
  font-size:.78rem;line-height:1.45;color:rgba(243,235,224,.82);
  font-style:italic;
}
.raid-lobby-chronik.is-pulse .raid-chronik-text{animation:dng-chronik-in .45s ease both}
@keyframes dng-chronik-in{
  from{opacity:0;transform:translateY(4px)}
  to{opacity:1;transform:none}
}
.raid-lobby-encounter-title{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.raid-lobby-encounter-brief{
  font-size:.78rem;font-weight:650;color:rgba(243,235,224,.88);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(100%,280px);
}
.raid-lobby-encounter.is-room-enter{animation:dng-encounter-in .55s cubic-bezier(.2,.8,.2,1) both}
.raid-room-step{
  position:relative;flex:1;height:18px;border-radius:6px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:center;
  transition:transform .25s ease,background .3s ease,box-shadow .3s ease;
}
.raid-room-step-ico{font-size:.62rem;line-height:1;opacity:.35;filter:grayscale(.4)}
.raid-room-step.done{
  background:linear-gradient(90deg,rgba(94,196,200,.55),rgba(62,180,170,.32));
  border-color:rgba(94,196,200,.35);
}
.raid-room-step.done .raid-room-step-ico{opacity:.75;filter:none}
.raid-room-step.current{
  height:22px;
  background:linear-gradient(90deg,var(--dng-copper),var(--dng-ember));
  border-color:rgba(232,164,90,.55);
  box-shadow:0 0 14px rgba(232,164,90,.45),0 0 28px rgba(255,107,61,.2);
  transform:translateY(-1px);
  animation:dng-step-pulse 1.8s ease-in-out infinite;
}
.raid-room-step.current .raid-room-step-ico{opacity:1;filter:none;font-size:.72rem}
@keyframes dng-step-pulse{
  0%,100%{box-shadow:0 0 12px rgba(232,164,90,.4),0 0 22px rgba(255,107,61,.15)}
  50%{box-shadow:0 0 18px rgba(232,164,90,.65),0 0 36px rgba(255,107,61,.28)}
}
.raid-foe-card{
  display:flex;align-items:center;gap:12px;margin:0 0 10px;padding:12px 12px;
  border-radius:12px;border:1px solid rgba(231,76,60,.28);
  background:linear-gradient(135deg,rgba(231,76,60,.12),rgba(8,6,14,.45));
}
.raid-foe-card--boss{
  border-color:rgba(255,87,34,.42);
  background:linear-gradient(135deg,rgba(255,87,34,.16),rgba(8,6,14,.5));
  box-shadow:0 0 20px rgba(255,87,34,.12);
}
.raid-foe-card-emoji{
  flex:0 0 auto;width:44px;height:44px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.45rem;background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.raid-foe-card-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.raid-foe-card-copy strong{font-size:.92rem;color:#ffe8d8}
.raid-foe-stats{font-size:.68rem;color:rgba(243,235,224,.65);font-variant-numeric:tabular-nums}
.raid-lobby-flavor--warn{color:#ffa070;font-weight:700}
.raid-lobby[data-threat="danger"] .raid-lobby-atmo-embers,
.raid-lobby[data-threat="dire"] .raid-lobby-atmo-embers{opacity:1;filter:hue-rotate(-12deg) saturate(1.2)}
.raid-lobby[data-threat="dire"] .raid-lobby-encounter-aura{
  background:radial-gradient(ellipse 70% 90% at 50% 0%,rgba(255,87,34,.28),transparent 70%)!important;
}
@media (max-width:520px){
  .raid-lobby-vitals{grid-template-columns:1fr 1fr;gap:7px}
  .raid-vital--threat{grid-column:1 / -1}
}
@media (max-width:720px){
  .raid-lobby-vitals{grid-template-columns:1fr 1fr;gap:8px}
  .raid-vital--threat{grid-column:1 / -1}
  .raid-lobby-encounter-brief{white-space:normal;max-width:100%;overflow:visible;text-overflow:unset}
  .dungeon-lobby-phase-chip{max-width:100%;white-space:normal}
  .dungeon-lobby-banner{min-height:148px}
  .raid-lobby-room-path{
    overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;
    gap:8px;padding-bottom:4px;scroll-snap-type:x proximity;
  }
  .raid-room-step{
    flex:0 0 auto;min-width:48px;width:48px;height:20px;
  }
  .raid-room-step.current{height:24px;min-width:56px;width:56px}
  .raid-lobby-encounter,.dng-floor-panel{margin:10px 10px 0;border-radius:16px}
  .raid-lobby-footer{padding:10px 12px 12px}
}
@media (max-height:700px){
  .dungeon-lobby-banner{min-height:120px}
  .raid-lobby-runway{padding:8px 12px 10px}
  .raid-lobby-floor-ticker{padding:6px 12px}
  .raid-lobby-chronik{padding:6px 12px}
}
.raid-lobby-encounter,
.dng-floor-panel{
  position:relative;overflow:hidden;margin:12px 12px 0;border-radius:18px;
  border:1px solid rgba(232,164,90,.22);
  background:
    linear-gradient(165deg,rgba(14,10,22,.92) 0%,rgba(10,8,16,.78) 50%,rgba(8,6,14,.7) 100%);
  box-shadow:
    0 16px 40px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.05),
    0 0 0 1px rgba(0,0,0,.35);
  isolation:isolate;
  animation:dng-encounter-in .55s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes dng-encounter-in{
  from{opacity:0;transform:translateY(10px) scale(.985)}
  to{opacity:1;transform:none}
}
.raid-lobby-encounter-aura{
  position:absolute;inset:-20% -10% auto;height:55%;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 80% at 50% 0%,rgba(232,164,90,.16),transparent 70%);
  animation:dng-aura-breathe 4.5s ease-in-out infinite;
}
@keyframes dng-aura-breathe{
  0%,100%{opacity:.55;transform:translateY(0)}
  50%{opacity:1;transform:translateY(4px)}
}
.raid-lobby-encounter::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:4px;z-index:2;
  background:linear-gradient(180deg,var(--dng-copper),var(--dng-ember));
  box-shadow:0 0 16px rgba(232,164,90,.45);
}
.raid-lobby-encounter::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:1;
  background:
    radial-gradient(ellipse 80% 50% at 50% 0%,rgba(232,164,90,.08),transparent 70%),
    linear-gradient(135deg,transparent 60%,rgba(94,196,200,.04));
}
.raid-lobby-encounter.room-fight::before{background:linear-gradient(180deg,#e97070,#c0392b);box-shadow:0 0 16px rgba(231,76,60,.4)}
.raid-lobby-encounter.room-boss::before{background:linear-gradient(180deg,#ff8a50,#e03a1a);box-shadow:0 0 20px rgba(255,87,34,.5)}
.raid-lobby-encounter.room-loot::before{background:linear-gradient(180deg,#3ecf72,#27ae60)}
.raid-lobby-encounter.room-trap::before{background:linear-gradient(180deg,#f0c040,#d4a017)}
.raid-lobby-encounter.room-puzzle::before,
.raid-lobby-encounter.room-dialogue::before,
.raid-lobby-encounter.room-npc::before{background:linear-gradient(180deg,var(--dng-mist),#3a9ea8)}
.raid-lobby-encounter.room-boss .raid-lobby-encounter-aura{
  background:radial-gradient(ellipse 70% 90% at 50% 0%,rgba(255,87,34,.22),transparent 70%);
}
.raid-lobby-encounter-head{
  position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:16px 16px 0;
}
.raid-lobby-encounter-kicker{
  font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--dng-copper-soft);
}
.raid-lobby-encounter-type{
  font-size:.66rem;font-weight:700;padding:4px 10px;border-radius:6px;
  background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.12);
  letter-spacing:.04em;text-transform:uppercase;
}
.raid-lobby-encounter-type.fight{color:#e97070;border-color:rgba(231,76,60,.35)}
.raid-lobby-encounter-type.boss{color:#ffa070;border-color:rgba(255,87,34,.45);box-shadow:0 0 12px rgba(255,87,34,.2)}
.raid-lobby-encounter-type.loot{color:var(--green);border-color:rgba(62,207,114,.3)}
.raid-lobby-encounter-type.trap{color:#f0c040;border-color:rgba(255,200,50,.35)}
.raid-lobby-encounter-type.puzzle,
.raid-lobby-encounter-type.dialogue,
.raid-lobby-encounter-type.npc,
.raid-lobby-encounter-type.quest{color:var(--dng-mist);border-color:rgba(94,196,200,.35)}
.raid-lobby-encounter-type.trade,
.raid-lobby-encounter-type.phase_gate{color:var(--dng-copper);border-color:rgba(232,164,90,.35)}
.raid-lobby-encounter-type.tavern{color:#3ecf72;border-color:rgba(62,207,114,.3)}
.raid-lobby-encounter .raid-room-body{
  position:relative;z-index:2;padding:12px 16px 6px;background:transparent;border:none;box-shadow:none;
  font-size:.88rem;line-height:1.6;color:rgba(243,235,224,.9);
}
.raid-lobby-encounter .raid-actions{position:relative;z-index:2;display:flex;flex-direction:column;gap:9px;padding:10px 16px 16px}
.raid-lobby-encounter .raid-result{position:relative;z-index:2;margin:0 16px 10px}
.raid-lobby-encounter .raid-action-btn{
  padding:16px 18px;font-size:.92rem;font-weight:700;letter-spacing:.04em;border-radius:12px;
  border:1px solid rgba(232,164,90,.32);
  background:
    linear-gradient(135deg,rgba(232,164,90,.2),rgba(232,164,90,.05) 55%,rgba(255,107,61,.06));
  color:#fff4e4;
  box-shadow:0 6px 20px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.08);
  transition:transform .15s ease,filter .15s ease,border-color .15s ease,box-shadow .2s ease;
}
.raid-lobby-encounter .raid-action-btn:not(:disabled):hover{
  border-color:rgba(232,164,90,.55);
  box-shadow:0 8px 26px rgba(0,0,0,.38),0 0 20px rgba(232,164,90,.12),inset 0 1px 0 rgba(255,255,255,.1);
  filter:brightness(1.05);
}
.raid-lobby-encounter .raid-action-btn:not(:disabled):active{transform:scale(.975);filter:brightness(1.08)}
.raid-lobby-encounter .raid-action-btn.danger{background:linear-gradient(135deg,rgba(192,57,43,.4),rgba(231,76,60,.16));border-color:rgba(231,76,60,.5);color:#ffd0c8}
.raid-lobby-encounter .raid-action-btn.boss{
  background:linear-gradient(135deg,rgba(255,87,34,.38),rgba(255,120,50,.12));
  border-color:rgba(255,87,34,.55);color:#ffe0cc;
  animation:dng-boss-btn 2.4s ease-in-out infinite;
}
@keyframes dng-boss-btn{
  0%,100%{box-shadow:0 6px 20px rgba(0,0,0,.32),0 0 0 rgba(255,87,34,0)}
  50%{box-shadow:0 6px 20px rgba(0,0,0,.32),0 0 22px rgba(255,87,34,.28)}
}
.raid-lobby-encounter .raid-action-btn.success{background:linear-gradient(135deg,rgba(39,174,96,.3),rgba(62,207,114,.1));border-color:rgba(62,207,114,.42);color:#d8ffe8}
.raid-lobby-prep{margin:0 0 10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(232,164,90,.22);background:linear-gradient(135deg,rgba(232,164,90,.1),rgba(8,6,14,.55))}
.raid-lobby-prep-active{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.raid-lobby-prep-active .chip{font-size:.58rem;padding:4px 8px}
.raid-lobby-prep-bar{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.raid-prep-btn{min-height:40px;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:var(--txt);font-size:.74rem;font-weight:700;cursor:pointer;touch-action:manipulation}
.raid-prep-btn:not(:disabled):active{background:rgba(232,164,90,.18);border-color:rgba(232,164,90,.35)}
.raid-prep-btn:disabled{opacity:.45;cursor:not-allowed}
body.rpg-dungeon-prep-open{overflow:hidden}
.dungeon-prep-overlay{touch-action:pan-y}
.dungeon-prep-overlay .combat-skills-panel{width:min(100%,440px);max-height:min(78vh,520px);display:flex;flex-direction:column;min-height:0;overflow:hidden;pointer-events:auto;touch-action:pan-y}
#dungeon-prep-skills.combat-skills-panel,#dungeon-prep-potions.combat-skills-panel{display:flex;flex-direction:column;min-height:0;max-height:min(78vh,520px)}
#dungeon-prep-skills .dungeon-prep-scroll,#dungeon-prep-potions .dungeon-prep-scroll{flex:1 1 auto;min-height:0;height:min(52vh,360px);max-height:min(52vh,360px);overflow-y:scroll;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;scrollbar-gutter:stable}
#dungeon-prep-skills .dungeon-prep-scroll .combat-skill-card,#dungeon-prep-skills .dungeon-prep-scroll .potion-btn,#dungeon-prep-potions .dungeon-prep-scroll .potion-btn{touch-action:pan-y}
.dungeon-prep-skill-btn{width:100%;text-align:left}
.raid-lobby-footer{
  position:relative;z-index:2;
  margin-top:auto;padding:12px 14px 14px;
  background:linear-gradient(180deg,rgba(8,6,14,.2),rgba(3,2,8,.96));
  border-top:1px solid rgba(232,164,90,.12);
}
.raid-lobby-footer .raid-leave-btn{
  width:100%;min-height:46px;border-radius:12px;
  border-color:rgba(231,76,60,.32);background:rgba(231,76,60,.1);
  font-weight:700;letter-spacing:.03em;
}
.raid-lobby-footer .raid-leave-btn:active{background:rgba(231,76,60,.18)}
.raid-lobby-flavor{margin-top:8px;font-size:.8rem;line-height:1.55;color:rgba(243,235,224,.78)}
.dungeon-lobby-screen{display:flex;flex-direction:column;gap:0;min-height:0;flex:1}
.dungeon-lobby-banner{
  position:relative;overflow:hidden;min-height:200px;
  background-color:#0a0810;border:none;border-radius:0;box-shadow:none;padding:0;
  background-size:cover;background-position:center;
}
.dungeon-lobby-banner-art{
  position:absolute;inset:-4%;z-index:0;display:block!important;
  background-size:cover;background-position:center;
  filter:saturate(1.12) contrast(1.05) brightness(.72);
  animation:dng-banner-ken 18s ease-in-out infinite alternate;
  transform-origin:center;
}
@keyframes dng-banner-ken{
  from{transform:scale(1.02) translate(0,0)}
  to{transform:scale(1.1) translate(-1.5%,1%)}
}
.dungeon-lobby-banner-veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(6,4,12,.18) 0%,rgba(6,4,12,.42) 38%,rgba(4,2,10,.94) 100%),
    linear-gradient(105deg,rgba(6,4,12,.78) 0%,rgba(8,6,14,.28) 48%,transparent 100%),
    linear-gradient(0deg,rgba(232,164,90,.08),transparent 40%);
}
.dungeon-lobby-banner-shine{
  display:block!important;position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(ellipse 55% 45% at 82% 18%,rgba(232,164,90,.2),transparent 70%),
    radial-gradient(ellipse 40% 30% at 15% 70%,rgba(255,107,61,.1),transparent 65%);
  animation:dng-shine-sweep 7s ease-in-out infinite;
}
@keyframes dng-shine-sweep{
  0%,100%{opacity:.7}
  50%{opacity:1}
}
.dungeon-lobby-banner-frame{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  box-shadow:
    inset 0 0 0 1px rgba(232,164,90,.18),
    inset 0 -40px 60px rgba(0,0,0,.35);
  background:
    linear-gradient(rgba(232,164,90,.4),rgba(232,164,90,.4)) left bottom / 28px 2px no-repeat,
    linear-gradient(rgba(232,164,90,.4),rgba(232,164,90,.4)) left bottom / 2px 28px no-repeat,
    linear-gradient(rgba(232,164,90,.4),rgba(232,164,90,.4)) right bottom / 28px 2px no-repeat,
    linear-gradient(rgba(232,164,90,.4),rgba(232,164,90,.4)) right bottom / 2px 28px no-repeat;
}
.dungeon-lobby-banner-frame::before,
.dungeon-lobby-banner-frame::after{
  content:'';position:absolute;width:28px;height:28px;border-color:rgba(232,164,90,.45);border-style:solid;
}
.dungeon-lobby-banner-frame::before{top:10px;left:10px;border-width:2px 0 0 2px}
.dungeon-lobby-banner-frame::after{top:10px;right:10px;border-width:2px 2px 0 0}
.dungeon-lobby-banner-deco{
  position:absolute;right:14px;top:14px;font-size:2rem;line-height:1;opacity:.55;
  pointer-events:none;user-select:none;z-index:3;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.7));
  animation:dng-deco-float 5s ease-in-out infinite;
}
@keyframes dng-deco-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}
.dungeon-lobby-banner-body{
  position:relative;z-index:3;display:flex;flex-direction:column;justify-content:flex-end;
  min-height:128px;padding:18px 52px 12px 16px;
}
.dungeon-lobby-banner-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.dungeon-lobby-name{
  font-family:"Cinzel",ui-serif,Georgia,serif;
  font-weight:800;font-size:clamp(1.25rem,4.2vw,1.65rem);letter-spacing:.03em;
  color:#ffe2b8;
  text-shadow:0 2px 18px rgba(0,0,0,.9),0 0 28px rgba(232,164,90,.25);
}
.dungeon-lobby-progress-label{display:block;font-size:.62rem;letter-spacing:.03em;opacity:.82}
.dungeon-lobby-banner-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:8px}
.coop-dungeon-party{
  position:relative;z-index:2;
  display:flex;gap:8px;overflow-x:auto;padding:12px 14px;
  border-bottom:1px solid rgba(232,164,90,.12);background:rgba(8,6,14,.78);
}
.coop-dng-player-card{
  display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:7px 11px;border-radius:12px;
  border:1px solid rgba(232,164,90,.22);background:rgba(232,164,90,.07);
}
.coop-dng-player-card.is-me{border-color:rgba(232,164,90,.5);background:rgba(232,164,90,.14);box-shadow:0 0 14px rgba(232,164,90,.12)}
.coop-dng-player-avatar,.coop-dng-player-fallback{width:32px;height:32px;border-radius:50%;object-fit:cover}
.coop-dng-player-fallback{display:flex;align-items:center;justify-content:center;font-size:1rem;background:rgba(255,255,255,.06)}
.coop-dng-player-meta{display:flex;flex-direction:column;gap:1px}
.coop-dng-player-meta strong{font-size:.72rem}
.dungeon-lobby-room{font-size:.8rem;color:rgba(243,235,224,.92);text-shadow:0 1px 6px rgba(0,0,0,.65);font-weight:600}
.dungeon-lobby-type-badge{display:inline-block;font-size:.6rem;font-weight:700;padding:3px 9px;border-radius:6px;line-height:1.5;letter-spacing:.04em;text-transform:uppercase}
.dungeon-lobby-type-badge.fight{background:rgba(231,76,60,.22);border:1px solid rgba(231,76,60,.38);color:#e97070}
.dungeon-lobby-type-badge.boss{background:rgba(255,87,34,.24);border:1px solid rgba(255,87,34,.45);color:#ffa070}
.dungeon-lobby-type-badge.loot{background:rgba(62,207,114,.16);border:1px solid rgba(62,207,114,.32);color:var(--green)}
.dungeon-lobby-type-badge.trap{background:rgba(255,200,50,.14);border:1px solid rgba(255,200,50,.3);color:#f0c040}
.dungeon-lobby-type-badge.puzzle{background:rgba(94,196,200,.16);border:1px solid rgba(94,196,200,.32);color:var(--dng-mist)}
.dungeon-lobby-type-badge.dialogue,.dungeon-lobby-type-badge.npc{background:rgba(94,196,200,.14);border:1px solid rgba(94,196,200,.28);color:var(--dng-mist)}
.dungeon-lobby-type-badge.quest{background:rgba(94,196,200,.14);color:var(--dng-mist)}
.dungeon-lobby-type-badge.trade{background:rgba(232,164,90,.14);color:var(--dng-copper)}
.dungeon-lobby-type-badge.tavern{background:rgba(62,207,114,.14);color:#3ecf72}
.coop-dungeon-banner .coop-dungeon-mode-badge{
  display:inline-block;margin-top:0;font-size:.6rem;font-weight:700;padding:3px 9px;border-radius:6px;
  background:rgba(232,164,90,.14);border:1px solid rgba(232,164,90,.32);color:var(--dng-copper);
  letter-spacing:.04em;text-transform:uppercase;
}
@media (prefers-reduced-motion:reduce){
  .raid-lobby-atmo-embers,.raid-lobby-atmo-mist,.dungeon-lobby-banner-art,
  .dungeon-lobby-banner-shine,.dungeon-lobby-banner-deco,.raid-room-step.current,
  .raid-lobby-encounter-aura,.raid-lobby-encounter .raid-action-btn.boss,
  .raid-lobby-encounter,.raid-lobby-chronik.is-pulse .raid-chronik-text,
  .raid-vital--hp .raid-vital-track.is-critical .raid-vital-fill,
  .raid-vital--threat.tier-dire .raid-vital-fill{animation:none!important}
}

/* ── Cinema-Layout: kein Fenster, Edge-HUD, große Felder ── */
.raid-lobby--cinema,
.raid-lobby--stage{
  position:relative;
  background:transparent!important;
}
.raid-lobby-scene{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background-color:#0a0810;
  background-size:cover;background-position:center;
  transform:scale(1.06);
  filter:saturate(1.12) contrast(1.06) brightness(.7);
  animation:dng-banner-ken 24s ease-in-out infinite alternate;
}
.raid-cinema-veil{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(4,2,10,.72) 0%,rgba(4,2,10,.18) 28%,rgba(4,2,10,.08) 52%,rgba(4,2,10,.55) 78%,rgba(3,2,8,.92) 100%),
    linear-gradient(90deg,rgba(4,2,10,.35),transparent 22%,transparent 78%,rgba(4,2,10,.35));
}
.raid-lobby--cinema .raid-lobby-shell,
.raid-lobby--stage .raid-lobby-shell{
  position:relative;z-index:1;
  display:flex;flex-direction:column;gap:0;flex:1;min-height:0;height:100%;
  background:transparent!important;border:0!important;box-shadow:none!important;
  overflow:hidden;
}

/* Top: Text auf der Szene, keine Box */
.raid-cinema-top{
  position:relative;z-index:3;flex-shrink:0;
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:max(12px,env(safe-area-inset-top)) 18px 8px;
}
.raid-cinema-titleblock{min-width:0;flex:1}
.raid-cinema-titleblock .raid-lobby-kicker{
  margin:0 0 2px;padding:0;border:0;
  font-size:.58rem;letter-spacing:.22em;color:rgba(232,164,90,.85);
  text-shadow:0 2px 10px rgba(0,0,0,.8);
}
.raid-cinema-titleblock .dungeon-lobby-name{
  margin:0 0 8px;
  font-size:clamp(1.7rem,7vw,2.4rem);line-height:1.05;
  text-shadow:0 3px 22px rgba(0,0,0,.95),0 0 40px rgba(232,164,90,.2);
}
.raid-cinema-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.raid-cinema-meta .dungeon-lobby-phase-chip,
.raid-cinema-meta .dungeon-lobby-type-badge,
.raid-cinema-meta .dungeon-lobby-room,
.raid-cinema-meta .raid-cinema-roomchip,
.raid-cinema-meta .coop-dungeon-mode-badge{
  font-size:.62rem!important;font-weight:700;padding:5px 10px;border-radius:999px;
  background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.12);
  color:rgba(255,240,220,.9);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  box-shadow:none;text-shadow:0 1px 6px rgba(0,0,0,.7);
}
.raid-cinema-meta .dungeon-lobby-type-badge.fight{border-color:rgba(231,76,60,.45);color:#ff9a90}
.raid-cinema-meta .dungeon-lobby-type-badge.boss{border-color:rgba(255,140,70,.5);color:#ffc090}
.raid-cinema-top .dungeon-lobby-banner-deco{
  position:static;font-size:2.6rem;opacity:.75;filter:drop-shadow(0 6px 16px rgba(0,0,0,.7));
}

/* Vitals: volle Breite, flache Balken — kein Kartenraster */
.raid-cinema-vitals{
  position:relative;z-index:3;flex-shrink:0;
  display:grid;grid-template-columns:1.3fr 1.3fr .7fr 1fr;gap:10px 14px;
  padding:4px 18px 8px;
  background:transparent;border:0;
}
.raid-lobby--cinema .raid-vital{
  padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;
}
.raid-lobby--cinema .raid-vital-top{margin-bottom:4px}
.raid-lobby--cinema .raid-vital-label{
  font-size:.5rem;letter-spacing:.16em;color:rgba(243,235,224,.62);
  text-shadow:0 1px 6px rgba(0,0,0,.8);
}
.raid-lobby--cinema .raid-vital-top > span:last-child{
  font-size:.78rem;font-weight:750;color:#fff4e6;
  text-shadow:0 1px 8px rgba(0,0,0,.85);
}
.raid-lobby--cinema .raid-vital-track{
  height:7px;border-radius:999px;background:rgba(0,0,0,.45);
  border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.5);
}
.raid-cinema-path{
  position:relative;z-index:3;flex-shrink:0;
  padding:0 18px 6px;
}
.raid-cinema-path .dungeon-lobby-progress-label{
  display:block;margin:0 0 6px;font-size:.62rem;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(243,235,224,.55);
  text-shadow:0 1px 6px rgba(0,0,0,.75);
}
.raid-lobby--cinema .raid-lobby-room-path{gap:8px}
.raid-lobby--cinema .raid-room-step{
  flex:1;height:10px;min-width:0;border-radius:999px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.08);
}
.raid-lobby--cinema .raid-room-step.current{height:12px}
.raid-lobby--cinema .raid-room-step-ico{display:none}

/* Hauptfläche: offen über der Szene */
.raid-cinema-main,
.raid-lobby--cinema .raid-lobby-encounter{
  position:relative;z-index:3;
  flex:1 1 auto;min-height:0;
  display:flex;flex-direction:column;justify-content:flex-end;
  margin:0!important;padding:8px 16px 0;
  border:0!important;border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  overflow:auto;-webkit-overflow-scrolling:touch;
  isolation:auto;animation:none;
}
.raid-lobby--cinema .raid-lobby-encounter::before,
.raid-lobby--cinema .raid-lobby-encounter::after,
.raid-lobby--cinema .raid-lobby-encounter-aura{display:none!important}
.raid-cinema-foehead{margin:0 0 10px;text-align:center}
.raid-cinema-foehead .raid-lobby-encounter-type{
  display:inline-flex;margin-bottom:6px;padding:5px 12px;border-radius:999px;
  font-size:.68rem;letter-spacing:.1em;
  background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.raid-cinema-foename{
  margin:0;font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:clamp(1.5rem,6.5vw,2.2rem);font-weight:800;line-height:1.1;
  color:#ffe8c8;letter-spacing:.02em;
  text-shadow:0 3px 24px rgba(0,0,0,.95),0 0 30px rgba(232,164,90,.22);
}
.raid-cinema-foename:empty{display:none}
/* Fight/Boss: Name gehört über den Avatar, nicht in die Kopfzeile */
.raid-lobby--cinema .raid-lobby-encounter.room-fight .raid-cinema-foehead,
.raid-lobby--cinema .raid-lobby-encounter.room-boss .raid-cinema-foehead{
  display:none;
}
.raid-cinema-body{
  flex:1 1 auto;min-height:0;
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  padding:0!important;background:transparent!important;border:0!important;
}

/* Gegner: großes zentriertes Kampf-Sprite (Cutout), kein Fenster */
.raid-foe-stage{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:8px;margin:0 0 8px;padding:0;min-height:min(38vh,320px);
  text-align:center;
}
.raid-foe-stage-art{
  position:relative;display:flex;align-items:flex-end;justify-content:center;
  width:min(82vw,380px);min-height:min(30vh,260px);
  filter:drop-shadow(0 18px 28px rgba(0,0,0,.55));
}
.raid-foe-stage-img{
  display:block;width:auto;height:auto;max-width:min(78vw,340px);max-height:min(40vh,320px);
  object-fit:contain;object-position:center bottom;pointer-events:none;user-select:none;
}
.raid-foe-stage--boss .raid-foe-stage-img{
  max-width:min(82vw,380px);max-height:min(46vh,360px);
}
.raid-foe-stage-img.hidden{display:none!important}
.raid-foe-stage-fallback{
  display:flex;align-items:center;justify-content:center;
  width:96px;height:96px;border-radius:24px;font-size:2.8rem;
  background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.16);
  box-shadow:0 12px 30px rgba(0,0,0,.45);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.raid-foe-stage-fallback.hidden{display:none!important}
.raid-foe-stage-meta{
  display:flex;flex-direction:column;align-items:center;gap:6px;max-width:100%;
}
.raid-foe-stage-name{
  order:-1;
  margin:0 0 2px;
  font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:clamp(1.35rem,5.5vw,1.95rem);font-weight:800;line-height:1.1;
  color:#ffe8c8;letter-spacing:.02em;
  text-shadow:0 3px 22px rgba(0,0,0,.95),0 0 28px rgba(232,164,90,.2);
}
.raid-lobby--cinema .raid-foe-stage-name{display:block}
.raid-lobby--cinema .raid-foe-hero,
.raid-lobby--cinema .raid-foe-card{
  display:flex;flex-direction:column;align-items:center;gap:12px;
  margin:0 0 14px;padding:0;border:0;border-radius:0;
  background:transparent!important;box-shadow:none!important;
}
.raid-lobby--cinema .raid-foe-card-emoji{display:none}
.raid-lobby--cinema .raid-foe-card-copy strong{display:none}
.raid-lobby--cinema .raid-foe-sub{
  font-size:.78rem;font-weight:650;color:rgba(255,240,220,.7);
  text-shadow:0 1px 8px rgba(0,0,0,.8);
}
.raid-lobby--cinema .raid-foe-stat-row{
  display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:2px;
}
.raid-lobby--cinema .raid-foe-pill{
  padding:7px 12px;border-radius:999px;font-size:.78rem;font-weight:750;
  color:#ffe0d0;background:rgba(0,0,0,.4);border:1px solid rgba(255,180,140,.28);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}

/* Prep: nur Chips/Hinweis — Aktionen sitzen in der Hotbar */
.raid-lobby--cinema .raid-lobby-prep{
  margin:0 0 8px;padding:0;border:0;background:transparent;
  display:flex;flex-direction:column;align-items:center;gap:6px;
}
.raid-lobby--cinema .raid-prep-hint{
  display:block;margin:0;font-size:.68rem;color:rgba(243,235,224,.5);
  text-shadow:0 1px 6px rgba(0,0,0,.75);text-align:center;
}
.raid-lobby--cinema .raid-lobby-prep-bar{display:none}

.raid-cinema-line{
  margin:0 0 10px;padding:0;border:0;background:transparent;
  font-size:.78rem;line-height:1.4;color:rgba(243,235,224,.7);
  text-shadow:0 1px 8px rgba(0,0,0,.85);font-style:italic;
  text-align:center;
}
.raid-lobby--cinema .raid-lobby-flavor{display:none}
.raid-lobby--cinema .raid-loot-hint{
  display:block;margin:0 0 6px;padding:0;border:0;background:transparent;
  font-size:.78rem;line-height:1.35;text-align:center;
  text-shadow:0 1px 8px rgba(0,0,0,.85);
}
.raid-lobby--cinema .raid-loot-hint--ok{color:#9dffb0}
.raid-lobby--cinema .raid-loot-hint--warn{color:#ffd278}
.raid-lobby--cinema .raid-loot-hint--muted{color:rgba(243,235,224,.55);font-size:.7rem}
.raid-lobby--cinema .raid-chest-showcase{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;margin:0;padding:0;background:transparent;border:0;box-shadow:none;
  filter:drop-shadow(0 16px 28px rgba(0,0,0,.5));
}
.raid-lobby--cinema .raid-chest-img{
  width:auto;max-width:min(70vw,280px);max-height:min(36vh,260px);
  object-fit:contain;background:transparent;border:0;box-shadow:none;
}
.raid-lobby--cinema .raid-chest-label{
  font-size:1.05rem;font-weight:800;color:#fff2e4;
  text-shadow:0 2px 12px rgba(0,0,0,.85);
}
.raid-lobby--cinema .raid-action-btn.success.raid-action-btn--primary{
  min-height:72px;font-size:1.15rem;border-radius:18px;
  background:linear-gradient(180deg,#3ecf72 0%,#1e8f48 100%);
  border-color:rgba(140,255,180,.45);
  box-shadow:0 14px 36px rgba(30,140,70,.4);
}

/* Action-Stack: Kämpfen + Vorbereiten (kein Icon-Hotbar) */
.raid-cinema-actions,
.raid-lobby--cinema .raid-actions{
  display:flex;flex-direction:column;gap:10px;
  padding:0 0 8px!important;margin:0;
  background:transparent;
}
.raid-cinema-stack{
  display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%;
}
.raid-prep-ready-btn{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  width:100%;min-height:48px;padding:10px 14px;border-radius:14px;cursor:pointer;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.32);
  color:#fff4e8;
  box-shadow:0 8px 20px rgba(0,0,0,.28);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  touch-action:manipulation;
}
.raid-prep-ready-btn:not(:disabled):hover,
.raid-prep-ready-btn:not(:disabled):active{
  border-color:rgba(232,164,90,.45);background:rgba(24,14,10,.5);
}
.raid-prep-ready-btn:disabled{opacity:.4;cursor:not-allowed}
.raid-prep-ready-label{
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
  font-size:.95rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
}
.raid-prep-ready-sub{font-size:.68rem;font-weight:650;color:rgba(255,236,214,.58)}
.raid-prep-ready-state{
  display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:4px 0;
}
.dungeon-prep-tabs{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 12px 8px;
}
.dungeon-prep-tab{
  min-height:40px;padding:8px 10px;border-radius:12px;cursor:pointer;
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);
  color:rgba(255,244,232,.75);font-size:.78rem;font-weight:750;
}
.dungeon-prep-tab.is-active{
  border-color:rgba(232,164,90,.5);background:rgba(232,164,90,.14);color:#ffe8c8;
}
.dungeon-prep-tab:disabled{opacity:.35;cursor:not-allowed}
.dungeon-prep-ready-note{margin:0 12px 8px;text-align:center}
.dungeon-prep-ready-head{align-items:center}
.raid-lobby--cinema .raid-action-btn{
  display:flex;align-items:center;justify-content:center;gap:12px;
  width:100%;min-height:64px;padding:16px 18px;border-radius:16px;
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
  font-size:1.12rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(0,0,0,.4);
  color:#fff4e8;
  box-shadow:0 12px 28px rgba(0,0,0,.35);
}
.raid-lobby--cinema .raid-action-btn--primary.danger,
.raid-lobby--cinema .raid-action-btn.danger.raid-action-btn--primary{
  min-height:72px;font-size:1.2rem;border-radius:18px;
  background:linear-gradient(180deg,#e85d4a 0%,#a5281c 100%);
  border-color:rgba(255,160,120,.55);
  box-shadow:0 14px 36px rgba(180,40,30,.45),0 0 28px rgba(255,80,50,.2);
}
.raid-lobby--cinema .raid-action-btn--primary.boss,
.raid-lobby--cinema .raid-action-btn.boss.raid-action-btn--primary{
  min-height:72px;font-size:1.15rem;
  background:linear-gradient(180deg,#ff9a4a,#c24a18);
  border-color:rgba(255,180,100,.55);
  box-shadow:0 14px 36px rgba(200,80,20,.4);
}
.raid-action-ico{font-size:1.25rem;line-height:1}

@media (max-width:380px){
  .raid-prep-ready-btn{min-height:44px}
  .raid-foe-stage-name{font-size:clamp(1.2rem,5vw,1.6rem)}
}

.raid-cinema-footer{
  position:relative;z-index:3;flex-shrink:0;
  padding:4px 18px max(12px,env(safe-area-inset-bottom));
  background:transparent;border:0;text-align:center;
}
.raid-lobby--cinema .raid-leave-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:36px;padding:8px 14px;border:0!important;border-radius:0;
  background:transparent!important;color:rgba(243,235,224,.55)!important;
  font-size:.78rem;font-weight:650;letter-spacing:.04em;
  text-decoration:underline;text-underline-offset:3px;
  box-shadow:none!important;width:auto;
}
.raid-lobby--cinema .raid-leave-btn:hover{color:#ffc8b8!important}

.raid-lobby--cinema .coop-dungeon-party{
  margin:0;padding:6px 14px;border:0;background:transparent;
  max-width:none;
}

/* Fullscreen Cinema */
html body.rpg-raid-lobby-fs #top-bar,
html body.screen-raid.rpg-raid-lobby-fs #top-bar,
html body.screen-coop-dungeon.rpg-raid-lobby-fs #top-bar{display:none!important}
html body.rpg-raid-lobby-fs #app,
html body.screen-raid.rpg-raid-lobby-fs #app,
html body.screen-coop-dungeon.rpg-raid-lobby-fs #app{
  max-width:none!important;width:100%!important;margin:0!important;padding:0!important;
  min-height:100dvh!important;height:100dvh!important;overflow:hidden!important;
}
html body.screen-raid.rpg-raid-lobby-fs #screen-raid,
html body.screen-coop-dungeon.rpg-raid-lobby-fs #screen-coop-dungeon{
  position:fixed!important;inset:0!important;z-index:12000!important;
  width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;
  margin:0!important;padding:0!important;overflow:hidden!important;
  display:flex!important;flex-direction:column!important;
  background:transparent!important;
}
html body.rpg-raid-lobby-fs #screen-raid.hidden,
html body.rpg-raid-lobby-fs #screen-coop-dungeon.hidden,
html body.screen-combat #screen-raid,
html body.screen-combat #screen-coop-dungeon,
html body.screen-combat.rpg-raid-lobby-fs #screen-raid,
html body.screen-combat.rpg-raid-lobby-fs #screen-coop-dungeon{display:none!important;visibility:hidden!important;pointer-events:none!important;z-index:-1!important}
html body.rpg-raid-lobby-fs .raid-lobby-scene,
html body.rpg-raid-lobby-fs .raid-cinema-veil{
  position:fixed!important;inset:0!important;
}
html body.rpg-raid-lobby-fs .raid-lobby-shell{
  flex:1 1 auto!important;min-height:0!important;height:100%!important;
  border-radius:0!important;overflow:hidden!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
}
/* Kein zentriertes Fenster mehr — volle Breite */
html body.rpg-raid-lobby-fs .raid-cinema-top,
html body.rpg-raid-lobby-fs .raid-cinema-vitals,
html body.rpg-raid-lobby-fs .raid-cinema-path,
html body.rpg-raid-lobby-fs .raid-cinema-main,
html body.rpg-raid-lobby-fs .raid-cinema-footer,
html body.rpg-raid-lobby-fs .coop-dungeon-party{
  max-width:none;width:100%;margin:0;box-sizing:border-box;
}
@media (min-width:900px){
  html body.rpg-raid-lobby-fs .raid-cinema-top,
  html body.rpg-raid-lobby-fs .raid-cinema-vitals,
  html body.rpg-raid-lobby-fs .raid-cinema-path,
  html body.rpg-raid-lobby-fs .raid-cinema-main,
  html body.rpg-raid-lobby-fs .raid-cinema-footer{
    padding-left:max(28px,calc((100vw - 920px) / 2));
    padding-right:max(28px,calc((100vw - 920px) / 2));
  }
  .raid-cinema-titleblock .dungeon-lobby-name{font-size:2.5rem}
  .raid-lobby--cinema .raid-foe-card-emoji{width:110px;height:110px;font-size:3.2rem}
  .raid-lobby--cinema .raid-action-btn--primary{min-height:78px;font-size:1.28rem}
}
@media (max-width:720px){
  .raid-cinema-vitals{grid-template-columns:1fr 1fr;gap:8px 12px;padding-left:14px;padding-right:14px}
  .raid-lobby--cinema .raid-vital--threat,
  .raid-lobby--cinema .raid-vital--fc{grid-column:auto}
  .raid-cinema-top,.raid-cinema-path,.raid-cinema-main,.raid-cinema-footer{padding-left:14px;padding-right:14px}
  .raid-lobby--cinema .raid-foe-card-emoji{width:72px;height:72px;font-size:2.2rem}
  .raid-lobby--cinema .raid-action-btn--primary{min-height:66px;font-size:1.08rem}
  .raid-lobby--cinema .raid-prep-btn{min-height:58px}
}

.dungeon-panel-card.has-banner{position:relative;overflow:hidden;min-height:92px;background-size:cover;background-position:center right;border:1px solid rgba(255,255,255,.1);border-radius:14px;box-shadow:0 6px 22px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.04)}
.dungeon-panel-card.has-banner::before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,4,12,.94) 0%,rgba(8,6,14,.78) 38%,rgba(8,6,14,.22) 100%);pointer-events:none}
.dungeon-panel-card.has-banner::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 55% 80% at 100% 50%,rgba(124,92,255,.12),transparent 70%)}
.dungeon-panel-card.has-banner>*{position:relative;z-index:1}
.dungeon-panel-card.active-run.has-banner{border-color:rgba(46,204,113,.55);box-shadow:0 0 0 1px rgba(46,204,113,.3),0 8px 24px rgba(46,204,113,.1),inset 0 1px 0 rgba(255,255,255,.05)}
.dungeon-panel-actions{position:relative;z-index:4;pointer-events:auto}
.dungeon-panel-actions .dungeon-leave-btn,.dungeon-panel-actions .dungeon-start-btn{position:relative;z-index:5;pointer-events:auto;min-height:38px;min-width:92px}
.dungeon-panel-actions .dungeon-leave-btn{border-color:rgba(231,76,60,.28);background:rgba(231,76,60,.08)}
.dungeon-panel-actions .dungeon-start-btn.btn-success{box-shadow:0 4px 14px rgba(46,204,113,.18)}
.raid-header{position:relative;overflow:hidden;border-radius:var(--r);padding:0}
.raid-banner-img{width:100%;height:140px;object-fit:cover;object-position:center;display:block;filter:brightness(.7)}
.raid-header-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:10px 14px;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,transparent 50%)}
.raid-header-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.raid-dungeon-name{font-weight:800;font-size:.9rem;color:var(--gold)}
.raid-room-label{font-size:.68rem;color:rgba(238,241,255,.65);margin-top:2px}
.raid-progress-bar-wrap{height:6px;border-radius:3px;overflow:hidden;padding:0;margin:0}
.raid-progress-bar{height:100%;background:linear-gradient(90deg,var(--gold),var(--accent));border-radius:3px;transition:width .4s ease}
/* Room body */
.raid-room-body{padding:14px;font-size:.78rem;line-height:1.55}
.raid-room-type-badge{display:inline-block;font-size:.6rem;font-weight:700;padding:2px 8px;border-radius:10px;margin-bottom:8px}
.raid-room-type-badge.fight  {background:rgba(231,76,60,.18);border:1px solid rgba(231,76,60,.35);color:#e97070}
.raid-room-type-badge.boss   {background:rgba(255,87,34,.2);border:1px solid rgba(255,87,34,.4);color:#ffa070}
.raid-room-type-badge.loot   {background:rgba(62,207,114,.15);border:1px solid rgba(62,207,114,.3);color:var(--green)}
.raid-room-type-badge.trap   {background:rgba(255,200,50,.12);border:1px solid rgba(255,200,50,.3);color:#f0c040}
.raid-room-type-badge.puzzle {background:rgba(94,196,255,.15);border:1px solid rgba(94,196,255,.3);color:var(--accent)}
.raid-room-type-badge.dialogue{background:rgba(124,92,255,.15);border:1px solid rgba(124,92,255,.3);color:var(--accent2)}
.raid-room-type-badge.npc    {background:rgba(124,92,255,.15);border:1px solid rgba(124,92,255,.3);color:var(--accent2)}
/* Puzzle */
.raid-puzzle-text{font-size:.8rem;line-height:1.55;margin-bottom:10px;color:var(--txt)}
.raid-puzzle-hint{font-size:.72rem;line-height:1.45;margin:8px 0 10px;padding:8px 10px;border-radius:var(--r-sm);border:1px dashed rgba(240,192,64,.35);background:rgba(240,192,64,.08);color:#f0c040;font-style:italic}
.raid-quest-task{font-size:.78rem;color:var(--accent2);margin:8px 0 4px;font-weight:700}
.raid-quest-reward{margin-bottom:8px}
.raid-dungeon-quest-banner{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:0 0 10px;border-left:3px solid var(--accent2)}
.raid-dungeon-quest-emoji{font-size:1.35rem;line-height:1}
.raid-dungeon-quest-copy{display:flex;flex-direction:column;gap:2px}
.raid-dungeon-quest-title{font-size:.78rem;color:var(--accent2)}
.raid-dungeon-quest-done{margin:0 0 10px}
.raid-quest-done{margin-top:6px}
.raid-tavern-info{font-size:.75rem;color:var(--green);margin:8px 0;padding:8px 10px;border-radius:var(--r-sm);background:rgba(62,207,114,.08);border:1px solid rgba(62,207,114,.2)}
.raid-choice-btn.trade-btn{border-color:rgba(240,192,64,.3);background:rgba(240,192,64,.07)}
.raid-room-type-badge.quest{background:rgba(94,196,255,.15);color:#5ec4ff}
.raid-room-type-badge.trade{background:rgba(240,192,64,.15);color:#f0c040}
.raid-room-type-badge.tavern{background:rgba(62,207,114,.15);color:#3ecf72}
.raid-choices{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.raid-choice-btn{text-align:left;padding:10px 13px;border-radius:var(--r-sm);border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--txt);font-size:.75rem;font-weight:600;transition:border-color .15s,background .15s}
.raid-choice-btn:active{transform:scale(.97)}
.raid-choice-btn.puzzle-btn{border-color:rgba(94,196,255,.25);background:rgba(94,196,255,.07)}
.raid-choice-btn.dialogue-btn{border-color:rgba(124,92,255,.25);background:rgba(124,92,255,.07)}
.raid-choice-btn.correct{border-color:rgba(62,207,114,.5)!important;background:rgba(62,207,114,.15)!important}
.raid-choice-btn.wrong{border-color:rgba(231,76,60,.5)!important;background:rgba(231,76,60,.1)!important}
/* Dialogue NPC */
.raid-npc-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.raid-npc-emoji{font-size:1.6rem;line-height:1}
.raid-npc-name{font-weight:800;font-size:.8rem;color:var(--accent2)}
.raid-npc-text{font-size:.75rem;color:var(--muted);line-height:1.5;font-style:italic;margin-bottom:10px;padding:8px 10px;border-left:2px solid rgba(124,92,255,.4);background:rgba(124,92,255,.05);border-radius:0 var(--r-sm) var(--r-sm) 0}
/* Actions */
.raid-actions{display:flex;flex-direction:column;gap:6px}
.raid-action-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:13px;border-radius:var(--r);border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--txt);font-weight:700;font-size:.8rem;transition:transform .12s}
.raid-action-btn:active{transform:scale(.96)}
.raid-action-btn.danger{border-color:rgba(231,76,60,.35);background:rgba(231,76,60,.1)}
.raid-action-btn.boss{border-color:rgba(255,87,34,.4);background:rgba(255,87,34,.12);color:#ffa070}
.raid-action-btn.success{border-color:rgba(62,207,114,.35);background:rgba(62,207,114,.1)}
.raid-result{padding:12px 14px;font-size:.76rem;line-height:1.5;animation:fadeIn .3s ease}
.raid-result.success{border-color:rgba(62,207,114,.3);background:rgba(62,207,114,.08);color:var(--green)}
.raid-result.error{border-color:rgba(231,76,60,.3);background:rgba(231,76,60,.08);color:#e97070}
.raid-result.info{border-color:rgba(94,196,255,.3);background:rgba(94,196,255,.08);color:var(--accent)}
.raid-leave-btn{margin-top:4px;font-size:.72rem;opacity:.7}
.zone-chips{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px}
.zone-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.zone-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:13px 8px;border-radius:var(--r);border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--txt);font-weight:700;font-size:.8rem;transition:transform .12s;pointer-events:auto;touch-action:manipulation;position:relative;z-index:2;-webkit-tap-highlight-color:transparent}
.zone-btn:active:not(:disabled),.zone-btn.is-pressed:not(:disabled){transform:scale(.965);filter:brightness(.92)}
.zone-btn.danger{border-color:rgba(239,68,68,.3);background:rgba(239,68,68,.1)}
.zone-btn:disabled{opacity:.4;pointer-events:none}
.rest-cost{font-size:.58rem;opacity:.7;margin-left:3px}
.pending-combat-banner.pending-combat-chip .pending-combat-btn{width:100%;font-size:.78rem;white-space:normal;line-height:1.35}
.zone-btn.zone-btn-resume{border-color:rgba(239,68,68,.45);background:rgba(239,68,68,.12)}
.zone-result{padding:12px 14px;font-size:.76rem;line-height:1.5;animation:fadeIn .3s ease}
.zone-result.success{border-color:rgba(62,207,114,.3);background:rgba(62,207,114,.08)}
.zone-result.combat{border-color:rgba(239,68,68,.3);background:rgba(239,68,68,.08)}
.dungeon-section{padding:12px 14px}
.section-head{font-size:.72rem;font-weight:800;color:var(--gold);margin-bottom:8px}
.dungeon-list{display:flex;flex-direction:column;gap:6px}
.dungeon-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--r-sm);border:1px solid rgba(124,92,255,.25);background:rgba(124,92,255,.07);cursor:pointer;font-size:.74rem;transition:transform .12s}
.dungeon-item:active{transform:scale(.97)}
.dungeon-item-emoji{font-size:1.3rem;flex-shrink:0}
.dungeon-item-name{font-weight:700;color:var(--accent2)}
.dungeon-item-desc{font-size:.62rem;color:var(--muted)}

/* ══════════════════════════════════════════
   SCREEN: KAMPF
   ══════════════════════════════════════════ */
#screen-combat,#screen-coop-combat,#screen-guild-raid{padding:0;display:flex;flex-direction:column;min-height:0;position:relative;overflow:hidden}
.combat-wrap{display:flex;flex-direction:column;gap:6px;flex:1;min-height:0;overflow:hidden;padding:4px 8px 0}
.combat-wrap.combat-subpanel-open{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.combat-wrap.combat-potions-open .combat-skills:not(.combat-skills-panel):not(.hidden){min-height:min(38vh,280px);flex:1 1 auto}
.combat-arena.enemy-turn-active,.duel-enemy.enemy-turn-active{transition:filter .25s}
.combat-arena.enemy-turn-active{filter:brightness(1.04)}
.duel-enemy.enemy-turn-active .duel-portrait{animation:enemyTurnPulse .85s ease-in-out infinite;box-shadow:0 0 16px rgba(231,76,60,.45)}
@keyframes enemyTurnPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
.duel-class{font-size:11px;line-height:1.35;opacity:.92}
.combat-stat-row{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:nowrap;min-height:0;width:100%;max-width:100%;overflow:visible}
.combat-stat-compact{font-size:clamp(.48rem,.54rem,2.2vw);line-height:1.25;color:var(--muted);letter-spacing:.02em;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 1.4rem);flex:1 1 auto;min-width:0}
.ellipsis-hover-wrap{display:block;min-width:0;max-width:100%;flex:1 1 auto}
.ellipsis-hover-wrap.ellipsis-hover-inline{display:inline-flex;max-width:100%;vertical-align:bottom}
.ellipsis-hover-trigger{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help;border:none;background:transparent;padding:0;margin:0;font:inherit;color:inherit;text-align:inherit;line-height:inherit;letter-spacing:inherit}
.ellipsis-hover-trigger.combat-stat-compact{text-align:center}
.ellipsis-hover-trigger:hover,.ellipsis-hover-trigger:focus-visible{color:var(--gold);outline:none}
.combat-stat-row .ellipsis-hover-wrap{flex:1 1 auto;min-width:0}
.combat-stat-row-enemy .combat-stat-compact{text-transform:uppercase;letter-spacing:.04em}
.combat-stat-row .stat-hover-wrap{flex-shrink:0}

/* ── Kampf-Arena: Spieler vs Gegner nebeneinander ── */
.combat-arena{position:relative;border-radius:14px;overflow:hidden;flex:1 1 auto;min-height:min(26vh,190px);max-height:min(42vh,340px);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 0 80px rgba(0,0,0,.45),0 8px 32px rgba(0,0,0,.35)}
.combat-wrap.combat-potions-open .combat-arena{min-height:min(22vh,160px);max-height:min(36vh,280px)}
.combat-scene-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35;filter:saturate(.85) contrast(1.05)}
.combat-arena-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,transparent 0%,rgba(0,0,0,.55) 70%),linear-gradient(180deg,rgba(8,12,28,.2),rgba(0,0,0,.75));pointer-events:none}
.combat-duel{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:8px;padding:12px 8px 10px;min-height:0;height:100%;width:100%;box-sizing:border-box;isolation:isolate}
.combat-duel>.duel-panel{width:100%;max-width:100%;min-width:0;justify-self:stretch;align-self:stretch;box-sizing:border-box;overflow:hidden}
/* Solo-Kampf: große Karten — Arena & Portraits nutzen verfügbaren Platz */
#screen-combat .combat-wrap{flex:1 1 auto;min-height:0}
#screen-combat .combat-arena{
  min-height:unset;max-height:none;flex:0 0 auto;height:auto;overflow:hidden
}
#screen-combat .combat-duel{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:12px 10px 10px;
  align-items:stretch;overflow:hidden;height:auto
}
#screen-combat .duel-vs{display:none}
#screen-combat #fighter-hero{grid-column:1;grid-row:1}
#screen-combat #fighter-foe{grid-column:2;grid-row:1}
#screen-combat .combat-duel>.duel-panel{padding:10px 8px;gap:6px;overflow:hidden;max-height:none;height:auto}
#screen-combat .duel-player .duel-portrait-wrap,
#screen-combat .duel-enemy .duel-portrait-wrap,
#screen-combat .duel-portrait-wrap{
  max-height:min(34vh,260px);height:min(34vh,260px);flex:0 0 auto;
  overflow:hidden;align-self:center;width:100%;
  position:relative;display:flex;align-items:center;justify-content:center
}
/* Boss-Kampfphase: Sprite selbst muss die Form zeigen — kein CSS-Color-Tint */
#screen-combat .duel-portrait-wrap.pk-fight-phase-foe .duel-realistic-img,
#screen-combat .duel-portrait-wrap.pk-fight-phase-foe img.pk-sprite,
#fighter-foe .duel-portrait-wrap.pk-fight-phase-foe img{
  /* nur dezenter Schatten, keine hue/saturate/tint Filter */
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.55));
  transition:filter .45s ease
}
#screen-combat .duel-player .duel-portrait,
#screen-combat .duel-enemy .duel-portrait,
#screen-combat .duel-portrait{
  width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;
  min-height:0!important;aspect-ratio:1!important;flex:1 1 auto!important;align-self:center
}
/* Kampf: Rahmen > Aura > Avatar (quadratisch, kein Abschneiden) */
#screen-combat .duel-portrait-wrap.has-cos-frame,
#screen-combat .duel-player .duel-portrait-wrap.has-cos-frame,
#screen-combat .duel-enemy .duel-portrait-wrap.has-cos-frame,
#screen-combat .duel-portrait-wrap.has-cos-aura,
#screen-combat .duel-player .duel-portrait-wrap.has-cos-aura,
#screen-combat .duel-enemy .duel-portrait-wrap.has-cos-aura{
  overflow:visible!important;
  aspect-ratio:1/1!important;
  width:min(100%,min(34vh,260px))!important;
  height:auto!important;
  max-height:none!important;
  background:transparent
}
#screen-combat .duel-portrait-wrap.has-cos-frame>.duel-portrait,
#screen-combat .duel-player .duel-portrait-wrap.has-cos-frame>.duel-portrait,
#screen-combat .duel-enemy .duel-portrait-wrap.has-cos-frame>.duel-portrait{
  width:var(--cos-frame-hole)!important;height:var(--cos-frame-hole)!important;
  max-width:var(--cos-frame-hole)!important;max-height:var(--cos-frame-hole)!important;
  min-height:0!important;flex:0 0 auto!important;aspect-ratio:1/1!important;
  margin:auto!important;border-radius:var(--cos-frame-radius)!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
  position:relative;z-index:2
}
#screen-combat .duel-portrait-wrap.has-cos-frame.has-cos-aura>.duel-portrait,
#screen-combat .duel-player .duel-portrait-wrap.has-cos-frame.has-cos-aura>.duel-portrait,
#screen-combat .duel-enemy .duel-portrait-wrap.has-cos-frame.has-cos-aura>.duel-portrait{
  width:var(--cos-avatar-framed-aura)!important;height:var(--cos-avatar-framed-aura)!important;
  max-width:var(--cos-avatar-framed-aura)!important;max-height:var(--cos-avatar-framed-aura)!important
}
#screen-combat .duel-portrait-wrap.has-cos-aura:not(.has-cos-frame)>.duel-portrait,
#screen-combat .duel-player .duel-portrait-wrap.has-cos-aura:not(.has-cos-frame)>.duel-portrait,
#screen-combat .duel-enemy .duel-portrait-wrap.has-cos-aura:not(.has-cos-frame)>.duel-portrait{
  width:var(--cos-avatar-aura-alone)!important;height:var(--cos-avatar-aura-alone)!important;
  max-width:var(--cos-avatar-aura-alone)!important;max-height:var(--cos-avatar-aura-alone)!important;
  min-height:0!important;flex:0 0 auto!important;aspect-ratio:1/1!important;
  margin:auto!important;border-radius:var(--cos-frame-radius)!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
  position:relative;z-index:2
}
#screen-combat .duel-portrait-wrap>.cos-aura-img{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:var(--cos-aura-alone);height:var(--cos-aura-alone);
  object-fit:contain;pointer-events:none;z-index:1
}
#screen-combat .duel-portrait-wrap.has-cos-frame>.cos-aura-img{
  width:var(--cos-aura-framed);height:var(--cos-aura-framed)
}
#screen-combat .duel-portrait-wrap>.cos-frame-overlay{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;pointer-events:none;z-index:3;border-radius:0
}
#screen-combat .duel-portrait-wrap.has-cos-frame>.duel-portrait .duel-avatar-img,
#screen-combat .duel-portrait-wrap.has-cos-frame>.duel-portrait .duel-realistic-img,
#screen-combat .duel-portrait-wrap.has-cos-frame>.duel-portrait .duel-fallback,
#screen-combat .duel-portrait-wrap.has-cos-aura>.duel-portrait .duel-avatar-img,
#screen-combat .duel-portrait-wrap.has-cos-aura>.duel-portrait .duel-realistic-img,
#screen-combat .duel-portrait-wrap.has-cos-aura>.duel-portrait .duel-fallback{
  border-radius:var(--cos-frame-radius)!important
}
#screen-combat .duel-info{gap:4px;min-height:0;overflow:hidden;flex-shrink:0;width:100%}
#screen-combat .duel-name{font-size:.78rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;text-align:center}
#screen-combat .duel-class{font-size:.62rem;line-height:1.2;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
#screen-combat .duel-player .duel-bar-sta,#screen-combat .duel-player .duel-bar-mana,#screen-combat .duel-player .duel-bar-xp,#screen-combat .duel-player .duel-xp-level{display:none}
#screen-combat .duel-player .duel-combat-mini{display:block!important;font-size:.58rem;line-height:1.3;text-align:center;opacity:.9;padding:2px 0;word-break:break-word}
#screen-combat .duel-bar{gap:3px;grid-template-columns:18px minmax(0,1fr) max-content;width:100%;min-width:0}
#screen-combat .duel-bar-lbl{font-size:.52rem}
#screen-combat .duel-bar .bar-track{height:7px;min-width:0}
#screen-combat .duel-bar .bar-val{font-size:.54rem;min-width:2.4rem;padding-left:0}
#screen-combat .combat-stat-row{margin:0;min-height:20px;max-height:none;overflow:visible;justify-content:center}
#screen-combat .combat-stat-compact{display:block;font-size:.52rem}
#screen-combat .stat-hover-trigger.chip-more-emoji{font-size:.54rem;padding:2px 6px;line-height:1.25}
#screen-combat .status-chips{margin-top:2px;min-height:0;gap:3px;flex-wrap:wrap;justify-content:center}
#screen-combat .status-chip{font-size:.48rem;padding:2px 4px}
#screen-combat .duel-fallback{font-size:clamp(2.5rem,8vh,4rem)!important}
.duel-panel{display:grid;grid-template-rows:auto minmax(0,auto);align-content:start;align-items:stretch;justify-items:stretch;gap:6px;padding:8px 8px;border-radius:12px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(6px);min-width:0;height:auto;max-height:100%;min-height:0;box-sizing:border-box}
.duel-player{border-color:rgba(59,130,246,.25);box-shadow:inset 0 0 30px rgba(59,130,246,.08)}
.duel-enemy{border-color:rgba(239,68,68,.28);box-shadow:inset 0 0 30px rgba(239,68,68,.08)}
.duel-enemy.boss-active{border-color:rgba(255,87,34,.55);box-shadow:0 0 24px rgba(255,87,34,.25),inset 0 0 40px rgba(255,87,34,.12)}
.duel-portrait-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;flex:0 1 auto;min-height:0;max-height:min(24vh,200px);align-self:stretch;overflow:hidden;isolation:isolate}
/* Frame-Overlay — Ornament außen; Avatar/Aura in der Öffnung */
:root{
  --cos-frame-hole:62%;
  --cos-frame-clip:50%;
  --cos-frame-radius:50%;
  /* Aura füllt die Rahmenöffnung — kein dunkler Spalt dazwischen */
  --cos-aura-framed:86%;
  --cos-avatar-framed-aura:56%;
  --cos-aura-alone:84%;
  --cos-avatar-aura-alone:66%;
}

/* Ohne Rahmen / Aura-only: kreisförmig. Mit Rechteck-Rahmen: inset-clip weiter unten. */
.hub-avatar-wrap.has-cos-aura:not(.has-cos-frame) .hub-sprite.hub-avatar-img,
.hub-avatar-wrap.has-cos-aura:not(.has-cos-frame) .hub-avatar-fallback,
.duel-portrait-wrap.has-cos-frame>.duel-portrait,
.duel-portrait-wrap.has-cos-frame>.duel-portrait .duel-avatar-img,
.duel-portrait-wrap.has-cos-frame>.duel-portrait .duel-realistic-img,
.duel-portrait-wrap.has-cos-frame>.duel-portrait .duel-fallback,
.zone-avatar-wrap.has-cos-frame .zone-player-avatar,
.zone-avatar-wrap.has-cos-frame .zone-avatar-fallback,
.chat-profile-avatar-wrap.has-cos-frame .chat-profile-avatar-img,
.chat-profile-avatar-wrap.has-cos-frame .chat-profile-avatar-fallback,
.ow-social-avatar-wrap:not(.has-cos-frame) .ow-social-avatar{
  border-radius:50%!important;
  clip-path:circle(50% at 50% 50%)!important;
  -webkit-clip-path:circle(50% at 50% 50%)!important;
}

.hub-frame-overlay,.cos-frame-overlay{
    position:absolute;inset:0;
    width:100%;height:100%;
    object-fit:contain;object-position:center;
    pointer-events:none;z-index:3;
    border-radius:0;
    transform:translateZ(0);backface-visibility:hidden;
    animation:cosFrameGlowPulse 3s ease-in-out infinite;
    will-change:transform,opacity;
}
.hub-frame-overlay{border-radius:0}
.hub-avatar-wrap.has-cos-frame{background:transparent;overflow:visible}
/* Rahmen dürfen leicht aus dem Avatar-Feld ragen */
.hub-avatar-wrap.has-cos-frame,
.duel-portrait-wrap.has-cos-frame,
.chat-profile-avatar-wrap.has-cos-frame,
.ow-social-avatar-wrap.has-cos-frame,
.coop-zone-player-avatar-wrap.has-cos-frame,
#panel-card.panel-profil .profil-hero-portrait.has-cos-frame{
  overflow:visible !important;
}

.hub-avatar-wrap.has-cos-frame{
  background:rgba(8,10,16,.98)!important;
}
.hub-avatar-wrap.has-cos-frame .hub-sprite.hub-avatar-img,
.hub-avatar-wrap.has-cos-frame .hub-avatar-fallback{
    width:var(--cos-frame-hole);height:var(--cos-frame-hole);
    left:50%;top:50%;transform:translate(-50%,-50%);
    border-radius:18%!important;box-sizing:border-box;
    border:0!important;background:rgba(8,10,16,.98)!important;box-shadow:none!important;
    clip-path:inset(0 round 18%)!important;
    -webkit-clip-path:inset(0 round 18%)!important;
    object-fit:cover;object-position:center center;
}
/* Mit Aura: Avatar kleiner, sitzt in der Aura-Öffnung */
.hub-avatar-wrap.has-cos-frame.has-cos-aura .hub-sprite.hub-avatar-img,
.hub-avatar-wrap.has-cos-frame.has-cos-aura .hub-avatar-fallback{
    width:var(--cos-avatar-framed-aura);height:var(--cos-avatar-framed-aura);
}
.hub-avatar-wrap.has-cos-aura:not(.has-cos-frame) .hub-sprite.hub-avatar-img,
.hub-avatar-wrap.has-cos-aura:not(.has-cos-frame) .hub-avatar-fallback{
    width:var(--cos-avatar-aura-alone);height:var(--cos-avatar-aura-alone);
    left:50%;top:50%;transform:translate(-50%,-50%);
    border-radius:var(--cos-frame-radius);
    clip-path:circle(50% at 50% 50%);
    -webkit-clip-path:circle(50% at 50% 50%);
    object-fit:cover;
}
.duel-portrait-wrap.has-cos-frame{align-items:center;justify-content:center;overflow:hidden}
.duel-portrait-wrap.has-cos-frame>.duel-portrait{
    width:var(--cos-frame-hole)!important;
    max-width:var(--cos-frame-hole)!important;
    height:var(--cos-frame-hole)!important;
    max-height:var(--cos-frame-hole)!important;
    min-height:0!important;
    flex:0 0 auto!important;
    align-self:center;justify-self:center;
    margin:auto;border-radius:var(--cos-frame-radius);
    background:transparent!important;border:0!important;box-shadow:none!important;
    overflow:hidden;
}
.duel-portrait-wrap.has-cos-frame.has-cos-aura>.duel-portrait{
    width:var(--cos-avatar-framed-aura)!important;
    max-width:var(--cos-avatar-framed-aura)!important;
    height:var(--cos-avatar-framed-aura)!important;
    max-height:var(--cos-avatar-framed-aura)!important;
}
.duel-portrait-wrap.has-cos-frame>.duel-portrait .duel-avatar-img,
.duel-portrait-wrap.has-cos-frame>.duel-portrait .duel-realistic-img,
.duel-portrait-wrap.has-cos-frame>.duel-portrait .duel-fallback{
    border-radius:var(--cos-frame-radius)!important;
}
.duel-portrait-wrap > .cos-frame-overlay{border-radius:12px}
/* Rahmen-Glow: nur transform/opacity (kein filter-Keyframe — flüssiger) */
@keyframes cosFrameGlowPulse{
  0%,100%{opacity:.88;transform:scale(1) translateZ(0)}
  50%{opacity:1;transform:scale(1.018) translateZ(0)}
}
.hub-frame-overlay.cos-frame-bronze,.cos-frame-overlay.cos-frame-bronze{filter:drop-shadow(0 0 6px rgba(205,127,50,.6)) saturate(1.05)}
.hub-frame-overlay.cos-frame-gold,.cos-frame-overlay.cos-frame-gold{filter:drop-shadow(0 0 7px rgba(232,197,71,.65)) saturate(1.08)}
.hub-frame-overlay.cos-frame-owner_sovereign,.cos-frame-overlay.cos-frame-owner_sovereign{
  filter:saturate(1.2) brightness(1.06)
    drop-shadow(0 0 6px rgba(255,200,90,.7))
    drop-shadow(0 0 14px rgba(200,80,255,.55))
    drop-shadow(0 0 24px rgba(60,200,255,.45));
  animation:cosOwnerFramePulse 2.8s ease-in-out infinite;
}
@keyframes cosOwnerFramePulse{
  0%,100%{
    opacity:.92;transform:scale(1) translateZ(0);
    filter:saturate(1.15) brightness(1.04)
      drop-shadow(0 0 5px rgba(255,190,80,.6))
      drop-shadow(0 0 12px rgba(180,70,255,.45))
      drop-shadow(0 0 20px rgba(50,190,255,.35))
  }
  50%{
    opacity:1;transform:scale(1.03) translateZ(0);
    filter:saturate(1.3) brightness(1.1)
      drop-shadow(0 0 10px rgba(255,220,120,.9))
      drop-shadow(0 0 20px rgba(220,100,255,.7))
      drop-shadow(0 0 32px rgba(80,230,255,.55))
  }
}
.hub-frame-overlay.cos-frame-feather_melancholy,.cos-frame-overlay.cos-frame-feather_melancholy{filter:drop-shadow(0 0 8px rgba(160,190,220,.55)) saturate(1.05)}
.hub-frame-overlay.cos-frame-admin_aegis,.cos-frame-overlay.cos-frame-admin_aegis{filter:drop-shadow(0 0 8px rgba(100,170,255,.6))}
.hub-frame-overlay.cos-frame-gm_masque,.cos-frame-overlay.cos-frame-gm_masque{filter:drop-shadow(0 0 8px rgba(160,100,255,.6))}
.hub-frame-overlay.cos-frame-ruby,.cos-frame-overlay.cos-frame-ruby{filter:drop-shadow(0 0 8px rgba(239,68,68,.65))}
.hub-frame-overlay.cos-frame-emerald,.cos-frame-overlay.cos-frame-emerald{filter:drop-shadow(0 0 8px rgba(16,185,129,.6))}
.hub-frame-overlay.cos-frame-void,.cos-frame-overlay.cos-frame-void{filter:drop-shadow(0 0 9px rgba(99,102,241,.58)) brightness(1.05)}
.hub-frame-overlay.cos-frame-rainbow,.cos-frame-overlay.cos-frame-rainbow{filter:drop-shadow(0 0 9px rgba(168,85,247,.55)) saturate(1.12)}
.duel-portrait{width:100%;max-width:100%;aspect-ratio:3/4;height:auto;min-height:0;max-height:min(28vh,240px);flex:1 1 auto;display:flex;align-items:stretch;justify-content:stretch;align-self:stretch;justify-self:stretch;position:relative;overflow:hidden;border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.32));border:1px solid rgba(255,255,255,.08);box-sizing:border-box;z-index:1}
.duel-player .duel-portrait,.duel-enemy .duel-portrait{max-height:min(28vh,240px);min-height:min(18vh,140px)}
.combat-wrap.combat-potions-open .duel-portrait,.combat-wrap.combat-potions-open .duel-player .duel-portrait,.combat-wrap.combat-potions-open .duel-enemy .duel-portrait{max-height:min(24vh,210px);min-height:min(16vh,125px)}
.duel-realistic-img,.duel-avatar-img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center center!important;image-rendering:auto!important;border-radius:0!important;border:0!important;animation:none!important}
.duel-realistic-img{filter:saturate(1.08) contrast(1.05) brightness(.96)!important}
.duel-avatar-img{filter:saturate(1.05) contrast(1.04)!important}
.duel-realistic-img.portrait-loading{opacity:.45;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(0,0,0,.25))}
.duel-player .duel-avatar-img,#hero-discord-avatar.duel-avatar-img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;border:0!important;border-radius:0!important;object-fit:cover!important;object-position:center center!important;image-rendering:auto!important;filter:saturate(1.05) contrast(1.04)!important;animation:none!important}
.duel-fallback{
  font-size:min(4.2rem,14vw);line-height:1;display:flex;align-items:center;justify-content:center;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.65));animation:combatIdle 3s ease-in-out infinite;
}
.duel-fallback.hidden{display:none!important}
.duel-info{width:100%;max-width:100%;display:flex;flex-direction:column;gap:3px;flex-shrink:0;min-height:0;align-self:stretch;justify-self:stretch;box-sizing:border-box;overflow:hidden;padding:0 1px}
.duel-info .combat-title-chip{min-height:0;margin:0 0 3px;padding:0;font-size:.54rem;line-height:1.2}
.duel-info .combat-title-chip.has-banner-img{
  min-height:1.35rem;padding:2px 8px;border-radius:6px;
  background-image:var(--title-banner-img);background-size:cover;background-position:center;
  border:1px solid rgba(232,197,71,.28);box-shadow:0 2px 8px rgba(0,0,0,.35);
}
.duel-info .combat-title-chip .combat-title-chip-text,.duel-info .combat-title-chip .hub-title-banner-text{
  font-size:.64rem;font-weight:800;letter-spacing:.04em;text-shadow:0 1px 3px rgba(0,0,0,.9);
}
.duel-player .duel-xp-level{display:none!important}
.duel-name{font-size:clamp(.7rem,.84rem,2.8vw);font-weight:800;text-align:center;letter-spacing:.02em;text-shadow:0 2px 8px rgba(0,0,0,.8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2;max-width:100%;display:flex;align-items:center;justify-content:center;gap:3px}
/* Solo-Kampf: Badges im Namen */
#hero-combat-name.duel-name .cos-badge-wrap { flex-shrink:0 }
/* Name bleibt lesbar, auch wenn Pet-Vitals unter dem HP-Balken liegen */
#hero-combat-name.duel-name{
  flex-shrink:0;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  max-height:none;
  line-height:1.25;
}
#hero-combat-name.duel-name .player-name-stack{
  white-space:normal;
  align-items:center;
}
#fighter-hero .duel-info{overflow:visible}
#fighter-hero .duel-name .cos-name-text,
#fighter-hero .duel-name .player-display-name{
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  word-break:break-word;
}

#hero-combat-name.duel-name .cos-badge-inline { width:16px;height:16px;border-radius:4px }
.duel-class{font-size:clamp(.58rem,.66rem,2.4vw);text-align:center;color:var(--muted);letter-spacing:.02em;min-height:1.1em;line-height:1.25;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}
.duel-player .duel-class{text-transform:none;letter-spacing:.01em}
.duel-enemy .duel-class{text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;display:block;-webkit-line-clamp:unset;-webkit-box-orient:unset}
.duel-bar{display:grid;grid-template-columns:18px minmax(0,1fr) max-content;align-items:center;gap:4px;width:100%;min-width:0}
.duel-bar-lbl{font-size:.64rem;font-weight:700;color:var(--muted);text-transform:uppercase;line-height:1}
.duel-bar .bar-track{min-width:0;width:100%}
.duel-bar .bar-val{font-size:clamp(.6rem,.7rem,2.4vw);min-width:2.85rem;padding-left:2px;white-space:nowrap;overflow:visible;text-align:right;line-height:1.1}
.duel-vs{display:flex;align-items:center;justify-content:center;padding:0 2px}
.duel-vs span{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:2px solid var(--gold);background:rgba(0,0,0,.65);font-size:.72rem;font-weight:900;color:var(--gold);letter-spacing:.06em;box-shadow:0 0 16px rgba(232,197,71,.25)}
.bar-fill.enemy{background:linear-gradient(90deg,#7f1d1d,#ef4444)}
@keyframes combatIdle{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.combat-arena.shake{animation:combatShake .35s ease}
@keyframes combatShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}

/* Kampflog */
.combat-log{flex:0 0 auto;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--r);min-height:0}
.combat-log.is-collapsed .combat-log-body{display:none}
.combat-log-toggle{
  display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;
  padding:7px 10px;border:none;border-bottom:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.04);color:var(--txt);font-size:.62rem;font-weight:800;
  letter-spacing:.03em;cursor:pointer;flex-shrink:0;
}
.combat-log-toggle:active{background:rgba(255,255,255,.08)}
.combat-log-toggle-icon{font-size:.55rem;opacity:.7;transition:transform .2s ease}
.combat-log.is-collapsed .combat-log-toggle{border-bottom:none}
.combat-log.is-collapsed .combat-log-toggle-icon{transform:rotate(-90deg)}
.combat-log-body{
  max-height:min(28vh,132px);min-height:52px;overflow-y:auto;overflow-x:hidden;
  overscroll-behavior:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch;
}
.combat-wrap.combat-potions-open .combat-log-body{max-height:min(22vh,108px);min-height:44px}
.log-inner{padding:4px 8px;font-size:.58rem;line-height:1.35;color:var(--muted)}
.combat-fx-layer{
  position:absolute;left:50%;top:22%;width:0;height:0;z-index:14;pointer-events:none;overflow:visible;
}
.duel-panel{position:relative}
.combat-fx{
  position:absolute;left:50%;white-space:nowrap;font-weight:800;line-height:1.1;
  text-shadow:0 1px 4px rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.45);
  opacity:0;transform:translateX(-50%) translateY(8px) scale(.88);
  animation:combatFxFloat 1.25s ease-out forwards;
}
.combat-fx-damage{color:#f87171;font-size:.82rem}
.combat-fx-crit{color:#fbbf24;font-size:.95rem}
.combat-fx-heal{color:#4ade80;font-size:.78rem}
.combat-fx-miss{color:#94a3b8;font-size:.68rem;font-weight:700}
.combat-fx-block{color:#60a5fa;font-size:.74rem}
.combat-fx-status{
  font-size:.56rem;padding:2px 7px;border-radius:999px;background:rgba(8,10,18,.78);
  border:1px solid rgba(255,255,255,.18);font-weight:700;
}
.combat-fx-status.buff{border-color:rgba(74,222,128,.45);color:#86efac}
.combat-fx-status.debuff{border-color:rgba(248,113,113,.45);color:#fca5a5}
.duel-panel.combat-hit-flash .duel-portrait{animation:combatHitFlash .38s ease-out}
.duel-panel.combat-miss-flash .duel-portrait{animation:combatMissFlash .42s ease-out}
#fighter-foe.combat-hit-flash .duel-realistic-img,
#fighter-foe.combat-hit-flash #foe-img{animation:combatHitFlash .38s ease-out}
#fighter-foe.combat-miss-flash .duel-realistic-img,
#fighter-foe.combat-miss-flash #foe-img{animation:combatMissFlash .42s ease-out}
@keyframes combatFxFloat{
  0%{opacity:0;transform:translateX(-50%) translateY(8px) scale(.88)}
  12%{opacity:1;transform:translateX(-50%) translateY(0) scale(1.06)}
  72%{opacity:1;transform:translateX(-50%) translateY(-20px) scale(1)}
  100%{opacity:0;transform:translateX(-50%) translateY(-38px) scale(.94)}
}
@keyframes combatHitFlash{
  0%,100%{filter:none}
  35%{filter:brightness(1.4) saturate(1.15)}
}
@keyframes combatMissFlash{
  0%,100%{filter:none;opacity:1}
  40%{filter:brightness(1.15) saturate(.7);opacity:.85}
}
.combat-log-line{display:flex;align-items:flex-start;gap:6px;padding:3px 0;border-bottom:1px solid rgba(255,255,255,.04)}
.combat-log-line:last-child{border-bottom:none}
.combat-log-line.log-latest{color:#e8f0ff}
.log-icon{flex:0 0 14px;width:14px;text-align:center;font-size:.62rem;line-height:1.3;opacity:.9}
.log-icon-empty{opacity:.35}
.log-text{flex:1;min-width:0;font-size:.58rem;line-height:1.35;word-break:break-word}
.log-text .log-dmg{color:#f87171;font-weight:700}
.log-text .log-heal{color:#4ade80;font-weight:700}
.log-text .log-crit-tag{color:#fbbf24;font-weight:800}
.log-text .log-muted{color:var(--muted);font-weight:600}
.combat-log-empty{padding:6px 4px;font-size:.58rem;color:var(--muted);text-align:center;font-style:italic}
.log-inner div{padding:3px 0;border-bottom:1px solid rgba(255,255,255,.04);color:var(--txt);font-size:.58rem;line-height:1.35}
.log-inner div:last-child{border-bottom:none;color:#e8f0ff}

/* Kampfbuttons — 2 Reihen: oben Angriff|Fähigkeit, unten Pet|Flucht|Tränke */
.combat-btns,.combat-action-wheel{display:flex;flex-direction:column;gap:5px;flex-shrink:0;padding:2px 0 6px}
.combat-wheel-row{display:grid;gap:6px;align-items:stretch}
.combat-wheel-top{grid-template-columns:1fr 1fr}
/* Untere 3er-Reihe: Pet ganz links · Flucht zentriert · Tränke ganz rechts */
.combat-wheel-bot3{grid-template-columns:1fr auto 1fr;align-items:center}
/* Wenn Pet versteckt: Tränke ganz rechts, Flucht links daneben */
.combat-wheel-bot3:has(.cbtn-pet.hidden){grid-template-columns:auto 1fr}
.combat-wheel-bot3 .cbtn-potion{justify-self:stretch}
.combat-wheel-bot3 .cbtn-flee{justify-self:center}
/* Boss / Wöchentlicher Raid: gleichmäßiges 2×2 (ohne Flucht) */
.combat-btns.combat-grid-2x2,
#combat-btns.combat-grid-2x2,
#coop-combat-btns.combat-grid-2x2{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:8px;
  padding:6px 0 8px;
}
.combat-btns.combat-grid-2x2 .combat-wheel-row,
#combat-btns.combat-grid-2x2 .combat-wheel-row,
#coop-combat-btns.combat-grid-2x2 .combat-wheel-row{display:contents}
.combat-btns.combat-grid-2x2 .cbtn-flee,
#combat-btns.combat-grid-2x2 .cbtn-flee,
#coop-combat-btns.combat-grid-2x2 .cbtn-flee{display:none!important}
.combat-btns.combat-grid-2x2 .cbtn,
#combat-btns.combat-grid-2x2 .cbtn,
#coop-combat-btns.combat-grid-2x2 .cbtn{
  width:100%;
  min-height:52px;
  height:100%;
  margin:0;
  border-radius:var(--r);
  font-size:clamp(.64rem,.74rem,2.8vw);
  padding:10px 8px;
  justify-self:stretch;
  align-self:stretch;
}
.combat-btns.combat-grid-2x2 .cbtn-pet.hidden,
#combat-btns.combat-grid-2x2 .cbtn-pet.hidden,
#coop-combat-btns.combat-grid-2x2 .cbtn-pet.hidden{display:none}
.cbtn-pet{background:linear-gradient(135deg,rgba(5,90,60,.88),rgba(2,50,35,.92));border-color:rgba(52,211,153,.42)}
.cbtn-pet.active{box-shadow:0 0 0 2px rgba(52,211,153,.35),0 0 16px rgba(16,185,129,.25);border-color:rgba(110,231,183,.55)}
.cbtn-pet.hidden{display:none}
.cbtn{display:flex;align-items:center;justify-content:center;padding:10px 8px;border-radius:var(--r);border:1px solid rgba(255,255,255,.12);font-weight:800;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--txt);transition:transform .12s,opacity .12s,box-shadow .12s,border-color .12s}
.cbtn:active{transform:scale(.96)}
.cbtn-attack{background:linear-gradient(135deg,rgba(185,28,28,.85),rgba(100,10,10,.9));border-color:rgba(239,68,68,.45)}
.cbtn-counter,.cbtn-charge{background:linear-gradient(135deg,rgba(234,179,8,.88),rgba(180,83,9,.92));border-color:rgba(251,191,36,.42)}
.cbtn-potion{background:linear-gradient(135deg,rgba(5,120,80,.85),rgba(2,60,40,.9));border-color:rgba(16,185,129,.45)}
.cbtn-skill{background:linear-gradient(135deg,rgba(109,40,217,.88),rgba(55,18,120,.92));border-color:rgba(167,139,250,.45)}
.cbtn-flee{position:relative;width:68px;height:68px;border-radius:50%;flex-direction:column;padding:0;margin:0 auto;background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.14),rgba(18,18,28,.92));border:2px solid rgba(255,255,255,.16);box-shadow:0 0 0 4px rgba(255,255,255,.04),inset 0 0 18px rgba(0,0,0,.35);opacity:1;text-transform:none}
.cbtn-flee-ring{position:absolute;inset:-7px;border-radius:50%;border:2px dashed rgba(255,255,255,.14);pointer-events:none;animation:combatFleeRing 6s linear infinite}
.cbtn-flee-core{font-size:1.35rem;line-height:1}
.cbtn-flee-label{font-size:.5rem;font-weight:800;letter-spacing:.05em;opacity:.78;margin-top:1px;text-transform:uppercase}
.cbtn-flee.hidden{display:none}
@keyframes combatFleeRing{to{transform:rotate(360deg)}}
.cbtn.active,.cbtn-skill.active,.cbtn-potion.active{box-shadow:0 0 0 2px rgba(255,255,255,.18),0 0 18px rgba(124,92,255,.28);border-color:rgba(255,255,255,.35)}
.cbtn:disabled{opacity:.38;pointer-events:none;filter:grayscale(.35) brightness(.72)}
#btn-coop-skill-toggle:disabled,
#btn-skill-toggle:disabled,
.cbtn-skill:disabled,
.cbtn-skill.combat-skill-card-disabled{
  opacity:.34!important;filter:grayscale(.45) brightness(.65)!important;
  box-shadow:none!important;pointer-events:none!important;
}
.combat-potion-card{width:100%;display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:var(--txt);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,transform .12s}
.combat-potion-card:hover:not(:disabled){border-color:rgba(16,185,129,.35);background:rgba(16,185,129,.08)}
.combat-potion-card:active:not(:disabled){transform:scale(.98)}
.combat-skills{padding:10px;display:flex;flex-direction:column;gap:8px;flex:1 1 auto;min-height:0;max-height:none;overflow:hidden}
.combat-skills-overlay,.zone-potions-overlay,.dungeon-prep-overlay{position:fixed;inset:0;z-index:15010;display:flex;align-items:center;justify-content:center;padding:max(14px,env(safe-area-inset-top,0px)) 12px max(18px,env(safe-area-inset-bottom,0px));background:rgba(4,8,20,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:auto}
#coop-combat-skills-overlay:not(.hidden),#coop-combat-potions-overlay:not(.hidden){z-index:20060}
.combat-skills-overlay.hidden,.zone-potions-overlay.hidden,.dungeon-prep-overlay.hidden{display:none!important;pointer-events:none!important}
body.rpg-combat-modal-open{overflow:hidden}
.combat-skills-panel{width:min(100%,440px);max-height:min(74vh,500px);display:flex;flex-direction:column;gap:8px;padding:12px;overflow:hidden;box-shadow:0 18px 52px rgba(0,0,0,.58),0 0 0 1px rgba(124,92,255,.28);animation:combatSkillPop .18s ease-out}
@keyframes combatSkillPop{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.combat-skills-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px 4px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}
.combat-skills-head-right{display:flex;align-items:center;gap:8px;flex-shrink:0}
.combat-skills-close{width:28px;height:28px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.35);color:var(--txt);font:inherit;font-size:.82rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}
.combat-skills-close:hover,.combat-skills-close:active{background:rgba(239,68,68,.28);border-color:rgba(239,68,68,.45)}
.combat-skills-title{font-size:.78rem;font-weight:800;letter-spacing:.03em}
.combat-skills-mana{font-size:.68rem;color:var(--accent2);font-weight:700}
.combat-skill-tabs{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0;padding:2px 0 8px;border-bottom:1px solid rgba(255,255,255,.06)}
.combat-skill-tab{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;border:1px solid rgba(124,92,255,.28);background:rgba(0,0,0,.24);color:var(--muted);font:inherit;font-size:.62rem;font-weight:700;cursor:pointer;line-height:1.2;transition:background .12s,border-color .12s,color .12s,transform .12s}
.combat-skill-tab:active{transform:scale(.97)}
.combat-skill-tab.active{background:rgba(124,92,255,.32);border-color:rgba(167,139,250,.55);color:var(--txt);box-shadow:0 0 12px rgba(124,92,255,.18)}
.combat-skill-tab-count{font-size:.56rem;font-weight:800;padding:1px 6px;border-radius:999px;background:rgba(255,255,255,.1);color:inherit}
.combat-skills-body{display:flex;flex-direction:column;gap:10px;flex:1 1 auto;min-height:160px;max-height:min(calc(100dvh - 180px),520px);overflow-y:auto;overflow-x:hidden;padding-top:8px;padding-right:2px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;scrollbar-gutter:stable}
.combat-skill-empty{padding:12px 4px;margin:0;text-align:center}
.combat-skill-group{display:flex;flex-direction:column;gap:6px}
.combat-skill-group-title{font-size:.64rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:0 2px}
.combat-skill-group-grid{display:grid;grid-template-columns:1fr;gap:8px}
.combat-skills-grid{display:grid;grid-template-columns:1fr;gap:8px;overflow-y:auto;padding-top:4px;min-height:0}
.combat-skill-card{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid rgba(124,92,255,.35);background:linear-gradient(135deg,rgba(124,92,255,.16),rgba(15,23,42,.55));color:var(--txt);cursor:pointer;transition:transform .12s,border-color .12s,opacity .12s}
.combat-skill-card:active{transform:scale(.98)}
.combat-skill-card-disabled,.combat-skill-card:disabled{opacity:.45;cursor:not-allowed;border-color:rgba(255,255,255,.12);background:rgba(0,0,0,.28)}
.combat-skill-hit{display:flex;align-items:flex-start;gap:10px;min-width:0}
.combat-skill-main{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.combat-skill-top{display:flex;align-items:center;gap:6px;min-width:0}
.combat-skill-emoji{font-size:1.35rem;line-height:1;flex-shrink:0}
.combat-potion-card .combat-potion-ico,
.potion-btn-ico,
.merchant-trade-row-emoji,
.market-listing-ico,
.shop-forge-out-ico,
.shop-forge-mat-ico,
.shop-forge-in-ico,
.smith-result-emoji{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  overflow:hidden;flex-shrink:0;
}
.combat-potion-card .combat-potion-ico{width:2.45rem;height:2.45rem}
.potion-btn-ico{width:1.35rem;height:1.35rem;vertical-align:-.2em}
.merchant-trade-row-emoji{width:2rem;height:2rem}
.market-listing-ico{width:2.6rem;height:2.6rem}
.shop-forge-out-ico{width:1.8rem;height:1.8rem}
.shop-forge-mat-ico,.shop-forge-in-ico{width:1.1rem;height:1.1rem;vertical-align:-.15em}
.smith-result-emoji{width:3rem;height:3rem;font-size:2rem}
.combat-potion-card .combat-potion-ico .item-ico,
.potion-btn-ico .item-ico,
.merchant-trade-row-emoji .item-ico,
.market-listing-ico .item-ico,
.shop-forge-out-ico .item-ico,
.shop-forge-mat-ico .item-ico,
.shop-forge-in-ico .item-ico,
.smith-result-emoji .item-ico{
  width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;
}
.shop-forge-for{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.shop-forge-inputs{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.shop-forge-in{display:inline-flex;align-items:center;gap:3px}
.combat-skill-name{font-size:.8rem;font-weight:800;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.combat-skill-rank{font-size:.58rem;font-weight:800;padding:2px 5px;border-radius:999px;background:rgba(232,197,71,.18);color:var(--gold);border:1px solid rgba(232,197,71,.35);flex-shrink:0}
.combat-skill-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.66rem}
.combat-skill-dmg{font-weight:700;color:#fca5a5;font-size:.72rem}
.combat-skill-dmg.muted{color:var(--muted);font-weight:600}
.combat-skill-cost{font-weight:800;color:#93c5fd;padding:3px 8px;border-radius:999px;background:rgba(59,130,246,.15);border:1px solid rgba(59,130,246,.25)}
.combat-skill-cost.free{color:#86efac;background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.25)}
.combat-skill-cd{font-weight:800;font-size:.68rem;color:#fcd34d;padding:2px 7px;border-radius:999px;background:rgba(180,130,20,.22);border:1px solid rgba(232,197,71,.35)}
.combat-skill-cd.muted{opacity:.65;color:#cbd5e1;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
.combat-skill-card-cd{opacity:.72;filter:grayscale(.25)}
.combat-skill-warn{color:#fca5a5;margin-top:4px}
.combat-skill-desc{font-size:.62rem;line-height:1.4;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.skill-btn{padding:8px 10px;border-radius:8px;border:1px solid rgba(124,92,255,.4);background:rgba(124,92,255,.15);color:var(--txt);font-size:.72rem;font-weight:700;cursor:pointer}
.skill-btn .skill-mana{font-size:.62rem;opacity:.85;margin-left:2px}
.skill-btn-disabled,.skill-btn:disabled{opacity:.45;cursor:not-allowed;border-color:rgba(255,255,255,.15);background:rgba(0,0,0,.25)}
.skill-btn-low-mana{opacity:.75;border-color:rgba(96,165,250,.35)}
.tcg-quests-block{margin:10px 0;padding:10px}
.tcg-quests-title{font-weight:700;margin-bottom:8px}
.tcg-quest-row{padding:8px;margin-bottom:8px}
.tcg-quest-bar{height:6px;background:rgba(0,0,0,.3);border-radius:4px;margin:6px 0;overflow:hidden}
.tcg-quest-fill{height:100%;background:linear-gradient(90deg,#22c55e,#4ade80)}
.coop-team{flex:1;display:grid;grid-template-rows:repeat(auto-fit,1fr);gap:4px;align-self:stretch}

/* ══════════════════════════════════════════
   SCREEN: TRUHE (Rarity Visual Novel)
   ══════════════════════════════════════════ */
body.chest-fullscreen-active #top-bar {
  display: none !important;
}
body.chest-fullscreen-active.rpg-fixed-topbar #app {
  padding-top: 0 !important;
}
#screen-chest{
  position:fixed!important;inset:0!important;z-index:9200!important;
  justify-content:stretch;align-items:stretch;
  min-height:100dvh!important;height:100dvh!important;max-height:100dvh!important;
  width:100%!important;max-width:100%!important;
  padding:0!important;gap:0!important;overflow:hidden!important;
  margin:0!important;background:#07090f!important;
}
#screen-chest.hidden{display:none!important}
.chest-stage{
  position:absolute;inset:0;z-index:0;
  display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;min-height:100%;isolation:isolate
}
.chest-stage-bg{
  position:absolute;inset:0;z-index:0;
  background-color:#07090f;
  background-size:cover;background-position:center center;background-repeat:no-repeat;
  filter:none;opacity:1;visibility:visible
}
.chest-stage-veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 45%,transparent 12%,rgba(4,6,12,.42) 62%,rgba(2,3,8,.78) 100%),
    linear-gradient(180deg,rgba(0,0,0,.28) 0%,transparent 22%,transparent 70%,rgba(0,0,0,.45) 100%)
}
.chest-scene{
  position:relative;z-index:2;padding:max(20px,env(safe-area-inset-top)) 20px max(28px,env(safe-area-inset-bottom));
  text-align:center;max-width:min(440px,94vw);width:100%;margin:0 auto
}
.chest-scene h2{margin:8px 0 6px;font-size:clamp(1.2rem,4vw,1.55rem);text-shadow:0 2px 16px rgba(0,0,0,.65)}
.chest-rarity-chip{
  display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;
  font-size:.72rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;
  border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.35);color:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.35)
}
.chest-stage[data-rarity="common"] .chest-rarity-chip{border-color:rgba(168,176,188,.45);color:#d7dde6}
.chest-stage[data-rarity="uncommon"] .chest-rarity-chip{border-color:rgba(74,222,128,.5);color:#bbf7d0;box-shadow:0 0 18px rgba(74,222,128,.25)}
.chest-stage[data-rarity="rare"] .chest-rarity-chip{border-color:rgba(96,165,250,.55);color:#bfdbfe;box-shadow:0 0 18px rgba(96,165,250,.28)}
.chest-stage[data-rarity="legendary"] .chest-rarity-chip{border-color:rgba(251,191,36,.65);color:#fde68a;box-shadow:0 0 22px rgba(251,191,36,.35)}
.chest-stage[data-rarity="ultimate"] .chest-rarity-chip{border-color:rgba(192,132,252,.7);color:#e9d5ff;box-shadow:0 0 26px rgba(192,132,252,.4)}

.chest-visual{
  position:relative;width:min(300px,74vw);aspect-ratio:1;margin:18px auto 22px;
  cursor:pointer;user-select:none;touch-action:manipulation
}
.chest-img{
  position:relative;z-index:2;width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 12px 28px rgba(0,0,0,.55)) drop-shadow(0 0 18px rgba(255,220,140,.22));
  transition:filter .35s ease,transform .35s ease;
  animation:chestGlowPulse 2.6s ease-in-out infinite
}
.chest-visual:hover .chest-img{filter:drop-shadow(0 12px 28px rgba(0,0,0,.55)) drop-shadow(0 0 26px rgba(255,230,160,.38))}
.chest-visual[data-open="true"] .chest-img{animation:chestGlowOpen 2.4s ease-in-out infinite;transform:none}
.chest-stage[data-rarity="uncommon"] .chest-visual[data-open="true"] .chest-img{animation-name:chestGlowPulseGreen}
.chest-stage[data-rarity="rare"] .chest-visual[data-open="true"] .chest-img{animation-name:chestGlowPulseBlue}
.chest-stage[data-rarity="legendary"] .chest-visual[data-open="true"] .chest-img{animation-name:chestGlowPulseGold}
.chest-stage[data-rarity="ultimate"] .chest-visual[data-open="true"] .chest-img{animation-name:chestGlowPulsePurple}
@keyframes chestGlowPulse{
  0%,100%{filter:drop-shadow(0 12px 28px rgba(0,0,0,.55)) drop-shadow(0 0 14px rgba(255,220,140,.18)) brightness(1)}
  50%{filter:drop-shadow(0 12px 28px rgba(0,0,0,.55)) drop-shadow(0 0 28px rgba(255,230,160,.42)) brightness(1.08)}
}
@keyframes chestGlowOpen{
  0%,100%{filter:drop-shadow(0 14px 30px rgba(0,0,0,.55)) drop-shadow(0 0 20px rgba(255,220,140,.28)) brightness(1.05)}
  50%{filter:drop-shadow(0 14px 30px rgba(0,0,0,.55)) drop-shadow(0 0 36px rgba(255,230,160,.55)) brightness(1.14)}
}
.chest-stage[data-rarity="uncommon"] .chest-img{animation-name:chestGlowPulseGreen}
.chest-stage[data-rarity="rare"] .chest-img{animation-name:chestGlowPulseBlue}
.chest-stage[data-rarity="legendary"] .chest-img{animation-name:chestGlowPulseGold}
.chest-stage[data-rarity="ultimate"] .chest-img{animation-name:chestGlowPulsePurple}
@keyframes chestGlowPulseGreen{
  0%,100%{filter:drop-shadow(0 12px 28px rgba(0,0,0,.55)) drop-shadow(0 0 14px rgba(74,222,128,.25)) brightness(1)}
  50%{filter:drop-shadow(0 12px 28px rgba(0,0,0,.55)) drop-shadow(0 0 30px rgba(74,222,128,.55)) brightness(1.08)}
}
@keyframes chestGlowPulseBlue{
  0%,100%{filter:drop-shadow(0 12px 28px rgba(0,0,0,.55)) drop-shadow(0 0 14px rgba(96,165,250,.25)) brightness(1)}
  50%{filter:drop-shadow(0 12px 28px rgba(0,0,0,.55)) drop-shadow(0 0 30px rgba(96,165,250,.55)) brightness(1.08)}
}
@keyframes chestGlowPulseGold{
  0%,100%{filter:drop-shadow(0 12px 28px rgba(0,0,0,.55)) drop-shadow(0 0 16px rgba(251,191,36,.3)) brightness(1)}
  50%{filter:drop-shadow(0 12px 28px rgba(0,0,0,.55)) drop-shadow(0 0 34px rgba(251,191,36,.6)) brightness(1.1)}
}
@keyframes chestGlowPulsePurple{
  0%,100%{filter:drop-shadow(0 12px 28px rgba(0,0,0,.55)) drop-shadow(0 0 16px rgba(192,132,252,.32)) brightness(1)}
  50%{filter:drop-shadow(0 12px 28px rgba(0,0,0,.55)) drop-shadow(0 0 36px rgba(192,132,252,.62)) brightness(1.12)}
}
.chest-glow-ring{
  position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);
  width:82%;height:58%;border-radius:50%;pointer-events:none;z-index:1;
  background:radial-gradient(ellipse,rgba(232,197,71,.34),transparent 72%);
  animation:chestPulse 2s ease infinite
}
.chest-stage[data-rarity="uncommon"] .chest-glow-ring{background:radial-gradient(ellipse,rgba(74,222,128,.36),transparent 72%)}
.chest-stage[data-rarity="rare"] .chest-glow-ring{background:radial-gradient(ellipse,rgba(96,165,250,.38),transparent 72%)}
.chest-stage[data-rarity="legendary"] .chest-glow-ring{background:radial-gradient(ellipse,rgba(251,191,36,.45),transparent 72%)}
.chest-stage[data-rarity="ultimate"] .chest-glow-ring{background:radial-gradient(ellipse,rgba(192,132,252,.48),transparent 72%)}
@keyframes chestPulse{0%,100%{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}

.chest-sparkles{position:absolute;inset:-12%;pointer-events:none;z-index:3;overflow:visible}
.chest-sparkles::before,.chest-sparkles::after,
.chest-sparkles .chest-spark{
  content:'';position:absolute;width:7px;height:7px;border-radius:50%;
  background:#fff;box-shadow:0 0 12px #fff,0 0 22px rgba(255,255,255,.65);
  animation:chestSpark 1.7s ease-in-out infinite
}
.chest-sparkles::before{left:16%;top:24%;animation-delay:0s}
.chest-sparkles::after{right:14%;top:30%;animation-delay:.55s;width:5px;height:5px}
.chest-sparkles .chest-spark{content:none}
.chest-sparkles .chest-spark:nth-child(1){left:48%;top:12%;animation-delay:.2s;width:5px;height:5px}
.chest-sparkles .chest-spark:nth-child(2){left:72%;top:48%;animation-delay:.9s;width:6px;height:6px}
.chest-sparkles .chest-spark:nth-child(3){left:28%;top:62%;animation-delay:1.15s;width:4px;height:4px}
.chest-sparkles .chest-spark:nth-child(4){left:58%;top:70%;animation-delay:.4s;width:5px;height:5px}
.chest-stage[data-rarity="uncommon"] .chest-sparkles::before,
.chest-stage[data-rarity="uncommon"] .chest-sparkles::after,
.chest-stage[data-rarity="uncommon"] .chest-spark{background:#4ade80;box-shadow:0 0 12px #4ade80,0 0 22px rgba(74,222,128,.7)}
.chest-stage[data-rarity="rare"] .chest-sparkles::before,
.chest-stage[data-rarity="rare"] .chest-sparkles::after,
.chest-stage[data-rarity="rare"] .chest-spark{background:#60a5fa;box-shadow:0 0 12px #60a5fa,0 0 22px rgba(96,165,250,.7)}
.chest-stage[data-rarity="legendary"] .chest-sparkles::before,
.chest-stage[data-rarity="legendary"] .chest-sparkles::after,
.chest-stage[data-rarity="legendary"] .chest-spark{background:#fbbf24;box-shadow:0 0 14px #fbbf24,0 0 24px rgba(251,191,36,.75)}
.chest-stage[data-rarity="ultimate"] .chest-sparkles::before,
.chest-stage[data-rarity="ultimate"] .chest-sparkles::after,
.chest-stage[data-rarity="ultimate"] .chest-spark{background:#c084fc;box-shadow:0 0 16px #c084fc,0 0 28px rgba(192,132,252,.8)}

/* Boss Win/Lose Vollbild — Bild schrumpft, Buttons bleiben immer sichtbar */
#combat-end-overlay{
  position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.78);
  padding:max(8px,env(safe-area-inset-top,0px)) max(10px,env(safe-area-inset-right,0px)) max(8px,env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px));
  box-sizing:border-box
}
#combat-end-overlay.hidden{display:none!important;visibility:hidden!important;pointer-events:none!important;opacity:0!important;z-index:-1!important}
/* Nach Kampf: leere Arena darf Zone/Hub nie überdecken, auch ohne .hidden */
body:not(.screen-combat):not(.screen-guild-raid) #screen-combat,
body:not(.screen-combat):not(.screen-guild-raid) #combat-end-overlay:not(.combat-end--cinematic),
body:not(.screen-combat):not(.screen-guild-raid) #combat-phase-announce{
  display:none!important;visibility:hidden!important;pointer-events:none!important;opacity:0!important;z-index:-1!important
}
.combat-end-card{
  width:min(720px,100%);max-height:min(96dvh,960px);border-radius:16px;overflow:hidden;
  background:#0b1220;box-shadow:0 20px 60px rgba(0,0,0,.55);display:flex;flex-direction:column;min-height:0;box-sizing:border-box
}
.combat-end-art{
  /* Hochkant-Boss-Portraits: contain + Fokus Mitte, sonst wird die Figur unten abgeschnitten */
  width:100%;flex:1 1 auto;min-height:180px;max-height:min(58dvh,560px);height:auto;
  object-fit:contain;object-position:center center;display:block;background:#0b1220
}
.combat-end-body{
  flex:0 0 auto;padding:12px 14px calc(14px + env(safe-area-inset-bottom,0px));
  display:flex;flex-direction:column;gap:8px;min-height:0;max-height:min(48dvh,420px);
  overflow-y:auto;-webkit-overflow-scrolling:touch;
  background:linear-gradient(180deg,#111827,#0b1220)
}
.combat-end-title{font-size:clamp(1.1rem,3.5vw,1.45rem);font-weight:900}
.combat-end-title.win{color:#fbbf24}
.combat-end-title.lose{color:#fb7185}
.combat-end-msg{color:#cbd5e1;font-size:.92rem;line-height:1.35;margin:0;max-height:7.5em;overflow-y:auto}
.combat-end-actions{
  display:flex;flex-direction:column;gap:8px;margin-top:4px;flex:0 0 auto;
  position:sticky;bottom:0;padding-top:4px;background:linear-gradient(180deg,transparent,#0b1220 18%)
}
.combat-end-actions .btn{width:100%}
.combat-end-veil{display:none;pointer-events:none}
.combat-end-kicker{display:none}
.combat-end-kicker:not(:empty){
  display:block;font-family:Cinzel,Georgia,serif;
  font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(232,197,71,.82);margin:0 0 2px;
}

/* Dungeon-Boss Win/Lose — cineastisches Vollbild (Viewport, über Kampf-HUD 16000) */
#combat-end-overlay.combat-end--cinematic:not(.hidden){
  display:flex!important;visibility:visible!important;opacity:1!important;
  pointer-events:auto!important;z-index:20000!important;
  position:fixed!important;inset:0!important;
  width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;
  align-items:stretch!important;justify-content:stretch!important;
  padding:0!important;margin:0!important;box-sizing:border-box!important;
  background:#050308;
}
#combat-end-overlay.combat-end--cinematic .combat-end-card{
  position:relative;width:100%!important;height:100%!important;max-width:none!important;
  max-height:none!important;min-width:100%!important;min-height:100%!important;
  margin:0!important;border-radius:0!important;
  overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;
  background:#050308;box-shadow:none;
}
#combat-end-overlay.combat-end--cinematic .combat-end-art{
  position:absolute!important;z-index:0;pointer-events:none;
  inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;
  width:100%!important;height:100%!important;max-height:none!important;min-height:0!important;
  flex:none!important;object-fit:cover!important;object-position:center 28%;
  background:transparent;
}
#combat-end-overlay.combat-end--cinematic .combat-end-veil{
  display:block!important;position:absolute;inset:0;z-index:1;
  height:auto;pointer-events:none;
  background:linear-gradient(180deg,rgba(5,3,8,.16) 0%,transparent 18%,transparent 48%,rgba(5,3,8,.42) 72%,rgba(5,3,8,.86) 100%);
}
#combat-end-overlay.combat-end--cinematic.is-lose .combat-end-veil{
  background:linear-gradient(180deg,rgba(12,2,6,.14) 0%,transparent 18%,transparent 48%,rgba(12,2,6,.48) 72%,rgba(8,1,3,.88) 100%);
}
#combat-end-overlay.combat-end--cinematic .combat-end-body{
  position:relative;z-index:2;flex:0 0 auto;
  width:100%;max-height:min(34dvh,290px)!important;overflow-y:auto!important;
  padding:8px 16px calc(10px + env(safe-area-inset-bottom,0px));
  display:flex;flex-direction:column;gap:5px;
  background:transparent;
  box-sizing:border-box;
}
#combat-end-overlay.combat-end--cinematic.is-win .combat-end-body,
#combat-end-overlay.combat-end--cinematic.is-lose .combat-end-body{
  border-top:none;
  box-shadow:none;
}
#combat-end-overlay.combat-end--cinematic .combat-end-title{
  font-family:Cinzel,Georgia,serif;
  font-size:clamp(1.05rem,3.2vw,1.55rem);font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;line-height:1.15;margin:0;
  text-shadow:0 2px 16px rgba(0,0,0,.85);
}
#combat-end-overlay.combat-end--cinematic .combat-end-title.win{
  color:#fbbf24;
  text-shadow:0 0 18px rgba(251,191,36,.45),0 2px 16px rgba(0,0,0,.85);
}
#combat-end-overlay.combat-end--cinematic .combat-end-title.lose{
  color:#fb7185;
  text-shadow:0 0 18px rgba(251,113,133,.4),0 2px 16px rgba(0,0,0,.85);
}
#combat-end-overlay.combat-end--cinematic .combat-end-kicker:not(:empty){
  color:rgba(248,231,176,.78);
  font-size:.62rem;letter-spacing:.12em;margin:0;
}
#combat-end-overlay.combat-end--cinematic.is-lose .combat-end-kicker:not(:empty){
  color:rgba(254,202,202,.78);
}
#combat-end-overlay.combat-end--cinematic .combat-end-msg{
  color:#e2e8f0;font-size:clamp(.78rem,1.8vw,.92rem);
  line-height:1.32;max-height:3.9em;overflow:hidden;
  text-shadow:0 1px 10px rgba(0,0,0,.9);
}
#combat-end-overlay.combat-end--cinematic .combat-end-actions{
  position:relative;gap:6px;margin-top:2px;padding-top:0;background:transparent;
}
#combat-end-overlay.combat-end--cinematic .combat-end-actions .btn{
  width:100%;min-height:38px;font-weight:800;letter-spacing:.03em;
  padding-top:8px;padding-bottom:8px;
}
@media (max-height:700px){
  #combat-end-overlay.combat-end--cinematic .combat-end-art{height:100%!important;inset:0!important;object-fit:cover!important}
  #combat-end-overlay.combat-end--cinematic .combat-end-body{max-height:min(36dvh,260px)!important;padding:6px 12px calc(8px + env(safe-area-inset-bottom,0px));gap:4px}
  #combat-end-overlay.combat-end--cinematic .combat-end-actions .btn{min-height:34px;padding-top:6px;padding-bottom:6px}
}
@media (max-height:700px){
  .combat-end-art{max-height:min(46dvh,360px);min-height:140px}
  .combat-end-body{padding:10px 12px 12px;gap:6px}
  .combat-end-msg{font-size:.86rem;max-height:5.5em}
}
@media (max-height:560px){
  .combat-end-art{max-height:min(40dvh,260px);min-height:110px}
  .combat-end-title{font-size:1.05rem}
}

/* Große Kampfphasen-Meldung (Vollbild, kurz) */
#combat-phase-announce{
  position:fixed;inset:0;z-index:12500;display:flex;align-items:center;justify-content:center;
  pointer-events:none;padding:16px;box-sizing:border-box
}
#combat-phase-announce.hidden{display:none!important}
.combat-phase-announce-veil{
  position:absolute;inset:0;background:rgba(2,4,10,.72);
  backdrop-filter:blur(6px);animation:phaseAnnounceVeil .35s ease both
}
.combat-phase-announce-card{
  position:relative;z-index:1;width:min(520px,94vw);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  padding:22px 20px 20px;border-radius:20px;
  border:1px solid rgba(255,140,80,.45);
  background:linear-gradient(165deg,rgba(36,14,10,.96),rgba(8,10,18,.98));
  box-shadow:0 28px 80px rgba(0,0,0,.55),0 0 48px rgba(255,87,34,.18);
  text-align:center;animation:phaseAnnounceIn .45s cubic-bezier(.2,.85,.25,1) both
}
.combat-phase-announce-art{
  width:min(220px,56vw);height:min(260px,42vh);object-fit:contain;object-position:center bottom;
  filter:drop-shadow(0 12px 28px rgba(0,0,0,.55));margin-bottom:4px
}
.combat-phase-announce-kicker{
  font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,180,120,.85)
}
.combat-phase-announce-title{
  font-size:clamp(1.35rem,4.5vw,1.85rem);font-weight:900;color:#ffe7c2;
  text-shadow:0 2px 18px rgba(255,120,40,.35);line-height:1.15;margin:0
}
.combat-phase-announce-msg{
  margin:0;color:rgba(220,230,240,.86);font-size:.95rem;line-height:1.35;max-width:36ch
}
@keyframes phaseAnnounceVeil{from{opacity:0}to{opacity:1}}
@keyframes phaseAnnounceIn{
  from{opacity:0;transform:translateY(18px) scale(.92)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes chestSpark{
  0%{opacity:0;transform:scale(.35)}
  20%{opacity:1;transform:scale(1.15)}
  55%{opacity:.85;transform:scale(.9)}
  100%{opacity:0;transform:scale(.4)}
}
.chest-visual.is-opening .chest-img{
  animation:chestBurst .7s cubic-bezier(.2,.8,.2,1) forwards
}
@keyframes chestBurst{
  0%{transform:scale(1);filter:drop-shadow(0 12px 28px rgba(0,0,0,.55)) brightness(1)}
  35%{transform:scale(1.1);filter:drop-shadow(0 12px 28px rgba(0,0,0,.55)) drop-shadow(0 0 40px rgba(255,240,200,.7)) brightness(1.6)}
  100%{transform:scale(1);filter:drop-shadow(0 14px 32px rgba(0,0,0,.55)) drop-shadow(0 0 24px rgba(255,230,160,.45)) brightness(1.15)}
}
.chest-particles{position:absolute;inset:-20px;pointer-events:none;z-index:4}
.chest-particle{position:absolute;font-size:1.2rem;animation:particleFly .9s ease forwards;opacity:0}
@keyframes particleFly{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--dx,20px),var(--dy,-60px)) scale(.5)}}
.chest-open-btn{min-width:min(280px,88%);margin:0 auto}
.chest-open-btn:disabled{opacity:.55;cursor:default}

/* Großes Loot-Modal */
.chest-loot-modal{
  position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;
  padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))
}
.chest-loot-modal.hidden{display:none!important}
.chest-loot-modal-backdrop{position:absolute;inset:0;background:rgba(2,4,10,.72);backdrop-filter:blur(8px)}
.chest-loot-modal-card{
  position:relative;z-index:1;width:min(520px,94vw);max-height:min(86dvh,760px);overflow:auto;
  padding:22px 20px 18px;border-radius:22px;
  border:1px solid rgba(232,197,71,.35);
  background:linear-gradient(165deg,rgba(24,18,12,.96),rgba(8,10,18,.98));
  box-shadow:0 30px 80px rgba(0,0,0,.55),0 0 40px rgba(232,197,71,.12);
  animation:chestLootIn .45s cubic-bezier(.2,.8,.2,1)
}
@keyframes chestLootIn{
  from{opacity:0;transform:translateY(18px) scale(.96)}
  to{opacity:1;transform:none}
}
.chest-loot-modal-shine{
  position:absolute;inset:-20% -10% auto;height:55%;pointer-events:none;
  background:radial-gradient(ellipse at 50% 0%,rgba(232,197,71,.22),transparent 65%)
}
.chest-loot-modal-head{display:flex;align-items:center;gap:14px;margin-bottom:16px;position:relative}
.chest-loot-modal-emoji{font-size:2.2rem;line-height:1;filter:drop-shadow(0 6px 12px rgba(0,0,0,.4))}
.chest-loot-modal-kicker{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(253,230,138,.75)}

/* Wanderhändler Kauf/Verkauf */
.merchant-trade-modal{
  position:fixed;inset:0;z-index:12100;display:flex;align-items:center;justify-content:center;
  padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))
}
.merchant-trade-modal.hidden{display:none!important}
.merchant-trade-modal-backdrop{position:absolute;inset:0;background:rgba(2,4,10,.72);backdrop-filter:blur(8px)}
.merchant-trade-modal-card{
  position:relative;z-index:1;width:min(480px,94vw);max-height:min(82dvh,720px);overflow:auto;
  padding:18px 16px 14px;border-radius:20px;
  border:1px solid rgba(232,197,71,.35);
  background:linear-gradient(165deg,rgba(24,18,12,.97),rgba(8,10,18,.98));
  box-shadow:0 28px 70px rgba(0,0,0,.55);
  animation:chestLootIn .35s cubic-bezier(.2,.8,.2,1)
}
.merchant-trade-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.merchant-trade-kicker{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(253,230,138,.75)}
.merchant-trade-modal-head h3{margin:2px 0 0;font-size:1.15rem}
.merchant-trade-hint{margin:0 0 12px}
.merchant-trade-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.merchant-trade-row{
  display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;
  border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04)
}
.merchant-trade-row-emoji{font-size:1.35rem;line-height:1;width:1.6em;text-align:center}
.merchant-trade-row-meta{flex:1;min-width:0}
.merchant-trade-row-name{font-weight:700;font-size:.95rem}
.merchant-trade-row-sub{font-size:.72rem;opacity:.7;margin-top:2px}
.merchant-trade-row-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.merchant-trade-qty{
  width:3.2rem;text-align:center;border-radius:8px;border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.35);color:inherit;padding:4px 2px;font-size:.85rem
}
.merchant-trade-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}
.merchant-trade-coins{opacity:.85}
.merchant-trade-empty{padding:18px 8px;text-align:center;opacity:.75}
.chest-loot-modal-head h3{margin:2px 0 0;font-size:1.25rem}
.chest-loot-modal-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:16px}
.chest-loot-card{
  display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;
  border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04)
}
.chest-loot-card-emoji{font-size:1.7rem;width:2.2rem;text-align:center;flex-shrink:0}
.chest-loot-card-main{flex:1;min-width:0;text-align:left}
.chest-loot-card-name{font-weight:800;font-size:.95rem;color:#fff}
.chest-loot-card-meta{font-size:.72rem;color:rgba(255,255,255,.55);margin-top:2px}
.chest-loot-card-qty{
  flex-shrink:0;min-width:2.4rem;padding:6px 8px;border-radius:10px;text-align:center;
  font-weight:850;font-size:.85rem;background:rgba(232,197,71,.14);border:1px solid rgba(232,197,71,.3);color:#fde68a
}
.chest-loot-card[data-quality="uncommon"]{border-color:rgba(74,222,128,.35)}
.chest-loot-card[data-quality="rare"]{border-color:rgba(96,165,250,.4)}
.chest-loot-card[data-quality="legendary"]{border-color:rgba(251,191,36,.45)}
.chest-loot-card[data-quality="ultimate"],
.chest-loot-card[data-quality="epic"]{border-color:rgba(192,132,252,.45)}
.chest-loot-card.is-coins{
  background:linear-gradient(135deg,rgba(232,197,71,.14),rgba(255,255,255,.03));
  border-color:rgba(232,197,71,.35)
}

/* ══════════════════════════════════════════
   SCREEN: CHARAKTER
   ══════════════════════════════════════════ */
.char-card{padding:16px}
.char-preview{width:100%;max-height:220px;min-height:120px;object-fit:contain;border-radius:10px;border:1px solid var(--line);background:rgba(0,0,0,.3);image-rendering:pixelated;margin:8px 0 12px}
.char-preview-loading{padding:20px;text-align:center;color:var(--muted);font-size:.72rem}
.char-options{display:flex;flex-direction:column;gap:12px}
.char-group{display:flex;flex-direction:column;gap:6px}
.char-group-label{font-size:.66rem;font-weight:700;color:var(--gold)}
.char-picks{display:flex;flex-wrap:wrap;gap:5px}
.char-pick{padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:var(--txt);font-size:.7rem;cursor:pointer;transition:border-color .15s,background .15s}
.char-pick.active{border-color:var(--gold);background:var(--gold-dim);color:var(--gold)}
.hero-setup-card{max-width:none;margin:0}
.hero-setup-screen,.char-select-screen{
    display:flex;align-items:center;justify-content:center;
    min-height:calc(100dvh - 12px);padding:clamp(6px,1.2vw,16px) 0;
    overflow:visible;width:100%;
}
body.screen-char #top-bar,body.screen-char-select #top-bar{display:none!important}
body.screen-char,body.screen-char-select{overflow:auto}
@keyframes charSelectFadeIn{
    from{opacity:0;transform:translateY(16px) scale(.98)}
    to{opacity:1;transform:none}
}
.char-fantasy-panel{
    position:relative;overflow:hidden;border-radius:20px;
    background:linear-gradient(165deg,rgba(16,12,32,.94) 0%,rgba(8,10,22,.9) 100%);
    border:2px solid rgba(232,197,71,.38);
    box-shadow:
        0 0 0 1px rgba(255,255,255,.06) inset,
        0 0 40px rgba(120,80,220,.22),
        0 28px 80px rgba(0,0,0,.62);
}
.hero-setup-modal.char-fantasy-panel{
    background:rgba(8,10,22,.25);
    min-height:min(90dvh,860px);
}
.char-fantasy-panel-glow{
    position:absolute;inset:-30% -10%;pointer-events:none;z-index:0;
    background:radial-gradient(ellipse at 50% -10%,rgba(140,100,255,.28),transparent 58%),
               radial-gradient(ellipse at 80% 100%,rgba(232,197,71,.12),transparent 45%);
}
.hero-setup-modal .char-fantasy-panel-glow{opacity:.35}
.char-fantasy-panel > *:not(.char-fantasy-panel-glow):not(.hero-setup-bg){position:relative;z-index:2}
.char-fantasy-cta{
    background:linear-gradient(180deg,#f0d060 0%,#c8941a 100%)!important;
    color:#1a1008!important;border:1px solid rgba(255,230,140,.55)!important;
    box-shadow:0 6px 24px rgba(232,197,71,.35),inset 0 1px 0 rgba(255,255,255,.35)!important;
    font-weight:800!important;letter-spacing:.02em;text-shadow:0 1px 0 rgba(255,255,255,.25);
}
.char-fantasy-cta:hover:not(:disabled){filter:brightness(1.06)}
.char-fantasy-cta:disabled{opacity:.45!important;filter:grayscale(.2)}
.hero-setup-wrap{
    position:relative;z-index:1;width:100%;max-width:min(920px,98vw);
    animation:charSelectFadeIn .6s cubic-bezier(.2,.8,.2,1) both;
}
.char-select-wrap{
    position:relative;z-index:1;width:100%;max-width:100%;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:clamp(10px,2vh,20px);
    padding:clamp(10px,2vh,24px) clamp(8px,1.2vw,16px);
    min-height:calc(100dvh - 8px);
    animation:charSelectFadeIn .65s cubic-bezier(.2,.8,.2,1) both;
    box-sizing:border-box;
}
.hero-setup-modal,.char-select-modal{padding:0;margin:0}
.hero-setup-bg{
    position:absolute;inset:0;z-index:1;overflow:hidden;border-radius:inherit;pointer-events:none;
}
.hero-setup-bg-img{
    display:block;width:100%;height:100%;
    object-fit:fill;object-position:center center;
}
.hero-setup-bg-scrim{
    position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(180deg,rgba(4,6,14,.28) 0%,rgba(8,10,22,.62) 42%,rgba(10,12,26,.82) 100%);
}
.hero-setup-shell{
    position:relative;z-index:2;display:flex;flex-direction:column;min-height:inherit;
}
.hero-setup-header{
    text-align:center;padding:clamp(14px,3vw,22px) clamp(16px,3vw,24px) clamp(8px,2vw,14px);
    pointer-events:none;
}
.hero-setup-header h2{
    margin:0 0 4px;font-size:clamp(1.2rem,3.2vw,1.75rem);font-weight:800;
    color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.75),0 0 24px rgba(232,197,71,.35);
    letter-spacing:.03em;
}
.hero-setup-header .sub{
    margin:0;font-size:clamp(.72rem,2vw,.88rem);color:rgba(238,241,255,.88);
    text-shadow:0 1px 8px rgba(0,0,0,.8);line-height:1.4;
}
.hero-setup-name-field{
    margin-top:10px;display:flex;flex-direction:column;gap:4px;max-width:320px;margin-left:auto;margin-right:auto;
    position:relative;z-index:20;pointer-events:auto!important;
}
.hero-setup-name-label{
    font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:rgba(232,197,71,.85);
    pointer-events:none;
}
.hero-setup-name-input{
    width:100%;padding:10px 14px;border-radius:12px;border:1px solid rgba(180,140,255,.35);
    background:rgba(6,8,18,.55);color:#f5f0ff;font-size:1rem;font-weight:600;
    box-shadow:inset 0 2px 8px rgba(0,0,0,.35);
    pointer-events:auto!important;
    user-select:text;-webkit-user-select:text;
    touch-action:manipulation;
    position:relative;z-index:21;
}
.hero-setup-name-input:focus{
    outline:none;border-color:rgba(232,197,71,.55);box-shadow:0 0 0 2px rgba(232,197,71,.18);
}
.hero-setup-name-input::placeholder{color:rgba(245,240,255,.35);font-weight:500}
.hero-setup-banner-wrap,.char-select-banner-wrap{
    position:relative;width:100%;aspect-ratio:21/9;min-height:140px;overflow:hidden;
    background:linear-gradient(135deg,rgba(30,20,50,.8),rgba(10,12,24,.9));
}
.hero-setup-banner,.char-select-banner{width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block}
.hero-setup-banner-fade,.char-select-banner-fade{
    position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(180deg,rgba(4,6,14,.15) 0%,rgba(8,10,22,.55) 55%,rgba(10,12,26,.98) 100%);
}
.char-select-banner-copy,.hero-setup-banner-copy{
    position:absolute;inset:auto 0 0 0;padding:clamp(14px,3vw,22px) clamp(16px,3vw,24px);
    text-align:center;pointer-events:none;
}
.char-select-title,.hero-setup-banner-copy h2{
    margin:0 0 4px;font-size:clamp(1.2rem,3.2vw,1.75rem);font-weight:800;
    color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.75),0 0 24px rgba(232,197,71,.35);
    letter-spacing:.03em;
}
.char-select-sub,.hero-setup-banner-copy .sub{
    margin:0;font-size:clamp(.72rem,2vw,.88rem);color:rgba(238,241,255,.82);
    text-shadow:0 1px 8px rgba(0,0,0,.8);line-height:1.4;
}
.hero-setup-badge{
    display:inline-block;margin-bottom:6px;padding:3px 10px;border-radius:999px;
    font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
    background:rgba(232,197,71,.18);border:1px solid rgba(232,197,71,.4);color:var(--gold);
}
.hero-setup-modal-body,.char-select-body{
    flex:1 1 auto;
    padding:clamp(10px,2vw,18px) clamp(16px,3vw,28px) clamp(20px,3vw,30px);
    background:transparent;
    overflow:visible;
}
.hero-setup-preview{
    display:flex;align-items:center;justify-content:center;min-height:88px;margin:0 0 14px;
    padding:10px;border-radius:14px;
    background:rgba(6,8,18,.42);
    border:1px solid rgba(180,140,255,.22);
    box-shadow:inset 0 0 24px rgba(0,0,0,.35);
    backdrop-filter:blur(6px);
}
.hero-setup-preview .char-preview.hero-setup-avatar,.hero-setup-preview .char-preview{
    width:88px;height:88px;border-radius:50%;object-fit:cover;
    box-shadow:0 0 0 3px rgba(232,197,71,.35),0 8px 24px rgba(0,0,0,.5);
}
.hub-sprite.hub-avatar-img{border-radius:14px;object-fit:cover;object-position:center center;image-rendering:auto;border:0}
.hero-setup-preview .char-preview.hero-setup-portrait{
  width:min(100%,220px);height:min(52vh,300px);border-radius:16px;object-fit:cover;object-position:center top;
  box-shadow:0 12px 40px rgba(0,0,0,.45);border:2px solid rgba(232,197,71,.35)
}
.hero-setup-header-compact{margin-bottom:4px}
.hero-setup-header-compact h2{margin-bottom:4px}
.hero-setup-step-label{margin:0;font-size:.82rem;opacity:.75}
.hero-setup-modal-body-compact{padding-top:0}
.hero-setup-stage{
  width:100%;padding:14px 10px 10px;border-radius:18px;
  background:linear-gradient(180deg,rgba(14,10,28,.72),rgba(8,6,16,.55));
  border:1px solid rgba(180,140,255,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 32px rgba(0,0,0,.35);
  overflow:visible;
}
.hero-carousel-main{margin-top:4px;width:100%;max-width:min(760px,100%);margin-inline:auto}
.hero-carousel{display:flex;flex-direction:row;align-items:flex-end;gap:10px;width:100%;overflow:visible}
.hero-carousel-viewport{flex:1 1 auto;min-width:0;overflow:visible}
.hero-carousel-track{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr) minmax(0,1fr);
  gap:clamp(8px,2vw,14px);align-items:end;width:100%;overflow:visible
}
.hero-pick-slot.char-slot-card{
  cursor:pointer;min-width:0;width:100%;min-height:0;height:auto;align-self:end;
  position:relative;overflow:visible;
  transition:opacity .2s ease,transform .2s ease,border-color .2s ease,box-shadow .2s ease
}
.hero-pick-slot.char-slot-filled:hover{transform:none;box-shadow:0 10px 28px rgba(0,0,0,.4),inset 0 0 0 1px rgba(255,255,255,.06)}
.hero-pick-slot[data-carousel-slot="prev"],
.hero-pick-slot[data-carousel-slot="next"]{opacity:.82;transform:scale(.96);transform-origin:bottom center}
.hero-pick-slot[data-carousel-slot="prev"]:hover,
.hero-pick-slot[data-carousel-slot="next"]:hover{transform:scale(.96)}
.hero-pick-slot[data-carousel-slot="center"]{
  opacity:1;transform:none;
}
.hero-pick-slot.is-selected{
  opacity:1;transform:none;
  border-color:rgba(232,197,71,.72);
  box-shadow:0 14px 36px rgba(0,0,0,.48),0 0 0 1px rgba(232,197,71,.28)
}
.hero-pick-slot[data-carousel-slot="center"]:hover,
.hero-pick-slot.is-selected:hover{transform:none}
.hero-pick-slot .char-slot-visual{max-height:min(26vh,220px);overflow:hidden;background:transparent}
.hero-pick-slot[data-carousel-kind="profession"] .char-slot-art{object-fit:fill;object-position:center center}
.hero-pick-slot[data-carousel-slot="center"] .char-slot-visual{max-height:min(32vh,270px)}
.hero-pick-slot.is-selected .char-slot-visual{max-height:min(32vh,270px)}
.hero-pick-cap.char-slot-cap{min-height:0;padding:6px 8px 8px;flex:0 0 auto}
.hero-pick-cap .char-slot-cap-head{min-height:0}
.hero-carousel-info-wrap{position:absolute;top:8px;right:8px;z-index:12;pointer-events:auto}
.hero-pick-slot:has(.hero-carousel-info-wrap.is-info-open){z-index:1000}
.hero-pick-slot:has(.hero-carousel-info-wrap.is-info-open) .hero-carousel-card-info-btn{
  border-color:rgba(255,240,180,.95);
  box-shadow:0 3px 14px rgba(0,0,0,.55),0 0 16px rgba(124,92,255,.35)
}
.hero-setup-info-popover{
  position:fixed;z-index:100000;pointer-events:auto;
  max-width:min(300px,calc(100vw - 24px));
  animation:heroInfoPopIn .18s ease both
}
.hero-setup-info-popover[hidden]{display:none!important}
.hero-setup-info-popover .hero-setup-info-panel{
  width:100%;max-height:min(46vh,340px);overflow:auto;
  padding:14px 16px;border-radius:14px;
  border:1px solid rgba(232,197,71,.55);background:rgba(8,6,16,.98);
  box-shadow:0 18px 48px rgba(0,0,0,.72),0 0 0 1px rgba(124,92,255,.18)
}
@keyframes heroInfoPopIn{
  from{opacity:0;transform:translateY(6px) scale(.98)}
  to{opacity:1;transform:none}
}
.hero-pick-slot .hero-carousel-card-info-btn{
  position:relative;width:28px;height:28px;border-radius:50%;
  border:2px solid rgba(232,197,71,.6);
  background:linear-gradient(180deg,rgba(18,12,32,.95),rgba(8,6,16,.9));
  color:#e8c547;font-size:.85rem;font-weight:800;cursor:pointer;line-height:1;
  box-shadow:0 2px 8px rgba(0,0,0,.5),0 0 10px rgba(124,92,255,.18);
  transition:transform .15s,border-color .15s,box-shadow .15s;
  pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
.hero-pick-slot .hero-carousel-card-info-btn:hover,
.hero-pick-slot .hero-carousel-card-info-btn:focus-visible{
  transform:scale(1.1);border-color:rgba(255,240,180,.9);
  box-shadow:0 3px 12px rgba(0,0,0,.55),0 0 14px rgba(124,92,255,.3);outline:none
}
.hero-carousel-btn{
  flex:0 0 40px;width:40px;height:40px;border-radius:50%;
  border:2px solid rgba(232,197,71,.45);background:linear-gradient(180deg,rgba(40,30,70,.9),rgba(18,12,32,.95));
  color:#f5d782;font-size:1.4rem;font-weight:700;line-height:1;cursor:pointer;
  box-shadow:0 4px 14px rgba(0,0,0,.4)
}
.hero-carousel-btn:hover:not(:disabled){border-color:rgba(255,240,180,.7);background:linear-gradient(180deg,rgba(124,92,255,.55),rgba(40,30,70,.95))}
.hero-carousel-btn:disabled{opacity:.35;cursor:not-allowed}
.char-select-slots:has(.char-select-stage-carousel){
    display:block;max-width:min(820px,100%);margin:0 auto;
}
.char-select-stage-carousel{width:100%;padding:8px 0 4px}
.char-select-stage-carousel .char-select-carousel-track{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr) minmax(0,1fr);
    gap:clamp(8px,2vw,14px);align-items:end;width:100%
}
.char-select-stage-carousel .char-select-carousel-slot[data-carousel-slot="prev"],
.char-select-stage-carousel .char-select-carousel-slot[data-carousel-slot="next"]{
    opacity:.82;transform:scale(.96);transform-origin:bottom center
}
.char-select-stage-carousel .char-select-carousel-slot[data-carousel-slot="center"],
.char-select-stage-carousel .char-select-carousel-slot.is-selected{
    opacity:1;transform:none;border-color:rgba(232,197,71,.72);
    box-shadow:0 14px 36px rgba(0,0,0,.48),0 0 0 1px rgba(232,197,71,.28)
}
.char-select-stage-carousel .char-select-carousel-slot[data-carousel-slot="center"] .char-slot-visual,
.char-select-stage-carousel .char-select-carousel-slot.is-selected .char-slot-visual{
    max-height:min(32vh,270px)
}
.char-select-stage-carousel .char-select-carousel-hint{
  margin:8px 0 0;text-align:center;font-size:.82rem;opacity:.78
}
.char-select-stage-carousel .char-select-carousel-slot .char-slot-art,
.hero-pick-slot .char-slot-art{
  position:absolute;inset:0;width:100%;height:100%;min-width:100%;min-height:100%;
  object-fit:fill;object-position:center center;display:block;
}
.char-select-stage-carousel .char-select-carousel-slot .char-slot-art-wrap,
.hero-pick-slot .char-slot-art-wrap{
  position:absolute;inset:0;width:100%;height:100%;
}
.hero-carousel-btn:disabled{opacity:.35;cursor:not-allowed}

/* Karussell-Wisch-Übergang (Char-Auswahl & Erstellung) */
.carousel-slide-exit-left,
.carousel-slide-exit-right,
.carousel-slide-enter-left,
.carousel-slide-enter-right{
  animation-duration:.34s;
  animation-timing-function:cubic-bezier(.22,1,.36,1);
  animation-fill-mode:both;
  will-change:transform,opacity;
  pointer-events:none;
}
.carousel-slide-enter-left,
.carousel-slide-enter-right{z-index:3}
.carousel-slide-exit-left{animation-name:carouselSlideExitLeft}
.carousel-slide-exit-right{animation-name:carouselSlideExitRight}
.carousel-slide-enter-left{animation-name:carouselSlideEnterLeft}
.carousel-slide-enter-right{animation-name:carouselSlideEnterRight}
@keyframes carouselSlideExitLeft{
  from{transform:translate3d(0,0,0);opacity:1;filter:brightness(1)}
  to{transform:translate3d(-24%,0,0);opacity:0;filter:brightness(.78)}
}
@keyframes carouselSlideExitRight{
  from{transform:translate3d(0,0,0);opacity:1;filter:brightness(1)}
  to{transform:translate3d(24%,0,0);opacity:0;filter:brightness(.78)}
}
@keyframes carouselSlideEnterLeft{
  from{transform:translate3d(-24%,0,0);opacity:0;filter:brightness(.86)}
  to{transform:translate3d(0,0,0);opacity:1;filter:brightness(1)}
}
@keyframes carouselSlideEnterRight{
  from{transform:translate3d(24%,0,0);opacity:0;filter:brightness(.86)}
  to{transform:translate3d(0,0,0);opacity:1;filter:brightness(1)}
}
@media (prefers-reduced-motion:reduce){
  .carousel-slide-exit-left,.carousel-slide-exit-right,
  .carousel-slide-enter-left,.carousel-slide-enter-right{animation:none!important}
}
html[data-desktop-web="1"] body.screen-char .carousel-slide-exit-left,
html[data-desktop-web="1"] body.screen-char .carousel-slide-exit-right,
html[data-desktop-web="1"] body.screen-char .carousel-slide-enter-left,
html[data-desktop-web="1"] body.screen-char .carousel-slide-enter-right{
  animation:none!important;
  transform:none!important;
  opacity:1!important;
  filter:none!important;
}

.hero-setup-preview{display:none!important}
.hero-gender-pill{
  flex:1 1 140px;max-width:220px;padding:11px 18px;border-radius:999px;border:2px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg,rgba(22,16,40,.85),rgba(10,8,20,.75));color:#eef1ff;font-weight:800;font-size:.88rem;cursor:pointer;transition:.18s ease
}
.hero-setup-confirm-btn{
  flex:2 1 200px;min-height:48px;font-weight:800;letter-spacing:.02em;
  background:linear-gradient(135deg,rgba(124,92,255,.85),rgba(232,197,71,.75));border:1px solid rgba(255,240,180,.35)
}
.hero-setup-nav .hero-setup-confirm-btn:not(.hidden){display:inline-flex}
.hero-setup-options{max-height:none;overflow:visible;padding-right:0}
.hero-setup-wizard{display:flex;flex-direction:column;gap:14px}
.hero-setup-gender-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.hero-gender-pill:hover{border-color:rgba(232,197,71,.45);transform:translateY(-1px)}
.hero-gender-pill.active{
  border-color:rgba(232,197,71,.8);background:linear-gradient(135deg,rgba(124,92,255,.45),rgba(232,197,71,.22));
  box-shadow:0 0 0 1px rgba(232,197,71,.3),0 6px 18px rgba(80,60,160,.25)
}
.hero-setup-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.hero-setup-panel-head .hero-setup-label{margin-bottom:0}
.hero-setup-info-title{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(232,197,71,.85);margin:8px 0 4px}
.hero-setup-info-title:first-child{margin-top:0}
.hero-setup-info-desc{font-size:.74rem;line-height:1.35;color:rgba(238,241,255,.75);margin:0 0 6px}
.hero-setup-info-stats,.hero-setup-info-skills{list-style:none;margin:0;padding:0;font-size:.76rem}
.hero-setup-info-stats li,.hero-setup-info-skills li{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.hero-setup-info-skills li{justify-content:flex-start;gap:6px}
.hero-setup-info-skills .muted{font-size:.68rem;opacity:.65;margin-left:auto}
.hero-setup-version-tag{
  position:fixed;top:max(4px,env(safe-area-inset-top,0px));left:max(6px,env(safe-area-inset-left,0px));bottom:auto;right:auto;z-index:1200;
  font-size:10px;font-weight:700;letter-spacing:.04em;opacity:.65;color:#e8c547;pointer-events:none;
  text-shadow:0 1px 4px rgba(0,0,0,.8);
}
body.screen-char .rpg-deploy-chip,
body.screen-char-select .rpg-deploy-chip{
  top:max(4px,env(safe-area-inset-top,0px));bottom:auto;
  right:max(6px,env(safe-area-inset-right,0px));left:auto;
  z-index:1200;
}
body.screen-char .hero-setup-version-tag,
body.screen-char-select .hero-setup-version-tag,
body.screen-char .rpg-deploy-chip,
body.screen-char-select .rpg-deploy-chip{
  display:none!important;
  visibility:hidden!important;
}
body.screen-char .hero-setup-version-tag,
body.screen-char-select .hero-setup-version-tag{
  top:max(4px,env(safe-area-inset-top,0px));bottom:auto;
}
.hero-setup-section{margin-bottom:14px}
.hero-setup-label{
    font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
    color:var(--gold);margin-bottom:8px;text-shadow:0 0 12px rgba(232,197,71,.25);
}
.hero-setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.hero-setup-grid-gender{max-width:340px}
.hero-setup-grid-professions{grid-template-columns:repeat(3,minmax(0,1fr))}
.hero-setup-hint{margin:4px 0 0;font-size:.72rem;line-height:1.35;opacity:.75}
.hero-setup-pick{
    display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;
    border-radius:12px;border:1px solid rgba(180,140,255,.22);
    background:rgba(8,10,22,.58);
    color:var(--txt);cursor:pointer;text-align:left;transition:border-color .15s,background .15s,transform .12s,box-shadow .15s;
    min-height:64px;
    backdrop-filter:blur(4px);
}
.hero-setup-pick:hover{border-color:rgba(232,197,71,.45);transform:translateY(-1px);box-shadow:0 4px 16px rgba(80,60,160,.2)}
.hero-setup-pick.active{
    border-color:rgba(232,197,71,.75);background:linear-gradient(160deg,rgba(60,45,20,.55),rgba(30,24,50,.8));
    box-shadow:0 0 0 1px rgba(232,197,71,.35),0 0 20px rgba(232,197,71,.15);
}
.hero-setup-emoji{font-size:1.35rem;line-height:1}
.hero-setup-desc{display:block;line-height:1.25;margin-top:2px;font-size:.68rem;color:rgba(238,241,255,.65)}
.hero-setup-nav{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;justify-content:center}
.hero-setup-nav .char-back-select-btn{flex:0 1 auto;min-width:88px}
.hero-setup-nav #btn-char-save{flex:2 1 160px;max-width:none}
.hero-setup-nav .btn:disabled{opacity:.45;cursor:not-allowed}
.char-select-header{text-align:center;width:100%;max-width:900px;margin:0 auto}
.char-select-title{
    margin:0 0 clamp(4px,1vw,10px);font-size:clamp(1.4rem,4vw,2.4rem);font-weight:900;
    color:#fff6d0;letter-spacing:.05em;line-height:1.1;
    text-shadow:0 3px 18px rgba(0,0,0,.85),0 0 32px rgba(232,197,71,.4);
}
.char-select-sub{
    margin:0;font-size:clamp(.92rem,2.2vw,1.15rem);color:rgba(238,241,255,.88);
    text-shadow:0 2px 12px rgba(0,0,0,.85);line-height:1.45;
}
.char-select-slots{
    width:100%;max-width:min(980px,100%);margin:0 auto;
    display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
    gap:clamp(5px,0.55vw,8px);align-items:stretch;
    padding:0;box-sizing:border-box;
}
/* Karussell-Inhalt Mobile: nur OHNE PC-Scale (sonst zerstört 100vw das Desktop-Karussell) */
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.screen-char-select #char-select-slots:has(.char-select-stage),
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) body.screen-char-select #char-select-slots:has(.char-select-stage),
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) body.screen-char-select #char-select-slots:has(.char-select-stage),
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.screen-char-select #char-select-slots:has(.char-select-carousel),
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) body.screen-char-select #char-select-slots:has(.char-select-carousel),
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) body.screen-char-select #char-select-slots:has(.char-select-carousel){
    display:flex!important;flex-direction:column!important;
    grid-template-columns:none!important;grid-template-rows:none!important;
    width:100%!important;max-width:none!important;margin:0!important;padding:0!important;gap:0!important;
}
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.screen-char-select #char-select-slots:has(.char-select-stage-fullbleed),
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) body.screen-char-select #char-select-slots:has(.char-select-stage-fullbleed),
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) body.screen-char-select #char-select-slots:has(.char-select-stage-fullbleed){
    position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;
    overflow:hidden!important;z-index:1!important;
}
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.screen-char-select .char-select-stage-fullbleed,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) body.screen-char-select .char-select-stage-fullbleed,
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) body.screen-char-select .char-select-stage-fullbleed{
    width:100%!important;max-width:none!important;flex:1 1 auto!important;min-height:0!important;
    align-self:stretch!important;
}
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.screen-char-select #app,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) body.screen-char-select #app,
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) body.screen-char-select #app,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.screen-char #app,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) body.screen-char #app,
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) body.screen-char #app{
    max-width:none!important;width:100vw!important;margin:0!important;padding:0!important;
    box-sizing:border-box!important;
}
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.screen-char-select #screen-char-select,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) body.screen-char-select #screen-char-select,
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) body.screen-char-select #screen-char-select,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.screen-char #screen-char,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) body.screen-char #screen-char,
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) body.screen-char #screen-char{
    position:fixed!important;inset:0!important;width:100vw!important;max-width:none!important;
    margin:0!important;padding:0!important;overflow:hidden!important;
}
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.screen-char-select .hero-carousel-main,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) body.screen-char-select .hero-carousel-main,
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) body.screen-char-select .hero-carousel-main,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.screen-char-select .char-select-carousel.hero-carousel-main,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) body.screen-char-select .char-select-carousel.hero-carousel-main,
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) body.screen-char-select .char-select-carousel.hero-carousel-main,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.screen-char .hero-carousel-main,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) body.screen-char .hero-carousel-main,
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) body.screen-char .hero-carousel-main{
    max-width:none!important;width:100vw!important;margin-inline:0!important;
}
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.screen-char-select .char-select-carousel-track,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) body.screen-char-select .char-select-carousel-track,
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) body.screen-char-select .char-select-carousel-track,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.screen-char-select .char-select-carousel-track.hero-carousel-track,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) body.screen-char-select .char-select-carousel-track.hero-carousel-track,
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) body.screen-char-select .char-select-carousel-track.hero-carousel-track,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.screen-char .hero-carousel-track,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) body.screen-char .hero-carousel-track,
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) body.screen-char .hero-carousel-track{
    display:flex!important;grid-template-columns:none!important;width:100vw!important;max-width:none!important;
}
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.screen-char-select .char-select-foot,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) body.screen-char-select .char-select-foot,
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) body.screen-char-select .char-select-foot{
    position:fixed!important;left:0!important;right:0!important;bottom:0!important;
    z-index:20!important;width:100%!important;max-width:none!important;margin:0!important;
    padding:6px 0 max(6px,env(safe-area-inset-bottom,0px))!important;
    background:linear-gradient(180deg,transparent 0%,rgba(8,6,16,.88) 24%,rgba(8,6,16,.96) 100%)!important;
    border:none!important;gap:6px!important;pointer-events:auto!important;
}
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.screen-char-select .char-select-wrap,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) body.screen-char-select .char-select-wrap,
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) body.screen-char-select .char-select-wrap{
    width:100vw!important;max-width:none!important;margin:0!important;padding:0!important;
    align-items:stretch!important;justify-content:flex-start!important;min-height:100dvh!important;
}
/* Desktop + PC-Scale: 3er-Karussell (Mobile-Shell nutzt dieselbe Stage) */
html[data-desktop-web="1"] body.screen-char-select #screen-char-select,
html[data-desktop-web="1"] body.screen-char #screen-char,
html.flix-rpg-pc-scale body.screen-char-select #screen-char-select,
html.flix-rpg-pc-scale body.screen-char #screen-char{
    position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;
    height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;
}
html.flix-rpg-pc-scale body.screen-char-select #screen-char-select:not(.hidden),
html.flix-rpg-pc-scale body.screen-char #screen-char:not(.hidden){
    position:absolute!important;inset:0!important;height:100%!important;overflow:auto!important;
}
html[data-desktop-web="1"] body.screen-char-select #char-select-slots,
html[data-desktop-web="1"] body.screen-char-select #char-select-slots:has(.char-select-stage-carousel),
html.flix-rpg-pc-scale body.screen-char-select #char-select-slots,
html.flix-rpg-pc-scale body.screen-char-select #char-select-slots:has(.char-select-stage-carousel){
    position:relative!important;inset:auto!important;display:block!important;
    width:100%!important;max-width:min(820px,100%)!important;height:auto!important;min-height:0!important;
    margin:0 auto!important;padding:0!important;grid-template-columns:none!important;
}
html[data-desktop-web="1"] body.screen-char-select .char-select-carousel-track,
html[data-desktop-web="1"] body.screen-char-select .char-select-carousel-track.hero-carousel-track,
html.flix-rpg-pc-scale body.screen-char-select .char-select-carousel-track,
html.flix-rpg-pc-scale body.screen-char-select .char-select-carousel-track.hero-carousel-track{
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr) minmax(0,1fr)!important;
    width:100%!important;max-width:100%!important;min-height:0!important;height:auto!important;
    flex:none!important;gap:clamp(8px,2vw,14px)!important;align-items:end!important;overflow:visible!important;
}
html[data-desktop-web="1"] body.screen-char-select .char-select-carousel-slot.char-slot-card,
html.flix-rpg-pc-scale body.screen-char-select .char-select-carousel-slot.char-slot-card{
    position:relative!important;inset:auto!important;display:flex!important;flex-direction:column!important;
    width:100%!important;min-width:0!important;min-height:0!important;height:auto!important;max-height:none!important;
}
html[data-desktop-web="1"] body.screen-char-select .char-select-carousel-slot .char-slot-visual,
html[data-desktop-web="1"] body.screen-char-select .char-select-carousel-slot .char-slot-visual-empty,
html.flix-rpg-pc-scale body.screen-char-select .char-select-carousel-slot .char-slot-visual,
html.flix-rpg-pc-scale body.screen-char-select .char-select-carousel-slot .char-slot-visual-empty{
    position:relative!important;inset:auto!important;flex:0 0 auto!important;
    width:100%!important;height:auto!important;min-height:0!important;max-height:270px!important;
    aspect-ratio:3/4!important;
}
html[data-desktop-web="1"] body.screen-char-select .char-select-carousel-slot .char-slot-art-wrap,
html.flix-rpg-pc-scale body.screen-char-select .char-select-carousel-slot .char-slot-art-wrap{
    position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
}
html[data-desktop-web="1"] body.screen-char-select .char-select-carousel-slot[data-carousel-slot="prev"],
html[data-desktop-web="1"] body.screen-char-select .char-select-carousel-slot[data-carousel-slot="next"],
html.flix-rpg-pc-scale body.screen-char-select .char-select-carousel-slot[data-carousel-slot="prev"],
html.flix-rpg-pc-scale body.screen-char-select .char-select-carousel-slot[data-carousel-slot="next"]{
    opacity:.82!important;transform:scale(.96)!important;transform-origin:bottom center!important;
}
html[data-desktop-web="1"] body.screen-char-select .char-select-carousel-slot[data-carousel-slot="center"],
html[data-desktop-web="1"] body.screen-char-select .char-select-carousel-slot.is-selected,
html.flix-rpg-pc-scale body.screen-char-select .char-select-carousel-slot[data-carousel-slot="center"],
html.flix-rpg-pc-scale body.screen-char-select .char-select-carousel-slot.is-selected{
    opacity:1!important;transform:none!important;
}
html[data-desktop-web="1"] body.screen-char-select .char-select-carousel.hero-carousel-main,
html[data-desktop-web="1"] body.screen-char-select .hero-carousel-main,
html.flix-rpg-pc-scale body.screen-char-select .char-select-carousel.hero-carousel-main,
html.flix-rpg-pc-scale body.screen-char-select .hero-carousel-main{
    width:100%!important;max-width:min(760px,100%)!important;margin-inline:auto!important;
}
html[data-desktop-web="1"] body.screen-char-select .char-select-foot,
html.flix-rpg-pc-scale body.screen-char-select .char-select-foot{
    position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;
    z-index:2!important;padding:0!important;background:none!important;
}
html[data-desktop-web="1"] body.screen-char-select .char-select-wrap,
html.flix-rpg-pc-scale body.screen-char-select .char-select-wrap{
    width:100%!important;max-width:100%!important;min-height:0!important;padding:clamp(10px,2vh,24px) clamp(8px,1.2vw,16px)!important;
}
.char-slot-card{
    position:relative;display:flex;flex-direction:column;
    width:100%;min-height:100%;
    padding:0;margin:0;border:2px solid rgba(232,197,71,.32);
    background:rgba(8,10,22,.55);border-radius:14px;cursor:pointer;overflow:hidden;
    box-shadow:0 10px 28px rgba(0,0,0,.4),inset 0 0 0 1px rgba(255,255,255,.06);
    transition:transform .22s,box-shadow .22s,border-color .22s;
}
.char-slot-visual{
    position:relative;width:100%;flex:0 0 auto;min-height:0;
    aspect-ratio:3/4;
    max-height:min(34vh,310px);
    overflow:hidden;background:#0a0814;
}
.char-slot-art-wrap{
    position:absolute;inset:0;overflow:hidden;
    background:linear-gradient(180deg,#12101c 0%,#0a0814 100%);
}
.char-slot-art{
    position:absolute;inset:0;display:block;width:100%;height:100%;
    object-fit:cover;object-position:center 22%;
    image-rendering:auto;
}
.char-slot-cap{
    position:relative;z-index:2;flex:0 0 auto;
    display:flex;flex-direction:column;align-items:stretch;gap:4px;
    min-height:88px;padding:8px 9px 10px;pointer-events:none;
    border-top:1px solid rgba(255,255,255,.22);
    box-sizing:border-box;
}
.char-slot-cap .char-slot-name{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.char-slot-cap .char-slot-class{color:rgba(255,255,255,.94)}
.char-slot-cap .char-slot-lv{
    color:#fff;background:rgba(0,0,0,.28);border-color:rgba(255,255,255,.35);
}
.char-slot-drag-handle{
    position:absolute;left:6px;bottom:6px;z-index:5;
    font-size:.72rem;line-height:1;padding:4px 6px;border-radius:6px;
    color:rgba(255,255,255,.92);background:rgba(0,0,0,.52);
    border:1px solid rgba(255,255,255,.22);pointer-events:auto;
    cursor:grab;touch-action:none;opacity:.82;
    transition:opacity .18s, background .18s;
}
.char-slot-drag-handle:hover{background:rgba(20,40,80,.72)}
.char-slot-drag-handle:active{cursor:grabbing;opacity:1}
.char-slot-filled.is-dragging .char-slot-drag-handle{opacity:1;cursor:grabbing}
.char-slot-card.is-dragging{opacity:.72;transform:scale(.97)}
.char-slot-card.is-drop-target{
    border-color:rgba(170,220,255,.85);
    box-shadow:0 0 0 2px rgba(120,180,255,.35),0 14px 36px rgba(40,90,180,.28);
}
.char-slot-cap-empty{justify-content:flex-start}
.char-slot-cap-head{
    display:flex;align-items:center;justify-content:space-between;gap:6px;
    min-width:0;flex-shrink:0;
}
.char-slot-name{
    display:block;margin:0;min-width:0;flex-shrink:0;
    font-size:clamp(.84rem,1.05vw,1rem);font-weight:800;line-height:1.2;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;
}
.char-slot-meta-row{
    display:flex;align-items:center;justify-content:space-between;gap:6px;
    min-width:0;margin-top:auto;
}
.char-slot-meta-row-empty{margin-top:4px}
.char-slot-prof-row{
    display:flex;align-items:center;justify-content:space-between;gap:6px;
    min-width:0;margin-top:2px;padding-top:4px;
    border-top:1px solid rgba(255,255,255,.14);
}
.char-slot-prof{
    flex:1 1 auto;min-width:0;margin:0;
    font-size:clamp(.66rem,0.9vw,.8rem);font-weight:700;line-height:1.25;
    color:rgba(255,255,255,.92);
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.char-slot-job-lv{
    flex-shrink:0;margin:0;
    font-size:clamp(.58rem,0.78vw,.72rem);font-weight:800;line-height:1;
    padding:2px 6px;border-radius:999px;white-space:nowrap;
    color:#fff;background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.28);
}
.char-slot-class{
    flex:1 1 auto;min-width:0;margin:0;
    font-size:clamp(.72rem,0.95vw,.86rem);font-weight:600;line-height:1.25;
    color:rgba(220,228,255,.92);
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.char-slot-lv{
    flex-shrink:0;margin:0;
    font-size:clamp(.64rem,0.85vw,.76rem);font-weight:800;line-height:1;
    padding:3px 7px;border-radius:999px;white-space:nowrap;
    color:#ffe08a;background:rgba(232,197,71,.16);border:1px solid rgba(232,197,71,.32);
}
.char-slot-visual-empty{
    position:relative;overflow:hidden;
    background:#0a0814;
}
.char-slot-empty-overlay{
    position:absolute;inset:0;z-index:2;pointer-events:none;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:clamp(10px,2vh,18px);
    background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.04) 42%,rgba(0,0,0,.28) 100%);
}
.char-slot-empty-art{object-position:center 38%}
.char-slot-empty-icon{
    position:relative;z-index:2;
    width:clamp(64px,22vw,96px);height:clamp(64px,22vw,96px);
    display:flex;align-items:center;justify-content:center;
    border-radius:50%;
    border:2px solid rgba(232,197,71,.55);
    background:linear-gradient(145deg,rgba(232,197,71,.24),rgba(255,255,255,.07));
    box-shadow:
        0 0 0 1px rgba(255,255,255,.08) inset,
        0 8px 28px rgba(0,0,0,.38),
        0 0 24px rgba(232,197,71,.16);
    backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
    transition:transform .22s,box-shadow .22s,border-color .22s;
}
.char-slot-empty-plus{
    font-size:clamp(2rem,8vw,2.8rem);font-weight:300;line-height:1;
    color:#fff6d0;text-shadow:0 0 16px rgba(232,197,71,.45);
}
.char-slot-empty-hint{
    position:relative;z-index:2;
    font-size:clamp(.72rem,2.8vw,.88rem);font-weight:700;
    letter-spacing:.06em;text-transform:uppercase;
    color:rgba(232,197,71,.88);text-shadow:0 2px 10px rgba(0,0,0,.6);
}
.char-slot-empty-label{
    display:block;margin:0;font-weight:800;text-align:center;
    font-size:clamp(.84rem,1.05vw,.98rem);color:rgba(255,246,208,.96);
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    text-shadow:0 1px 10px rgba(0,0,0,.45);
}
.char-slot-badge-free{
    visibility:visible!important;
    background:rgba(120,180,255,.24)!important;
    color:rgba(220,235,255,.96)!important;
    border:1px solid rgba(160,200,255,.48)!important;
}
.char-slot-empty-cta{
    text-align:center;width:100%;
    color:rgba(200,215,255,.84)!important;
    font-weight:600;
}
.char-slot-num{
    display:inline-block;flex-shrink:0;
    font-size:clamp(.62rem,0.85vw,.72rem);font-weight:800;
    letter-spacing:.04em;color:rgba(255,244,220,.95);
    padding:2px 7px;border-radius:999px;
    background:rgba(255,255,255,.08);border:1px solid rgba(232,197,71,.28);
    white-space:nowrap;
}
.char-slot-badge{
    display:inline-block;flex-shrink:0;
    font-size:clamp(.6rem,0.85vw,.7rem);font-weight:800;
    padding:2px 7px;border-radius:999px;
    background:rgba(255,200,60,.88);color:#3a2800;border:1px solid rgba(255,230,140,.7);
    white-space:nowrap;
}
.char-slot-badge-ghost{
    visibility:hidden;border-color:transparent;background:transparent;color:transparent;
    min-width:clamp(36px,5vw,48px);
}
.char-slot-del{
    position:absolute;top:6px;right:6px;z-index:4;
    width:28px;height:28px;padding:0;
    display:flex;align-items:center;justify-content:center;
    font-size:.78rem;font-weight:700;line-height:1;
    color:rgba(255,220,220,.95);pointer-events:auto;cursor:pointer;
    background:rgba(40,8,8,.82);border:1px solid rgba(255,120,120,.4);border-radius:8px;
    opacity:.92;transition:opacity .18s,background .18s,transform .15s;
}
.char-slot-filled:hover .char-slot-del,.char-slot-filled.is-selected .char-slot-del{opacity:1}
.char-slot-del:hover{background:rgba(120,20,20,.88)}
.char-slot-filled:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(0,0,0,.48)}
.char-slot-filled.is-selected{
    border-color:rgba(120,200,255,.9);
    box-shadow:0 0 0 3px rgba(120,200,255,.5),0 18px 48px rgba(80,160,255,.26);
    transform:translateY(-3px);
}
.char-slot-filled.is-active:not(.is-selected){border-color:rgba(255,210,90,.55)}
.char-slot-empty{
    border-style:dashed;border-color:rgba(232,197,71,.38);
    background:linear-gradient(180deg,rgba(12,14,28,.72),rgba(6,8,18,.88));
}
.char-slot-empty:hover{
    transform:translateY(-4px);
    border-color:rgba(232,197,71,.62);
    box-shadow:0 16px 40px rgba(60,100,200,.22),0 0 28px rgba(232,197,71,.12);
}
.char-slot-empty:hover .char-slot-empty-icon,
.char-slot-empty:focus-visible .char-slot-empty-icon{
    transform:scale(1.06);
    border-color:rgba(232,197,71,.78);
    box-shadow:
        0 0 0 1px rgba(255,255,255,.1) inset,
        0 10px 32px rgba(0,0,0,.42),
        0 0 32px rgba(232,197,71,.28);
}
.char-flow-confirm-host{
    position:fixed;inset:0;z-index:25050;display:flex;align-items:center;justify-content:center;
    padding:max(16px,env(safe-area-inset-top,0px)) 16px max(16px,env(safe-area-inset-bottom,0px));
    pointer-events:auto;
}
.char-flow-confirm-host.hidden{display:none!important;pointer-events:none!important}
body.char-flow-confirm-open{overflow:hidden}
.char-flow-confirm-backdrop{
    position:absolute;inset:0;background:rgba(4,8,20,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.char-flow-confirm-panel{
    position:relative;z-index:1;width:min(100%,380px);padding:18px 16px 14px;border-radius:16px;
    border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 48px rgba(0,0,0,.55);
}
.char-flow-confirm-text{margin:0 0 14px;font-size:.95rem;line-height:1.45;color:#eef1ff;white-space:pre-line}
.char-flow-confirm-actions{display:flex;gap:10px;justify-content:flex-end}
body.screen-char-select #screen-char-select{
    position:relative;z-index:4;pointer-events:auto;
}
body.screen-char-select #char-select-slots,
body.screen-char-select .char-select-foot{
    position:relative;z-index:2;pointer-events:auto;
}
.char-select-foot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%}
.char-select-foot .btn-danger{align-self:center;min-height:36px;min-width:min(280px,88vw)}
.char-select-back-hub{
    color:rgba(220,230,255,.88);font-size:.78rem;
}
/* Kampf + Char-Flow: schwebendes Hub/Zurück-Dock aus */
html body.screen-combat #rpg-chrome-back-dock,
html body.screen-guild-raid #rpg-chrome-back-dock,
html body.screen-char #rpg-chrome-back-dock,
html body.screen-char-select #rpg-chrome-back-dock,
html body.pokemon-combat-active #rpg-chrome-back-dock,
html body.screen-combat #btn-back,
html body.screen-guild-raid #btn-back,
html body.screen-char #btn-back,
html body.screen-char-select #btn-back,
html body.pokemon-combat-active #btn-back,
#btn-char-select-back-hub{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
}
.char-select-foot .btn-lg{
    min-width:min(380px,92vw);padding:clamp(14px,2.5vw,18px) clamp(24px,4vw,36px);
    font-size:clamp(1rem,2.4vw,1.2rem);border-radius:16px;
    box-shadow:0 10px 32px rgba(232,197,71,.35),0 4px 16px rgba(0,0,0,.35)!important;
}
@media(max-width:640px){
    .hero-setup-grid-professions{grid-template-columns:repeat(2,minmax(0,1fr))}
    .char-select-wrap{padding:clamp(8px,1.5vh,16px) clamp(8px,1.2vw,12px)}
    .char-select-title{font-size:clamp(1.55rem,7vw,2.2rem)}
    .char-select-slots{gap:4px;max-width:100%}
    .char-slot-visual{max-height:min(32vh,280px)}
    .char-slot-art{object-fit:fill;object-position:center center}
    .char-slot-cap{min-height:auto;padding:7px 6px 8px;gap:3px}
    .char-slot-cap-head{gap:4px}
    .char-slot-num,.char-slot-badge{font-size:clamp(.54rem,2.4vw,.62rem);padding:1px 5px}
    .char-slot-badge-ghost{min-width:clamp(28px,8vw,36px)}
    .char-slot-name{
        font-size:clamp(.62rem,2.7vw,.74rem);line-height:1.2;
        white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
        overflow:hidden;text-overflow:ellipsis;
    }
    .char-slot-class{
        font-size:clamp(.56rem,2.4vw,.66rem);line-height:1.2;
        white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
        overflow:hidden;text-overflow:ellipsis;
    }
    .char-slot-lv{font-size:clamp(.54rem,2.2vw,.62rem);padding:2px 5px}
    .char-slot-prof{font-size:clamp(.52rem,2.2vw,.62rem)}
    .char-slot-job-lv{font-size:clamp(.5rem,2vw,.58rem);padding:2px 4px}
    .char-slot-empty-label{font-size:clamp(.62rem,2.6vw,.72rem)}
    .hero-setup-pick{min-height:58px;padding:8px 10px}
    .hero-setup-pick span:not(.hero-setup-emoji){font-size:clamp(.78rem,3.2vw,.92rem);line-height:1.2}
    .hero-setup-desc{font-size:clamp(.62rem,2.6vw,.7rem)}
}
@media(max-width:520px){
    .hero-setup-grid,.hero-setup-grid-professions{grid-template-columns:1fr}
}

/* ── Talentbäume (Skills & Beruf) ── */
.tree-header{margin:10px 0 6px;padding:10px 12px;border-radius:14px;border:1px solid rgba(232,197,71,.15)}
.tree-overview-hint{margin:10px 0 0;font-size:.72rem;line-height:1.45;color:var(--muted);text-align:center}
.tree-stats{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.tree-stat{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:72px;padding:6px 10px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.tree-stat-active{border-color:rgba(232,197,71,.45);background:var(--gold-dim);box-shadow:0 0 12px rgba(232,197,71,.12)}
.tree-stat-icon{font-size:1.1rem;line-height:1}
.tree-stat-val{font-size:.95rem;font-weight:800;color:var(--gold)}
.tree-stat-lbl{font-size:.58rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.tree-hint{text-align:center;margin:6px 0 10px;line-height:1.35}
.tree-panel-head{flex-shrink:0}
.tree-main{
  flex:1 1 auto;min-height:0;display:flex;flex-direction:column;
  margin-top:4px;
}
.tree-scroll{
  flex:1 1 auto;min-height:0;overflow-x:auto;overflow-y:auto;
  margin:0 -4px;padding:4px 2px 8px;-webkit-overflow-scrolling:touch;touch-action:pan-y;
}
.tree-scroll{overflow:auto}
.tree-canvas{min-width:min(100%,320px);min-height:min-content;padding:8px 4px 12px;background:radial-gradient(ellipse at 50% 0%,rgba(124,92,255,.12),transparent 55%),radial-gradient(ellipse at 50% 100%,rgba(232,197,71,.08),transparent 50%);border-radius:16px;border:1px solid rgba(255,255,255,.06)}
.tree-tier{display:grid;grid-template-columns:28px 1fr;gap:6px;margin-bottom:4px;align-items:stretch}
.tree-tier-spine{position:relative;display:flex;flex-direction:column;align-items:center;padding-top:18px}
.tree-spine-line{flex:1;width:2px;min-height:24px;background:linear-gradient(180deg,rgba(232,197,71,.5),rgba(124,92,255,.35));border-radius:2px;margin-top:6px}
.tree-tier-badge{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:800;color:var(--gold);background:rgba(0,0,0,.45);border:1px solid rgba(232,197,71,.35);box-shadow:0 0 8px rgba(232,197,71,.15)}
.tree-tier-grid{display:grid;grid-template-columns:repeat(5,minmax(58px,1fr));gap:8px 6px;align-items:start;padding:4px 0}
.tree-node-shell{display:flex;flex-direction:column;align-items:center;text-align:center;grid-column:calc(var(--col,2) + 1);min-width:0;padding:4px 2px;border-radius:12px;border:1px solid transparent;cursor:pointer;touch-action:pan-y;-webkit-tap-highlight-color:transparent}
.tree-node-shell.selected{border-color:rgba(124,92,255,.45);background:rgba(124,92,255,.08);box-shadow:0 0 0 1px rgba(124,92,255,.2)}
.tree-node{position:relative;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.12),rgba(8,12,24,.9));border:2px solid rgba(255,255,255,.12);transition:transform .15s,box-shadow .15s,border-color .15s}
.tree-node-shell:active .tree-node{transform:scale(.96)}
.tree-node.unlocked{border-color:rgba(62,207,114,.55);box-shadow:0 0 14px rgba(62,207,114,.25)}
.tree-node.maxed{border-color:rgba(232,197,71,.65);box-shadow:0 0 18px rgba(232,197,71,.3);background:radial-gradient(circle at 35% 30%,rgba(232,197,71,.2),rgba(8,12,24,.92))}
.tree-node.locked{opacity:.55;filter:grayscale(.35)}
.tree-node.can-act{animation:tree-pulse 2s ease-in-out infinite}
.tree-node-ring{position:absolute;inset:-4px;border-radius:50%;border:1px dashed rgba(255,255,255,.08);pointer-events:none}
.tree-node.unlocked .tree-node-ring{border-color:rgba(62,207,114,.2)}
.tree-node.maxed .tree-node-ring{border-color:rgba(232,197,71,.35)}
.tree-node-icon{font-size:1.35rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
.tree-node-lock-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.85rem;background:rgba(0,0,0,.35);border-radius:50%}
.tree-node-label{font-size:.74rem;font-weight:700;margin-top:6px;line-height:1.25;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.tree-rank-badge{display:inline-block;margin-left:4px;padding:0 4px;border-radius:4px;font-size:.58rem;font-weight:800;color:var(--gold);background:rgba(232,197,71,.15);border:1px solid rgba(232,197,71,.35);vertical-align:middle}
.tree-node-desc{font-size:.58rem;line-height:1.2;margin-top:2px;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.2em}
.tree-rank-row{display:flex;gap:3px;margin-top:4px;justify-content:center}
.tree-rank-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.1)}
.tree-rank-dot.filled{background:var(--gold);border-color:rgba(232,197,71,.6);box-shadow:0 0 4px rgba(232,197,71,.4)}
.tree-req{margin-top:2px}
.tree-upgrade-req{margin-top:4px;padding:4px 6px;border-radius:6px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.08);max-width:100%;line-height:1.25}
.tree-mat-line{margin-top:3px}
.tree-node-action{margin-top:5px;min-height:26px;display:flex;align-items:center;justify-content:center}
.tree-node-action .btn{font-size:.58rem;padding:4px 6px;line-height:1.2;white-space:normal;max-width:100%}
.tree-node-action .btn:disabled{opacity:.65;cursor:not-allowed}
.tree-badge-max{font-size:.58rem;font-weight:800;color:var(--gold);letter-spacing:.08em;padding:2px 8px;border-radius:999px;background:var(--gold-dim);border:1px solid rgba(232,197,71,.35)}
.tree-badge-lock{font-size:.75rem;opacity:.6}
#talent-detail-overlay.overlay{
  align-items:flex-end;justify-content:center;padding:12px;
  /* Über Skills/Beruf-Modal (32100) und Schmiede (32080) */
  z-index:32240;
}
#talent-detail-overlay.overlay:not(.hidden){display:flex!important}
body.talent-detail-open{overflow:hidden}
.talent-detail-sheet{
  width:min(100%,440px);max-height:min(78dvh,620px);overflow:auto;
  padding:0;border-radius:18px;position:relative;z-index:2;
  border:1px solid rgba(124,92,255,.28);
  background:linear-gradient(165deg,rgba(20,16,34,.97),rgba(8,10,22,.99));
  box-shadow:0 18px 48px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.06);
  -webkit-overflow-scrolling:touch;
}
.talent-detail-sheet--locked{border-color:rgba(148,163,184,.22)}
.talent-detail-sheet--unlocked{border-color:rgba(62,207,114,.32);box-shadow:0 18px 48px rgba(0,0,0,.55),0 0 22px rgba(62,207,114,.12)}
.talent-detail-sheet--maxed{border-color:rgba(232,197,71,.38);box-shadow:0 18px 48px rgba(0,0,0,.55),0 0 24px rgba(232,197,71,.14)}
.talent-detail-modal-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 14px 0;
}
.talent-detail-modal-kicker{
  font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(232,197,71,.85);
}
.talent-detail-close{min-width:36px;min-height:36px}
.tree-detail-inner{padding:12px 16px 18px}
.tree-detail-empty{padding:16px;text-align:center}
.tree-detail-hero{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px}
.tree-detail-icon-wrap{
  width:54px;height:54px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-size:1.8rem;line-height:1;border-radius:14px;
  background:radial-gradient(circle at 35% 28%,rgba(124,92,255,.28),rgba(8,12,24,.92));
  border:1px solid rgba(124,92,255,.38);box-shadow:0 4px 16px rgba(0,0,0,.32);
}
.talent-detail-sheet--locked .tree-detail-icon-wrap{filter:grayscale(.35);opacity:.88}
.talent-detail-sheet--unlocked .tree-detail-icon-wrap{border-color:rgba(62,207,114,.4);background:radial-gradient(circle at 35% 28%,rgba(62,207,114,.22),rgba(8,12,24,.92))}
.talent-detail-sheet--maxed .tree-detail-icon-wrap{border-color:rgba(232,197,71,.45);background:radial-gradient(circle at 35% 28%,rgba(232,197,71,.24),rgba(8,12,24,.92))}
.tree-detail-meta{flex:1;min-width:0}
.tree-detail-topline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.tree-detail-name{font-size:1rem;font-weight:800;line-height:1.2;color:#fff;margin:0}
.tree-detail-pill{
  font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  padding:3px 9px;border-radius:999px;flex-shrink:0;
}
.tree-detail-pill-locked{color:rgba(203,213,225,.92);background:rgba(100,116,139,.16);border:1px solid rgba(148,163,184,.28)}
.tree-detail-pill-unlocked{color:#3ecf72;background:rgba(62,207,114,.12);border:1px solid rgba(62,207,114,.32)}
.tree-detail-pill-maxed{color:var(--gold);background:var(--gold-dim);border:1px solid rgba(232,197,71,.38)}
.tree-detail-rank-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.tree-detail-rank-text{font-size:.68rem;font-weight:700;color:var(--muted);letter-spacing:.02em}
.tree-detail-ranks{margin:0;gap:4px}
.tree-detail-ranks .tree-rank-dot{width:8px;height:8px}
.tree-detail-desc{
  font-size:.8rem;line-height:1.55;color:rgba(240,243,255,.92);
  margin:0 0 12px;padding:11px 12px;border-radius:11px;
  background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);
  border-left:3px solid rgba(124,92,255,.5);
}
.talent-detail-sheet--unlocked .tree-detail-desc{border-left-color:rgba(62,207,114,.55)}
.talent-detail-sheet--maxed .tree-detail-desc{border-left-color:rgba(232,197,71,.55)}
.tree-detail-next{
  display:flex;flex-direction:column;gap:4px;
  font-size:.72rem;line-height:1.45;margin:0 0 12px;padding:10px 12px;border-radius:10px;
  background:rgba(232,197,71,.06);border:1px dashed rgba(232,197,71,.22);
}
.tree-detail-next-label{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--gold)}
.tree-detail-next-text{color:rgba(240,243,255,.88)}
.tree-detail-req{
  display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);margin-bottom:14px;
}
.tree-detail-req-ok{border-color:rgba(62,207,114,.28);background:rgba(62,207,114,.07)}
.tree-detail-req-need{border-color:rgba(239,68,68,.22);background:rgba(239,68,68,.06)}
.tree-detail-req-icon{font-size:1rem;line-height:1;flex-shrink:0;margin-top:1px}
.tree-detail-req-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.tree-detail-req-label{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.tree-detail-req-val{font-size:.76rem;font-weight:700;color:rgba(240,243,255,.92)}
.tree-detail-req-mats{font-size:.7rem;line-height:1.4;color:var(--muted)}
.tree-detail-action{display:flex;justify-content:stretch;margin-top:0}
.tree-detail-cta{
  width:100%;min-height:44px;padding:11px 16px;font-size:.82rem;font-weight:800;
  border-radius:12px;border:1px solid transparent;
}
.tree-detail-cta-ready{
  color:#fff;border-color:rgba(168,85,247,.55);
  background:linear-gradient(135deg,rgba(124,92,255,.92),rgba(168,85,247,.78));
  box-shadow:0 6px 20px rgba(124,92,255,.32),inset 0 1px 0 rgba(255,255,255,.15);
}
.tree-detail-cta-ready:not(:disabled):hover{filter:brightness(1.06)}
.tree-detail-cta-upgrade{
  color:#fff;border-color:rgba(62,207,114,.45);
  background:linear-gradient(135deg,rgba(34,160,90,.92),rgba(62,207,114,.75));
  box-shadow:0 6px 20px rgba(62,207,114,.25);
}
.tree-detail-cta-disabled{
  opacity:.55;cursor:not-allowed;
  background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:var(--muted);
}
.tree-detail-max-badge{
  display:block;width:100%;text-align:center;padding:11px 16px;border-radius:12px;
  font-size:.78rem;font-weight:800;letter-spacing:.08em;color:var(--gold);
  background:var(--gold-dim);border:1px solid rgba(232,197,71,.35);
}
.tree-detail-lock-hint{
  display:block;width:100%;text-align:center;padding:10px 14px;border-radius:12px;
  font-size:.74rem;color:var(--muted);background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.1);
}
@keyframes tree-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
.job-slots-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:4px}
.job-slot{padding:8px;border-radius:10px;border:1px dashed rgba(255,255,255,.15);text-align:center;display:flex;flex-direction:column;gap:4px}
.job-slot.unlocked{border-style:solid;border-color:rgba(232,197,71,.35);background:rgba(232,197,71,.06)}
.job-slot.locked{opacity:.65}
.profession-meta-compact{
  flex-shrink:0;margin-top:6px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08);
}
.profession-xp-compact{margin:0 0 6px;gap:6px}
.profession-xp-compact .bar-track{flex:1;min-width:0;height:6px}
.profession-xp-compact .bar-val{font-size:.62rem;white-space:nowrap}
.job-slots-compact-row{display:flex;gap:6px;flex-wrap:nowrap}
.job-slot-compact{
  flex:1 1 0;min-width:0;padding:4px 6px;border-radius:8px;
  display:flex;align-items:center;gap:4px;font-size:.62rem;line-height:1.2;
  border:1px dashed rgba(255,255,255,.12);background:rgba(0,0,0,.15);
}
.job-slot-compact.unlocked{border-color:rgba(232,197,71,.3);background:rgba(232,197,71,.05)}
.job-slot-compact.locked{opacity:.6}
.job-slot-compact-ico{flex-shrink:0;font-size:.82rem}
.job-slot-compact-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600}
@media(max-width:520px){.tree-tier-grid{grid-template-columns:repeat(5,minmax(52px,1fr))}.tree-node{width:46px;height:46px}.tree-node-icon{font-size:1.15rem}.tree-node-label{font-size:.7rem}.tree-detail-desc{font-size:.76rem}.tree-detail-name{font-size:.92rem}.job-slots-row{grid-template-columns:1fr}}
.char-nav{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.char-nav .btn{flex:1;min-width:70px}
.char-cancel{width:100%;margin-top:8px}

/* ══════════════════════════════════════════
   SCREEN: CO-OP LOBBY
   ══════════════════════════════════════════ */
.lobby-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 16px 12px;flex-wrap:wrap;flex-shrink:0}
.lobby-header-left{display:flex;flex-direction:column;gap:4px}
.lobby-title{font-size:clamp(1.15rem,3.4vw,1.55rem);font-weight:900;letter-spacing:.02em}
.lobby-title{font-weight:800;font-size:.92rem;letter-spacing:.02em}
.lobby-stats{font-size:.68rem;color:var(--muted);font-weight:600}
.lobby-scene-img{display:none!important}
.lobby-invite-btn{flex-shrink:0;padding:10px 16px;background:linear-gradient(180deg,#f0d060,#c8941a);border-color:rgba(255,230,140,.45);color:#1a1008;font-weight:800;letter-spacing:.03em}
.member{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 8px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.25);text-align:center}
.member.host{border-color:rgba(232,197,71,.35)}
.member.is-ready{border-color:rgba(62,207,114,.4)}
.member .name{font-size:.72rem;font-weight:700;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.member .meta{font-size:.62rem;color:var(--muted)}
.sprite-portrait{width:52px;height:52px;border-radius:8px;image-rendering:pixelated;object-fit:contain;background:rgba(0,0,0,.3)}
.sprite-fallback{width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;border-radius:8px;background:rgba(0,0,0,.25);border:1px solid var(--line)}
.lobby-actions{display:flex;gap:10px;padding:10px 14px 14px;flex-shrink:0}
.lobby-actions .btn{flex:1;min-height:44px;font-weight:800}

/* Co-op Kampf — rundenbasiert */
.coop-enemy-panel{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid rgba(239,68,68,.3);background:rgba(20,0,0,.45);margin-bottom:6px}
.coop-enemy-panel.boss-active{border-color:rgba(255,87,34,.55);box-shadow:0 0 20px rgba(255,87,34,.15)}
.coop-foe-sprite{width:80px;height:80px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 4px 12px rgba(0,0,0,.55));animation:combatIdle 3s ease-in-out infinite}
.coop-enemy-info{display:flex;flex-direction:column;gap:5px;min-width:0}
.coop-team-strip{display:flex;flex-direction:column;gap:6px;padding:8px 12px}
.coop-team-member{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.06);background:rgba(0,0,0,.2)}
.coop-team-member.is-me{border-color:rgba(59,130,246,.35)}
.coop-team-member.has-action{border-color:rgba(62,207,114,.35);background:rgba(5,50,20,.3)}
.coop-member-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.coop-member-name{font-size:.72rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.coop-member-hp{height:5px}
.coop-member-val{font-size:.58rem;color:var(--muted)}
.coop-action-dot{font-size:.9rem;flex-shrink:0}
.coop-round-status{padding:10px 14px;border-radius:var(--r);display:flex;flex-direction:column;gap:6px}
.coop-round-label{font-size:.75rem;font-weight:700;color:var(--txt)}
.log-card{padding:10px 12px;max-height:130px;overflow:hidden}
#screen-lobby.lobby-fullscreen{
  position:fixed!important;inset:0!important;z-index:7600!important;
  display:flex!important;flex-direction:column;width:100vw!important;height:100dvh!important;
  max-width:100vw!important;margin:0!important;padding:0!important;overflow:hidden;isolation:isolate;
  background:#120c08;
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
  --lobby-ink:#fff6e8;
  --lobby-muted:rgba(255,236,210,.78);
  --lobby-gold:#e8c07a;
  --lobby-leaf:#9fdf8a;
  --lobby-wood:#3a2416;
  color:var(--lobby-ink);
}
#screen-lobby.lobby-fullscreen.hidden{display:none!important}
/* Top-Bar in der Lobby sichtbar (Settings/Chat/Post) — über dem Lobby-Fullscreen */
body.screen-lobby .top-bar,
body.screen-lobby #top-bar,
html.abenteuer-app body.screen-lobby .top-bar,
body.rpg-fixed-topbar.screen-lobby .top-bar{
  display:flex!important;visibility:visible!important;opacity:1!important;
  pointer-events:auto!important;z-index:20050!important;
}
body.screen-lobby #app-main,
body.screen-lobby .app-shell,
body.screen-lobby #rpg-root{
  padding:0!important;margin:0!important;
}
.lobby-fs-bg{display:none}
.lobby-fs-glow{display:none}
.lobby-hall-bg,.lobby-hall-veil,.lobby-hall-heat,.lobby-hall-scan{
  position:absolute;inset:0;pointer-events:none;z-index:0;
}
.lobby-hall-bg{
  background-image:url("/activity/assets/coop-hall/coop-hall-bg.webp");
  background-size:cover;background-position:center 42%;
  background-repeat:no-repeat;
  filter:saturate(1.05) contrast(1.04) brightness(.88);
  transform:scale(1.02);
  animation:lobbyHallBgDrift 32s ease-in-out infinite alternate;
}
@keyframes lobbyHallBgDrift{
  from{transform:scale(1.02) translate3d(0,0,0)}
  to{transform:scale(1.05) translate3d(0,-.8%,0)}
}
.lobby-hall-veil{
  background:
    radial-gradient(ellipse 72% 42% at 50% 18%,rgba(255,186,92,.1),transparent 60%),
    linear-gradient(180deg,rgba(12,8,5,.42) 0%,rgba(10,7,4,.12) 28%,rgba(10,7,4,.18) 58%,rgba(8,5,3,.72) 100%);
}
.lobby-hall-heat{
  z-index:1;opacity:.28;mix-blend-mode:screen;
  background:
    radial-gradient(ellipse 42% 22% at 72% 48%,rgba(255,190,80,.2),transparent 70%),
    radial-gradient(ellipse 36% 18% at 50% 88%,rgba(255,160,60,.12),transparent 72%);
}
.lobby-hall-scan{display:none}
.lobby-fs-shell,
.lobby-hall-shell{
  position:relative;z-index:1;flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;
  width:min(980px,100%);margin:0 auto;
  padding:calc(58px + max(10px,env(safe-area-inset-top,0px))) 16px max(14px,env(safe-area-inset-bottom,0px));
  box-sizing:border-box;
  animation:pvpHallIn .55s cubic-bezier(.2,.9,.25,1) both;
}
.lobby-hall-topbar{
  display:grid;grid-template-columns:1fr auto;
  align-items:center;gap:10px 14px;flex-shrink:0;
}
.lobby-hall-topbar--no-back{
  grid-template-columns:1fr auto;
}
.lobby-hall-topbar--no-back .lobby-hall-hero{
  justify-self:center;grid-column:1 / -1;grid-row:1;
  pointer-events:none;
}
.lobby-hall-topbar--no-back .lobby-hall-top-slot{
  grid-column:2;grid-row:1;justify-self:end;z-index:2;
}
/* HUB-Zurück in Lobby entfernt */
#screen-lobby .lobby-hall-back,
#screen-lobby [data-lobby-hall-back],
#screen-lobby #btn-lobby-hub{
  display:none!important;visibility:hidden!important;pointer-events:none!important;
}
.lobby-hall-back{
  appearance:none;-webkit-appearance:none;
  margin:0;padding:8px 14px 8px 12px;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;
  border-radius:10px;
  border:1px solid rgba(232,192,122,.48);
  background:linear-gradient(180deg,rgba(72,42,22,.88),rgba(28,16,10,.9));
  color:#ffe9c4;font:inherit;font-weight:800;font-size:.78rem;
  letter-spacing:.06em;text-transform:uppercase;
  font-family:Cinzel,Georgia,"Times New Roman",serif;
  box-shadow:0 6px 16px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,230,170,.16);
}
.lobby-hall-back-ico{font-size:.7rem;color:var(--lobby-gold,#e8c07a)}
.lobby-hall-back:hover{
  border-color:rgba(255,214,140,.85);
  box-shadow:0 0 18px rgba(232,192,122,.18);
  filter:brightness(1.06);
}
.lobby-hall-hero,.lobby-fs-hero{
  text-align:center;padding:0;margin:0;
  background:transparent;border:0;box-shadow:none;
  display:flex;flex-direction:column;align-items:center;min-width:0;
}
.lobby-hall-brand,.lobby-fs-kicker{
  margin:0;font-family:Cinzel,Georgia,"Times New Roman",serif;
  font-size:clamp(.62rem,1.8vw,.78rem);letter-spacing:.28em;text-transform:uppercase;
  color:#f0d7a4;
  text-shadow:0 2px 10px rgba(0,0,0,.75),0 0 18px rgba(255,180,60,.25);
}
.lobby-hall-title,.lobby-fs-brand{
  margin:2px 0 0;font-family:Cinzel,Georgia,"Times New Roman",serif;
  font-size:clamp(1.7rem,6.2vw,2.7rem);font-weight:800;letter-spacing:.12em;
  line-height:.92;text-transform:uppercase;
  background:linear-gradient(180deg,#fff6e4 8%,#f0c56a 52%,#c9843a 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 3px 12px rgba(0,0,0,.5));
}
.lobby-hall-lead,.lobby-fs-lead{
  margin:0 auto 10px;max-width:42ch;text-align:center;
  font-size:.84rem;line-height:1.45;color:var(--lobby-muted,rgba(255,236,210,.88));
  text-shadow:0 1px 8px rgba(0,0,0,.85),0 0 12px rgba(0,0,0,.55);
  padding:8px 14px;border-radius:12px;
  background:linear-gradient(180deg,rgba(16,10,6,.48),rgba(12,8,5,.28));
  border:1px solid rgba(232,192,122,.16);
}
.lobby-hall-top-slot{justify-self:end}
#screen-lobby .lobby-stats{
  font-size:.68rem;font-weight:800;padding:7px 12px;border-radius:999px;
  background:rgba(28,16,10,.78);border:1px solid rgba(232,192,122,.4);
  color:#ffe9c4;letter-spacing:.04em;text-transform:uppercase;
  font-family:Cinzel,Georgia,serif;
}
.lobby-header-row{
  margin:0 0 8px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
}
#screen-lobby .lobby-invite-btn,#screen-lobby .lobby-hall-btn{
  min-width:150px;border-radius:10px;font-weight:800;
  font-family:Cinzel,Georgia,serif;
  letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;
}
/* Kein Esports-Blau / Cyan-Pulse — warme Laternen-Farben */
#screen-lobby .lobby-invite-btn.btn-primary,
#screen-lobby #btn-invite{
  background:linear-gradient(180deg,#f0d060 0%,#c8941a 100%)!important;
  color:#1a1008!important;
  border:1px solid rgba(255,230,140,.55)!important;
  box-shadow:0 6px 20px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.28)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.2);
}
#screen-lobby .lobby-invite-btn.btn-primary:hover,
#screen-lobby #btn-invite:hover{filter:brightness(1.06)}
#screen-lobby #btn-ready.btn-primary{
  background:linear-gradient(180deg,rgba(72,48,24,.95),rgba(32,20,12,.96))!important;
  color:#ffe9c4!important;
  border:1px solid rgba(232,192,122,.45)!important;
  box-shadow:0 6px 16px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,230,170,.12)!important;
}
#screen-lobby #btn-ready.pulse,
#screen-lobby .lobby-hall-btn.pulse{
  animation:lobbyBtnPulse 1.35s ease infinite;
}
@keyframes lobbyBtnPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(232,192,122,.35),0 6px 16px rgba(0,0,0,.32)}
  50%{box-shadow:0 0 0 7px rgba(232,192,122,0),0 6px 16px rgba(0,0,0,.32)}
}
#screen-lobby #btn-leave.btn-ghost,
#screen-lobby .lobby-hall-btn--ghost{
  background:rgba(20,12,8,.55)!important;
  border:1px solid rgba(255,236,210,.22)!important;
  color:rgba(255,236,210,.88)!important;
}
/* Kein dunkles Panel-Fenster — Bild ist die Fläche, UI schwebt darüber */
.lobby-hall-window,
.lobby-hall-stage{
  position:relative;flex:1 1 auto;min-height:0;
  display:flex;flex-direction:column;gap:12px;
  padding:8px 4px 6px;border-radius:0;
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;-webkit-backdrop-filter:none;
}
.lobby-hall-window::before,
.lobby-hall-stage::before{display:none;content:none}
.lobby-hall-window > *,
.lobby-hall-stage > *{position:relative;z-index:1}
.lobby-hall-win-corner{display:none}
#screen-lobby .member-grid{
  flex:1 1 auto;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;
  padding:12px;overflow:auto;align-content:start;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%,rgba(255,220,160,.06),transparent 55%),
    rgba(12,8,5,.42)!important;
  border:1px solid rgba(232,192,122,.22);
  border-radius:14px;
  box-shadow:inset 0 0 24px rgba(20,10,4,.28),0 10px 28px rgba(0,0,0,.22);
  backdrop-filter:blur(4px);
}
@media (min-width:720px){
  #screen-lobby .member-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
#screen-lobby .lobby-slot,#screen-lobby .lobby-member{
  min-height:132px;border-radius:14px;padding:12px 10px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  background:linear-gradient(165deg,rgba(48,32,18,.82),rgba(16,12,10,.9));
  border:1px solid rgba(232,192,122,.28);
  box-shadow:0 8px 22px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,230,170,.08);
}
#screen-lobby .lobby-slot-empty{
  border-style:dashed;opacity:.72;
  background:linear-gradient(165deg,rgba(36,24,14,.45),rgba(12,10,8,.55));
  border-color:rgba(232,192,122,.22);
  box-shadow:none;
}
#screen-lobby .lobby-slot-plus{color:rgba(255,230,170,.45)}
#screen-lobby .lobby-member-card.is-host{
  border-color:rgba(232,192,122,.65);
  box-shadow:0 8px 22px rgba(0,0,0,.28),inset 0 0 0 1px rgba(232,192,122,.18),0 0 14px rgba(232,192,122,.12);
}
#screen-lobby .lobby-member-card.is-ready{
  border-color:rgba(159,223,138,.55);
  box-shadow:0 8px 22px rgba(0,0,0,.28),inset 0 0 0 1px rgba(159,223,138,.16);
}
#screen-lobby .lobby-avatar{
  border-color:rgba(232,192,122,.5);
  box-shadow:0 2px 10px rgba(0,0,0,.4);
}
#screen-lobby .lobby-host-chip{
  color:#1a1208;border-color:rgba(232,192,122,.7);
  background:linear-gradient(180deg,#ffe7a8,#e0b04a);
  box-shadow:0 2px 8px rgba(0,0,0,.35);
}
#screen-lobby .lobby-ready-chip.ready{
  color:#c8f0b0;border-color:rgba(159,223,138,.4);background:rgba(60,100,50,.28);
}
#screen-lobby .lobby-actions{
  flex-shrink:0;display:flex;gap:8px;flex-wrap:wrap;justify-content:center;
  padding:12px;border-radius:14px;
  background:rgba(12,8,5,.55)!important;
  border:1px solid rgba(232,192,122,.22);
  box-shadow:inset 0 1px 0 rgba(255,230,170,.06),0 8px 22px rgba(0,0,0,.25);
}
#screen-lobby .lobby-actions .btn{min-width:120px;border-radius:10px;font-weight:800}
#screen-lobby .lobby-hall-btn--gold,
#screen-lobby #btn-start.btn-success{
  background:linear-gradient(180deg,#ffe7a8,#e8c547)!important;
  color:#1a1208!important;border-color:transparent!important;
  box-shadow:0 6px 18px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.3)!important;
}
#screen-lobby .log-card,#screen-lobby .lobby-log-card{
  padding:0;max-height:min(16vh,110px);overflow:hidden;display:flex;flex-direction:column;min-height:0;flex-shrink:0;margin:0;
  border-radius:12px;background:rgba(12,8,5,.58)!important;border:1px solid rgba(232,192,122,.18);
}
#screen-lobby #lobby-log.log-inner{flex:1;overflow-y:auto;overflow-x:hidden;max-height:min(16vh,110px);padding:8px 12px;-webkit-overflow-scrolling:touch;touch-action:pan-y}
@media (prefers-reduced-motion:reduce){
  .lobby-hall-bg{animation:none}
  #screen-lobby #btn-ready.pulse,#screen-lobby .lobby-hall-btn.pulse{animation:none}
}
.member-strip{display:flex;gap:8px;flex-wrap:wrap;padding:8px}
.coop-member-bar{padding:6px 8px 5px;border-bottom:1px solid rgba(255,255,255,.06)}
.coop-member-bar.coop-zone-players{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior:contain}
.strip-member{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:var(--r-sm);border:1px solid var(--line);background:rgba(0,0,0,.2)}
.strip-member .sprite-portrait,.strip-member .sprite-fallback{width:32px;height:32px;font-size:1.1rem}
.strip-meta{font-size:.62rem;line-height:1.35}

/* ══════════════════════════════════════════
   SCREEN: PANEL
   ══════════════════════════════════════════ */
.panel-card{max-width:100%;min-width:0;overflow-x:hidden;box-sizing:border-box}
#panel-card.panel-card{width:100%;max-width:100%}
#screen-panel{min-width:0;max-width:100%;overflow-x:hidden;flex:1 1 auto;display:flex;flex-direction:column;min-height:0}
.panel-title{font-size:.92rem;font-weight:800;color:var(--gold);margin-bottom:6px}
.panel-desc{font-size:.74rem;line-height:1.5;margin-bottom:8px}
.panel-fields{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.panel-field{padding:8px 10px;border-radius:var(--r-sm);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.pf-name{font-size:.64rem;font-weight:700;color:var(--gold);margin-bottom:3px}
.pf-val{font-size:.72rem;line-height:1.4}
.panel-selects{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.panel-select-wrap label{display:block;font-size:.64rem;color:var(--muted);margin-bottom:3px}
.panel-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.panel-btns .btn{flex:1 1 calc(50% - 4px);min-width:110px}
.panel-btns .btn.full{flex:1 1 100%}

/* ══════════════════════════════════════════
   CO-OP WELT & KAMPF
   ══════════════════════════════════════════ */
.scene-card{padding:0;overflow:hidden}
.host-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.wait-banner{text-align:center;padding:12px;font-size:.76rem;color:var(--muted);border-style:dashed;animation:waitPulse 2s ease infinite}
@keyframes waitPulse{0%,100%{opacity:.6}50%{opacity:1}}
.quest-box{padding:8px 10px;background:rgba(232,197,71,.07);border:1px solid rgba(232,197,71,.22);border-radius:var(--r-sm);font-size:.72rem;margin-top:6px}
.coop-team .member{padding:6px;font-size:.64rem}

/* Co-op Story-Board (Monopoly-Style) */
.coop-board-wrap{padding:12px;margin-bottom:8px}
.coop-board-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;font-size:.76rem;font-weight:700;color:var(--gold)}
.coop-board-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.coop-board-tile{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.25);font-size:.52rem;text-align:center;min-height:52px}
.coop-board-tile.active{border-color:var(--gold);box-shadow:0 0 12px rgba(232,197,71,.35);background:rgba(232,197,71,.12)}
.coop-board-tile.type-fight{border-color:rgba(231,76,60,.35)}
.coop-board-tile.type-boss{border-color:rgba(255,87,34,.45);background:rgba(255,87,34,.08)}
.coop-board-tile.type-loot,.coop-board-tile.type-bonus{border-color:rgba(46,204,113,.35)}
.coop-board-tile-emoji{font-size:1rem;line-height:1}
.coop-board-tile-label{font-size:.48rem;color:var(--muted);margin-top:2px;line-height:1.1}
.coop-board-tile-tokens{position:absolute;bottom:2px;left:0;right:0;display:flex;justify-content:center;gap:2px;flex-wrap:wrap}
.coop-board-token{width:18px;height:18px;border-radius:4px;border:1px solid rgba(232,197,71,.5);object-fit:contain;background:rgba(0,0,0,.4)}
.coop-board-players{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 6px;justify-content:center}
.coop-board-player{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);font-size:.64rem}
.coop-board-player img{width:32px;height:32px;border-radius:6px;border:1px solid rgba(232,197,71,.35)}
.coop-dice-btn{width:100%;margin-top:4px}
.lobby-scene-card{margin-bottom:8px}
.lobby-scene-badge{padding:8px 12px;font-size:.78rem;font-weight:700;color:var(--gold)}

/* Saga Map — Schatzkarte / Pergament Vollbild */
.saga-header{
  position:relative;
  display:flex;align-items:center;justify-content:flex-end;
  padding:10px 14px;margin-bottom:6px;gap:8px;flex-wrap:nowrap;
  min-height:48px;
}
.saga-header-chips{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto;position:relative;z-index:2}
.saga-hint-box{margin:8px 0;padding:10px;border-radius:var(--r-sm);background:rgba(56,189,248,.08);border:1px solid rgba(56,189,248,.25);line-height:1.45}
.saga-hint-dot{font-size:.65rem;margin-left:2px;opacity:.85}
#screen-saga.screen:not(.hidden),
#screen-saga:not(.hidden),
#screen-saga.saga-treasure-map:not(.hidden){
  display:flex!important;
  position:fixed!important;
  inset:0!important;
  z-index:7600!important;
  width:100vw!important;
  max-width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:none!important;
  margin:0!important;
  padding:max(52px,calc(env(safe-area-inset-top,0px) + 46px)) 10px max(8px,env(safe-area-inset-bottom,0px))!important;
  overflow:hidden!important;
  background:#1a120c!important;
  flex-direction:column;
  box-sizing:border-box;
  gap:6px;
}
.saga-map-fs-bg,.saga-map-fs-veil,.saga-map-fs-frame{
  position:absolute;inset:0;pointer-events:none;z-index:0;
}
.saga-map-fs-bg{
  background-image:var(--saga-map-bg);
  background-size:cover;background-position:center;
  filter:saturate(1.05) contrast(1.04) brightness(.92);
  transform:scale(1.03);
}
.saga-map-fs-veil{
  background:
    radial-gradient(ellipse 80% 55% at 50% 20%,rgba(232,180,90,.1),transparent 55%),
    linear-gradient(180deg,rgba(20,12,6,.55) 0%,rgba(20,12,6,.18) 32%,rgba(20,12,6,.28) 68%,rgba(12,8,4,.78) 100%);
}
.saga-map-fs-frame{
  inset:8px;border-radius:16px;
  border:1px solid rgba(232,197,71,.28);
  box-shadow:inset 0 0 40px rgba(0,0,0,.28),0 0 0 1px rgba(0,0,0,.4);
}
#screen-saga > .saga-header,
#screen-saga > .saga-map-scroll,
#screen-saga > .saga-node-detail,
#screen-saga > .saga-puzzle-box{position:relative;z-index:2}
#screen-saga .saga-header{
  background:rgba(28,18,10,.72)!important;
  border:1px solid rgba(232,197,71,.28)!important;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  color:#f4e6c8;
  flex-shrink:0;
  position:relative;
  justify-content:flex-end;
}
#screen-saga .saga-header .screen-title{
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  margin:0;padding:0 12px;
  width:max-content;max-width:min(72%,420px);
  text-align:center;
  font-family:"Cinzel",ui-serif,Georgia,serif;letter-spacing:.14em;
  color:#fff4dc;font-weight:800;text-transform:uppercase;
  text-shadow:0 1px 8px rgba(0,0,0,.55);
  pointer-events:none;z-index:1;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#screen-saga .saga-header-chips,
#screen-saga .saga-status-chips{
  position:relative;z-index:2;margin-left:auto;
}
.saga-map-scroll{
  flex:1;overflow:hidden;min-height:0;
  padding:6px 4px 8px;border-radius:14px;
  border:1px solid rgba(120,78,36,.45);
  background:
    linear-gradient(160deg,rgba(62,42,22,.28),rgba(28,18,10,.35)),
    var(--saga-map-bg) center/cover no-repeat;
  box-shadow:inset 0 0 36px rgba(40,22,8,.45);
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  width:100%;box-sizing:border-box;
  display:flex;flex-direction:column;
}
#screen-saga.saga-treasure-map .saga-map-scroll,
#screen-saga .saga-map-scroll{
  flex:1 1 auto!important;min-height:0!important;
  max-height:none!important;overflow:hidden!important;
}
#screen-saga .saga-chapters{
  flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;
}
#screen-saga .saga-tab-panel{
  flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;
}
.saga-chapter--graph{width:100%;max-width:100%;box-sizing:border-box;flex:1;min-height:0;display:flex;flex-direction:column}
#screen-saga .saga-chapter-head,
#screen-saga .saga-chapter-summary,
#screen-coop-world .saga-chapter-head,
#screen-coop-world .saga-chapter-summary{
  color:#1a1008!important;
  text-shadow:
    0 0 6px rgba(255,244,220,.9),
    0 1px 0 rgba(255,248,230,.75),
    0 0 1px rgba(255,255,255,.55);
  flex-shrink:0;
  font-weight:800;
}
#screen-saga .saga-chapter-head,
#screen-coop-world .saga-chapter-head{
  font-size:.92rem;letter-spacing:.02em;
}
#screen-saga .saga-chapter-summary,
#screen-coop-world .saga-chapter-summary{
  color:#2a1a0c!important;
  font-size:.78rem!important;
  line-height:1.45;
  opacity:1!important;
  font-weight:700;
}
#screen-saga .saga-chapter-head .saga-chapter-progress,
#screen-coop-world .saga-chapter-head .saga-chapter-progress{
  color:#3a2814!important;
  font-size:.78rem!important;
  font-weight:800;
  opacity:1!important;
  text-shadow:0 0 6px rgba(255,244,220,.85),0 1px 0 rgba(255,248,230,.65);
}
.saga-graph-board{
  width:100%;max-width:100%;margin:4px 0 0;padding:8px 6px 6px;border-radius:14px;
  border:1px solid rgba(94,196,255,.22);background:rgba(0,0,0,.32);
  box-shadow:inset 0 0 20px rgba(0,0,0,.35);overflow:hidden;box-sizing:border-box;
  display:flex;flex-direction:column;flex:1;min-height:0;
}
#screen-saga .saga-graph-board--parchment{
  border:1px solid rgba(90,55,25,.4);
  background:
    radial-gradient(ellipse at 30% 20%,rgba(255,230,180,.12),transparent 50%),
    rgba(48,30,14,.18);
  box-shadow:inset 0 0 28px rgba(40,22,8,.35);
  flex:1 1 auto;min-height:0;
}
.saga-graph-panzoom{
  position:relative;flex:1;min-height:min(520px,58vh);height:min(520px,58vh);
  overflow:hidden;border-radius:10px;background:transparent;
  touch-action:none;overscroll-behavior:contain;
  padding-bottom:max(48px,env(safe-area-inset-bottom,0px));box-sizing:border-box;
  cursor:grab;
}
#screen-saga .saga-graph-panzoom,
#screen-saga.saga-treasure-map .saga-graph-panzoom,
html[data-abenteuer-apk="1"] #screen-saga .saga-graph-panzoom,
html[data-mobile-shell="1"] #screen-saga .saga-graph-panzoom,
html.flix-rpg-mobile #screen-saga .saga-graph-panzoom,
html.abenteuer-app.abenteuer-touch-ui #screen-saga .saga-graph-panzoom{
  flex:1 1 auto!important;
  min-height:min(58vh,520px)!important;
  height:100%!important;
  max-height:none!important;
  touch-action:none!important;
  cursor:grab;
}
html[data-abenteuer-apk="1"] .saga-graph-panzoom,
html[data-mobile-shell="1"] .saga-graph-panzoom,
html.flix-rpg-mobile .saga-graph-panzoom{
  min-height:min(62vh,560px)!important;
  height:min(62vh,560px)!important;
  padding-bottom:max(72px,calc(env(safe-area-inset-bottom,0px) + 40px))!important;
}
.saga-graph-panzoom.is-panning{cursor:grabbing!important}
.saga-graph-panzoom.is-panning .saga-node,
.saga-graph-panzoom.is-panning .saga-graph-node-wrap,
.saga-graph-panzoom.is-panning .saga-lateral-branch,
.saga-graph-panzoom.is-panning .saga-lateral-teaser{
  pointer-events:none!important;
}
.saga-graph-panzoom-inner{position:absolute;left:0;top:0;will-change:transform;backface-visibility:hidden}
.saga-graph-panzoom-hint,.saga-panzoom-hint{
  margin:6px 0 0;text-align:center;line-height:1.35;
  color:#2a1a0c;font-weight:700;font-size:.72rem;opacity:1;
  text-shadow:0 0 6px rgba(255,244,220,.85),0 1px 0 rgba(255,248,230,.65);
}
.saga-graph-canvas{position:relative;display:block}
.saga-map-hint{
  margin:0 0 10px;padding:8px 10px;border-radius:var(--r-sm);
  background:rgba(255,236,190,.55);border:1px solid rgba(120,78,36,.45);
  color:#1a1008;font-weight:700;text-align:center;line-height:1.4;
  text-shadow:0 1px 0 rgba(255,248,230,.5);
}
.coop-saga-wrap{flex:1;min-height:0;max-height:none;margin-bottom:0;display:flex;flex-direction:column}
body.screen-coop-world #app,body.screen-coop-world #flix-app-rpg.active{
  height:100dvh;max-height:100dvh;min-height:0;overflow:hidden;flex:1 1 auto;
}
#screen-coop-world{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden;max-height:100%}
#screen-coop-world .coop-world-toolbar,#screen-coop-world .coop-tabs,#screen-coop-world .coop-world-members,#screen-coop-world .log-card{flex-shrink:0}
#screen-coop-world .log-card{max-height:96px;overflow:hidden}
#screen-coop-world #cw-explore-wrap{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;padding-bottom:12px}
#screen-coop-world #cw-saga-wrap{flex:1;min-height:0;overflow:hidden;-webkit-overflow-scrolling:touch}
#screen-coop-world .coop-saga-wrap .saga-chapters{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}
#screen-coop-world .saga-graph-panzoom{min-height:min(520px,58vh);height:min(520px,58vh)}
#screen-coop-world .saga-active-card{margin-bottom:10px}
#screen-coop-world .region-card:not(:disabled){cursor:pointer}
#screen-coop-world .region-card:disabled{opacity:.72;cursor:not-allowed}
#screen-coop-world.coop-in-zone .coop-world-members{display:none!important}
#screen-coop-world #cw-regions-panel .region-grid{padding:0 2px 8px}
#screen-coop-world .coop-dungeon-tab-grid{display:flex;flex-direction:column;gap:10px;padding:0 2px 8px}
#screen-coop-world .coop-dungeon-tab-card{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:var(--r);border:1px solid var(--line);background:rgba(0,0,0,.28)}
#screen-coop-world .coop-dungeon-tab-card .coop-dungeon-zone-label{font-size:.68rem;font-weight:700;color:var(--muted);margin-bottom:2px}
#screen-coop-world .coop-dungeon-panel-grid{display:flex;flex-direction:column;gap:8px}

/* Co-op: Dungeon-Tab — EIN Scroll-Host (#cw-explore-wrap), Inhalt wächst natürlich */
#screen-coop-world.coop-layout-dungeon,
body.coop-layout-dungeon #screen-coop-world{
  overflow:hidden!important;
}
#screen-coop-world.coop-layout-dungeon #cw-explore-wrap,
body.coop-layout-dungeon #screen-coop-world #cw-explore-wrap{
  display:block!important;
  flex:1 1 0%!important;
  min-height:0!important;
  max-height:none!important;
  /* height:0 + flex-grow = definite Scrollport (height:auto bricht Scroll) */
  height:0!important;
  overflow-x:hidden!important;
  overflow-y:scroll!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain;
  touch-action:pan-y!important;
  padding-bottom:max(96px,calc(env(safe-area-inset-bottom,0px) + 80px))!important;
  scrollbar-gutter:stable;
}
#screen-coop-world #cw-dungeon-panel:not(.hidden),
#screen-coop-world.coop-layout-dungeon #cw-dungeon-panel{
  display:block!important;
  flex:none!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
  padding:0 4px 8px;box-sizing:border-box;
}
#screen-coop-world .dng-market-shell--coop,
#screen-coop-world #cw-dungeon-panel .dng-market-shell{
  display:flex!important;
  flex-direction:column;
  flex:none!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
  touch-action:pan-y;
  padding-bottom:12px;
  box-sizing:border-box;
}
/* Seite scrollt als Ganzes: Kinder nicht auf Viewport-Rest quetschen */
#screen-coop-world .dng-market-shell--coop > *,
#screen-coop-world #cw-dungeon-panel .dng-market-shell > *{
  flex-shrink:0;
}
#screen-coop-world .dng-market-shell--coop .dng-market-bottom,
#screen-coop-world #cw-dungeon-panel .dng-market-shell .dng-market-bottom{
  flex:0 0 auto;
  min-height:0;
  height:auto;
  align-items:start;
}
#screen-coop-world #cw-dungeon-gallery.dng-market-gallery,
#screen-coop-world .dng-market-shell--coop .dng-market-gallery{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  flex-wrap:nowrap!important;
  touch-action:pan-x pinch-zoom;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
  position:relative;
  z-index:4;
  pointer-events:auto;
}
#screen-coop-world .dng-market-gallery .dng-gallery-card{
  flex:0 0 auto!important;
  min-width:min(168px,32vw)!important;
  max-width:220px;
  width:auto!important;
}
#screen-coop-world .dng-market-bottom{
  position:relative;
  z-index:1;
}
#screen-coop-world .dng-market-bottom .dng-panel-bg,
#screen-coop-world .dng-market-bottom .dng-panel-veil,
#screen-coop-world .dng-market-bottom.glass::before,
#screen-coop-world .dng-market-bottom.glass::after{
  pointer-events:none!important;
}

/* Co-op Saga: Schatzkarte wie Solo, Graph füllt Rest */
#screen-coop-world.coop-layout-saga #cw-saga-wrap,
body.coop-layout-saga #screen-coop-world #cw-saga-wrap,
#cw-saga-wrap.saga-treasure-map{
  flex:1 1 auto!important;min-height:0!important;
  display:flex;flex-direction:column;
  overflow:hidden!important;
  position:relative;
  background:
    linear-gradient(160deg,rgba(62,42,22,.28),rgba(28,18,10,.35)),
    var(--saga-map-bg) center/cover no-repeat;
  border:1px solid rgba(120,78,36,.45);
  box-shadow:inset 0 0 36px rgba(40,22,8,.45);
  padding:6px 4px 8px;
}
#cw-saga-wrap.saga-treasure-map > .saga-map-fs-bg,
#cw-saga-wrap.saga-treasure-map > .saga-map-fs-veil,
#cw-saga-wrap.saga-treasure-map > .saga-map-fs-frame{
  z-index:0;
}
#cw-saga-wrap > .saga-header,
#cw-saga-wrap > .saga-chapters{
  position:relative;z-index:2;
}
#screen-coop-world.coop-layout-saga .saga-chapters,
#screen-coop-world.coop-layout-saga .saga-tab-panel,
#cw-saga-wrap.saga-treasure-map .saga-chapters,
#cw-saga-wrap.saga-treasure-map .saga-tab-panel{
  flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;
}
#screen-coop-world.coop-layout-saga .saga-graph-panzoom,
body.coop-layout-saga #screen-coop-world .saga-graph-panzoom,
#cw-saga-wrap.saga-treasure-map .saga-graph-panzoom{
  flex:1 1 auto!important;
  min-height:min(58vh,520px)!important;
  height:100%!important;
  max-height:none!important;
}
#screen-coop-world.coop-layout-saga .saga-graph-board{
  flex:1 1 auto;min-height:0;
}

/* Co-op Zone: Banner full-bleed hinter HUD */
#screen-coop-world.coop-in-zone #cw-explore-wrap,
body.coop-layout-zone #screen-coop-world #cw-explore-wrap{
  display:flex;flex-direction:column;overflow:hidden!important;padding:0;min-height:0;flex:1 1 auto;
}
#screen-coop-world.coop-in-zone #cw-zone-panel,
body.coop-layout-zone #screen-coop-world #cw-zone-panel{
  position:relative;flex:1 1 auto;min-height:0;overflow:hidden;
  display:flex;flex-direction:column;padding:0;gap:0;
}
#screen-coop-world.coop-in-zone #cwz-zone-banner{
  position:absolute!important;inset:0!important;
  min-height:100%!important;height:100%!important;width:100%!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  background-size:cover!important;background-position:center center!important;
  z-index:0;box-shadow:none!important;backdrop-filter:none!important;
}
#screen-coop-world.coop-in-zone #cwz-zone-banner .zone-banner-body{
  position:absolute;left:0;right:0;bottom:0;z-index:1;
  padding:12px 14px 18px;
  background:linear-gradient(180deg,transparent,rgba(4,8,14,.55) 28%,rgba(4,8,14,.82));
}
#screen-coop-world.coop-in-zone .coop-zone-panel-head,
#screen-coop-world.coop-in-zone #cwz-zone-players,
#screen-coop-world.coop-in-zone #cwz-dungeon-picker,
#screen-coop-world.coop-in-zone .coop-zone-footer{
  position:relative;z-index:2;
}
#screen-coop-world.coop-in-zone #cwz-zone-players{
  margin:8px 8px 0;border-radius:14px;
  background:rgba(6,8,16,.55);border:1px solid rgba(232,197,71,.18);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
#screen-coop-world.coop-in-zone .coop-zone-footer{
  margin-top:auto;background:linear-gradient(180deg,transparent,rgba(6,8,16,.82));
  border-top:0;border-radius:0;
}

/* —— Dungeon-Börse (Solo-Panel + Co-op) —— */
.dng-market-shell{display:flex;flex-direction:column;gap:10px;min-height:0;flex:1}
.dng-market-head{padding:2px 4px 0;flex-shrink:0}
.dng-market-head-row{display:flex;align-items:flex-start;gap:10px}
.dng-market-back{
  flex-shrink:0;margin-top:2px;
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px 8px 12px!important;
  border-radius:10px!important;
  background:linear-gradient(165deg,rgba(42,32,18,.9),rgba(12,14,22,.88))!important;
  border:1px solid rgba(212,175,85,.5)!important;
  color:#f3e2b0!important;
  font-family:"Cinzel","Palatino Linotype",Palatino,Georgia,serif!important;
  font-size:.78rem!important;font-weight:700!important;
  letter-spacing:.06em;text-transform:uppercase;
  box-shadow:0 6px 16px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,230,170,.14)!important;
}
.dng-market-back:hover{
  border-color:rgba(236,198,110,.8)!important;filter:brightness(1.06);
}
/* Schwebendes Chrome-Back auf Dungeon-Börse komplett aus — nur Inline-Hub im Header */
html body.rpg-dungeon-market-fs #rpg-chrome-back-dock,
html body.screen-panel.rpg-dungeon-market-fs #rpg-chrome-back-dock,
html body.screen-panel:has(#panel-card.panel-dungeon) #rpg-chrome-back-dock,
html body.rpg-dungeon-market-fs #btn-back,
html body.screen-panel.rpg-dungeon-market-fs #btn-back,
html body.screen-panel:has(#panel-card.panel-dungeon) #btn-back,
html.flix-rpg-pc-scale body.rpg-dungeon-market-fs #rpg-chrome-back-dock,
html.flix-rpg-pc-scale body.rpg-dungeon-market-fs #btn-back{
  display:none!important;visibility:hidden!important;pointer-events:none!important;
  opacity:0!important;width:0!important;height:0!important;overflow:hidden!important;
}
.dng-market-title{margin:0 0 2px}
.dng-market-chips{flex-shrink:0;flex-wrap:wrap}
.dng-market-gallery{
  display:flex;
  flex-wrap:nowrap;
  align-items:stretch;
  gap:10px;
  padding:2px 0 10px;
  flex:0 0 auto;
  width:100%;
  box-sizing:border-box;
  overflow:visible;
  /* Obere Reihe soll sichtbar Fläche nutzen */
  min-height:clamp(168px,30vh,420px);
}
.dng-gallery-card{
  display:flex;flex-direction:column;gap:0;
  flex:1 1 0;
  min-width:0;
  width:auto;
  max-width:none;
  border-radius:14px;overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(8,6,14,.55);
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.dng-gallery-card.is-selected{
  border-color:rgba(240,200,120,.85);
  box-shadow:0 0 0 1px rgba(240,200,120,.45),0 0 18px rgba(240,200,120,.38);
}
.dng-gallery-card.is-active{border-color:rgba(46,204,113,.55)}
.dng-gallery-card.is-locked{opacity:.72}
.dng-gallery-frame{position:relative;display:block;min-height:0;flex:1 1 auto}
.dng-gallery-art{
  position:relative;display:block;width:100%;
  aspect-ratio:3/4;min-height:clamp(150px,26vh,360px);
  flex:1 1 auto;
  padding:0;border:0;cursor:pointer;background:#0a0810;overflow:hidden;z-index:1;
}
.dng-gallery-art img{
  width:100%;height:100%;object-fit:cover;display:block;
  transform:scale(1.02);transition:transform .35s ease;pointer-events:none;
}
.dng-gallery-card:not(.is-locked):hover .dng-gallery-art img{transform:scale(1.08)}
.dng-gallery-shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,4,12,.05) 28%,rgba(6,4,12,.9) 100%);
  pointer-events:none;
}
.dng-gallery-meta{
  position:absolute;left:6px;right:6px;bottom:30px;z-index:1;
  display:flex;flex-direction:column;gap:2px;text-align:left;color:#f4efe6;pointer-events:none;
}
.dng-gallery-meta strong{
  font-size:clamp(.58rem,1.05vw,.78rem);line-height:1.15;
  text-shadow:0 1px 6px rgba(0,0,0,.85);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.dng-gallery-meta span{
  display:block;font-size:clamp(.48rem,.85vw,.62rem);line-height:1.2;opacity:.82;
  text-shadow:0 1px 4px rgba(0,0,0,.8);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.dng-gallery-lock,.dng-gallery-active{
  position:absolute;top:5px;right:5px;z-index:2;
  padding:2px 5px;border-radius:999px;font-size:.55rem;font-weight:700;
  background:rgba(0,0,0,.65);border:1px solid rgba(255,255,255,.18);color:#f0d9a8;pointer-events:none;
}
.dng-gallery-active{
  left:5px;right:auto;color:#b8f5c8;border-color:rgba(46,204,113,.45);background:rgba(20,60,35,.75);
}
.dng-gallery-side{
  position:absolute;right:5px;bottom:5px;z-index:6;
  display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:4px;
  padding:0;background:transparent;border:0;pointer-events:auto!important;
}
.dng-gallery-side .btn,
.dng-gallery-start{
  width:auto;min-width:0;min-height:26px;padding:3px 8px;font-size:.62rem;font-weight:700;
  pointer-events:auto!important;touch-action:manipulation;
  box-shadow:0 3px 8px rgba(0,0,0,.4);position:relative;z-index:7;
}
html.abenteuer-app.abenteuer-touch-ui .dng-gallery-start.btn-sm,
html.abenteuer-app.abenteuer-touch-ui .dng-gallery-side .btn-sm{
  min-height:24px!important;font-size:.6rem!important;padding:3px 8px!important;border-radius:8px!important;
}
.dng-gallery-foot{
  display:flex;flex-direction:column;gap:3px;padding:4px 5px 5px;
  background:linear-gradient(180deg,rgba(10,8,18,.92),rgba(6,4,12,.96));
  border-top:1px solid rgba(255,255,255,.08);
}
.dng-gallery-foot .dng-phase-block{display:none}
.dng-gallery-chips{display:flex;flex-wrap:wrap;gap:3px}
.dng-gallery-chip{
  display:inline-flex;align-items:center;padding:1px 5px;border-radius:999px;
  font-size:.52rem;font-weight:700;color:#f0e6c8;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
}
.dng-gallery-chip.is-kurs{color:#f5d78a;border-color:rgba(240,200,120,.4);background:rgba(60,45,15,.45)}
.dng-gallery-chip.is-entry{color:#ffc9a0;border-color:rgba(255,160,90,.4);background:rgba(70,35,15,.45)}
.dng-gallery-chip.is-own{color:#b8f5c8;border-color:rgba(46,204,113,.4);background:rgba(20,60,35,.45)}
.dng-gallery-chip.is-rec{color:#9ad7ff;border-color:rgba(94,196,255,.35);background:rgba(20,40,70,.45)}
.dng-gallery-chip.is-cd{color:#ffb4b4;border-color:rgba(255,120,120,.4);background:rgba(70,20,25,.45)}
.dng-gallery-actions{display:none}
.dng-selected-blurb{
  margin:0;padding:8px 10px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  font-size:.8rem;line-height:1.35;color:rgba(244,239,230,.88);
}
.dng-share-hint{
  display:block;margin-top:6px;font-size:.72rem;line-height:1.4;
  color:rgba(232,197,71,.82);letter-spacing:.01em;
}
.dng-portfolio-host{
  display:block;flex-shrink:0;position:relative;z-index:3;
  margin:6px 0 10px;padding:0;min-height:0;overflow:visible;
}
.dng-portfolio{display:flex;flex-direction:column;gap:8px;padding:8px 4px 10px;position:relative;z-index:3;flex-shrink:0;overflow:visible;margin:0}
.dng-portfolio.is-empty{padding:8px 12px;border-radius:10px;border:1px dashed rgba(255,255,255,.14)}
.dng-portfolio-label{
  margin:0;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(240,200,120,.85);font-weight:700;line-height:1.3;
}
.dng-portfolio-head{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;
}
.dng-share-scope{
  display:inline-flex;gap:0;border-radius:999px;overflow:hidden;
  border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.28);
  flex-shrink:0;
}
.dng-share-scope--panel{margin:0 0 10px}
.dng-share-scope-btn{
  appearance:none;border:0;background:transparent;color:rgba(244,239,230,.72);
  font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  padding:6px 11px;cursor:pointer;line-height:1.2;touch-action:manipulation;
}
.dng-share-scope-btn.is-active{
  background:rgba(240,200,120,.22);color:#f4efe6;
}
.dng-portfolio-chip.is-party{
  border-color:rgba(120,190,255,.45);background:rgba(60,110,170,.22);
}
.dng-portfolio-chip small em{
  font-style:normal;opacity:.75;margin-left:4px;font-size:.62rem;
}
.dng-share-host-only{
  display:inline-block;align-self:center;padding:4px 2px;
}
.dng-portfolio-chips{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:2px}
.dng-portfolio-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 11px;border-radius:999px;cursor:pointer;
  border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.35);
  color:#f4efe6;font-size:.75rem;pointer-events:auto!important;touch-action:manipulation;
  line-height:1.25;
}
.dng-portfolio-chip.is-active{
  border-color:rgba(240,200,120,.7);background:rgba(240,200,120,.16);
}
.dng-portfolio-chip strong{font-variant-numeric:tabular-nums}
.dng-portfolio-chip small{opacity:.7}

.dng-market-bottom{
  display:grid;grid-template-columns:minmax(0,2.35fr) minmax(0,.85fr);gap:12px;align-items:start;
  /* Natürliche Höhe — Shell scrollt die ganze Börse, kein Viewport-Quetschen */
  min-height:0;flex:0 0 auto;
}
@media (max-width:700px){
  .dng-market-bottom{grid-template-columns:1fr;min-height:0}
  .dng-records-panel{min-height:220px}
}

/* Dungeon-Börse: kleinere Viewports — Karten trotzdem großflächig (volle Breite teilen) */
@media (max-width:900px){
  .dng-market-gallery{
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    gap:10px;
    padding-bottom:10px;
    min-height:clamp(180px,34vh,380px);
  }
  .dng-gallery-card{
    flex:1 1 0;
    width:auto;
    min-width:min(42vw,200px);
    max-width:none;
    scroll-snap-align:start;
  }
  .dng-gallery-art{min-height:clamp(140px,28vh,300px)}
}
@media (max-width:560px){
  .dng-market-shell{gap:8px}
  .dng-market-head-row{flex-wrap:wrap;gap:6px}
  .dng-market-chips{width:100%}
  .dng-gallery-card{
    flex:1 1 0;
    width:auto;
    min-width:min(46vw,190px);
    max-width:none;
  }
  .dng-gallery-art{min-height:clamp(130px,30vh,280px)}
  .dng-gallery-meta{bottom:28px;left:5px;right:5px}
  .dng-gallery-meta strong{font-size:.62rem;-webkit-line-clamp:2}
  .dng-gallery-side .btn,
  .dng-gallery-start{min-height:24px;padding:2px 7px;font-size:.58rem}
  .dng-selected-blurb{font-size:.74rem;padding:7px 9px}
  .dng-market-panel{min-height:200px;border-radius:12px}
  .dng-shares-panel{min-height:min(280px,48vh)}
  .dng-records-panel{min-height:min(200px,36vh)}
  .dng-panel-inner{padding:10px 10px 9px;gap:8px}
  .dng-portfolio-chip{padding:5px 8px;font-size:.7rem}
  #panel-card.panel-dungeon .dng-market-shell--solo{padding:0 4px}
}
@media (max-width:380px){
  .dng-gallery-card{min-width:min(52vw,160px)}
  .dng-market-title{font-size:1rem}
  .dng-gallery-foot{padding:3px 4px 4px}
  .dng-gallery-chip{font-size:.48rem;padding:1px 4px}
}
@media (max-height:720px){
  .dng-market-bottom{min-height:0;flex:0 0 auto}
  .dng-shares-panel{min-height:min(280px,48vh)}
  .dng-records-panel{min-height:min(240px,40vh)}
  .dng-gallery-art{min-height:clamp(120px,24vh,260px);aspect-ratio:3/4}
  .dng-market-panel{min-height:200px}
}
@media (max-height:580px){
  .dng-market-shell{gap:6px}
  .dng-market-gallery{padding-bottom:4px;min-height:clamp(120px,36vh,240px)}
  .dng-gallery-card{flex:1 1 0;width:auto;min-width:min(36vw,140px);max-width:none}
  .dng-gallery-art{min-height:clamp(96px,28vh,200px);aspect-ratio:3/4}
  .dng-gallery-meta strong{font-size:.55rem;-webkit-line-clamp:1}
  .dng-selected-blurb{font-size:.7rem;padding:5px 8px}
  .dng-market-bottom{min-height:0;gap:8px;flex:0 0 auto}
  /* Kurz-Viewport: trotzdem volle Panel-Höhe + Seitenscroll, nicht quetschen */
  .dng-shares-panel,.dng-records-panel,.dng-market-panel{min-height:200px}
  .dng-panel-inner{padding:8px;gap:6px}
  #panel-card.panel-dungeon{padding-top:max(4px,env(safe-area-inset-top,0px))!important}
}

/* Dungeon-Börse Vollbild / APK: Karten oben teilen die volle Breite & Höhe */
html body.rpg-dungeon-market-fs .dng-market-gallery,
html body.screen-panel:has(#panel-card.panel-dungeon) .dng-market-gallery,
#panel-card.panel-dungeon .dng-market-gallery,
html.flix-rpg-pc-scale body.rpg-dungeon-market-fs .dng-market-gallery,
html[data-abenteuer-apk="1"] body.rpg-dungeon-market-fs .dng-market-gallery{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  gap:12px!important;
  width:100%!important;
  min-height:clamp(200px,36vh,460px)!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
html body.rpg-dungeon-market-fs .dng-gallery-card,
html body.screen-panel:has(#panel-card.panel-dungeon) .dng-gallery-card,
#panel-card.panel-dungeon .dng-gallery-card,
html.flix-rpg-pc-scale body.rpg-dungeon-market-fs .dng-gallery-card,
html[data-abenteuer-apk="1"] body.rpg-dungeon-market-fs .dng-gallery-card{
  flex:1 1 0!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
}
html body.rpg-dungeon-market-fs .dng-gallery-art,
html body.screen-panel:has(#panel-card.panel-dungeon) .dng-gallery-art,
#panel-card.panel-dungeon .dng-gallery-art,
html.flix-rpg-pc-scale body.rpg-dungeon-market-fs .dng-gallery-art,
html[data-abenteuer-apk="1"] body.rpg-dungeon-market-fs .dng-gallery-art{
  min-height:clamp(170px,30vh,400px)!important;
  aspect-ratio:3/4!important;
  height:100%!important;
}
html body.rpg-dungeon-market-fs .dng-market-bottom,
#panel-card.panel-dungeon .dng-market-bottom{
  min-height:0!important;
  flex:0 0 auto!important;
  align-items:start!important;
}
.dng-market-panel{
  position:relative;overflow:visible!important;height:auto!important;max-height:none!important;min-height:280px;
  border-radius:16px;border:1px solid rgba(255,255,255,.12);
  isolation:isolate;
}
.dng-shares-panel{min-height:min(420px,62vh);height:auto!important;max-height:none!important;overflow:visible!important}
.dng-records-panel{min-height:min(320px,48vh);height:auto!important;max-height:none!important;overflow:visible!important}
.dng-panel-bg{
  position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center;
  transform:scale(1.04);filter:saturate(1.05) brightness(.72);
  pointer-events:none!important;
}
.dng-panel-veil{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(160deg,rgba(8,6,16,.88) 0%,rgba(8,6,16,.72) 45%,rgba(8,6,16,.55) 100%);
  pointer-events:none!important;
}
.dng-panel-inner{
  position:relative;z-index:2;
  display:flex;flex-direction:column;gap:10px;
  padding:14px 14px 12px;min-height:0;height:auto;box-sizing:border-box;
  pointer-events:auto!important;
}
.dng-panel-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
}
.dng-panel-kicker{
  margin:0;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(240,200,120,.85);font-weight:700;
}
.dng-panel-title{margin:2px 0 0;font-size:1.05rem;line-height:1.2}
.dng-rec-week-hint{margin:4px 0 0;opacity:.75;letter-spacing:.02em}
.dng-share-owned{flex-shrink:0;margin-top:4px}
.dng-share-switcher{
  position:relative;z-index:20;
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  justify-content:flex-start;width:100%;max-width:none;
  padding:8px;margin:0;
  border-radius:12px;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.12);
  pointer-events:auto!important;
  isolation:isolate;
}
.dng-share-switcher-label{
  font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(240,200,120,.85);margin-right:2px;
}
.dng-share-switch{
  position:relative;z-index:21;
  width:44px;height:44px;min-width:44px;min-height:44px;
  border-radius:12px;border:1px solid rgba(255,255,255,.22);
  background:rgba(0,0,0,.6);cursor:pointer;font-size:1.1rem;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
  pointer-events:auto!important;touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease, transform .12s ease;
}
.dng-share-switch:hover{
  border-color:rgba(240,200,120,.45);
  background:rgba(240,200,120,.1);
}
.dng-share-switch.is-active{
  border-color:rgba(240,200,120,.95)!important;
  background:rgba(240,200,120,.22)!important;
  box-shadow:0 0 0 1px rgba(240,200,120,.55),0 0 16px rgba(240,200,120,.45),inset 0 0 10px rgba(240,200,120,.12);
  transform:translateY(-1px);
}
.dng-share-switch-ico{pointer-events:none;line-height:1}
.dng-npc-tape{
  display:flex;flex-direction:column;gap:6px;
  padding:8px;border-radius:12px;
  background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1);
}
.dng-npc-tape-label{
  margin:0;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(240,200,120,.85);font-weight:700;
}
.dng-npc-tape-list{
  list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;
}
.dng-npc-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 8px;border-radius:999px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  max-width:100%;
}
.dng-npc-emoji{font-size:1rem;line-height:1}
.dng-npc-copy{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.dng-npc-copy strong{font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}
.dng-npc-copy small{font-size:.6rem;opacity:.7}
.dng-stock-holder.is-npc{
  border-color:rgba(167,139,250,.28);
  background:rgba(80,50,120,.18);
}
.dng-rec-total-chip{
  flex-shrink:0;align-self:flex-start;margin-top:2px;
  padding:4px 8px;border-radius:999px;font-size:.68rem;font-weight:800;
  color:#f0c878;background:rgba(240,200,120,.12);border:1px solid rgba(240,200,120,.3);
  cursor:pointer;font:inherit;line-height:1.2;
}
.dng-rec-total-chip.is-active{
  color:#1a1408;background:linear-gradient(110deg,#f0c878,#d4a24a);
  border-color:rgba(255,220,140,.7);
}
.dng-rec-row.is-npc{border-color:rgba(167,139,250,.25)}

/* Kampf/Raid: Rail aus. Shop/Craft/Market/Dungeon-Menü: Rail BLEIBT (Chat/Inv). */
html body.screen-raid .rpg-bag-edge-rail,
html body.screen-coop-dungeon .rpg-bag-edge-rail,
html body.screen-coop-raid .rpg-bag-edge-rail,
html body.pokemon-combat-active .rpg-bag-edge-rail{
  display:none!important;
  pointer-events:none!important;
  visibility:hidden!important;
}
/* Shop/Craft/Market/Gem: Rail über Fullscreen, klickbar */
html body.rpg-shop-fs .rpg-bag-edge-rail,
html body.rpg-craft-fs .rpg-bag-edge-rail,
html body.rpg-market-fs .rpg-bag-edge-rail,
html body.rpg-gemshop-fs .rpg-bag-edge-rail,
html body.rpg-dungeon-market-fs .rpg-bag-edge-rail,
html body.screen-panel:has(#panel-card.panel-shop) .rpg-bag-edge-rail,
html body.screen-panel:has(#panel-card.panel-craft) .rpg-bag-edge-rail,
html body.screen-panel:has(#panel-card.panel-market) .rpg-bag-edge-rail,
html body.screen-panel:has(#panel-card.panel-gemshop) .rpg-bag-edge-rail,
html body.screen-panel:has(#panel-card.panel-dungeon) .rpg-bag-edge-rail{
  display:flex!important;
  visibility:visible!important;
  pointer-events:auto!important;
  z-index:30200!important;
}
html body.rpg-shop-fs .rpg-bag-edge-rail .rpg-bag-edge-btn,
html body.rpg-craft-fs .rpg-bag-edge-rail .rpg-bag-edge-btn,
html body.rpg-market-fs .rpg-bag-edge-rail .rpg-bag-edge-btn,
html body.rpg-gemshop-fs .rpg-bag-edge-rail .rpg-bag-edge-btn,
html body.rpg-dungeon-market-fs .rpg-bag-edge-rail .rpg-bag-edge-btn,
html body.screen-panel .rpg-bag-edge-rail .rpg-bag-edge-btn{
  pointer-events:auto!important;
}
.dng-share-price-row{
  display:flex;align-items:baseline;justify-content:space-between;gap:8px;
}
.dng-share-price{font-size:1.45rem;font-weight:800;color:#f0c878}
.dng-share-price small{font-size:.68rem;font-weight:600;opacity:.8}

/* Aktien-Darstellung statt Kreisdiagramm */
.dng-stock{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0}
.dng-stock-ticker{
  padding:10px 12px;border-radius:12px;
  background:rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.1);
}
.dng-stock-ticker-main{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.dng-stock-sym{
  font-size:.72rem;font-weight:800;letter-spacing:.08em;
  color:rgba(240,200,120,.9);
}
.dng-stock-last{font-size:1.35rem;font-weight:800;font-variant-numeric:tabular-nums}
.dng-stock-delta{font-size:.85rem;font-weight:800;font-variant-numeric:tabular-nums}
.dng-stock-delta.is-up{color:#4ade80}
.dng-stock-delta.is-down{color:#fb7185}
.dng-stock-ticker-meta{
  display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:6px;
  font-size:.68rem;color:rgba(255,255,255,.62);
}
.dng-stock-spark{
  position:relative;height:88px;border-radius:12px;overflow:hidden;
  background:linear-gradient(180deg,rgba(16,24,40,.55),rgba(6,8,16,.7));
  border:1px solid rgba(255,255,255,.08);
}
.dng-stock-spark svg{position:absolute;inset:0;width:100%;height:100%}
.dng-stock-spark-area{fill:rgba(74,222,128,.12)}
.dng-stock-spark-line{stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.dng-stock-spark-line.is-up{stroke:#4ade80}
.dng-stock-spark-line.is-down{stroke:#fb7185}
.dng-stock-spark-cap{
  position:absolute;right:10px;top:8px;z-index:1;
  display:flex;flex-direction:column;align-items:flex-end;gap:1px;
  font-size:.62rem;color:rgba(255,255,255,.65);
}
.dng-stock-spark-cap strong{font-size:.95rem;color:#f0c878}
.dng-stock-depth{display:flex;flex-direction:column;gap:4px}
.dng-stock-depth-label{
  display:flex;justify-content:space-between;font-size:.68rem;color:rgba(255,255,255,.65);
}
.dng-stock-depth-track{
  height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;
}
.dng-stock-depth-track > span{
  display:block;height:100%;border-radius:inherit;
  background:linear-gradient(90deg,#f0c878,#4ade80);
}
.dng-stock-holders{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.dng-stock-holder{
  padding:7px 9px;border-radius:10px;
  background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08);
}
.dng-stock-holder-top{
  display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;
  font-size:.78rem;margin-bottom:5px;
}
.dng-stock-holder-rank{font-weight:800;color:#f0c878}
.dng-stock-holder-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dng-stock-holder-meta{opacity:.75;font-variant-numeric:tabular-nums}
.dng-stock-bar{
  height:6px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;
}
.dng-stock-bar > span{
  display:block;height:100%;border-radius:inherit;
  background:linear-gradient(90deg,rgba(240,200,120,.95),rgba(125,211,252,.85));
}
.dng-stock-empty{margin:0;text-align:center;padding:4px 0 2px}
.dng-share-majority{
  margin:0;padding:8px 10px;border-radius:10px;
  background:rgba(240,200,120,.1);border:1px solid rgba(240,200,120,.28);
  font-size:.82rem;
}
.dng-share-perks{
  margin:0;padding:10px 12px;border-radius:12px;
  background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1);
}
.dng-share-perks-title{
  margin:0 0 6px;font-size:.72rem;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:rgba(255,232,200,.78);
}
.dng-share-perks-list{
  margin:0;padding:0 0 0 1.1em;display:flex;flex-direction:column;gap:4px;
  font-size:.78rem;color:rgba(243,235,224,.82);line-height:1.35;
}
.dng-share-yield{
  margin:8px 0 0;font-size:.8rem;color:#ffe0b0;
}
.dng-share-actions{
  position:relative;z-index:20;
  display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;
  pointer-events:auto!important;
}
.dng-share-actions .btn{
  flex:1 1 auto;min-width:88px;min-height:42px;
  pointer-events:auto!important;touch-action:manipulation;
}

.dng-rec-inner{gap:12px}
.dng-rec-phase-bar{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;
}
.dng-rec-phase-tab{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  min-height:40px;padding:5px 4px;border-radius:10px;cursor:pointer;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.32);color:rgba(243,235,224,.78);
  font:inherit;line-height:1.1;
}
.dng-rec-phase-tab:hover{border-color:rgba(240,200,120,.4);color:#f6e7c2}
.dng-rec-phase-tab.is-active{
  border-color:rgba(240,200,120,.55);
  background:linear-gradient(165deg,rgba(240,200,120,.2),rgba(0,0,0,.4));
  color:#ffe9b8;box-shadow:inset 0 1px 0 rgba(255,230,170,.15);
}
.dng-rec-phase-num{font-size:.68rem;font-weight:800;letter-spacing:.04em}
.dng-rec-phase-count{font-size:.62rem;font-variant-numeric:tabular-nums;opacity:.85}
.dng-rec-hero{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
}
.dng-rec-hero-last{
  display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:.78rem!important;
}
.dng-rec-hero-stat{
  padding:12px 8px;border-radius:14px;text-align:center;
  background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.1);
}
.dng-rec-hero-stat--accent{
  background:linear-gradient(160deg,rgba(240,200,120,.16),rgba(0,0,0,.35));
  border-color:rgba(240,200,120,.35);
}
.dng-rec-label{
  display:block;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);margin-bottom:4px;
}
.dng-rec-hero-stat strong{font-size:1.12rem;font-variant-numeric:tabular-nums}
.dng-rec-note{
  display:flex;flex-direction:column;gap:6px;
  padding:10px 11px;border-radius:12px;
  background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08);
}
.dng-rec-note p{
  margin:0;display:flex;justify-content:space-between;gap:8px;
  font-size:.74rem;align-items:baseline;
}
.dng-rec-note span{opacity:.65}
.dng-rec-note b{text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:62%}
.dng-rec-board-label{
  margin:2px 0 0;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(240,200,120,.8);font-weight:700;
}
.dng-rec-top{
  list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;
}
.dng-rec-row{
  display:grid;grid-template-columns:36px 1fr auto;gap:8px;align-items:center;
  padding:8px 10px;border-radius:12px;background:rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.08);font-size:.8rem;
}
.dng-rec-row.is-first{
  background:linear-gradient(110deg,rgba(240,200,120,.16),rgba(0,0,0,.3));
  border-color:rgba(240,200,120,.35);
}
.dng-rec-medal{font-size:1rem;text-align:center}
.dng-rec-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dng-rec-meta{
  display:flex;flex-direction:row;align-items:baseline;justify-content:flex-end;gap:8px;
  font-variant-numeric:tabular-nums;line-height:1.15;min-width:4.8rem;
}
.dng-rec-time{font-size:.78rem;font-weight:800;color:#dce8ff;letter-spacing:.02em}
.dng-rec-clears{font-weight:800;font-variant-numeric:tabular-nums;color:#f0c878;font-size:.78rem}
.dng-rec-empty{padding:10px;text-align:center;list-style:none}
@media (max-width:700px){
  .dng-share-switcher{max-width:100%}
}

#screen-coop-world .coop-dungeon-panel{padding:0 2px 10px}
#screen-coop-world .coop-dungeon-panel .dng-market-shell{min-height:0}
#screen-coop-world #cw-zone-panel{display:flex;flex-direction:column;gap:8px;padding:0 2px 12px;box-sizing:border-box}
#screen-coop-world #cw-zone-panel .coop-zone-panel-head{flex-shrink:0;padding:0 2px}
#screen-coop-world #cw-zone-panel .zone-header{margin-bottom:0;flex-shrink:0}
/* Zonen-Aktionen direkt unter Banner (nicht am Viewport-Fuß) */
#screen-coop-world #cw-zone-panel .coop-zone-footer{
  flex-shrink:0;display:flex;flex-direction:column;gap:8px;
  margin-top:2px;padding:8px 2px 10px;
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(6,8,16,.55);
  border-radius:0 0 var(--r) var(--r);
  position:relative;z-index:12;pointer-events:auto;
}
#screen-coop-world .log-card{position:relative;z-index:1;flex-shrink:0}
#screen-world,#screen-zone{touch-action:pan-y}
#screen-world .region-grid,#screen-zone .zone-actions{position:relative;z-index:2;pointer-events:auto}
#screen-coop-world .coop-zone-footer.hidden{display:none!important}
html body:not(.zone-immersive) #screen-coop-world .coop-zone-footer .coop-zone-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
html body:not(.zone-immersive) #screen-coop-world .coop-zone-footer .zone-btn{min-height:48px}
#screen-coop-world .coop-zone-footer .zone-btn.coop-wait-host{opacity:.58}
#screen-coop-world .coop-zone-footer #cwz-zone-result{flex-shrink:0;margin:0}
/* Kapitel auf einer Zeile — horizontal scrollbar (Solo + Coop) */
.saga-chapter-tabs{
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:6px 2px 12px;
  margin-bottom:8px;
  touch-action:pan-x;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.rpg-hscroll-rail{
  display:flex;align-items:stretch;gap:6px;
  min-width:0;width:100%;position:relative;
}
.rpg-hscroll-rail > .saga-chapter-tabs,
.rpg-hscroll-rail > .dng-market-gallery,
.rpg-hscroll-rail > [data-hscroll-strip]{
  flex:1 1 auto;min-width:0;
}
.rpg-hscroll-btn{
  flex:0 0 auto;align-self:center;z-index:6;
  width:34px;height:34px;padding:0;margin:0;
  border-radius:999px;cursor:pointer;
  border:1px solid rgba(232,197,71,.5);
  background:rgba(8,10,18,.88);
  color:#f4e6c8;font-size:1.35rem;line-height:1;font-weight:700;
  pointer-events:auto;touch-action:manipulation;
  box-shadow:0 4px 12px rgba(0,0,0,.45);
}
.rpg-hscroll-btn:disabled{opacity:.28;cursor:default}
.rpg-hscroll-rail:not(.is-overflow) .rpg-hscroll-btn{visibility:hidden;pointer-events:none}
.dng-gallery-rail .rpg-hscroll-btn{
  position:absolute;top:38%;transform:translateY(-50%);
}
.dng-gallery-rail .rpg-hscroll-btn.is-prev{left:6px}
.dng-gallery-rail .rpg-hscroll-btn.is-next{right:6px}
#screen-coop-world .dng-gallery-rail{z-index:4;pointer-events:auto}
.saga-chapter-tabs::-webkit-scrollbar{height:6px}
.saga-chapter-tabs::-webkit-scrollbar-thumb{background:rgba(232,197,71,.35);border-radius:999px}
.saga-chapter-tab{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  flex:0 0 auto;min-width:88px;width:auto;min-height:72px;padding:12px 10px;border-radius:14px;
  border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.35);color:var(--muted);
  font-size:.68rem;font-weight:700;cursor:pointer;
  transition:border-color .15s,background .15s,transform .15s;
}
.saga-chapter-tab .saga-tab-emoji{font-size:1.55rem;line-height:1}
.saga-chapter-tab .saga-tab-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:800}
.saga-chapter-tab .saga-tab-progress{font-size:.64rem;font-weight:700;opacity:1}
.saga-chapter-tab.active{border-color:rgba(232,197,71,.65);background:linear-gradient(180deg,rgba(232,197,71,.18),rgba(232,197,71,.05));color:var(--gold);box-shadow:0 0 14px rgba(232,197,71,.2)}
.saga-chapter-tab.current:not(.active){border-color:rgba(94,196,255,.4)}
.saga-chapter-tab.locked{opacity:.4;cursor:not-allowed}
.saga-chapter-tab:not(.locked):hover{transform:translateY(-1px)}
.saga-tab-panel{min-height:120px}
.saga-chapter--graph{border:1px solid rgba(94,196,255,.22);background:linear-gradient(165deg,rgba(94,196,255,.06),rgba(0,0,0,.2));padding:12px;border-radius:14px}
.saga-graph-canvas{position:relative;touch-action:manipulation;isolation:isolate;overflow:visible}
.saga-graph-edges{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.saga-graph-edges .saga-edge{
  stroke:rgba(90,52,24,.35);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;fill:none;
  transition:stroke .25s ease,opacity .25s ease,stroke-width .25s ease;
}
.saga-graph-edges .saga-edge--dim{opacity:.22;stroke:rgba(90,52,24,.28)}
.saga-graph-edges .saga-edge--muted{opacity:.1}
.saga-graph-edges .saga-edge--trail{
  opacity:.85;stroke-width:3.2;stroke:rgba(92,48,18,.78);
  filter:drop-shadow(0 1px 0 rgba(255,240,210,.15));
}
.saga-graph-edges .saga-edge--lit{
  opacity:1;stroke-width:3.6;stroke:rgba(74,36,12,.95);
  filter:drop-shadow(0 1px 1px rgba(40,20,8,.35));
}
.saga-graph-edges .saga-edge--draw{
  stroke-dashoffset:100;
  animation:sagaTrailDraw 1.15s cubic-bezier(.2,.75,.2,1) forwards;
  animation-delay:var(--saga-draw-delay,0s);
}
@keyframes sagaTrailDraw{
  from{stroke-dashoffset:100}
  to{stroke-dashoffset:0}
}
.saga-graph-edges .saga-edge--branch.saga-edge--lit{stroke:rgba(92,40,110,.92)}
.saga-graph-edges .saga-edge--branch.saga-edge--trail{stroke:rgba(92,40,110,.7)}
.saga-graph-edges .saga-edge--branch.saga-edge--dim{stroke:rgba(92,40,110,.28)}
.saga-graph-edges .saga-edge--lateral.saga-edge--lit{stroke:rgba(30,70,110,.9)}
.saga-graph-edges .saga-edge--lateral.saga-edge--trail{stroke:rgba(30,70,110,.68)}
.saga-graph-edges .saga-edge--lateral.saga-edge--dim{stroke:rgba(30,70,110,.26)}
.saga-graph-edges .saga-edge--merge.saga-edge--lit{stroke:rgba(28,90,48,.92)}
.saga-graph-edges .saga-edge--merge.saga-edge--trail{stroke:rgba(28,90,48,.65)}
.saga-graph-edges .saga-edge--merge.saga-edge--dim{stroke:rgba(28,90,48,.26)}
.saga-graph-edges .saga-edge--teaser{stroke:rgba(90,52,24,.18);opacity:.18}
.saga-graph-edges .saga-edge--spine.saga-edge--lit{stroke:rgba(74,36,12,.96)}
.saga-graph-edges .saga-edge--spine.saga-edge--trail{stroke:rgba(92,48,18,.78)}
@media (prefers-reduced-motion:reduce){
  .saga-graph-edges .saga-edge--draw{animation:none;stroke-dashoffset:0}
}
.saga-graph-nodes{position:relative;z-index:1}
.saga-graph-node-wrap{position:absolute;width:56px;height:56px;touch-action:manipulation;z-index:2}
.saga-graph-node-wrap .saga-node{width:52px;height:52px;margin:2px auto 0}
.saga-node{z-index:2}
#screen-saga .saga-chapter-tabs,
#screen-coop-world .saga-chapter-tabs,
#cw-saga-wrap .saga-chapter-tabs{
  background:rgba(40,26,14,.55);
  border:1px solid rgba(120,78,36,.45);
  border-radius:12px;padding:6px;
}
#screen-saga .saga-chapter-tab,
#screen-coop-world .saga-chapter-tab,
#cw-saga-wrap .saga-chapter-tab{
  background:linear-gradient(165deg,rgba(255,240,205,.78),rgba(210,165,105,.62));
  border-color:rgba(90,55,25,.5);color:#1a1008;
  text-shadow:0 1px 0 rgba(255,248,230,.55);
}
#screen-saga .saga-chapter-tab .saga-tab-name,
#screen-coop-world .saga-chapter-tab .saga-tab-name,
#cw-saga-wrap .saga-chapter-tab .saga-tab-name{
  font-size:.74rem;font-weight:800;color:#1a1008;opacity:1;
}
#screen-saga .saga-chapter-tab .saga-tab-progress,
#screen-coop-world .saga-chapter-tab .saga-tab-progress,
#cw-saga-wrap .saga-chapter-tab .saga-tab-progress{
  font-size:.66rem;font-weight:800;color:#3a2814;opacity:1;
}
#screen-saga .saga-chapter-tab.active,
#screen-coop-world .saga-chapter-tab.active,
#cw-saga-wrap .saga-chapter-tab.active{
  background:linear-gradient(165deg,rgba(255,228,155,.92),rgba(195,135,55,.7));
  border-color:rgba(140,80,25,.85);color:#120a04;
  box-shadow:0 0 12px rgba(232,180,90,.35);
}
#screen-saga .saga-chapter-tab.active .saga-tab-name,
#screen-saga .saga-chapter-tab.active .saga-tab-progress,
#screen-coop-world .saga-chapter-tab.active .saga-tab-name,
#screen-coop-world .saga-chapter-tab.active .saga-tab-progress,
#cw-saga-wrap .saga-chapter-tab.active .saga-tab-name,
#cw-saga-wrap .saga-chapter-tab.active .saga-tab-progress{
  color:#120a04;
}
@media(max-width:900px){
.saga-graph-node-wrap{width:56px;height:56px}
.saga-graph-node-wrap .saga-node{width:52px;height:52px;min-width:52px;min-height:52px}
.saga-chapter-tabs{gap:7px}
.saga-chapter-tab{min-width:84px;min-height:76px;padding:12px 8px}
.saga-chapter-tab .saga-tab-emoji{font-size:1.65rem}
#screen-login:not(.hidden) .btn-primary,#btn-discord-login:not([hidden]){display:block!important;min-height:48px;width:100%;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
}
@media(max-width:360px){
.saga-chapter-tabs{gap:6px}
.saga-chapter-tab{min-width:76px;min-height:68px;padding:10px 6px}
.saga-chapter-tab .saga-tab-name{font-size:.64rem}
}
.saga-node.teaser{opacity:.55;border-style:dotted;cursor:help;box-shadow:none}
.saga-node.path-loot{border-color:rgba(255,193,7,.55);background:rgba(255,193,7,.1)}
.saga-node.path-dead_end{border-color:rgba(231,76,60,.4)}
.saga-pathkind-badge{position:absolute;bottom:-5px;right:-5px;font-size:.5rem}
.saga-chapters{display:flex;flex-direction:column;gap:12px;padding-bottom:20px}
.saga-chapter{border-radius:var(--r);border:1px solid rgba(232,197,71,.2);background:rgba(232,197,71,.04);padding:10px}
.saga-chapter-head{font-size:.78rem;font-weight:800;color:var(--gold);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.saga-chapter.locked{opacity:.45}
.saga-path{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:min(520px,100%);margin:0 auto}
.saga-path-spine{align-items:center}
.saga-path-spine .saga-map-row{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}
.saga-path-spine .saga-lateral-col{display:none}
.saga-path-spine .saga-spine-col{align-items:center}
.saga-path-branched{align-items:stretch;width:100%;max-width:min(560px,100%);margin:0 auto}
.saga-map-row{display:flex;flex-direction:row;align-items:flex-start;gap:10px;width:100%}
.saga-map-row.spine-only{justify-content:center}
.saga-map-row.spine-only .saga-lateral-col{display:none}
.saga-map-row.has-laterals{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:6px 10px}
.saga-map-row.has-laterals .saga-lateral-col--left{grid-column:1;justify-self:end}
.saga-map-row.has-laterals .saga-spine-col{grid-column:2;justify-self:center}
.saga-map-row.has-laterals .saga-lateral-col--right{grid-column:3;justify-self:start}
.saga-lateral-col{display:flex;flex-direction:column;gap:6px;min-height:52px;padding-top:2px}
.saga-lateral-col--left{align-items:flex-end}
.saga-lateral-col--right{align-items:flex-start}
.saga-spine-col{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px}
.saga-lateral-branch{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 8px;border-radius:12px;border:1px dashed rgba(155,89,182,.4);background:rgba(155,89,182,.08);min-width:58px}
.saga-lateral-teaser{opacity:.72;border-style:dotted;cursor:help}
.saga-lateral-branch:not(.saga-lateral-teaser){cursor:pointer}
.saga-lateral-branch:not(.saga-lateral-teaser) .saga-node.locked{cursor:help}
.saga-node-teaser{transform:scale(.92);box-shadow:none!important}
.saga-teaser-lock{font-size:.5rem;opacity:.85;margin-top:1px}
.saga-lateral-branch.lane-tracks{border-color:rgba(94,196,255,.4);background:rgba(94,196,255,.06)}
.saga-lateral-branch.lane-mist{border-color:rgba(180,180,200,.35);background:rgba(180,180,200,.05)}
.saga-lateral-branch.lane-ember{border-color:rgba(255,87,34,.35);background:rgba(255,87,34,.06)}
.saga-lateral-branch.lane-crystal{border-color:rgba(120,200,255,.4);background:rgba(120,200,255,.06)}
.saga-lateral-branch.lane-root{border-color:rgba(46,204,113,.35);background:rgba(46,204,113,.06)}
.saga-node-lateral{box-shadow:0 0 10px rgba(155,89,182,.25)}
.saga-lat-badge{position:absolute;top:-6px;left:-6px;font-size:.55rem;color:rgba(200,160,255,.95)}
.saga-connector.lateral{height:14px;min-height:14px}
.saga-connector.spine-vert{height:18px}
.saga-node{
  width:52px;height:52px;border-radius:50%;
  border:2px solid rgba(90,52,24,.45);
  background:
    radial-gradient(circle at 35% 30%,rgba(255,240,210,.55),rgba(210,175,120,.55) 55%,rgba(140,95,50,.5)),
    var(--saga-map-ring,none) center/115% no-repeat,
    rgba(90,60,30,.4);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-size:.55rem;text-align:center;cursor:pointer;position:relative;
  transition:transform .15s,box-shadow .15s;touch-action:manipulation;
  user-select:none;-webkit-user-select:none;z-index:6;pointer-events:auto;
  color:#2a1a0c;box-shadow:0 3px 8px rgba(40,22,8,.35),inset 0 1px 0 rgba(255,240,210,.35);
}
#screen-saga .saga-node .node-lvl,
#screen-coop-world .saga-node .node-lvl{
  color:#1a1008!important;
  font-size:.58rem;font-weight:800;letter-spacing:.02em;
  text-shadow:0 0 4px rgba(255,244,220,.95),0 1px 0 rgba(255,248,230,.7);
  opacity:1!important;
}
#screen-saga .saga-node-stars,
#screen-coop-world .saga-node-stars{
  font-size:.52rem;font-weight:800;color:#8a5a12;
  text-shadow:0 0 4px rgba(255,244,220,.9),0 1px 0 rgba(255,248,230,.65);
}
#screen-saga .saga-node.active{
  border-color:rgba(140,70,20,.95);
  box-shadow:0 0 0 2px rgba(232,180,90,.45),0 4px 14px rgba(40,22,8,.4);
}
#screen-saga .saga-node.open{
  border-color:rgba(110,60,25,.75);
  box-shadow:0 0 10px rgba(180,120,40,.25);
}
/* Größere unsichtbare Hit-Fläche — besonders letzte Knoten am unteren Rand */
.saga-node::before{
  content:"";position:absolute;left:50%;top:50%;width:84px;height:84px;
  transform:translate(-50%,-50%);border-radius:50%;z-index:-1;
}
.saga-map-bottom-spacer{pointer-events:none!important;touch-action:none!important;flex-shrink:0}
.saga-chapters,.saga-tab-panel,.saga-path{position:relative;z-index:1}
.saga-node .node-emoji{font-size:1.1rem;line-height:1;filter:drop-shadow(0 1px 1px rgba(40,22,8,.35))}
.saga-node .node-lvl{font-size:.58rem;font-weight:800;color:#2a1a0c}
.saga-node.open{border-color:rgba(94,196,255,.5);cursor:pointer}
.saga-node.active{border-color:var(--gold);box-shadow:0 0 14px rgba(232,197,71,.45);transform:scale(1.08)}
.saga-node.open{border-color:rgba(120,200,255,.75);box-shadow:0 0 10px rgba(100,180,255,.3);cursor:pointer}
.saga-node.open:hover:not(.active){border-color:rgba(160,220,255,.9);transform:scale(1.05)}
.saga-node--clickable:hover:not(.active){transform:scale(1.08);box-shadow:0 0 16px rgba(232,197,71,.55)}
.saga-node.active:hover,.saga-node.active:focus-visible{transform:scale(1.08);box-shadow:0 0 14px rgba(232,197,71,.45)}
.saga-node.open.active:hover,.saga-node--clickable.active:hover{transform:scale(1.08)}
.saga-active-card{margin-bottom:10px;text-align:center}
.saga-active-card .btn{margin-top:8px}
.saga-node.done{
  border-color:rgba(90,40,16,.85);
  background:
    radial-gradient(circle at 40% 35%,rgba(255,230,180,.35),rgba(160,110,60,.4) 60%,rgba(90,50,25,.55)),
    rgba(90,50,25,.45);
  box-shadow:0 2px 8px rgba(40,22,8,.4);transform:none;
}
.saga-node.done .node-emoji{opacity:.28;filter:grayscale(.4) brightness(.85)}
.saga-node.done .node-lvl{opacity:.45}
.saga-node.done.lane-tracks,.saga-node.done.lane-herbs,.saga-node.done.lane-charge,.saga-node.done.type-boss,.saga-node.done.type-elite{
  border-color:rgba(90,40,16,.85)!important;
  background:
    radial-gradient(circle at 40% 35%,rgba(255,230,180,.35),rgba(160,110,60,.4) 60%,rgba(90,50,25,.55)),
    rgba(90,50,25,.45)!important;
  box-shadow:0 2px 8px rgba(40,22,8,.4)!important;transform:none!important;
}
.saga-done-badge{
  position:absolute;top:-5px;right:-5px;width:16px;height:16px;border-radius:50%;
  background:#2ecc71;color:#0a1a0f;font-size:.58rem;font-weight:800;line-height:16px;
  text-align:center;box-shadow:0 0 6px rgba(46,204,113,.55);pointer-events:none;
}
.saga-done-x{
  top:50%;left:50%;right:auto;width:42px;height:42px;margin:0;
  transform:translate(-50%,-50%) rotate(-8deg);
  border-radius:0;background:transparent center/contain no-repeat;
  background-image:var(--saga-map-x);
  box-shadow:none;filter:drop-shadow(0 1px 1px rgba(40,20,8,.45));
  animation:sagaXStamp .48s cubic-bezier(.2,.9,.25,1.2) both;
}
@keyframes sagaXStamp{
  0%{opacity:0;transform:translate(-50%,-50%) rotate(-28deg) scale(1.55)}
  60%{opacity:1;transform:translate(-50%,-50%) rotate(-6deg) scale(.95)}
  100%{opacity:1;transform:translate(-50%,-50%) rotate(-8deg) scale(1)}
}
@media (prefers-reduced-motion:reduce){
  .saga-done-x{animation:none}
}
.saga-status-chips{margin:0 0 8px;justify-content:flex-start;min-height:18px}
.saga-status-chips.hidden{display:none}
#screen-saga .saga-status-chips{display:none!important}
.saga-mod-buff{border-color:rgba(46,204,113,.55)!important;color:#86efac!important}
.saga-mod-debuff{border-color:rgba(248,113,113,.55)!important;color:#fca5a5!important}
.saga-event-choice--buff{border-color:rgba(46,204,113,.35)!important}
.saga-event-reward-preview{margin:6px 0;padding:6px 10px;background:rgba(255,215,0,.08);border-radius:6px;border:1px solid rgba(255,215,0,.15)}
.saga-effects-empty{margin:0;opacity:.8}
.saga-active-effects{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0;padding:0;background:transparent;border:none;box-shadow:none}
.saga-active-effects.hidden{display:none}
.saga-fx-chip{font-size:.62rem;padding:2px 8px;line-height:1.3;white-space:nowrap}
.saga-event-choice-hint{display:block;margin-top:3px;line-height:1.25;color:rgba(226,232,240,.78)}
.saga-event-choice-btn{align-items:flex-start;text-align:left}
#screen-saga .saga-header-chips{flex-wrap:wrap;gap:6px}
.saga-mod-buff{border-color:rgba(46,204,113,.45);background:rgba(46,204,113,.12);color:#2ecc71}
.saga-mod-debuff{border-color:rgba(231,76,60,.45);background:rgba(231,76,60,.12);color:#e74c3c}
.saga-node.locked{opacity:.4;cursor:not-allowed}
.saga-node.saga-node-spine-locked{opacity:.32;filter:grayscale(.72);cursor:not-allowed;box-shadow:none!important;transform:none!important}
.saga-node.saga-node-spine-locked .node-emoji{filter:grayscale(.85) brightness(.85)}
.saga-node.saga-node-spine-locked:hover{transform:none!important;box-shadow:none!important}
.saga-spine-lock{position:absolute;top:-2px;right:-2px;font-size:.55rem;line-height:1;opacity:.85;pointer-events:none}
.saga-node.skipped{opacity:.32;border-style:dashed;border-color:rgba(255,255,255,.12);cursor:default;transform:none}
.saga-node.saga-node-fork.active{border-color:rgba(155,89,182,.65)}
.saga-node.lane-tracks{border-color:rgba(94,196,255,.45)}
.saga-node.lane-herbs{border-color:rgba(46,204,113,.45)}
.saga-node.lane-charge{border-color:rgba(255,87,34,.45)}
.saga-fork-badge{position:absolute;top:-4px;right:-6px;font-size:.55rem;color:rgba(200,160,255,.9)}
.saga-skip-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.7rem;color:var(--muted);opacity:.7}
.saga-connector.skipped{opacity:.25;border-style:dashed}
.saga-connector.lane-tracks{background:linear-gradient(180deg,rgba(94,196,255,.35),rgba(94,196,255,.1))}
.saga-connector.lane-herbs{background:linear-gradient(180deg,rgba(46,204,113,.35),rgba(46,204,113,.1))}
.saga-connector.lane-charge{background:linear-gradient(180deg,rgba(255,87,34,.35),rgba(255,87,34,.1))}
.saga-event-choices .saga-event-choice-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:9px 11px;font-size:.74rem}
.saga-event-choices{gap:5px;padding-bottom:2px}
.saga-event-choice-hint{display:block;margin-top:2px}
.saga-event-choice--reveal-lateral,.saga-event-choice--reveal-missed-lateral{border-left:3px solid var(--accent,#6cf)}
.saga-event-choice--enter-lateral{border-left:3px solid #7dcea0}
.saga-event-choice--flare-beacon{border-left:3px solid #f5b041}
.saga-event-choice--skip-spine{border-left:3px solid #95a5a6}
.saga-event-choice--penalty{border-left:3px solid #e74c3c}
.saga-event-choice--complete{border-left:3px solid #2ecc71;background:rgba(46,204,113,.06)}
.saga-story-choice-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}
.saga-node.type-boss{width:62px;height:62px;border-color:rgba(255,87,34,.5)}
.saga-node.type-elite{border-color:rgba(155,89,182,.45)}
.saga-node-stars{position:absolute;bottom:-8px;font-size:.45rem;color:var(--gold);white-space:nowrap}
.saga-connector{width:3px;min-height:14px;height:18px;background:linear-gradient(180deg,rgba(232,197,71,.55),rgba(255,255,255,.12));border-radius:2px;box-shadow:0 0 6px rgba(232,197,71,.2)}
.saga-map-row.has-laterals .saga-connector.spine-vert{height:22px}
.saga-node-detail{padding:12px;margin-top:8px;text-align:center}
.saga-puzzle-box{padding:12px;margin-top:8px}

/* Combat 2.0 */
.combat-phase-banner{text-align:center;padding:8px;font-size:.76rem;font-weight:800;color:#ff5722;background:rgba(255,87,34,.15);border:1px solid rgba(255,87,34,.3);border-radius:var(--r-sm);margin-bottom:6px}
.combat-init-bar{padding:6px 10px;margin-bottom:6px;display:flex;align-items:center;gap:8px;font-size:.64rem}
.init-label{font-weight:700;color:var(--gold);white-space:nowrap}
.init-order{display:flex;gap:4px;flex-wrap:wrap;flex:1}
.init-chip{padding:2px 6px;border-radius:4px;background:rgba(255,255,255,.08);font-size:.58rem}
.init-chip-active{background:rgba(255,215,0,.28);box-shadow:0 0 0 1px rgba(255,215,0,.45)}
.init-chip-portrait{display:inline-flex;align-items:center;gap:3px;padding:2px 4px 2px 2px}
.init-chip-avatar{width:18px;height:18px;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.18);flex-shrink:0}
.init-chip-enemy-avatar{border-color:rgba(255,120,120,.28);background:rgba(0,0,0,.35)}
.init-chip-pet-avatar{border-color:rgba(120,180,255,.32);background:rgba(0,0,0,.35)}
.init-chip-fallback{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.62rem;background:rgba(255,255,255,.1);flex-shrink:0}
.init-chip-roll{font-size:.58rem;font-weight:700;line-height:1}
.status-chips{display:flex;gap:3px;flex-wrap:wrap;justify-content:center;margin-top:4px;min-height:14px}
.status-chip{font-size:.52rem;padding:1px 5px;border-radius:4px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12)}
.status-chip-icon{width:1.1em;height:1.1em;object-fit:contain;vertical-align:-0.15em;display:inline-block}
.status-chip.debuff{border-color:rgba(231,76,60,.4);color:#e74c3c}
.status-chip.buff{border-color:rgba(46,204,113,.4);color:#2ecc71}
.hub-status-chips{margin:0;justify-content:flex-start}
.hub-status-chips.hidden,.zone-status-chips.hidden{display:none}
.hero-sprite-anim{width:48px;height:48px;image-rendering:pixelated;object-fit:contain}

/* TCG */
.tcg-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;margin-bottom:6px;flex-wrap:wrap;gap:6px}
.tcg-stats{display:flex;gap:6px;flex-wrap:wrap}
.tcg-match{padding:10px;margin-bottom:8px}
.tcg-board{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}
.tcg-side{padding:8px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.1);min-height:60px}
.tcg-hand{display:flex;gap:6px;overflow-x:auto;padding:8px 4px;margin-bottom:8px}
.tcg-card{min-width:72px;padding:6px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.3);cursor:pointer;text-align:center;font-size:.58rem;flex-shrink:0}
.tcg-card:active{transform:scale(.95)}
.tcg-card .tcg-cost{color:var(--gold);font-weight:700}
.clash-card-text{font-size:.5rem;line-height:1.2;color:var(--muted);max-height:2.4em;overflow:hidden;margin-top:3px}
.clash-card-effect-preview{font-size:.5rem;line-height:1.25;color:rgba(226,232,240,.82);min-height:2.5em;max-height:3.2em;overflow:hidden;margin-top:3px;text-align:center;padding:0 4px}
.grid-card-slot.slot-blocked{opacity:.45;cursor:not-allowed;border-color:rgba(239,68,68,.45);background:rgba(80,20,20,.15)}
.grid-card-slot.slot-blocked .grid-slot-lbl{font-size:1.15rem;filter:drop-shadow(0 0 4px rgba(239,68,68,.5))}
.tcg-grid-side-label{font-size:.62rem;text-align:center;color:var(--muted);margin:2px 0}
.coop-duel{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:4px;align-items:stretch;padding:4px;min-height:0;height:auto;overflow:hidden}
.coop-duel-side{display:flex;flex-direction:row;flex-wrap:wrap;gap:5px;overflow:hidden;align-items:stretch;justify-content:center;align-content:flex-start;max-height:none;padding-bottom:0}
.coop-duel-side .duel-panel.coop-duel-card,
.coop-duel-side .duel-panel{
  flex:0 0 calc(50% - 3px);min-width:96px;max-width:calc(50% - 3px);height:auto;
  grid-template-rows:auto auto;padding:4px;gap:3px;
}
.coop-duel-side .duel-portrait{max-height:52px;min-height:48px;aspect-ratio:1;position:relative}
.coop-duel-side .duel-info{min-height:0;gap:1px}
.coop-duel-side .duel-name{font-size:.52rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.coop-duel-side .duel-class{font-size:.46rem;line-height:1.1;-webkit-line-clamp:1;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.coop-duel-side .coop-panel-status{display:none}
.coop-duel-side .duel-bar{grid-template-columns:12px minmax(0,1fr) max-content;gap:2px;margin-top:1px}
.coop-duel-side .duel-bar-lbl{font-size:.42rem}
.coop-duel-side .duel-bar .bar-track{height:4px}
.coop-duel-side .duel-bar .bar-val{font-size:.42rem;min-width:1.8rem}
.coop-duel .duel-vs span{width:26px;height:26px;font-size:.5rem}
.coop-action-badge{position:absolute;top:4px;right:4px;width:18px;height:18px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:.58rem;font-weight:800;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.55)}
.coop-action-badge.ready{color:#86efac;border-color:rgba(34,197,94,.45)}
.coop-action-badge.wait{color:#fde68a;border-color:rgba(234,179,8,.4)}
.coop-duel-card.coop-action-ready{border-color:rgba(34,197,94,.35)}
.coop-action-indicators{display:flex;flex-wrap:wrap;gap:6px}
.coop-action-chip{font-size:.58rem;padding:3px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.25);white-space:nowrap}
.coop-action-chip.ready{border-color:rgba(34,197,94,.4);color:#86efac}
.coop-action-chip.wait{border-color:rgba(234,179,8,.35);color:#fde68a}
.coop-action-chip.dead{opacity:.55;color:#fca5a5}
.coop-combat-toolbar{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 10px;margin:0 8px 6px;flex-shrink:0;position:relative}
.coop-combat-toolbar-title{font-size:.72rem;font-weight:800;letter-spacing:.02em;flex:1;text-align:center}
/* Pokemon-Party: Toolbar aus — weniger Flackern / kein Menü-Flash */
body.pokemon-party-combat .coop-combat-toolbar,
body.pokemon-combat-active #screen-coop-combat .coop-combat-toolbar{
  display:none!important;
}
body.pokemon-party-combat .pk-hud-stack,
#screen-coop-combat .pk-hud-stack{
  gap:6px;padding:4px;
}
body.pokemon-party-combat .pk-hud-card,
#screen-coop-combat .pk-hud-card{
  min-width:148px;padding:8px 10px;border-radius:14px;
  background:linear-gradient(165deg,rgba(8,12,22,.82),rgba(4,6,12,.9));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 8px 22px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(8px);
}
body.pokemon-party-combat .pk-hud-card.is-foe{
  border-color:rgba(248,113,113,.28);
  background:linear-gradient(165deg,rgba(40,12,16,.78),rgba(10,4,8,.9));
}
body.pokemon-party-combat .pk-hud-card-head{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:4px;
}
body.pokemon-party-combat .pk-hud-card-name{font-size:.78rem;font-weight:800}
body.pokemon-party-combat .pk-hud-lv{
  font-size:.58rem;font-weight:800;letter-spacing:.04em;padding:2px 6px;border-radius:999px;
  background:rgba(255,255,255,.08);color:rgba(230,236,255,.8);
}
body.pokemon-party-combat .combat-action-wheel .cbtn,
#screen-coop-combat .combat-action-wheel .cbtn{
  min-height:48px;border-radius:14px;letter-spacing:.06em;
  box-shadow:0 6px 16px rgba(0,0,0,.28);
}
body.pokemon-party-combat .coop-round-status,
#screen-coop-combat .coop-round-status{
  border-radius:12px;padding:8px 12px;margin:4px 8px;
  background:rgba(6,10,18,.62)!important;border:1px solid rgba(255,255,255,.1);
}
#btn-coop-combat-lobby{display:none!important}
#screen-coop-combat #btn-back,
body.screen-coop-combat #btn-back{display:none!important}
#btn-coop-combat-sync{position:absolute;right:8px;top:50%;transform:translateY(-50%)}
#screen-coop-combat:not(.hidden){display:flex;flex-direction:column;overflow:hidden}
#screen-coop-combat.hidden{display:none!important}
#screen-coop-combat .combat-wrap{overflow:visible;display:flex;flex-direction:column;flex:1;min-height:0;padding-bottom:4px}
#screen-coop-combat .combat-arena{min-height:unset;max-height:none;flex:0 1 auto;overflow:visible}
#screen-coop-combat .coop-round-status{flex:0 0 auto;padding:6px 10px;margin:4px 0}
#screen-coop-combat .combat-log{flex:0 0 auto;margin:0}
#screen-coop-combat .combat-log-body{max-height:min(24vh,112px);min-height:56px}
#screen-coop-combat .combat-btns,#screen-coop-combat .combat-action-wheel{flex-shrink:0;padding-bottom:4px;margin-top:4px}
.coop-duel-heroes .duel-panel{border-color:rgba(96,165,250,.25)}
.coop-duel-enemies .duel-panel{border-color:rgba(239,68,68,.25)}
.coop-duel-enemies .duel-panel.coop-target-pick{cursor:pointer;transition:outline .15s,box-shadow .15s}
.coop-duel-enemies .duel-panel.target-selected{outline:2px solid var(--gold);box-shadow:0 0 14px rgba(232,197,71,.45)}
.coop-duel-heroes .duel-panel.coop-ally-pick{cursor:pointer;transition:outline .15s,box-shadow .15s}
.coop-duel-heroes .duel-panel.coop-ally-down{opacity:.72;filter:grayscale(.35)}
.coop-duel-heroes .duel-panel.ally-selected{outline:2px solid #60a5fa;box-shadow:0 0 12px rgba(96,165,250,.4)}
.combat-pet-vitals{margin-top:6px;padding:6px 8px;border-radius:8px;background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.22)}
.combat-pet-vitals-head{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:11px;font-weight:600;color:#6ee7b7}
.combat-pet-vitals-emoji{font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;overflow:hidden;border-radius:4px;flex-shrink:0}
.combat-pet-vitals-portrait{width:18px;height:18px;object-fit:cover;object-position:center 22%;display:block;border-radius:4px}
.combat-pet-vitals-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.combat-pet-ko-badge{font-size:9px;font-weight:800;padding:1px 5px;border-radius:4px;background:rgba(239,68,68,.25);color:#fca5a5}
.combat-pet-vitals.combat-pet-knocked,.coop-pet-vitals.combat-pet-knocked{opacity:.72;border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.08)}
.bar-fill.pet{background:linear-gradient(90deg,#059669,#34d399)}
.duel-bar-pet{margin-top:2px}
.combat-ally-pick-hint{margin:0 10px 6px;padding:6px 8px;border-radius:6px;background:rgba(96,165,250,.1);color:#93c5fd;text-align:center}
.coop-pet-vitals{margin-top:4px;padding:4px 6px}
.coop-pet-vitals .combat-pet-vitals-head{font-size:10px;margin-bottom:2px}
.coop-pet-vitals .duel-bar-pet .duel-bar-lbl{font-size:9px}
.coop-pet-vitals .bar-val{font-size:9px}
.coop-combat-arena.coop-members-3 .coop-duel-side .duel-panel.coop-duel-card,
.coop-combat-arena.coop-members-3 .coop-duel-side .duel-panel,
.coop-combat-arena.coop-members-4 .coop-duel-side .duel-panel.coop-duel-card,
.coop-combat-arena.coop-members-4 .coop-duel-side .duel-panel{flex:0 0 calc(33.333% - 4px);max-width:calc(33.333% - 4px);min-width:72px}
.coop-combat-arena.coop-members-4 .coop-duel-side .duel-panel.coop-duel-card,
.coop-combat-arena.coop-members-4 .coop-duel-side .duel-panel{flex:0 0 calc(25% - 4px);max-width:calc(25% - 4px);min-width:68px}
.coop-combat-arena.coop-members-3 .coop-duel-side .duel-portrait,
.coop-combat-arena.coop-members-4 .coop-duel-side .duel-portrait{max-height:44px;min-height:40px}
.coop-combat-arena.coop-members-3 .coop-duel-side .duel-name,
.coop-combat-arena.coop-members-4 .coop-duel-side .duel-name{font-size:.48rem}
.coop-combat-arena.coop-members-3 .coop-duel-side .duel-class,
.coop-combat-arena.coop-members-4 .coop-duel-side .duel-class{font-size:.42rem}
.coop-combat-arena.coop-members-3 .coop-duel-side .duel-bar .bar-val,
.coop-combat-arena.coop-members-4 .coop-duel-side .duel-bar .bar-val{font-size:.38rem;min-width:1.6rem}
/* Co-op Karten: Größe je nach Kämpferzahl pro Seite */
.coop-combat-arena.coop-heroes-1 .coop-duel-heroes .duel-panel,
.coop-combat-arena.coop-heroes-1 .coop-duel-heroes .duel-panel.coop-duel-card{flex:0 0 100%;max-width:100%;min-width:0}
.coop-combat-arena.coop-heroes-1 .coop-duel-heroes .duel-portrait{max-height:68px;min-height:60px}
.coop-combat-arena.coop-heroes-2 .coop-duel-heroes .duel-panel,
.coop-combat-arena.coop-heroes-2 .coop-duel-heroes .duel-panel.coop-duel-card{flex:0 0 calc(50% - 3px);max-width:calc(50% - 3px);min-width:80px}
.coop-combat-arena.coop-heroes-3 .coop-duel-heroes .duel-panel,
.coop-combat-arena.coop-heroes-3 .coop-duel-heroes .duel-panel.coop-duel-card{flex:0 0 calc(33.333% - 4px);max-width:calc(33.333% - 4px);min-width:72px}
.coop-combat-arena.coop-heroes-4 .coop-duel-heroes .duel-panel,
.coop-combat-arena.coop-heroes-4 .coop-duel-heroes .duel-panel.coop-duel-card{flex:0 0 calc(25% - 4px);max-width:calc(25% - 4px);min-width:68px}
.coop-combat-arena.coop-enemies-1 .coop-duel-enemies .duel-panel,
.coop-combat-arena.coop-enemies-1 .coop-duel-enemies .duel-panel.coop-duel-card{flex:0 0 100%;max-width:100%;min-width:0}
.coop-combat-arena.coop-enemies-1 .coop-duel-enemies .duel-portrait{max-height:68px;min-height:60px}
.coop-combat-arena.coop-enemies-2 .coop-duel-enemies .duel-panel,
.coop-combat-arena.coop-enemies-2 .coop-duel-enemies .duel-panel.coop-duel-card{flex:0 0 calc(50% - 3px);max-width:calc(50% - 3px);min-width:80px}
.coop-combat-arena.coop-enemies-3 .coop-duel-enemies .duel-panel,
.coop-combat-arena.coop-enemies-3 .coop-duel-enemies .duel-panel.coop-duel-card{flex:0 0 calc(33.333% - 4px);max-width:calc(33.333% - 4px);min-width:72px}
.coop-combat-arena.coop-enemies-4 .coop-duel-enemies .duel-panel,
.coop-combat-arena.coop-enemies-4 .coop-duel-enemies .duel-panel.coop-duel-card{flex:0 0 calc(25% - 4px);max-width:calc(25% - 4px);min-width:68px}
.coop-combat-arena.coop-heroes-3 .coop-duel-heroes .duel-portrait,
.coop-combat-arena.coop-heroes-4 .coop-duel-heroes .duel-portrait,
.coop-combat-arena.coop-enemies-3 .coop-duel-enemies .duel-portrait,
.coop-combat-arena.coop-enemies-4 .coop-duel-enemies .duel-portrait{max-height:44px;min-height:40px}
.coop-combat-arena.coop-heroes-3 .coop-duel-heroes .duel-name,
.coop-combat-arena.coop-heroes-4 .coop-duel-heroes .duel-name,
.coop-combat-arena.coop-enemies-3 .coop-duel-enemies .duel-name,
.coop-combat-arena.coop-enemies-4 .coop-duel-enemies .duel-name{font-size:.48rem}
.coop-combat-arena.coop-heroes-3 .coop-duel-heroes .duel-class,
.coop-combat-arena.coop-heroes-4 .coop-duel-heroes .duel-class,
.coop-combat-arena.coop-enemies-3 .coop-duel-enemies .duel-class,
.coop-combat-arena.coop-enemies-4 .coop-duel-enemies .duel-class{font-size:.42rem}
/* 1 vs 1 — große Karten wie Solo-Kampf, Arena passt sich Inhalt an */
.coop-combat-arena.coop-duel-1v1{
  min-height:unset!important;max-height:none!important;height:auto!important;flex:0 0 auto!important;
}
.coop-combat-arena.coop-duel-1v1 .coop-duel{
  height:auto!important;align-items:start!important;
}
.coop-combat-arena.coop-duel-1v1 .coop-duel-side{
  flex-direction:column;align-items:stretch;justify-content:flex-start;
}
.coop-combat-arena.coop-duel-1v1 .coop-duel-side .duel-panel,
.coop-combat-arena.coop-duel-1v1 .coop-duel-side .duel-panel.coop-duel-card{
  flex:0 0 auto;height:auto;max-width:100%;min-width:0;width:100%;padding:10px 8px;
}
.coop-combat-arena.coop-duel-1v1 .coop-duel-side .duel-portrait{
  max-height:min(38vh,280px);min-height:min(28vh,190px);aspect-ratio:3/4;width:100%;
}
.coop-combat-arena.coop-duel-1v1 .coop-duel-side .duel-name{font-size:.72rem}
.coop-combat-arena.coop-duel-1v1 .coop-duel-side .duel-class{font-size:.58rem}
.coop-combat-arena.coop-duel-1v1 .coop-duel-side .duel-bar .bar-track{height:6px}
.coop-combat-arena.coop-duel-1v1 .coop-duel-side .duel-bar .bar-val{font-size:.52rem}
.coop-combat-arena.coop-duel-1v1 .coop-duel .duel-vs span{width:34px;height:34px;font-size:.62rem}
/* Gildenkrieg / große PvP-Gruppen (5–10 vs 5–10) */
.coop-combat-arena.coop-duel-large .coop-duel{gap:3px;padding:3px}
.coop-combat-arena.coop-duel-large .coop-duel-side{gap:3px;align-content:flex-start}
.coop-combat-arena.coop-duel-large .coop-duel-side .duel-panel,
.coop-combat-arena.coop-duel-large .coop-duel-side .duel-panel.coop-duel-card{
  flex:0 0 calc(20% - 3px);max-width:calc(20% - 3px);min-width:52px;padding:3px 4px;
}
.coop-combat-arena.coop-duel-large .coop-duel-side .duel-portrait{max-height:34px;min-height:30px}
.coop-combat-arena.coop-duel-large .coop-duel-side .duel-name{font-size:.42rem}
.coop-combat-arena.coop-duel-large .coop-duel-side .duel-class{font-size:.38rem;-webkit-line-clamp:1}
.coop-combat-arena.coop-duel-large .coop-duel-side .duel-bar{grid-template-columns:10px minmax(0,1fr) max-content}
.coop-combat-arena.coop-duel-large .coop-duel-side .duel-bar .bar-track{height:3px}
.coop-combat-arena.coop-duel-large .coop-duel-side .duel-bar .bar-val{font-size:.36rem;min-width:1.4rem}
.coop-combat-arena.coop-duel-large .coop-duel .duel-vs span{width:22px;height:22px;font-size:.44rem}
.coop-combat-arena.coop-duel-many .coop-duel-side .duel-panel,
.coop-combat-arena.coop-duel-many .coop-duel-side .duel-panel.coop-duel-card{
  flex:0 0 calc(25% - 4px);max-width:calc(25% - 4px);min-width:64px;
}
.coop-panel-status{margin:2px 0 4px;flex-wrap:wrap;gap:3px}
.coop-duel-enemies.enemy-turn-active .duel-enemy .duel-portrait{animation:enemyTurnPulse .85s ease-in-out infinite;box-shadow:0 0 16px rgba(231,76,60,.45)}
.coop-combat-arena.enemy-turn-active,.coop-duel-enemies.enemy-turn-active{transition:filter .25s}
.coop-combat-arena.enemy-turn-active{filter:brightness(1.04)}
/* Co-op Zone — kompakte, klare Spielerkarten */
.coop-zone-players{display:flex;flex-wrap:nowrap;gap:8px;padding:8px 10px;overflow-x:auto;overscroll-behavior:contain;border-bottom:1px solid rgba(255,255,255,.06);scrollbar-width:thin}
.coop-zone-player-card{flex:1 1 0;min-width:min(132px,42vw);max-width:180px;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:14px;background:linear-gradient(180deg,rgba(12,16,24,.78),rgba(6,8,14,.88));border:1px solid rgba(255,255,255,.1);box-shadow:0 6px 18px rgba(0,0,0,.22)}
.coop-zone-player-card.is-me{border-color:rgba(212,175,55,.42);background:linear-gradient(180deg,rgba(40,32,12,.55),rgba(12,10,6,.85))}
.coop-zone-player-card.is-host{border-color:rgba(232,197,71,.35)}
.coop-zone-player-card.is-compact{min-width:min(148px,46vw);max-width:200px}
.coop-zone-player-avatar{width:36px;height:36px;border-radius:10px;object-fit:cover;flex-shrink:0;border:1px solid rgba(212,175,55,.28)}
.coop-zone-player-fallback{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.coop-zone-player-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.coop-zone-player-head{display:flex;align-items:center;justify-content:space-between;gap:4px;min-width:0}
.coop-zone-player-name{font-weight:800;font-size:.72rem;line-height:1.2;min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:5px}
.coop-zone-host-chip{flex-shrink:0;font-size:.52rem;font-weight:800;letter-spacing:.03em;padding:1px 6px;border-radius:999px;color:#f5d78e;border:1px solid rgba(245,215,142,.35);background:rgba(245,215,142,.12)}
.coop-zone-player-name .ellipsis-hover-wrap{display:block;min-width:0;max-width:100%}
.coop-zone-player-vitals{line-height:1.2;font-size:.6rem;min-width:0;opacity:.88}
.coop-zone-player-vitals .ellipsis-hover-wrap{display:block;min-width:0;max-width:100%}
.coop-zone-hp-bar{height:4px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:2px}
.coop-zone-hp-bar>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3ecf72,#7dffb0);box-shadow:0 0 8px rgba(62,207,114,.35)}
.coop-zone-player-stats{margin-top:1px;min-height:15px;justify-content:flex-start}
.coop-zone-player-stats .ellipsis-hover-trigger.combat-stat-compact{font-size:.52rem;max-width:calc(100% - 1.15rem)}
.coop-zone-player-stats .stat-hover-trigger.chip-more-emoji{font-size:.5rem;padding:1px 4px;line-height:1.2}
.zone-player-combat-stats,.zone-pet-combat-stats{margin-top:0}
.zone-player-combat-stats .combat-stat-row,.zone-explore-stat-row{justify-content:space-between;min-height:15px}
.coop-regions-players{margin:0 0 10px}
.coop-zone-coins{font-size:.52rem;padding:1px 5px;line-height:1.25;flex-shrink:0}
.coop-zone-status-chips{margin:1px 0 0;justify-content:flex-start;min-height:0}
.coop-duel-card .coop-combat-stat-row{margin:1px 0 2px;min-height:15px;justify-content:flex-start}
.coop-duel-card .coop-combat-stat-row .combat-stat-compact{font-size:.5rem;max-width:calc(100% - 1.1rem)}
.coop-duel-card .coop-combat-stat-row .stat-hover-trigger.chip-more-emoji{font-size:.48rem;padding:1px 4px}
#screen-coop-zone .log-card,#screen-coop-world .log-card{display:none!important}
#screen-coop-zone .host-actions{margin-top:0}
#screen-coop-zone .zone-header{margin-bottom:8px}
.duel-player .duel-avatar-img{width:100%;height:100%;max-width:none;max-height:none;border-radius:0;object-fit:cover;image-rendering:auto;border:0;animation:none}
.coop-enemy-fallback{font-size:2rem}
.coop-enemy-portrait.coop-enemy-loading{opacity:.35;filter:grayscale(.4)}
.coop-enemy-portrait.coop-enemy-missing{opacity:.2}
@media(max-width:700px){
  .coop-duel{grid-template-columns:1fr;gap:4px;padding:4px}
  .coop-duel .duel-vs{display:none}
  .coop-duel-side .duel-panel.coop-duel-card,
  .coop-duel-side .duel-panel{flex:0 0 calc(50% - 3px);max-width:calc(50% - 3px);min-width:88px}
  #screen-coop-combat .combat-arena{max-height:none}
  .combat-duel{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:8px;padding:8px 6px 6px;align-items:stretch;
    min-height:0;height:100%;width:100%;box-sizing:border-box
  }
  .combat-duel .duel-vs{display:none}
  .combat-duel>.duel-panel{max-width:none;width:100%;min-width:0;overflow:visible}
  #screen-combat .combat-duel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  #screen-combat #fighter-hero{grid-column:1;grid-row:1}
  #screen-combat #fighter-foe{grid-column:2;grid-row:1}
  .combat-arena{min-height:min(28vh,220px);max-height:min(44vh,360px)}
  .combat-wrap.combat-potions-open .combat-arena{min-height:min(26vh,200px);max-height:min(36vh,300px)}
  .duel-panel{padding:6px 6px;gap:5px;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
  .duel-player .duel-info{min-height:auto;gap:3px;padding:0}
  .duel-player .duel-bar-sta,.duel-player .duel-bar-mana,.duel-player .duel-bar-xp,.duel-player .duel-xp-level{display:none}
  .duel-player .duel-combat-mini{display:block!important;text-align:center;font-size:.52rem;line-height:1.3;opacity:.9;padding:2px 0;word-break:break-word}
  .duel-portrait,.duel-player .duel-portrait,.duel-enemy .duel-portrait{
    width:100%;max-width:100%;max-height:min(24vh,195px);min-height:min(17vh,130px);aspect-ratio:3/4
  }
  .combat-wrap.combat-potions-open .duel-portrait,.combat-wrap.combat-potions-open .duel-player .duel-portrait,.combat-wrap.combat-potions-open .duel-enemy .duel-portrait{
    max-height:min(22vh,175px);min-height:min(15vh,115px)
  }
  .combat-skills-body{min-height:140px;max-height:min(calc(100dvh - 170px),480px)}
  .duel-info{width:100%;min-height:0;gap:3px;flex-shrink:0;overflow:visible}
  .duel-bar{width:100%;gap:3px;grid-template-columns:16px minmax(0,1fr) max-content;min-width:0}
  .duel-bar-lbl{font-size:.48rem}
  .duel-bar .bar-track{min-width:0;height:6px}
  .duel-bar .bar-val{font-size:clamp(.48rem,.52rem,2vw);min-width:2.5rem;padding-left:1px}
  .duel-name{font-size:.6rem}
  .duel-class{font-size:.48rem;max-height:none}
  .duel-enemy .duel-class{white-space:nowrap;display:block;-webkit-line-clamp:unset}
  .duel-enemy .duel-info{min-height:auto}
  .status-chips{margin-top:2px;min-height:10px}
  .status-chip{font-size:.48rem}
}
@media(max-width:520px){
  .combat-arena{min-height:min(26vh,200px);max-height:min(40vh,320px)}
  .combat-wrap.combat-potions-open .combat-arena{min-height:min(24vh,185px);max-height:min(34vh,270px)}
  .combat-duel{min-height:0;height:100%;gap:5px;padding:6px 4px 4px}
  .duel-panel{padding:5px 5px;gap:4px;border-radius:10px}
  .duel-portrait,.duel-player .duel-portrait,.duel-enemy .duel-portrait{max-height:min(22vh,175px);min-height:min(15vh,110px);border-radius:10px}
  .combat-wrap.combat-potions-open .duel-portrait,.combat-wrap.combat-potions-open .duel-player .duel-portrait,.combat-wrap.combat-potions-open .duel-enemy .duel-portrait{max-height:min(20vh,160px);min-height:min(14vh,100px)}
  .combat-skills-body{min-height:120px;max-height:min(calc(100dvh - 160px),440px)}
  .duel-name{font-size:.56rem}
  .duel-class{font-size:.46rem}
  .duel-bar{grid-template-columns:14px minmax(0,1fr) max-content;gap:2px}
  .duel-bar .bar-val{min-width:2.35rem;font-size:.48rem}
  .duel-player .duel-combat-mini{font-size:.48rem}
}
.duel-combat-mini{display:none}
.grid-unit-desc{font-size:.58rem;line-height:1.35;color:rgba(226,232,240,.78);max-height:none;margin-top:3px;padding:3px 4px;border-radius:6px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.06)}
.grid-attack-actions{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;margin-top:4px}
.grid-unit.selected{outline:2px solid var(--gold);box-shadow:0 0 16px rgba(232,197,71,.45)}
.grid-unit.targetable,.grid-unit.effect-pick,.clash-hp-block.targetable{cursor:pointer;outline:2px dashed rgba(239,68,68,.7);box-shadow:0 0 14px rgba(239,68,68,.28)}
.grid-unit.effect-pick{outline-color:rgba(168,85,247,.75);box-shadow:0 0 14px rgba(168,85,247,.35)}
.grid-card-slot.trap-pick{cursor:pointer;outline:2px dashed rgba(245,158,11,.75);color:#f59e0b;font-weight:700}
.raid-invite-bar{display:flex;justify-content:center;padding:6px 0 2px}
.dungeon-party-bar{display:flex;flex-direction:column;gap:8px;padding:10px;margin:8px 0}
.dungeon-invite-overlay{position:fixed;inset:0;z-index:1200;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.dungeon-invite-window{max-width:360px;width:100%;padding:14px;display:flex;flex-direction:column;gap:10px}
.dungeon-invite-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.dungeon-invite-list{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow:auto}
.tcg-place-mode{display:flex;gap:6px;justify-content:center;margin:6px 0;padding:6px}
.tcg-top-actions{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;min-height:28px}
.tcg-mode-icon-wrap{display:flex;align-items:center}
.tcg-mode-icon{width:36px;height:36px;border-radius:50%;border:2px solid transparent;font-size:1.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s,box-shadow .15s;line-height:1;padding:0;background:rgba(255,255,255,.08)}
.tcg-mode-icon.mode-active-atk{border-color:#f87171;box-shadow:0 0 10px rgba(248,113,113,.5);background:rgba(248,113,113,.15)}
.tcg-mode-icon.mode-active-def{border-color:#60a5fa;box-shadow:0 0 10px rgba(96,165,250,.5);background:rgba(96,165,250,.15)}
.tcg-mode-icon:hover{transform:scale(1.15)}
.tcg-collection{padding:8px;max-height:120px;overflow-y:auto;font-size:.62rem;color:var(--muted)}
.tcg-actions{display:flex;gap:8px;padding:4px 0}

/* Raid */
.raid-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px}
.raid-boss-portrait{font-size:4rem;text-align:center;padding:20px;margin:8px 0}
.raid-boss-portrait-img{display:block;width:min(220px,70%);max-height:280px;margin:0 auto;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.45))}
.raid-hp-wrap{padding:12px;margin-bottom:8px}
.raid-members{display:flex;gap:8px;flex-wrap:wrap;padding:8px;margin-bottom:8px}
.raid-member{padding:8px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.1);font-size:.64rem;flex:1;min-width:100px}

/* Shop Handelswelle */
.shop-wave{padding:10px 12px;margin-bottom:8px;border-radius:var(--r-sm);border:1px solid rgba(94,196,255,.25);background:rgba(94,196,255,.06)}
.shop-wave-head{display:flex;justify-content:space-between;align-items:center;font-size:.72rem;font-weight:700;color:#5ec4ff}
.shop-forge{padding:10px 12px;margin:0 0 10px;border-radius:var(--r-sm);border:1px solid rgba(245,158,11,.28);background:rgba(245,158,11,.06)}
.shop-forge-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px;margin-bottom:8px}
.shop-forge-title{font-size:.74rem;font-weight:700;color:#fbbf24}
.shop-forge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.shop-forge-card{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04)}
.shop-forge-card.locked{opacity:.62}
.shop-forge-card.can-craft{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.05)}
.shop-forge-card-head{display:flex;align-items:flex-start;gap:8px;font-size:1.1rem}
.shop-forge-name{font-size:.72rem;font-weight:700;line-height:1.25}
.shop-forge-inputs{display:flex;flex-wrap:wrap;gap:6px}
.shop-forge-inputs .cost-ok{color:#86efac}
.shop-forge-inputs .cost-missing{color:#fca5a5}
.has-equip-compare{position:relative}
/* Vergleich nur per Modal (⚖-Klick), kein Hover-Tooltip */
.has-equip-compare .eq-compare-hover,.shop-equip-compare-hover{display:none!important}
body.equip-compare-open .has-equip-compare:hover,
body.equip-compare-open .shop-item:hover{transform:none!important;box-shadow:none!important}
.eq-compare-hover{
  padding:12px 14px;border-radius:12px;
  border:1px solid rgba(232,197,71,.42);
  background:linear-gradient(165deg,rgba(16,18,30,.98),rgba(8,10,18,.99));
  box-shadow:0 14px 36px rgba(0,0,0,.72),0 0 0 1px rgba(255,255,255,.04) inset;
  backdrop-filter:blur(14px);
}
.eq-compare-hover-title{font-size:.76rem;font-weight:800;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid rgba(232,197,71,.22);color:#fcd34d;line-height:1.3}
.eq-compare-hover-cols,.eq-compare-modal-cols{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.eq-compare-hover-hint{margin-top:6px;text-align:center}
.eq-compare-side{padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);min-width:0}
.eq-compare-side-label{font-size:.58rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px}
.eq-compare-side-head{display:flex;align-items:center;gap:6px;min-width:0}
.eq-compare-emoji{font-size:1rem;line-height:1;flex-shrink:0}
.eq-compare-side-name{font-size:.66rem;font-weight:700;line-height:1.25;word-break:break-word}
.eq-compare-side-tags{margin-top:3px}
.eq-compare-table{display:flex;flex-direction:column;gap:3px}
.eq-compare-table-compact .eq-compare-stat-row{grid-template-columns:1fr 1fr 1fr;font-size:.58rem}
.eq-compare-table-head,.eq-compare-stat-row{display:grid;grid-template-columns:minmax(72px,.9fr) 1fr 1fr;gap:6px;align-items:center}
.eq-compare-stat-k{color:var(--muted);font-size:.6rem}
.eq-compare-stat-v{font-size:.62rem;font-weight:600;text-align:right}
.eq-compare-stat-v.eq-compare-wide{grid-column:2/4;text-align:left;font-weight:500}
.eq-diff-up{color:#86efac}
.eq-diff-down{color:#fca5a5}
.eq-diff-neutral{color:inherit}
.eq-diff-new{color:#93c5fd}
.eq-diff-tag{font-size:.56rem;opacity:.9;margin-left:2px}
.eq-compare-extra .eq-compare-stat-k{align-self:flex-start}
#equip-compare-overlay.overlay{align-items:flex-end;justify-content:center;padding:12px;z-index:20100}
#trade-partner-overlay.overlay{align-items:center;justify-content:center;padding:12px;z-index:20110}
#feedback-overlay.overlay{
  align-items:center;justify-content:center;
  padding:max(10px, env(safe-area-inset-top, 0px)) max(12px, env(safe-area-inset-right, 0px)) max(12px, env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px));
  z-index:260000!important;pointer-events:auto!important;
  box-sizing:border-box;overflow:hidden;
}
#feedback-overlay.overlay:not(.hidden){display:flex!important}
#feedback-overlay .feedback-sheet,
#feedback-overlay .feedback-form{pointer-events:auto;position:relative;z-index:2}
#feedback-overlay .feedback-actions{position:relative;z-index:5;pointer-events:auto}
body.trade-partner-modal-open,
body.feedback-modal-open{overflow:hidden}
body.feedback-modal-open #feedback-overlay{z-index:260000!important}
/* Header/Edge-Rail dürfen Feedback nicht überdecken oder bedienen blockieren */
body.feedback-modal-open .top-bar,
body.feedback-modal-open #top-bar,
body.feedback-modal-open #rpg-bag-edge-rail,
body.feedback-modal-open .rpg-bag-edge-rail,
body.feedback-modal-open #rpg-chrome-back-dock,
body.chat-modal-open .top-bar,
body.chat-modal-open #top-bar,
body.chat-modal-open #rpg-bag-edge-rail,
body.chat-modal-open .rpg-bag-edge-rail,
body.chat-modal-open #rpg-chrome-back-dock,
body.mailbox-modal-open #rpg-bag-edge-rail,
body.mailbox-modal-open .rpg-bag-edge-rail{
  pointer-events:none!important;
  z-index:0!important;
}
.trade-partner-sheet{width:min(100%,420px);max-height:min(78dvh,560px);overflow:hidden;display:flex;flex-direction:column;padding:12px 14px}
/* !important: .overlay-sheet kommt später und überschreibt sonst max-height/overflow */
#feedback-overlay .feedback-sheet,
.feedback-sheet{
  width:min(100%,440px)!important;
  max-width:100%!important;
  height:auto!important;
  max-height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  padding:0!important;
  border-radius:20px;border:1px solid rgba(232,197,120,.28);
  position:relative;z-index:2;
  box-sizing:border-box!important;
  background:
    radial-gradient(120% 80% at 10% -10%, rgba(232,197,120,.16), transparent 55%),
    radial-gradient(90% 70% at 100% 0%, rgba(96,165,250,.12), transparent 50%),
    linear-gradient(165deg, rgba(22,28,40,.97), rgba(12,16,24,.98));
  box-shadow:0 18px 48px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.06);
}
.feedback-form{
  display:flex;flex-direction:column;min-height:0;flex:1 1 0%;margin:0;padding:0;
  max-height:100%;overflow:hidden;height:100%;
}
#feedback-overlay .feedback-backdrop{z-index:0}
.feedback-hero{
  padding:16px 16px 12px;border-bottom:1px solid rgba(255,255,255,.07);
  display:flex;gap:12px;align-items:flex-start;flex-shrink:0;
}
.feedback-hero-icon{
  width:48px;height:48px;border-radius:14px;display:grid;place-items:center;
  font-size:1.45rem;flex-shrink:0;
  background:linear-gradient(145deg, rgba(232,197,120,.22), rgba(96,165,250,.14));
  border:1px solid rgba(232,197,120,.35);
  box-shadow:0 0 24px rgba(232,197,120,.12);
}
.feedback-hero-copy{min-width:0;flex:1}
.feedback-hero-kicker{
  margin:0 0 2px;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(232,197,120,.85);font-weight:700;
}
.feedback-hero-title{margin:0;font-size:1.05rem;font-weight:800;color:var(--gold,#e8c578);line-height:1.2}
.feedback-hero-sub{margin:4px 0 0;font-size:.72rem;color:var(--muted);line-height:1.35}
.feedback-close{
  flex-shrink:0;width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);color:var(--txt);cursor:pointer;font-size:1rem;line-height:1;
}
.feedback-close:hover{border-color:rgba(232,197,120,.45);background:rgba(232,197,120,.1)}
.feedback-body{
  padding:14px 16px 12px;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;gap:12px;
  flex:1 1 0%;min-height:0;-webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;touch-action:pan-y;
}
.feedback-type-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.feedback-type{
  appearance:none;border:1px solid rgba(255,255,255,.1);border-radius:12px;
  background:rgba(255,255,255,.04);color:var(--txt);padding:10px 6px;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:4px;transition:border-color .15s,background .15s,transform .12s;
}
.feedback-type .feedback-type-emoji{font-size:1.2rem;line-height:1}
.feedback-type .feedback-type-label{font-size:.68rem;font-weight:700}
.feedback-type:hover{border-color:rgba(232,197,120,.4)}
.feedback-type.is-active{
  border-color:rgba(232,197,120,.7);
  background:linear-gradient(160deg, rgba(232,197,120,.18), rgba(96,165,250,.08));
  box-shadow:0 0 0 1px rgba(232,197,120,.15) inset;
}
.feedback-type:active{transform:scale(.97)}
.feedback-field{display:flex;flex-direction:column;gap:5px}
.feedback-field label{font-size:.68rem;font-weight:700;color:rgba(232,197,120,.9);letter-spacing:.02em}
.feedback-field input,
.feedback-field textarea{
  width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.28);color:var(--txt);padding:10px 12px;
  font:inherit;font-size:.84rem;outline:none;resize:vertical;min-height:0;
}
.feedback-field textarea{min-height:120px;line-height:1.4}
.feedback-field input:focus,
.feedback-field textarea:focus{
  border-color:rgba(232,197,120,.55);
  box-shadow:0 0 0 3px rgba(232,197,120,.12);
}
.feedback-meta-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.62rem;color:var(--muted)}
.feedback-actions{
  display:flex;gap:8px;flex-shrink:0;padding:12px 16px 16px;
  border-top:1px solid rgba(255,255,255,.07);
  background:rgba(0,0,0,.18);
}
.feedback-actions .btn{flex:1;min-height:44px;touch-action:manipulation;pointer-events:auto;position:relative;z-index:3}
.feedback-actions .btn-primary[disabled]{opacity:.55;cursor:wait}
.feedback-note{
  margin:0;padding:8px 10px;border-radius:10px;font-size:.68rem;line-height:1.35;color:var(--muted);
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);
}
.feedback-form-error{
  margin:0;padding:9px 11px;border-radius:10px;font-size:.72rem;line-height:1.35;font-weight:650;
  color:#fecaca;background:rgba(127,29,29,.45);border:1px solid rgba(248,113,113,.35);
}
.feedback-form-error.hidden{display:none!important}
.feedback-upload-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.feedback-upload-btn{
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  margin:0;min-height:36px;padding:7px 12px;font-size:.72rem;
}
button.feedback-upload-btn{appearance:none;-webkit-appearance:none;font:inherit}
.feedback-upload-hint{font-size:.62rem;color:var(--muted)}
.feedback-image-previews{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.feedback-thumb{
  position:relative;width:84px;height:84px;border-radius:12px;overflow:visible;
  border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.35);
  box-shadow:0 4px 12px rgba(0,0,0,.35);
}
.feedback-thumb img{
  width:100%;height:100%;object-fit:cover;display:block;border-radius:11px;
  pointer-events:none;user-select:none;
}
.feedback-thumb-remove{
  position:absolute;top:-8px;right:-8px;z-index:3;
  width:28px;height:28px;min-width:28px;min-height:28px;border-radius:999px;
  border:1px solid rgba(255,255,255,.35);background:rgba(185,28,28,.92);color:#fff;
  font-size:.85rem;font-weight:800;line-height:1;cursor:pointer;padding:0;
  display:grid;place-items:center;pointer-events:auto;
  box-shadow:0 2px 8px rgba(0,0,0,.45);
}
.feedback-thumb-remove:hover,
.feedback-thumb-remove:focus-visible{
  background:#dc2626;outline:none;transform:scale(1.06);
}
@media (max-width:420px){
  .feedback-type-row{gap:6px}
  .feedback-type{padding:8px 4px}
  .feedback-hero{padding:14px 12px 10px}
  .feedback-body{padding:12px}
}
.trade-modal-head{margin-bottom:8px}
.trade-modal-hint{margin:0 0 8px;padding:0 2px}
.trade-modal-search{padding:8px 10px;margin-bottom:8px}
.trade-modal-active{margin:0 0 8px}
.trade-modal-online{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.trade-modal-list{flex:1 1 auto;min-height:0;overflow-y:auto;margin-top:4px;padding-right:2px}
.trade-modal-empty{margin:8px 2px 0}
.trade-partner-sheet .trade-mention-wrap-inline{flex:1;min-width:0}
.trade-partner-sheet .trade-search-bar{align-items:center}
.eq-compare-sheet{width:min(520px,100%);max-height:min(78dvh,680px);overflow:auto;padding:14px}
.eq-compare-modal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.eq-compare-modal-title{font-size:.82rem;font-weight:700}
.eq-compare-desc{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}
.inv-compare-btn,.shop-compare-btn,.craft-compare-btn{flex-shrink:0;align-self:center}
.craft-compare-row{display:flex;justify-content:flex-end;margin:4px 0 2px}
.craft-compare-btn{font-size:.68rem;padding:4px 10px;min-height:28px;border-radius:8px}
.craft-card-foot{
    display:flex;align-items:center;gap:8px;
    margin-top:auto;padding-top:10px;border-top:1px solid rgba(255,255,255,.07);
}
.craft-card-foot .craft-compare-btn{flex:0 0 auto}
.craft-card-foot .craft-recipe-btn{
    flex:1 1 auto;min-width:0;width:auto;margin:0;
}
.craft-foot-spacer{flex:0 0 0;width:0;overflow:hidden}

/* ══════════════════════════════════════════
   OVERLAY (Hub-Mehr)
   ══════════════════════════════════════════ */
.overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;padding:12px}
.overlay.hidden{display:none!important;pointer-events:none!important}
.overlay-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(4px)}
.overlay-sheet{position:relative;width:min(480px,100%);max-height:75dvh;overflow-y:auto;border-radius:18px 18px 12px 12px;padding:14px;animation:slideUp .25s ease}
@keyframes slideUp{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
.overlay-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.overlay-head span{font-size:.88rem;font-weight:800;color:var(--gold)}
.more-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.more-item{display:flex;flex-direction:column;gap:3px;padding:10px 10px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);cursor:pointer;text-align:left;color:var(--txt);transition:border-color .15s}
.more-item:active{transform:scale(.97)}
.more-item:hover{border-color:var(--gold)}
.more-item strong{font-size:.76rem;color:var(--gold)}
.more-item span{font-size:.62rem;color:var(--muted)}

/* ══════════════════════════════════════════
   ANIMATIONEN & UTILITIES
   ══════════════════════════════════════════ */
/* ══════════════════════════════════════════
   INVENTAR / SHOP / QUESTS / SKILLS / PET
   ══════════════════════════════════════════ */
.inv-chips { display: flex; flex-wrap: wrap; gap: 5px; margin: 6px 0 10px; }
.profil-avatar-upload {
    display: flex; align-items: center; gap: 14px;
    margin: 8px 0 12px; padding: 12px 14px;
    border-radius: var(--r-md);
    border: 1px solid rgba(255,255,255,.1);
    background: rgba(255,255,255,.04);
}
.profil-avatar-preview-wrap { flex-shrink: 0; }
.profil-avatar-pick {
    padding: 0; margin: 0; border: none; background: transparent;
    cursor: pointer; border-radius: 50%; position: relative; flex-shrink: 0;
    transition: transform .12s ease, opacity .12s ease;
}
.profil-avatar-pick:hover:not(:disabled) { transform: scale(1.03); }
.profil-avatar-pick:focus-visible {
    outline: 2px solid rgba(232,197,71,.75);
    outline-offset: 3px;
}
.profil-avatar-pick:disabled { cursor: wait; opacity: .72; }
.profil-avatar-pick.is-busy::after {
    content: ''; position: absolute; inset: 0; border-radius: 50%;
    background: rgba(0,0,0,.35);
}
.profil-avatar-pick:hover:not(:disabled) .profil-avatar-preview,
.profil-avatar-pick:focus-visible .profil-avatar-preview {
    border-color: rgba(232,197,71,.85);
    box-shadow: 0 0 0 3px rgba(232,197,71,.22), 0 2px 12px rgba(0,0,0,.35);
}
.profil-avatar-preview {
    width: 72px; height: 72px; border-radius: 50%;
    object-fit: cover; border: 2px solid rgba(232,197,71,.45);
    box-shadow: 0 2px 12px rgba(0,0,0,.35);
}
.profil-avatar-fallback {
    display: flex; align-items: center; justify-content: center;
    font-size: 2rem; background: rgba(0,0,0,.25);
}
.profil-avatar-actions { flex: 1; min-width: 0; }
.profil-avatar-btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.inv-section-label { font-size: .66rem; font-weight: 800; color: var(--gold); margin: 12px 0 6px; text-transform: uppercase; letter-spacing: .04em; }
.inv-subsection-label { margin: 10px 0 4px; opacity: .85; }
.inv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 8px; }
.inv-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; max-width: 100%; min-width: 0; padding: 2px 0; }
.inv-row { display: flex; flex-direction: column; gap: 8px; padding: 11px 12px; border-radius: 12px; border: 1px solid rgba(255,255,255,.1); border-left: 3px solid rgba(255,255,255,.15); background: linear-gradient(165deg,rgba(255,255,255,.05),rgba(0,0,0,.16)); max-width: 100%; min-width: 0; box-sizing: border-box; overflow: visible; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease, transform .12s ease; }
.inv-row.equipped { border-color: rgba(232,197,71,.35); background: linear-gradient(165deg,rgba(232,197,71,.1),rgba(0,0,0,.14)); }
.inv-list .inv-row.has-equip-compare:hover{
  border-color:rgba(255,255,255,.1);
  background:linear-gradient(165deg,rgba(255,255,255,.05),rgba(0,0,0,.16));
  transform:none;
  box-shadow:none;
}
.inv-list .inv-row:not(.in-offer):not(.has-equip-compare):hover,
.inv-list button.inv-row:not(:disabled):not(.has-equip-compare):hover,
.trade-hub-list .inv-row:hover{
  border-color:rgba(94,196,255,.42);
  background:linear-gradient(165deg,rgba(94,196,255,.1),rgba(0,0,0,.14));
  box-shadow:0 2px 12px rgba(0,0,0,.22);
  transform:translateY(-1px);
}
.inv-list .inv-row.equipped:hover{
  border-color:rgba(232,197,71,.55);
  background:linear-gradient(165deg,rgba(232,197,71,.14),rgba(0,0,0,.12));
  box-shadow:0 2px 12px rgba(232,197,71,.12);
}
.inv-list .inv-row.broken:hover{border-color:rgba(248,113,113,.45);background:rgba(248,113,113,.08)}
.inv-list .inv-row.in-offer{opacity:.72}
.inv-row-head,.inv-row-top{display:flex;align-items:flex-start;gap:10px;min-width:0;max-width:100%;overflow:visible}
.inv-row-main,.inv-row-text{flex:1;min-width:0;max-width:100%;display:flex;flex-direction:column;gap:5px}
.inv-row-emoji{
  width:2.35rem;height:2.35rem;flex-shrink:0;margin-top:0;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:1.25rem;line-height:1;border-radius:10px;text-align:center;
  background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1);
  position:relative;overflow:hidden;
}
.inv-row-emoji .item-ico,
.bag-slot-emoji .item-ico,
.equip-gem-ico .item-ico,
.bestiary-row-face .item-ico{
  width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;
}
.inv-row-emoji .item-ico-fb,
.bag-slot-emoji .item-ico-fb,
.equip-gem-ico .item-ico-fb{
  line-height:1;font-size:inherit;
}
.bag-slot-emoji{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:2.45rem;height:2.45rem;flex-shrink:0;border-radius:10px;overflow:hidden;
  background:
    radial-gradient(circle at 50% 38%, rgba(255,246,220,.3) 0%, rgba(120,128,150,.24) 48%, rgba(28,32,46,.62) 100%);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06), inset 0 0 12px rgba(255,236,190,.1);
}
.bag-slot--lg .bag-slot-emoji{width:3rem;height:3rem;border-radius:11px}
.bag-slot-emoji .item-ico,
.bag-slot-emoji .item-ico-fb{
  filter:brightness(1.12) contrast(1.06) saturate(1.05);
  object-fit:contain;object-position:center;
}
.equip-gem-ico{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
}
.equip-gem-ico .item-ico{width:100%;height:100%;object-fit:contain;display:block}

/* ── Enhance-Glow: ab +5 sichtbar, ab +10 episch (Gold/Blau) ── */
.item-enh-glow,
.item-enh-glow--plus5,
.item-enh-glow--epic{
  --enh-glow-gold: rgba(232, 197, 71, 0.55);
  --enh-glow-gold-soft: rgba(253, 230, 138, 0.42);
  --enh-glow-blue: rgba(94, 196, 255, 0.4);
  --enh-glow-blue-deep: rgba(56, 168, 230, 0.35);
}
.bag-slot.item-enh-glow--plus5{
  border-color: rgba(232, 197, 71, 0.55);
  box-shadow:
    0 0 0 1px rgba(94, 196, 255, 0.22),
    0 0 14px rgba(232, 197, 71, 0.32),
    0 0 22px rgba(94, 196, 255, 0.18),
    inset 0 0 18px rgba(232, 197, 71, 0.08);
}
.bag-slot.item-enh-glow--epic{
  border-color: rgba(253, 230, 138, 0.78);
  box-shadow:
    0 0 0 1px rgba(94, 196, 255, 0.4),
    0 0 16px rgba(232, 197, 71, 0.5),
    0 0 28px rgba(94, 196, 255, 0.35),
    0 0 40px rgba(232, 197, 71, 0.22),
    inset 0 0 22px rgba(253, 230, 138, 0.12);
  animation: itemEnhGlowEpicPulse 1.85s ease-in-out infinite;
}
.item-enh-glow--plus5 .bag-slot-emoji,
.item-enh-glow--plus5 .equip-gem-ico,
.item-enh-glow--plus5 .slot-icon,
.item-enh-glow--plus5 .smith-forge-item-emoji,
.item-enh-glow--plus5 .smith-drop-ico,
.item-enh-glow--plus5.smith-forge-item-orb .smith-forge-item-emoji,
.item-enh-glow--plus5.inv-row-emoji,
.item-enh-glow--plus5.eq-compare-emoji,
.item-enh-glow--plus5.trade-slot-emoji,
.item-enh-glow--plus5.smith-result-emoji,
.item-enh-glow--plus5.craft-card-art{
  filter: drop-shadow(0 0 4px var(--enh-glow-gold)) drop-shadow(0 0 9px var(--enh-glow-blue));
}
.item-enh-glow--plus5 .item-ico,
.item-enh-glow--plus5 .item-ico-fb,
.item-enh-glow--plus5 .craft-card-art-img{
  filter: brightness(1.14) contrast(1.05) saturate(1.08)
    drop-shadow(0 0 3px rgba(232, 197, 71, 0.7))
    drop-shadow(0 0 8px rgba(94, 196, 255, 0.45));
}
.equip-gem.item-enh-glow--plus5 .equip-gem-frame,
.equip-slot.item-enh-glow--plus5 .slot-icon{
  box-shadow:
    0 0 12px rgba(232, 197, 71, 0.38),
    0 0 20px rgba(94, 196, 255, 0.22);
}
.smith-forge-item-orb.item-enh-glow--plus5 .smith-forge-item-ring{
  border-color: rgba(232, 197, 71, 0.65);
  box-shadow:
    0 0 0 6px rgba(94, 196, 255, 0.1),
    0 0 28px rgba(232, 197, 71, 0.45),
    0 0 36px rgba(94, 196, 255, 0.28);
}
.item-enh-glow--epic .bag-slot-emoji,
.item-enh-glow--epic .equip-gem-ico,
.item-enh-glow--epic .slot-icon,
.item-enh-glow--epic .smith-forge-item-emoji,
.item-enh-glow--epic .smith-drop-ico,
.item-enh-glow--epic.smith-forge-item-orb .smith-forge-item-emoji,
.item-enh-glow--epic.inv-row-emoji,
.item-enh-glow--epic.eq-compare-emoji,
.item-enh-glow--epic.trade-slot-emoji,
.item-enh-glow--epic.smith-result-emoji,
.item-enh-glow--epic.craft-card-art{
  filter: drop-shadow(0 0 5px var(--enh-glow-gold-soft)) drop-shadow(0 0 12px var(--enh-glow-blue)) drop-shadow(0 0 18px rgba(232, 197, 71, 0.35));
}
.item-enh-glow--epic .item-ico,
.item-enh-glow--epic .item-ico-fb,
.item-enh-glow--epic .craft-card-art-img{
  filter: brightness(1.22) contrast(1.08) saturate(1.14)
    drop-shadow(0 0 4px rgba(255, 230, 150, 0.9))
    drop-shadow(0 0 10px rgba(94, 196, 255, 0.7))
    drop-shadow(0 0 18px rgba(232, 197, 71, 0.5));
  animation: itemEnhIconPulse 1.85s ease-in-out infinite;
}
.equip-gem.item-enh-glow--epic .equip-gem-frame,
.equip-slot.item-enh-glow--epic .slot-icon,
.smith-drop-slot.item-enh-glow--epic,
.smith-result-emoji.item-enh-glow--epic{
  box-shadow:
    0 0 14px rgba(232, 197, 71, 0.55),
    0 0 26px rgba(94, 196, 255, 0.4),
    0 0 38px rgba(232, 197, 71, 0.28);
  animation: itemEnhGlowEpicPulse 1.85s ease-in-out infinite;
}
.smith-forge-item-orb.item-enh-glow--epic .smith-forge-item-ring{
  border-color: rgba(253, 230, 138, 0.85);
  box-shadow:
    0 0 0 7px rgba(94, 196, 255, 0.16),
    0 0 32px rgba(232, 197, 71, 0.65),
    0 0 48px rgba(94, 196, 255, 0.45);
  animation: smithOrbSpin 8s linear infinite, itemEnhGlowEpicPulse 1.85s ease-in-out infinite;
}
.equip-gem.item-enh-glow--epic .equip-gem-enh,
.bag-slot.item-enh-glow--epic .bag-slot-enh{
  color: #fff6c8;
  text-shadow: 0 0 6px rgba(232, 197, 71, 0.85), 0 0 12px rgba(94, 196, 255, 0.55);
  border: 1px solid rgba(94, 196, 255, 0.35);
}
.equip-tip-plus.item-enh-glow--plus5{
  color: #fde68a;
  text-shadow: 0 0 6px rgba(232, 197, 71, 0.55), 0 0 10px rgba(94, 196, 255, 0.35);
}
.equip-tip-plus.item-enh-glow--epic{
  color: #fff6c8;
  font-weight: 900;
  text-shadow:
    0 0 6px rgba(255, 230, 150, 0.95),
    0 0 12px rgba(94, 196, 255, 0.7),
    0 0 18px rgba(232, 197, 71, 0.45);
  animation: itemEnhTipPulse 1.85s ease-in-out infinite;
}
@keyframes itemEnhGlowEpicPulse{
  0%, 100%{
    box-shadow:
      0 0 0 1px rgba(94, 196, 255, 0.35),
      0 0 14px rgba(232, 197, 71, 0.42),
      0 0 24px rgba(94, 196, 255, 0.28),
      0 0 34px rgba(232, 197, 71, 0.16);
  }
  50%{
    box-shadow:
      0 0 0 1px rgba(253, 230, 138, 0.55),
      0 0 20px rgba(232, 197, 71, 0.62),
      0 0 34px rgba(94, 196, 255, 0.45),
      0 0 48px rgba(232, 197, 71, 0.28);
  }
}
@keyframes itemEnhIconPulse{
  0%, 100%{
    filter: brightness(1.18) contrast(1.08) saturate(1.12)
      drop-shadow(0 0 4px rgba(255, 230, 150, 0.75))
      drop-shadow(0 0 10px rgba(94, 196, 255, 0.55))
      drop-shadow(0 0 16px rgba(232, 197, 71, 0.4));
  }
  50%{
    filter: brightness(1.28) contrast(1.1) saturate(1.18)
      drop-shadow(0 0 6px rgba(255, 240, 180, 0.95))
      drop-shadow(0 0 14px rgba(94, 196, 255, 0.8))
      drop-shadow(0 0 24px rgba(232, 197, 71, 0.6));
  }
}
@keyframes itemEnhTipPulse{
  0%, 100%{ opacity: 0.92; }
  50%{ opacity: 1; }
}
@media (prefers-reduced-motion: reduce){
  .bag-slot.item-enh-glow--epic,
  .equip-gem.item-enh-glow--epic .equip-gem-frame,
  .equip-slot.item-enh-glow--epic .slot-icon,
  .smith-drop-slot.item-enh-glow--epic,
  .smith-result-emoji.item-enh-glow--epic,
  .item-enh-glow--epic .item-ico,
  .item-enh-glow--epic .item-ico-fb,
  .item-enh-glow--epic .craft-card-art-img,
  .equip-tip-plus.item-enh-glow--epic,
  .smith-forge-item-orb.item-enh-glow--epic .smith-forge-item-ring{
    animation: none !important;
  }
}

.inv-row-name{font-size:.82rem;font-weight:800;line-height:1.3;overflow:hidden;text-overflow:ellipsis;word-break:break-word}
.inv-row-name-line{
  display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;min-width:0;width:100%;
}
.inv-row-name-line .inv-row-name{
  flex:0 1 auto;min-width:0;max-width:100%;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.inv-row-req-chips{
  display:inline-flex;align-items:center;flex-wrap:wrap;gap:3px;flex:1 1 auto;
  vertical-align:middle;
}
.inv-row-req-chips .inv-req-chip{margin-left:0;margin-top:0}
.inv-row-meta{font-size:.64rem;color:var(--muted);line-height:1.35;word-break:break-word;margin:0}
.inv-row-meta-compact{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px}
.inv-stat-line{font-weight:700;color:#cbd5e1}
.inv-qty-bit{font-variant-numeric:tabular-nums;opacity:.85}
.inv-row-meta-compact .stat-hover-wrap{margin-left:0}
.inv-cost-block{
  display:flex;flex-direction:column;gap:5px;
  padding:8px 9px;border-radius:10px;margin:0;
  background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.06);
}
.inv-cost-line{
  display:flex;flex-wrap:wrap;align-items:center;gap:5px 6px;
  margin:0;line-height:1.35;font-size:.62rem;
}
.inv-cost-lbl{
  flex:0 0 auto;min-width:3.6rem;font-weight:800;color:rgba(226,232,240,.72);
  text-transform:uppercase;letter-spacing:.03em;font-size:.55rem;
}
.inv-mat-chips{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center}
.inv-mat-chip{
  display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:999px;
  font-size:.58rem;font-weight:700;line-height:1.3;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#cbd5e1;
}
.inv-mat-chip b{font-weight:800;font-variant-numeric:tabular-nums}
.inv-mat-chip.cost-ok{border-color:rgba(52,211,153,.35);background:rgba(52,211,153,.1);color:#a7f3d0}
.inv-mat-chip.cost-missing{border-color:rgba(248,113,113,.4);background:rgba(248,113,113,.1);color:#fecaca}
.inv-cost-hint{color:var(--muted);font-weight:650}
.inv-row-footer{
  display:flex;flex-direction:column;align-items:stretch;gap:8px;
  margin-top:2px;padding:10px 2px 2px;border-top:1px solid rgba(255,255,255,.07);
  overflow:visible;
}
.inv-row-tools{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;
  gap:6px;width:100%;overflow:visible;
}
.inv-row-tools .inv-tool-btn{
  width:auto;flex:0 0 auto;justify-content:center;
}
.inv-row-footer .inv-row-actions{width:100%;margin:0!important}
.inv-row-side-actions{display:none}
.inv-item-actions{width:100%;max-width:100%;min-width:0;overflow:visible;display:flex;flex-direction:column;gap:8px;margin-top:0}

/* ── Unified RPG Hover Tooltips (Inventar, Attribute, Pets, Shop, Craft) ── */
.stat-hover-wrap { display: inline-flex; align-items: center; vertical-align: middle; position: relative; }
.stat-hover-trigger{cursor:pointer}
.stat-hover-wrap.is-tip-open > .stat-hover-trigger.chip-more,
.stat-hover-wrap.is-tip-open > .stat-hover-trigger{
  outline:1px solid rgba(232,197,71,.45);
}
.stat-hover-trigger.chip-more {
  display: inline-flex; align-items: center; justify-content: center;
  width: 17px; height: 17px; min-width: 17px; padding: 0;
  border-radius: 4px; font-size: .62rem; font-weight: 800; line-height: 1;
  cursor: help; vertical-align: middle; flex-shrink: 0;
  background: linear-gradient(180deg, #3b82f6 0%, #2563eb 100%);
  border: 1px solid rgba(147,197,253,.52);
  color: #fff;
  box-shadow: 0 1px 5px rgba(37,99,235,.35), inset 0 1px 0 rgba(255,255,255,.22);
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease, border-color .12s ease;
}
.stat-hover-trigger.chip-more .stat-hover-trigger-inner{
  display:flex;align-items:center;justify-content:center;width:100%;height:100%;
  font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:900;font-size:.68rem;line-height:1;
}
.stat-hover-trigger.chip-more:hover,.stat-hover-trigger.chip-more:focus-visible{
  transform:scale(1.08);filter:brightness(1.08);
  border-color:rgba(191,219,254,.75);
  box-shadow:0 2px 10px rgba(59,130,246,.45),inset 0 1px 0 rgba(255,255,255,.28);
  outline:none;
}
.stat-hover-trigger.chip-more.chip-more-emoji{
  width:auto;min-width:0;height:auto;padding:1px 6px;border-radius:6px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.88);box-shadow:none;font-size:.58rem;font-weight:700;
}
.stat-hover-trigger.chip-more.chip-more-emoji .stat-hover-trigger-inner{font-family:inherit;font-style:normal;font-weight:700;font-size:.58rem}
.stat-hover-trigger.chip-more.chip-more-emoji:hover,.stat-hover-trigger.chip-more.chip-more-emoji:focus-visible{
  transform:scale(1.04);filter:none;background:rgba(232,197,71,.14);border-color:rgba(232,197,71,.38);color:var(--gold);
}
.stat-hover-tip { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }

.rpg-tooltip-portal,
.stat-hover-tooltip-portal {
  position: fixed; z-index: 140000; pointer-events: none;
  min-width: 188px; max-width: min(92vw, 292px);
  background: linear-gradient(165deg, rgba(16,18,30,.98) 0%, rgba(8,10,18,.99) 100%);
  border: 1px solid rgba(232,197,71,.42);
  border-radius: 12px;
  padding: 12px 14px;
  box-shadow: 0 14px 36px rgba(0,0,0,.72), 0 0 0 1px rgba(255,255,255,.04) inset;
  backdrop-filter: blur(14px);
  opacity: 0; transform: translateY(5px);
  transition: opacity .14s ease, transform .14s ease;
  /* Ohne .visible komplett raus — verhindert beige Ghost-Box oben links */
  visibility: hidden;
}
.rpg-tooltip-portal:not(.visible),
.stat-hover-tooltip-portal:not(.visible),
#cos-badge-tooltip:not(.visible),
#stat-hover-tooltip:not(.visible),
.rpg-item-quick-name:not(.visible){
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.rpg-tooltip-portal.visible,
.stat-hover-tooltip-portal.visible{
  display:block!important;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.rpg-item-quick-name.visible{
  display:block!important;
  visibility:visible!important;
}
#stat-hover-tooltip-inner { display: flex; flex-direction: column; min-width: 0; }

.stat-hover-title,
.rpg-tooltip-portal .tip-name {
  display: block;
  font-size: .78rem; font-weight: 800; color: #fcd34d;
  margin: 0 0 0; padding-bottom: 8px;
  border-bottom: 1px solid rgba(232,197,71,.22);
  letter-spacing: .01em; line-height: 1.3;
  word-break: break-word;
}
.stat-hover-body { padding-top: 8px; min-width: 0; }
.stat-hover-body > .stat-hover-desc:first-child:last-child { margin-top: 0; padding-top: 0; border-top: none; }

.stat-hover-row {
  display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
  font-size: .66rem; line-height: 1.4; padding: 5px 0;
}
.stat-hover-body .stat-hover-row + .stat-hover-row { border-top: 1px solid rgba(255,255,255,.06); }
.stat-hover-row.is-block {
  flex-direction: column; align-items: flex-start; gap: 4px;
  padding-bottom: 7px; margin-bottom: 1px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.stat-hover-row.is-block + .stat-hover-row { border-top: none; }
.stat-hover-k {
  color: rgba(255,255,255,.52); flex-shrink: 0; font-weight: 600; font-size: .62rem;
}
.stat-hover-row.is-block .stat-hover-k {
  font-size: .58rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .045em; color: rgba(255,255,255,.42);
}
.stat-hover-v {
  color: rgba(255,255,255,.94); text-align: right; word-break: break-word;
  font-weight: 600; font-variant-numeric: tabular-nums;
}
.stat-hover-row.is-block .stat-hover-v { text-align: left; font-weight: 500; font-size: .66rem; color: rgba(255,255,255,.88); }
.stat-hover-desc,
.rpg-tooltip-portal .tip-desc {
  font-size: .64rem; color: rgba(180,190,210,.82);
  margin: 8px 0 0; padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,.08);
  line-height: 1.45;
}
.stat-hover-row.stat-hover-warn {
  color: #fca5a5; justify-content: flex-start; font-weight: 700;
  border-top: 1px solid rgba(248,113,113,.18); padding-top: 7px; margin-top: 2px;
}

/* Item/Set-Hover: dunkles Holz + Pergament (petsui34) — Shop-Pergament bleibt per !important */
@keyframes rpgWoodTipIn{
  from{opacity:0;transform:translateY(8px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
#stat-hover-tooltip.visible,
#craft-ingredient-tooltip.visible{
  min-width:min(92vw,228px);
  max-width:min(92vw,340px);
  max-height:min(78vh,560px);
  overflow-x:hidden;
  overflow-y:auto;
  padding:13px 15px 15px;
  border-radius:14px;
  color:#fff6e8;
  border:1px solid rgba(232,192,122,.52);
  background:
    linear-gradient(180deg,rgba(90,52,24,.28) 0%,transparent 22%),
    repeating-linear-gradient(92deg,rgba(28,14,8,.16) 0 1px,transparent 1px 8px),
    linear-gradient(165deg,rgba(62,38,20,.97) 0%,rgba(24,14,8,.985) 52%,rgba(12,8,6,.99) 100%);
  box-shadow:
    0 18px 42px rgba(0,0,0,.58),
    0 0 0 1px rgba(90,48,18,.45),
    inset 0 1px 0 rgba(255,230,180,.16),
    inset 0 0 0 1px rgba(40,22,10,.55);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  scrollbar-width:thin;
  scrollbar-color:rgba(232,192,122,.45) rgba(12,8,6,.4);
  animation:rpgWoodTipIn .22s ease both;
}
#stat-hover-tooltip.visible .stat-hover-title,
#craft-ingredient-tooltip.visible .tip-name,
#craft-ingredient-tooltip.visible .stat-hover-title{
  font-family:"Cinzel",Georgia,serif;
  font-size:.86rem;
  font-weight:800;
  letter-spacing:.03em;
  color:#f3d394;
  padding-bottom:9px;
  margin-bottom:2px;
  border-bottom:1px solid rgba(232,192,122,.28);
  text-shadow:0 1px 0 rgba(0,0,0,.45);
}
#stat-hover-tooltip-inner{gap:2px}
#stat-hover-tooltip .stat-hover-body{padding-top:6px;display:flex;flex-direction:column;gap:1px}
#stat-hover-tooltip .stat-hover-k,
#stat-hover-tooltip .stat-hover-row.is-block .stat-hover-k{
  color:rgba(255,226,180,.58);
}
#stat-hover-tooltip .stat-hover-v,
#stat-hover-tooltip .stat-hover-row.is-block .stat-hover-v{
  color:#fff6e8;
}
#stat-hover-tooltip .stat-hover-body .stat-hover-row + .stat-hover-row,
#stat-hover-tooltip .stat-hover-row.is-block{
  border-color:rgba(232,192,122,.12);
}
#stat-hover-tooltip .stat-hover-desc{
  color:rgba(255,236,210,.72);
  border-top-color:rgba(232,192,122,.16);
}
#stat-hover-tooltip .bag-tip-sec,
#craft-ingredient-tooltip .bag-tip-sec{
  display:flex;align-items:center;gap:8px;margin:10px 0 5px;
}
#stat-hover-tooltip .bag-tip-sec:first-child,
#craft-ingredient-tooltip .bag-tip-sec:first-child{margin-top:2px}
#stat-hover-tooltip .bag-tip-sec span,
#craft-ingredient-tooltip .bag-tip-sec span{
  font-family:"Cinzel",Georgia,serif;
  font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:#e8c07a;
}
#stat-hover-tooltip .bag-tip-sec::after,
#craft-ingredient-tooltip .bag-tip-sec::after{
  content:"";flex:1;height:1px;
  background:linear-gradient(90deg,rgba(232,192,122,.38),transparent);
}
#stat-hover-tooltip .bag-tip-set{
  margin:8px 0 2px;padding:10px 11px 9px;border-radius:12px;
  background:linear-gradient(165deg,rgba(72,44,22,.42),rgba(16,10,6,.55));
  border:1px solid rgba(232,192,122,.22);
  box-shadow:inset 0 1px 0 rgba(255,230,180,.08);
  display:flex;flex-direction:column;gap:7px;
}
#stat-hover-tooltip .bag-tip-set.is-complete{
  border-color:rgba(159,223,138,.4);
  background:linear-gradient(165deg,rgba(32,56,28,.42),rgba(16,10,6,.5));
}
#stat-hover-tooltip .bag-tip-set-head{
  display:flex;justify-content:space-between;align-items:baseline;gap:10px;
}
#stat-hover-tooltip .bag-tip-set-name{
  font-family:"Cinzel",Georgia,serif;
  font-size:.76rem;font-weight:800;letter-spacing:.03em;color:#f3d394;line-height:1.2;
}
#stat-hover-tooltip .bag-tip-set-progress,
#stat-hover-tooltip .bag-tip-set-meta{
  font-size:.6rem;font-weight:700;color:rgba(255,226,180,.62);
}
#stat-hover-tooltip .bag-tip-set-progress.is-on{color:#bbf7d0}
#stat-hover-tooltip .bag-tip-set-tiers{display:flex;flex-direction:column;gap:6px}
#stat-hover-tooltip .bag-tip-set-tier{
  padding:7px 8px 8px;border-radius:9px;
  background:rgba(8,6,4,.28);border:1px solid rgba(232,192,122,.12);
}
#stat-hover-tooltip .bag-tip-set-tier.is-active{
  background:rgba(34,80,42,.22);
  border-color:rgba(159,223,138,.32);
  box-shadow:inset 0 0 0 1px rgba(159,223,138,.08);
}
#stat-hover-tooltip .bag-tip-set-tier-req{
  display:flex;justify-content:space-between;align-items:center;gap:8px;
  font-size:.64rem;font-weight:800;margin-bottom:4px;color:#fff1d6;letter-spacing:.02em;
}
#stat-hover-tooltip .bag-tip-set-check{
  color:#bbf7d0;font-size:.56rem;letter-spacing:.06em;text-transform:uppercase;
}
#stat-hover-tooltip .bag-tip-set-missing{
  color:rgba(255,226,180,.5);font-size:.56rem;font-weight:700;
}
#stat-hover-tooltip .bag-tip-set-bonus-list,
#stat-hover-tooltip .bag-tip-stat-list,
#craft-ingredient-tooltip .bag-tip-set-bonus-list,
#craft-ingredient-tooltip .bag-tip-stat-list{
  list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;
}
#stat-hover-tooltip .bag-tip-set-bonus-list li,
#stat-hover-tooltip .bag-tip-stat-list li,
#craft-ingredient-tooltip .bag-tip-set-bonus-list li,
#craft-ingredient-tooltip .bag-tip-stat-list li{
  position:relative;
  padding:1px 0 1px 14px;
  font-size:.66rem;line-height:1.42;font-weight:650;
  color:#f4ead6;
}
#stat-hover-tooltip .bag-tip-set-bonus-list li::before,
#stat-hover-tooltip .bag-tip-stat-list li::before,
#craft-ingredient-tooltip .bag-tip-set-bonus-list li::before,
#craft-ingredient-tooltip .bag-tip-stat-list li::before{
  content:"";
  position:absolute;left:1px;top:.58em;
  width:5px;height:5px;
  border:1px solid rgba(232,192,122,.72);
  background:rgba(232,192,122,.2);
  transform:rotate(45deg);
}
#stat-hover-tooltip .bag-tip-set-tier.is-active .bag-tip-set-bonus-list li{
  color:#e8fcd9;font-weight:750;
}
#stat-hover-tooltip .bag-tip-set-bonus-empty{font-size:.66rem;color:rgba(255,226,180,.45)}
#stat-hover-tooltip .bag-tip-warn{color:#fca5a5;font-weight:800}
#stat-hover-tooltip .bag-tip-quest{color:#fcd34d;font-weight:800}
#stat-hover-tooltip .bag-tip-muted{opacity:.72}

#cos-badge-tooltip .tip-img {
  width: 54px; height: 54px; border-radius: 8px; object-fit: contain;
  display: block; margin: 0 auto 8px; border: 0; background: transparent;
  box-shadow: none;
}
#cos-badge-tooltip .stat-hover-title,
#cos-badge-tooltip .tip-name { text-align: center; }
#cos-badge-tooltip .stat-hover-desc,
#cos-badge-tooltip .tip-desc { text-align: center; border-top: none; padding-top: 4px; margin-top: 0; }
#craft-ingredient-tooltip .stat-hover-desc,
#craft-ingredient-tooltip .tip-desc { margin-top: 0; padding-top: 6px; border-top: none; }
.cos-actbg-img { object-fit: cover; }
.cos-frame-preview-wrap { display: flex; align-items: center; justify-content: center; height: 72px; min-height: 72px; padding: 0; background: radial-gradient(circle at 50% 50%, rgba(40,36,52,.7), rgba(10,8,16,.95)); border-radius: 10px; overflow: hidden; }
.cos-frame-preview { object-fit: cover; background: #0c0a12!important; height: 72px; width: 100%; max-width: 100%; }
.inv-special { font-size: .62rem; color: #c4b5fd; font-style: italic; margin-top: 3px; line-height: 1.35; }
.inv-summary { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; padding: 8px 10px; margin-bottom: 8px; }

/* Bag / Lager Slot-Grid */
.bag-view-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0}
.bag-view-tab{
  display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 6px;border-radius:12px;
  border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.28);color:#e2e8f0;cursor:pointer;font-size:.78rem;
}
.bag-view-tab strong{font-weight:850}
.bag-view-tab.is-active{
  border-color:rgba(232,197,71,.45);background:linear-gradient(145deg,rgba(232,197,71,.18),rgba(0,0,0,.4));
  color:#fde68a;
}
.bag-cap-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.bag-slot-grid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:10px;
}
.bag-slot-grid--wh{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.bag-slot-grid--wh-strip{
  grid-template-columns:repeat(6,minmax(0,1fr));max-height:180px;overflow:auto;padding-bottom:4px;
}
.bag-slot-grid--quest{grid-template-columns:repeat(4,minmax(0,1fr))}
.bag-slot{
  position:relative;aspect-ratio:1;border-radius:10px;border:1px solid rgba(255,255,255,.12);
  background:rgba(8,12,22,.72);display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:2px;padding:4px;cursor:grab;user-select:none;min-height:0;overflow:hidden;
  touch-action:none;
}
.bag-slot.bag-slot--lg{
  min-height:72px;border-radius:12px;padding:6px 4px;gap:3px;
}
.bag-slot.is-empty{cursor:default;background:rgba(255,255,255,.03);border-style:dashed;opacity:.55}
.bag-slot.is-dragging{opacity:.45}
.bag-slot.is-drop-target{border-color:rgba(94,196,255,.7);box-shadow:0 0 0 2px rgba(94,196,255,.25)}
.bag-slot.is-marked{
  border-color:rgba(232,197,71,.85)!important;
  box-shadow:0 0 0 2px rgba(232,197,71,.45),0 0 16px rgba(232,197,71,.22);
  background:rgba(232,197,71,.12);
}
.bag-slot.is-marked::after{
  content:'✓';position:absolute;top:3px;left:3px;z-index:4;
  font-size:.62rem;font-weight:900;line-height:1;
  color:#fde68a;text-shadow:0 1px 2px rgba(0,0,0,.7);
  pointer-events:none;
}
.bag-filter-chip.bag-sort-btn{
  border-color:rgba(94,196,255,.35);background:rgba(94,196,255,.1);color:#bfdbfe;
}
.bag-filter-chip.bag-sort-btn:hover{
  border-color:rgba(94,196,255,.55);background:rgba(94,196,255,.18);
}
.rpg-bag-float-body.is-drop-target,
.bag-float-workshop.is-drop-target{
  outline:2px dashed rgba(94,196,255,.55);
  outline-offset:-6px;
  background:rgba(94,196,255,.06);
}
.bag-slot.is-req-locked{
  opacity:1;
  position:relative;
}
.bag-slot.is-req-locked::before{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;
  background:linear-gradient(165deg,rgba(180,30,30,.28),rgba(90,10,10,.42));
  box-shadow:inset 0 0 0 1px rgba(248,113,113,.45),inset 0 0 18px rgba(127,29,29,.35);
}
.bag-slot-lvl-badge{
  position:absolute;left:4px;top:22px;z-index:2;pointer-events:none;
  font-size:.58rem;font-weight:850;line-height:1;padding:2px 5px;border-radius:6px;
  background:rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.16);color:#e2e8f0;
}
.bag-slot-lvl-badge.is-locked{
  background:rgba(127,29,29,.78);border-color:rgba(248,113,113,.55);color:#fecaca;
}
.bag-slot-lock{
  position:absolute;right:3px;bottom:3px;z-index:4;pointer-events:none;
  width:16px;height:16px;display:grid;place-items:center;
  font-size:.62rem;line-height:1;
  background:rgba(80,12,12,.88);border:1px solid rgba(248,113,113,.55);
  border-radius:999px;color:#fecaca;
  box-shadow:0 2px 6px rgba(0,0,0,.45);
  filter:none;
}
.bag-slot-reqs{display:none!important}
.bag-slot-req{display:none!important}
.equip-bag-chip-reqs{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}
.equip-bag-chip.is-locked .equip-bag-chip-name{color:#fecaca!important}

/* Schmiede — Vollbild-Forge (Item oben · Hammer mittig · Buttons unten) */
.smith-forge-overlay{
  position:fixed;inset:0;z-index:32080;display:flex;align-items:stretch;justify-content:center;
  padding:0;box-sizing:border-box;
}
.smith-forge-overlay.hidden{display:none!important}
.smith-forge-shell{
  position:relative;width:100%;height:100%;max-height:100dvh;overflow:hidden;
  display:flex;flex-direction:column;isolation:isolate;
  padding:max(10px,env(safe-area-inset-top)) 0 max(12px,env(safe-area-inset-bottom));
  box-sizing:border-box;
}

.smith-forge-topbar{
  position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:10px;
  flex-shrink:0;margin-bottom:8px;padding:0 14px;
}
.smith-forge-top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.smith-forge-body{
  position:relative;z-index:5;flex:1;min-height:0;width:100%;max-width:none;margin:0;
  display:flex;flex-direction:column;overflow:hidden;
}
.smith-npc{
  appearance:none;border:0;background:transparent;cursor:default;padding:0;
  position:absolute;bottom:0;z-index:2;
  width:auto;max-width:min(38vw,420px);height:min(88%,78vh);
  display:flex;align-items:flex-end;justify-content:center;
  overflow:visible;pointer-events:auto;
  filter:drop-shadow(0 14px 22px rgba(0,0,0,.55));
  transition:filter .18s ease, transform .18s ease;
}
.smith-npc--male{
  left:max(0px,2%);justify-content:flex-start;
}
.smith-npc--female{
  right:max(0px,2%);justify-content:flex-end;
}
.smith-npc img{
  width:auto;height:100%;max-width:100%;max-height:100%;
  object-fit:contain;object-position:bottom center;display:block;pointer-events:none;
  transform:none;
}
.smith-npc--male img{object-position:bottom left}
.smith-npc--female img{object-position:bottom right}
.smith-npc.is-hover-hit,
.smith-npc:hover.is-hover-hit{
  filter:drop-shadow(0 0 18px rgba(255,170,60,.45)) drop-shadow(0 14px 22px rgba(0,0,0,.55));
}
.smith-npc.is-active{
  filter:drop-shadow(0 0 20px rgba(255,170,60,.65)) drop-shadow(0 14px 22px rgba(0,0,0,.55));
}
.smith-npc-tag{
  position:absolute;z-index:3;
  display:flex;flex-direction:column;align-items:flex-start;gap:3px;
  pointer-events:none;bottom:auto;
  max-width:min(46%,180px);
}
/* Namen neben dem Kopf (zur Bildmitte hin) */
.smith-npc--male .smith-npc-tag{
  top:8%;left:72%;
  align-items:flex-start;text-align:left;
}
.smith-npc--female .smith-npc-tag{
  top:7%;left:auto;right:72%;
  align-items:flex-end;text-align:right;
}
.smith-npc-name{
  font-weight:900;font-size:1rem;color:#ffe7b0;
  text-shadow:0 2px 10px rgba(0,0,0,.9),0 0 12px rgba(0,0,0,.55);
}
.smith-npc-role{
  font-size:.62rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;
  color:rgba(255,220,170,.9);padding:2px 8px;border-radius:999px;
  border:1px solid rgba(255,180,80,.32);background:rgba(20,12,8,.78);
  white-space:nowrap;
}
.smith-drop-slot{
  width:min(520px,100%);min-height:96px;border-radius:16px;padding:14px 14px;
  border:1.5px dashed rgba(255,180,80,.45);
  background:rgba(10,8,14,.72);
  display:flex;align-items:center;justify-content:center;gap:10px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
  touch-action:none;
}
.smith-drop-slot.is-empty{flex-direction:column;text-align:center}
.smith-drop-slot.is-drop-hover,
.smith-forge-item-panel.is-drop-hover{
  border-color:rgba(255,200,100,.85)!important;background:rgba(255,140,40,.12);
  box-shadow:0 0 0 2px rgba(255,160,50,.25);
}
.smith-drop-hint{font-weight:850;color:#ffe7b0}
.smith-fodder-slot{
  min-height:64px;border-style:dashed;border-color:rgba(251,146,60,.55);
  background:rgba(18,10,8,.78);
}
.smith-fodder-slot.has-item{justify-content:flex-start;text-align:left}
.smith-fodder-slot .smith-drop-ico{font-size:1.6rem;line-height:1;flex-shrink:0}
.smith-fodder-slot .smith-drop-ico .item-ico{width:36px;height:36px;object-fit:contain}
.smith-fodder-slot .smith-drop-meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.smith-fodder-slot .smith-drop-meta strong{font-size:.9rem;color:#ffe7b0}
.smith-ward-toggle{
  display:flex;align-items:center;gap:8px;margin:2px 0 0;padding:6px 8px;border-radius:10px;
  font-size:.72rem;font-weight:750;color:#fde68a;
  background:rgba(120,60,10,.22);border:1px solid rgba(251,191,36,.28);cursor:pointer;
}
.smith-ward-toggle input{accent-color:#f59e0b}
.smith-ward-toggle.is-empty{opacity:.55;cursor:not-allowed}
/* Sprechblase: Box immer mittig — Tail zeigt schräg zum NPC */
.smith-npc-speech{
  position:absolute;z-index:8;left:50%;top:48%;
  transform:translate(-50%,-50%);
  width:min(440px,52vw);max-width:calc(100% - 28px);margin:0;
  padding:14px 16px 16px;box-sizing:border-box;
  border-radius:22px;
  border:1.5px solid rgba(255,196,110,.42);
  background:linear-gradient(165deg,rgba(28,18,12,.94),rgba(10,10,16,.95));
  color:#f3e7d3;pointer-events:auto;
  box-shadow:0 14px 36px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,220,160,.12);
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.35));
}
.smith-npc-speech.hidden{display:none!important}
.smith-npc-speech > p{margin:0;font-size:.9rem;line-height:1.45;text-wrap:balance}
/* Tail: Brom → unten-links zur Figur; Brunhild → unten-rechts zur Figur */
.smith-npc-speech::before,
.smith-npc-speech::after{
  content:"";position:absolute;bottom:-15px;width:26px;height:18px;
  box-sizing:border-box;pointer-events:none;
}
.smith-npc-speech.speak-neutral::before,
.smith-npc-speech.speak-neutral::after{display:none}
/* Border-Layer etwas größer */
.smith-npc-speech::before{
  background:rgba(255,196,110,.42);
}
.smith-npc-speech::after{
  background:rgba(12,10,14,.97);
  bottom:-13px;width:22px;height:15px;
}
/* Brom: Spitze nach links-unten */
.smith-npc-speech.speak-brom::before{
  left:22px;right:auto;
  clip-path:polygon(12% 0,100% 0,0 100%);
}
.smith-npc-speech.speak-brom::after{
  left:24px;right:auto;
  clip-path:polygon(14% 0,100% 0,0 100%);
}
/* Brunhild: Spitze nach rechts-unten */
.smith-npc-speech.speak-brunhild::before{
  right:22px;left:auto;
  clip-path:polygon(0 0,88% 0,100% 100%);
}
.smith-npc-speech.speak-brunhild::after{
  right:24px;left:auto;
  clip-path:polygon(0 0,86% 0,100% 100%);
}
.smith-speech-head{margin-bottom:6px}
.smith-speech-who{
  display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;
  font-size:.72rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase;
  color:#ffe7b0;border:1px solid rgba(255,180,80,.35);background:rgba(255,140,40,.12);
}
.smith-speech-line{margin:0 0 10px;font-size:.88rem;line-height:1.45}
.smith-speech-choices{display:flex;flex-wrap:wrap;gap:6px}
.smith-speech-choice{
  font-weight:800;border:1px solid rgba(255,190,90,.4);
  background:rgba(255,170,60,.16);color:#fff7e8;
}
@media (max-width:820px){
  .smith-npc-speech{width:min(360px,70vw);top:44%;padding:12px 13px 14px}
  .smith-npc-speech.speak-brom::before{left:16px}
  .smith-npc-speech.speak-brom::after{left:18px}
  .smith-npc-speech.speak-brunhild::before{right:16px}
  .smith-npc-speech.speak-brunhild::after{right:18px}
}
@media (max-width:820px){
  .smith-npc{max-width:min(44vw,280px);height:min(76%,62vh)}
  .smith-npc--male{left:0}
  .smith-npc--female{right:0}
  .smith-npc-name{font-size:.8rem}
  .smith-npc--male .smith-npc-tag{left:68%}
  .smith-npc--female .smith-npc-tag{right:68%}
}

.smith-forge-bg{
  position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center 42%;background-repeat:no-repeat;
  transform:scale(1.04);filter:saturate(1.08) contrast(1.05);
}
.smith-forge-veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(ellipse 55% 40% at 50% 48%,rgba(255,120,20,.16),transparent 70%),
    linear-gradient(180deg,rgba(4,6,12,.78) 0%,rgba(4,6,12,.45) 42%,rgba(4,6,12,.88) 100%);
}
.smith-forge-brand{display:flex;align-items:center;gap:10px;min-width:0}
.smith-forge-brand strong{
  display:block;font-size:1.45rem;font-weight:900;letter-spacing:.02em;line-height:1.15;
  background:linear-gradient(90deg,#ffe7a8,#ffb347,#ff7a3a);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.smith-forge-stack{
  position:relative;z-index:6;flex:1;min-height:0;display:flex;flex-direction:column;
  align-items:center;gap:10px;overflow:auto;width:min(560px,92%);
  margin:0 auto;pointer-events:none;
}
.smith-forge-stack > *{pointer-events:auto}
.smith-forge-item-panel{
  width:100%;flex-shrink:0;padding:10px 14px 12px;border-radius:16px;
  border:1px solid rgba(255,180,80,.22);
  background:linear-gradient(165deg,rgba(20,14,10,.88),rgba(8,10,16,.9));
  box-shadow:0 12px 40px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,220,160,.08);
  display:flex;flex-direction:column;gap:8px;
}
.smith-forge-item-topline{
  display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px;
}
.smith-forge-item-pills{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;
}
.smith-item-clear{
  flex-shrink:0;width:28px;height:28px;border-radius:8px;padding:0;
  display:inline-grid;place-items:center;font-size:.95rem;line-height:1;
  color:#fecaca;border:1px solid rgba(248,113,113,.45);
  background:rgba(127,29,29,.35);cursor:pointer;
}
.smith-item-clear:hover{
  color:#fff;border-color:rgba(252,165,165,.7);background:rgba(185,28,28,.55);
}
.smith-fodder-slot.has-item{
  position:relative;
}
.smith-fodder-clear{
  position:absolute;top:8px;right:8px;
}
.smith-forge-item-hero{display:flex;align-items:center;gap:12px}
.smith-forge-item-orb{
  position:relative;width:78px;height:78px;flex-shrink:0;display:grid;place-items:center;
}
.smith-forge-item-emoji{font-size:2.4rem;line-height:1;position:relative;z-index:2;filter:drop-shadow(0 4px 10px rgba(0,0,0,.55));display:grid;place-items:center}
.smith-forge-item-emoji .item-ico{width:52px;height:52px;object-fit:contain}
.smith-forge-item-ring{
  position:absolute;inset:0;border-radius:50%;
  border:2px solid rgba(255,180,70,.45);
  box-shadow:0 0 0 6px rgba(255,120,30,.08),0 0 28px rgba(255,140,40,.35);
  animation:smithOrbSpin 8s linear infinite;
}
.smith-forge-item-meta{min-width:0;display:flex;flex-direction:column;gap:5px;flex:1}
.smith-forge-item-footer{display:flex;justify-content:flex-start}
.smith-class-chip{
  display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:850;
  color:#fda4af;border:1px solid rgba(248,113,113,.4);background:rgba(239,68,68,.12);
}
.smith-class-chip:not(.is-locked){
  color:#86efac;border-color:rgba(52,211,153,.35);background:rgba(16,185,129,.12);
}
.smith-enh-pill{
  display:inline-flex;padding:2px 8px;border-radius:999px;font-weight:900;font-size:.78rem;
  background:rgba(167,139,250,.18);border:1px solid rgba(167,139,250,.4);color:#ddd6fe;
}
.smith-enh-pill--level{
  background:rgba(249,115,22,.2);border-color:rgba(249,115,22,.45);color:#fdba74;
}
.smith-forge-stage{
  position:relative;width:min(360px,92vw);height:min(240px,34vh);flex:1 1 auto;
  min-height:160px;max-height:280px;display:flex;align-items:flex-end;justify-content:center;
  pointer-events:none;padding-bottom:6px;
}
.smith-forge-heat{
  position:absolute;left:18%;right:18%;bottom:4%;height:48%;
  background:radial-gradient(ellipse at 50% 80%,rgba(255,140,40,.42),transparent 70%);
  filter:blur(18px);opacity:.5;animation:smithHeatPulse 2.8s ease-in-out infinite;
}
.smith-hammer-wrap{
  position:relative;width:min(240px,64%);aspect-ratio:1;display:grid;place-items:center;z-index:2;
  margin-bottom:0;transform:translateY(58px);
}
.smith-hammer{
  width:100%;height:100%;object-fit:contain;object-position:50% 72%;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.55));
  /* Ruhepose: Hammerkopf direkt an Amboss-Oberkante */
  transform-origin:72% 28%;opacity:.92;background:transparent;
  transform:rotate(14deg) translate(4px,58px);
}
.smith-hammer.is-swing{
  animation:smithHammerSwing .95s cubic-bezier(.2,.75,.2,1) forwards;
}
.smith-hammer-impact{
  position:absolute;left:40%;top:72%;width:72%;aspect-ratio:1;border-radius:50%;
  transform:translate(-50%,-50%) scale(.3);opacity:0;pointer-events:none;
  background:radial-gradient(circle,rgba(255,230,140,.85),rgba(255,120,30,.35) 45%,transparent 70%);
  mix-blend-mode:screen;
}
.smith-hammer-impact.is-on{animation:smithHammerImpact .55s ease-out .48s forwards}
.smith-hammer-impact.is-fail{
  background:radial-gradient(circle,rgba(254,202,202,.9),rgba(239,68,68,.4) 45%,transparent 70%);
}
.smith-hammer-impact.is-ascend{
  background:radial-gradient(circle,rgba(255,200,120,.95),rgba(168,85,247,.45) 42%,transparent 72%);
}
.smith-forge-burst{
  position:absolute;left:38%;top:68%;width:78%;aspect-ratio:1;object-fit:contain;
  transform:translate(-50%,-50%) scale(.35);opacity:0;pointer-events:none;z-index:4;
  filter:drop-shadow(0 0 18px rgba(255,160,40,.55));
}
.smith-forge-burst.is-on{animation:smithForgeBurst .7s ease-out .46s forwards}
.smith-forge-burst.is-fail{filter:hue-rotate(-30deg) saturate(1.2) drop-shadow(0 0 16px rgba(248,113,113,.6))}
.smith-forge-burst.is-ascend{filter:hue-rotate(40deg) saturate(1.35) drop-shadow(0 0 20px rgba(192,132,252,.7))}
.smith-forge-shock{
  position:absolute;left:40%;top:72%;width:20%;aspect-ratio:1;border-radius:50%;
  border:2px solid rgba(255,220,140,.75);transform:translate(-50%,-50%) scale(.4);
  opacity:0;pointer-events:none;z-index:3;
}
.smith-forge-shock.is-on{animation:smithForgeShock .65s ease-out .48s forwards}
.smith-forge-shock.is-fail{border-color:rgba(252,165,165,.85)}
.smith-forge-shock.is-ascend{border-color:rgba(216,180,254,.9)}
.smith-forge-sparks{position:absolute;inset:0;overflow:visible;z-index:3}
.smith-spark{
  position:absolute;left:40%;top:72%;width:5px;height:5px;border-radius:50%;
  background:radial-gradient(circle,#ffe7a0,#ff7a18 70%,transparent);
  box-shadow:0 0 8px rgba(255,160,40,.9);
  animation:smithSparkFly var(--sd,.7s) ease-out var(--sdelay,0s) forwards;
  opacity:0;
}
.smith-spark.is-fail{
  background:radial-gradient(circle,#fecaca,#ef4444 70%,transparent);
  box-shadow:0 0 8px rgba(248,113,113,.85);
}
.smith-spark.is-ascend{
  background:radial-gradient(circle,#fde68a,#c084fc 70%,transparent);
  box-shadow:0 0 10px rgba(192,132,252,.9);
}
.smith-spark--hit{width:7px;height:7px}
.smith-forge-stage-hint{display:none!important}
/* Globale Weltenbuff-HUD (nicht in der Schmiede) */
.rpg-world-buff-hud{
  position:fixed;z-index:100050;top:calc(52px + env(safe-area-inset-top,0px) + 6px);left:8px;
  display:flex;flex-direction:column;gap:6px;pointer-events:none;max-width:min(196px,46vw);
}
.rpg-world-buff-hud.hidden{display:none!important}
.rpg-world-buff{
  display:flex;align-items:center;gap:7px;padding:4px 8px 4px 4px;border-radius:12px;
  background:rgba(6,8,12,.72);border:1px solid rgba(255,200,120,.28);
  box-shadow:0 6px 16px rgba(0,0,0,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  pointer-events:auto;
}
.rpg-world-buff-ico{
  width:34px;height:34px;border-radius:10px;object-fit:cover;flex-shrink:0;
  border:1px solid rgba(255,220,160,.25);box-shadow:0 0 12px rgba(255,160,60,.25);
}
.rpg-world-buff-copy{min-width:0;display:flex;flex-direction:column;gap:1px;line-height:1.15}
.rpg-world-buff-copy strong{
  font-size:.66rem;font-weight:850;color:#ffe7c2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.rpg-world-buff-copy small{font-size:.56rem;color:rgba(246,238,226,.62);font-weight:700}
/* Kampf: oben rechts mit % + Restzeit — klar sichtbar, nicht unter der Aktionsleiste */
.rpg-world-buff-hud.is-combat{
  top:calc(10px + env(safe-area-inset-top,0px));right:8px;left:auto;bottom:auto;
  flex-direction:column;align-items:flex-end;max-width:min(220px,52vw);gap:6px;
  z-index:100060;
}
.rpg-world-buff-hud.is-combat .rpg-world-buff{
  padding:4px 9px 4px 4px;border-radius:12px;
  background:rgba(6,8,12,.82);border-color:rgba(255,200,120,.4);
}
.rpg-world-buff-hud.is-combat .rpg-world-buff-copy{display:flex}
.rpg-world-buff-hud.is-combat .rpg-world-buff-copy strong{font-size:.7rem}
.rpg-world-buff-hud.is-combat .rpg-world-buff-ico{width:30px;height:30px;border-radius:9px}
body.rpg-fixed-topbar .rpg-world-buff-hud:not(.is-combat){
  top:calc(44px + env(safe-area-inset-top,0px) + 8px);
}
@media (max-width:720px){
  .rpg-world-buff-hud:not(.is-combat){left:6px;max-width:min(160px,48vw)}
  .rpg-world-buff-hud.is-combat{right:6px;max-width:min(200px,56vw)}
  .rpg-world-buff-ico{width:30px;height:30px}
}
.smith-forge-stage.is-forging .smith-forge-heat{opacity:.9;animation-duration:1s}
.smith-forge-stage.is-success .smith-forge-heat{
  background:radial-gradient(ellipse at 50% 80%,rgba(255,220,120,.55),transparent 70%);opacity:1;
}
.smith-forge-stage.is-ascend .smith-forge-heat{
  background:radial-gradient(ellipse at 50% 80%,rgba(255,90,20,.55),rgba(168,85,247,.28),transparent 72%);opacity:1;
}
.smith-forge-stage.is-fail .smith-forge-heat{
  background:radial-gradient(ellipse at 50% 80%,rgba(248,113,113,.42),transparent 70%);
}
.smith-forge-actions{
  width:100%;flex-shrink:0;margin-top:auto;padding-bottom:2px;
}
/* Inventar / Lager vor der Schmiede — !important schlägt APK/PC-Scale z-index:12070 */
body.smith-modal-open .rpg-bag-float-layer,
body.smith-modal-open .rpg-wh-float-layer,
body.smith-modal-open .rpg-equip-float-layer{
  pointer-events:none!important;
}
body.smith-modal-open .rpg-bag-float-layer{z-index:32120!important}
body.smith-modal-open .rpg-wh-float-layer{z-index:32130!important}
body.smith-modal-open .rpg-equip-float-layer{z-index:32135!important}
body.smith-modal-open .rpg-bag-float,
body.smith-modal-open .rpg-equip-float{pointer-events:auto!important}
/* Während Drag: gesamtes Overlay durchlässig — NUR Drop-Targets fangen Hits.
   Wichtig: pe:none am Parent reicht NICHT (Kinder defaulten auf auto und blocken). */
body.smith-modal-open.rpg-item-dragging .smith-forge-overlay{
  z-index:32165!important;
  pointer-events:none!important;
}
body.smith-modal-open.rpg-item-dragging .smith-forge-overlay *,
body.smith-modal-open.rpg-item-dragging .smith-forge-overlay *::before,
body.smith-modal-open.rpg-item-dragging .smith-forge-overlay *::after{
  pointer-events:none!important;
}
body.smith-modal-open.rpg-item-dragging .rpg-bag-float-layer{z-index:32150!important;pointer-events:none!important}
body.smith-modal-open.rpg-item-dragging .rpg-wh-float-layer{z-index:32155!important}
body.smith-modal-open.rpg-item-dragging .rpg-equip-float-layer{z-index:32158!important}
body.smith-modal-open.rpg-item-dragging .rpg-bag-float,
body.smith-modal-open.rpg-item-dragging .rpg-equip-float{pointer-events:auto!important;z-index:32160!important}
body.smith-modal-open.rpg-item-dragging .smith-forge-overlay [data-smith-drop],
body.smith-modal-open.rpg-item-dragging .smith-forge-overlay [data-smith-fodder-drop]{
  position:relative;z-index:32170;pointer-events:auto!important;
  outline:2px solid rgba(255,180,80,.55);
}
/* Schmiede: kein Browser-Pan auf Slots — Pointer-Drag braucht die Geste */
body.smith-modal-open .bag-slot[draggable="true"],
body.smith-modal-open .bag-slot[data-bag-index]{
  touch-action:none!important;
  -webkit-user-drag:none;
  user-select:none;
}
/* Drag startet am Slot — Kinder (Icons/Badges) stehlen keine HTML5-DnD-Events */
.bag-slot[draggable="true"] > *{pointer-events:none}
.smith-modal-name{font-size:1.05rem;font-weight:900;line-height:1.2}
.smith-modal-sub{display:flex;flex-wrap:wrap;gap:6px}
.smith-modal-reqs{margin-top:2px}
.smith-modal-block{margin:8px 0 0}
.smith-modal-cards{display:flex;flex-direction:column;gap:8px}
.smith-card{
  position:relative;display:flex;flex-direction:column;gap:7px;padding:11px 12px;border-radius:14px;
  border:1px solid rgba(255,255,255,.1);background:rgba(8,12,22,.78);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-shadow:0 10px 28px rgba(0,0,0,.35);overflow:hidden;
}
.smith-card--quality{border-color:rgba(96,165,250,.32);background:linear-gradient(165deg,rgba(37,99,235,.18),rgba(8,12,22,.78))}
.smith-card--enhance{border-color:rgba(167,139,250,.32);background:linear-gradient(165deg,rgba(109,40,217,.16),rgba(8,12,22,.78))}
.smith-card--ascension{border-color:rgba(249,115,22,.4);background:linear-gradient(165deg,rgba(194,65,12,.2),rgba(8,12,22,.78))}
.smith-card--repair{border-color:rgba(45,212,191,.32);background:linear-gradient(165deg,rgba(13,148,136,.16),rgba(8,12,22,.78))}
.smith-card--blocked{color:#fecaca;border-color:rgba(248,113,113,.28)}
.smith-card-head{display:flex;align-items:flex-start;gap:8px}
.smith-card-ico{font-size:1.15rem;line-height:1.2}
.smith-card-head strong{display:block;font-size:.84rem;font-weight:900}
.smith-card-costs{display:flex;flex-wrap:wrap;gap:5px}
.smith-card-risk{margin:0;font-size:.68rem;color:#fdba74;font-weight:700}
.smith-card-btn{
  position:relative;align-self:stretch;justify-content:center;overflow:hidden;
  min-height:42px;font-weight:900;letter-spacing:.02em;
  background:linear-gradient(180deg,rgba(255,170,60,.28),rgba(180,70,10,.35));
  border:1px solid rgba(255,190,90,.5);color:#fff7e8;
  box-shadow:0 0 20px rgba(255,120,30,.2);
}
.smith-card-btn:disabled{opacity:.45;filter:grayscale(.3)}
.smith-card-btn-glow{
  position:absolute;inset:-40% auto -40% -30%;width:40%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
  transform:skewX(-18deg);animation:smithBtnSheen 2.8s ease-in-out infinite;
  pointer-events:none;
}
.smith-cost-empty{font-size:.68rem}

/* Ergebnis-Modal */
.smith-result-overlay{
  position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;
  padding:16px;background:rgba(3,5,10,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.smith-result-overlay.hidden{display:none!important}
.smith-result-modal{
  position:relative;width:min(400px,100%);padding:18px 16px 16px;border-radius:18px;text-align:center;
  border:1px solid rgba(255,180,80,.28);
  background:linear-gradient(165deg,rgba(22,16,12,.96),rgba(8,10,16,.97));
  box-shadow:0 20px 50px rgba(0,0,0,.55),0 0 40px rgba(255,120,30,.12);
  animation:smithResultIn .28s ease-out;
}
.smith-result-close{
  position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:10px;
  border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.35);color:#e2e8f0;
  font-size:.95rem;font-weight:800;line-height:1;cursor:pointer;
}
.smith-result-close:hover{background:rgba(248,113,113,.2);border-color:rgba(248,113,113,.45);color:#fecaca}
.smith-result-item-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-weight:900}
.smith-result-iname{font-weight:900}
.smith-result-ilv{font-size:.78rem;font-weight:850;padding:1px 6px;border-radius:999px;border:1px solid transparent}
.smith-result-ilv.is-ok{color:#86efac;border-color:rgba(52,211,153,.35);background:rgba(16,185,129,.12)}
.smith-result-ilv.is-locked{color:#fecaca;border-color:rgba(248,113,113,.4);background:rgba(239,68,68,.14)}
.smith-result-enh{color:#fbbf24;font-weight:900}
.smith-result-badge{
  width:54px;height:54px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;
  font-size:1.5rem;font-weight:900;
}
.smith-result-badge.is-ok{
  background:rgba(52,211,153,.16);border:2px solid rgba(52,211,153,.5);color:#6ee7b7;
  box-shadow:0 0 24px rgba(52,211,153,.25);
}
.smith-result-badge.is-fail{
  background:rgba(248,113,113,.14);border:2px solid rgba(248,113,113,.45);color:#fecaca;
  box-shadow:0 0 24px rgba(248,113,113,.2);
}
.smith-result-title{margin:0 0 4px;font-size:1.2rem;font-weight:950}
.smith-result-title.is-ok{color:#a7f3d0}
.smith-result-title.is-fail{color:#fecaca}
.smith-result-action{margin:0 0 8px}
.smith-result-msg{margin:0 0 14px;font-size:.86rem;line-height:1.4;color:#e2e8f0}
.smith-result-item{
  display:flex;align-items:center;gap:10px;text-align:left;padding:10px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);margin-bottom:12px;
}
.smith-result-emoji{font-size:1.8rem;line-height:1}
.smith-result-stats{display:flex;flex-direction:column;gap:3px;margin-top:4px;opacity:.9}
.smith-result-stats s{opacity:.55}
.smith-result-continue{
  width:100%;min-height:42px;font-weight:900;
  background:linear-gradient(180deg,rgba(255,170,60,.3),rgba(180,70,10,.38));
  border:1px solid rgba(255,190,90,.5);color:#fff7e8;
}
body.smith-modal-open{overflow:hidden}
@keyframes smithHeatPulse{
  0%,100%{opacity:.4;transform:scaleX(1)}
  50%{opacity:.75;transform:scaleX(1.06)}
}
@keyframes smithHammerSwing{
  /* Amboss-Ruhe → anheben → auf Amboss schlagen → liegen */
  0%{transform:rotate(14deg) translate(4px,58px)}
  28%{transform:rotate(108deg) translate(-6px,12px)}
  38%{transform:rotate(118deg) translate(-8px,6px)}
  52%{transform:rotate(10deg) translate(6px,64px)}
  62%{transform:rotate(16deg) translate(4px,52px)}
  78%{transform:rotate(12deg) translate(4px,60px)}
  100%{transform:rotate(14deg) translate(4px,58px)}
}
@keyframes smithHammerImpact{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.25)}
  35%{opacity:1;transform:translate(-50%,-50%) scale(1)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.35)}
}
@keyframes smithForgeBurst{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.25) rotate(-8deg)}
  28%{opacity:1;transform:translate(-50%,-50%) scale(1.05) rotate(0deg)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.35) rotate(6deg)}
}
@keyframes smithForgeShock{
  0%{opacity:.9;transform:translate(-50%,-50%) scale(.35)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(2.4)}
}
@keyframes smithSparkFly{
  0%{opacity:0;transform:translate(0,0) scale(.6)}
  15%{opacity:1}
  100%{opacity:0;transform:translate(var(--sx,40px),var(--sy,-80px)) scale(.2)}
}
@keyframes smithOrbSpin{to{transform:rotate(360deg)}}
@keyframes smithBtnSheen{
  0%,100%{left:-30%;opacity:0}
  40%{opacity:.7}
  70%{left:120%;opacity:0}
}
@keyframes smithResultIn{
  from{opacity:0;transform:translateY(10px) scale(.96)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media (max-width:560px){
  .smith-forge-stage{min-height:140px;max-height:210px}
  .smith-forge-brand strong{font-size:1.2rem}
  .smith-forge-item-orb{width:64px;height:64px}
  .smith-forge-item-emoji{font-size:2rem}
}
.equip-doll-job{
  margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08);
}
.equip-doll-job .job-equip-slots,
.equip-doll-job .equip-slots-compact{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;
}
.equip-doll-job .equip-slot{
  display:flex;align-items:center;gap:6px;padding:7px 8px;border-radius:10px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);min-width:0;
}
.equip-doll-job .equip-slot .slot-info{min-width:0;flex:1}
.equip-doll-job .equip-slot strong{
  display:block;font-size:.68rem;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.equip-job-gems{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:6px;
}
.equip-job-gems .equip-gem{
  width:100%;min-height:0;
}
.equip-job-gems .equip-gem-frame{
  width:58px;height:58px;
}
.equip-job-bonus{margin-top:6px;text-align:center}
.equip-gem.is-equip-compatible{
  border-color:rgba(52,211,153,.9)!important;
  box-shadow:0 0 0 2px rgba(52,211,153,.38),0 0 18px rgba(52,211,153,.22);
  opacity:1;
}
.equip-gem.is-equip-compatible.is-empty{opacity:1;border-style:solid}
body.rpg-item-dragging .equip-gem:not(.is-equip-compatible):not(.is-drop-target):not(.is-dragging){
  opacity:.42;
}
.bag-slot-job{color:#bbf7d0;border-color:rgba(52,211,153,.35)}
.bag-filter-empty{
  grid-column:1/-1;text-align:center;padding:18px 8px;margin:0;opacity:.75;
}
.bag-equip-compare-pop{
  position:fixed;z-index:13050;width:auto;max-width:calc(100vw - 16px);
  pointer-events:auto;
}
.bag-equip-compare-card{
  margin:0;
}
.bag-equip-compare-hands{margin-top:6px;text-align:center}
.bag-equip-compare-actions{
  display:flex;gap:8px;margin-top:10px;
}
.bag-equip-compare-actions .btn{flex:1;min-height:36px;font-weight:850}
.bag-slot-grid--filtered{
  min-height:72px;
}
.bag-slot.is-quest{border-color:rgba(251,191,36,.4)}
.rpg-dismantle-confirm-overlay{
  position:fixed;inset:0;z-index:14000;display:flex;align-items:center;justify-content:center;
  padding:16px;
}
.rpg-dismantle-confirm-overlay.hidden{display:none!important}
.rpg-dismantle-confirm-backdrop{
  position:absolute;inset:0;background:rgba(3,5,12,.62);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
}
.rpg-dismantle-confirm-modal{
  position:relative;z-index:1;width:min(360px,100%);padding:18px 16px 14px;border-radius:16px;text-align:center;
  border:1px solid rgba(248,113,113,.28);
  background:linear-gradient(165deg,rgba(28,14,16,.97),rgba(10,12,18,.98));
  box-shadow:0 18px 48px rgba(0,0,0,.55);
}
.rpg-dismantle-confirm-modal h3{margin:0 0 10px;font-size:1.15rem;font-weight:950;color:#fecaca}
.rpg-dismantle-confirm-item{
  display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 8px;font-size:.95rem;
}
.rpg-dismantle-confirm-emoji{font-size:1.6rem;line-height:1}
.rpg-dismantle-confirm-actions{display:flex;gap:8px;margin-top:14px}
.rpg-dismantle-confirm-actions .btn{flex:1;min-height:40px;font-weight:850}
.rpg-dismantle-ok{
  background:linear-gradient(180deg,rgba(248,113,113,.28),rgba(153,27,27,.4));
  border:1px solid rgba(252,165,165,.45);color:#fff5f5;
}
.bag-slot--equip{
  border-color:rgba(232,197,71,.42)!important;
  background:linear-gradient(165deg,rgba(232,197,71,.16),rgba(18,16,28,.82));
  box-shadow:inset 0 0 0 1px rgba(255,236,190,.1), 0 0 12px rgba(232,197,71,.1);
}
.bag-slot--equip .bag-slot-emoji{
  background:
    radial-gradient(circle at 50% 36%, rgba(255,246,220,.42) 0%, rgba(167,139,250,.26) 46%, rgba(36,42,58,.58) 100%);
  border-color:rgba(232,197,71,.38);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1), inset 0 0 14px rgba(255,236,190,.16);
}
.bag-slot--equip .bag-slot-emoji .item-ico,
.bag-slot--equip .bag-slot-emoji .item-ico-fb{
  filter:brightness(1.18) contrast(1.1) saturate(1.08);
}
.craft-ingredient-emoji,
.craft-recipe-emoji,
.craft-out-emoji,
.shop-card-icon,
.shop-mat-emoji,
.bestiary-loot-emoji,
.trade-slot-emoji,
.equip-slot .slot-icon,
.inv-item > span:first-child{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.craft-ingredient-emoji .item-ico,
.craft-recipe-emoji .item-ico,
.craft-out-emoji .item-ico,
.shop-card-icon .item-ico,
.shop-mat-emoji .item-ico,
.bestiary-loot-emoji .item-ico,
.trade-slot-emoji .item-ico,
.equip-slot .slot-icon .item-ico,
.inv-item > span:first-child .item-ico{
  width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;
}
.craft-ingredient-emoji{width:1.55rem;height:1.55rem}
.craft-recipe-emoji{width:2.2rem;height:2.2rem;flex-shrink:0}
.craft-out-emoji{width:1.7rem;height:1.7rem}
.shop-card-icon{width:3rem;height:3rem;flex-shrink:0}
.shop-mat-emoji{width:1.4rem;height:1.4rem;flex-shrink:0}
.bestiary-loot-emoji{width:1.35rem;height:1.35rem}
.trade-slot-emoji{width:1.35rem;height:1.35rem}
.equip-slot .slot-icon{width:1.7rem;height:1.7rem;flex-shrink:0}
.inv-item > span:first-child{width:1.55rem;height:1.55rem;flex-shrink:0}

/* Itemname nicht dauerhaft im Slot — nur Hover (title / .rpg-item-quick-name) */
.bag-slot-name{display:none!important}
/* Sofort-Hover: voller Itemname über dem Slot */
.rpg-item-quick-name{
  position:fixed;z-index:50010;pointer-events:none;
  max-width:min(280px,72vw);padding:7px 12px;border-radius:10px;
  font-size:.78rem;font-weight:850;letter-spacing:.01em;line-height:1.25;
  color:#fff8ee;text-align:center;
  background:linear-gradient(180deg,rgba(28,22,14,.96),rgba(12,10,8,.94));
  border:1px solid rgba(232,197,71,.45);
  box-shadow:0 10px 28px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.04);
  opacity:0;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease;
}
.rpg-item-quick-name.visible{opacity:1;transform:translateY(0)}
.bag-slot-qty,.bag-slot-enh{
  position:absolute;top:2px;right:3px;font-size:.58rem;font-weight:900;
  background:rgba(0,0,0,.55);padding:1px 4px;border-radius:6px;
}
.bag-slot--lg .bag-slot-qty,.bag-slot--lg .bag-slot-enh{font-size:.72rem;top:4px;right:4px;padding:2px 5px}
.bag-slot-enh{left:3px;right:auto;color:#fde68a}
.bag-slot--lg .bag-slot-enh{left:4px}
.bag-dnd-hint{margin:0 0 10px;opacity:.7}
.bag-empty-note{grid-column:1/-1;text-align:center;padding:16px}

/* Schnellzugriff: Chat oben, dann Inv/Lager… — vertikal zentriert am Viewport */
.rpg-bag-edge-rail{
  position:fixed!important;
  right:max(6px,env(safe-area-inset-right,0px))!important;
  top:50%!important;
  bottom:auto!important;
  left:auto!important;
  transform:translateY(-50%)!important;
  z-index:12055;display:flex;flex-direction:column;gap:7px;
  justify-content:flex-start!important;align-items:center;
  max-height:calc(100dvh - max(12px,env(safe-area-inset-top,0px)) - max(12px,env(safe-area-inset-bottom,0px)));
  overflow-x:hidden;overflow-y:auto;
  /* auto: Touch-Scroll auf APK/kleinen Screens (pointer-events:none blockiert Gesten) */
  pointer-events:auto;
  touch-action:pan-y;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  scrollbar-width:none!important;-ms-overflow-style:none!important;
  padding:4px 0 8px;
}
.rpg-bag-edge-rail::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
.rpg-bag-edge-rail.hidden{display:none}
.rpg-bag-edge-btn{
  pointer-events:auto;width:46px;height:46px;padding:5px;
  border-radius:12px;border:1px solid rgba(255,255,255,.16);
  background:rgba(10,14,24,.78);box-shadow:0 6px 16px rgba(0,0,0,.35);
  display:grid;place-items:center;cursor:pointer;color:#f2f5ff;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:transform .12s ease,background .12s ease,border-color .12s ease;
}
.rpg-bag-edge-btn.is-active{
  border-color:rgba(226,192,122,.65);
  box-shadow:0 0 0 1px rgba(226,192,122,.25),0 0 14px rgba(226,192,122,.28);
  background:linear-gradient(165deg,rgba(226,192,122,.22),rgba(8,10,14,.55));
}
.rpg-bag-edge-btn:hover{
  transform:translateX(-2px) scale(1.04);
  background:rgba(18,26,42,.92);
  border-color:rgba(255,255,255,.28);
}
/* Chrome-Dock: kein seitliches Verschieben — sonst Gap zwischen Zahnrad & Menü (Hover spinnt / Klick schließt) */
.rpg-bag-edge-rail .rpg-edge-chrome-btn:hover,
.rpg-bag-edge-rail .rpg-edge-chrome-btn:focus-visible{
  transform:scale(1.04);
}
.rpg-bag-edge-rail .rpg-edge-chrome-btn:active{transform:scale(.98)}
body.settings-menu-open [data-edge-chrome="settings"],
body.settings-menu-open #btn-settings{
  transform:none!important;
  border-color:rgba(226,192,122,.65)!important;
  box-shadow:0 0 0 1px rgba(226,192,122,.25),0 0 14px rgba(226,192,122,.28)!important;
}
.rpg-bag-edge-btn:active{transform:translateX(-1px) scale(.98)}
.rpg-bag-edge-btn img{
  width:30px;height:30px;object-fit:contain;display:block;pointer-events:none;
}
.rpg-bag-edge-btn span{font-size:18px;line-height:1;pointer-events:none}
@media (max-width:720px){
  .rpg-bag-edge-rail{right:3px;gap:5px}
  .rpg-bag-edge-btn{width:40px;height:40px;border-radius:10px;padding:4px}
  .rpg-bag-edge-btn img{width:26px;height:26px}
}

/* Floating Inventar / Lager windows */
.rpg-bag-float-layer{
  position:fixed;inset:0;z-index:12040;pointer-events:none;
}
.rpg-wh-float-layer{z-index:12041}
.rpg-bag-float-layer.hidden{display:none}
.rpg-bag-float{
  position:fixed;pointer-events:auto;width:min(420px,calc(100vw - 24px));
  max-height:min(82vh,780px);display:flex;flex-direction:column;
  border-radius:14px;border:1px solid rgba(255,255,255,.14);
  background:rgba(10,14,24,.92);box-shadow:0 18px 48px rgba(0,0,0,.45);
  overflow:hidden;
}
/* Image-as-window: ornate frame asset IS the chrome (no glass box around it).
   Assets: inv/lager/equip 1080×1600 portrait; skills/profession 1280×853 — never stretch with object-fit:fill.
   Narrow tall boxes; frame keeps aspect via contain (no fill-squash). */
.float-panel-frame{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;object-position:center;
  pointer-events:none;z-index:0;
}
.rpg-bag-float.has-float-panel-frame,
.rpg-equip-float.has-float-panel-frame{
  --rpg-panel-ar:1080 / 1600;
  position:relative;
  display:flex;flex-direction:column;
  width:min(440px,42vw,calc(100vw - 24px));
  max-width:min(440px,calc(100vw - 24px));
  aspect-ratio:var(--rpg-panel-ar);
  height:auto!important;
  max-height:min(92vh,920px);
  border:none!important;
  background:transparent!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  box-shadow:0 22px 56px rgba(0,0,0,.58),0 0 0 1px rgba(0,0,0,.25);
  border-radius:10px;
  overflow:hidden;
}
.rpg-bag-float--wh.has-float-panel-frame{
  width:min(460px,44vw,calc(100vw - 24px));
  max-width:min(460px,calc(100vw - 24px));
}
.rpg-equip-float.has-float-panel-frame{
  width:min(720px,58vw,calc(100vw - 24px));
  max-width:min(720px,calc(100vw - 24px));
  max-height:min(94vh,1040px);
}
.rpg-hub-tree-shell.has-float-panel-frame,
#panel-card.panel-skills.has-float-panel-frame,
#panel-card.panel-profession.has-float-panel-frame{
  --rpg-panel-ar:1280 / 853;
  position:relative;
  display:flex;flex-direction:column;
  width:min(960px,100%,calc(min(92dvh,720px) * 1280 / 853));
  max-width:min(960px,100%);
  aspect-ratio:var(--rpg-panel-ar);
  height:auto!important;
  max-height:min(92dvh,720px);
  border:none!important;
  background:transparent!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  box-shadow:0 22px 56px rgba(0,0,0,.58),0 0 0 1px rgba(0,0,0,.25);
  border-radius:10px;
  overflow:hidden;
}
.float-panel-inner{
  position:relative;z-index:1;
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;
  /* Sit inside ornate portrait frame — leave room for bottom/side art */
  margin:clamp(10px,2.4%,18px) clamp(10px,2.6%,20px) clamp(16px,5%,36px);
  padding:0;
  border-radius:6px;
  background:
    linear-gradient(180deg,rgba(6,8,14,.62) 0%,rgba(6,8,14,.48) 40%,rgba(6,8,14,.58) 100%);
  box-shadow:inset 0 0 0 1px rgba(226,192,122,.12);
  overflow:hidden;
}
/* Inv/Lager/Equip 1080×1600: inset % = dunkler Innenausschnitt (T/B vs Höhe, L/R vs Breite).
   Messwerte (px @1080×1600): inv 173/68/374/68 · lager 241/152/246/152
   equip Gold-Innenkante: 10.875%/15.926%/15.75%/15% + clip-path Notch nur BR-Schild. */
.rpg-bag-float--bag.has-float-panel-frame > .float-panel-inner,
.rpg-bag-float--wh.has-float-panel-frame > .float-panel-inner,
.rpg-equip-float.has-float-panel-frame > .float-panel-inner{
  position:absolute;
  z-index:1;
  margin:0;
  flex:none;
  width:auto;
  height:auto;
  min-height:0;
  background:
    linear-gradient(180deg,rgba(6,8,14,.72) 0%,rgba(6,8,14,.58) 45%,rgba(6,8,14,.68) 100%);
}
.rpg-bag-float--bag.has-float-panel-frame > .float-panel-inner{
  inset:10.81% 6.3% 23.38% 6.3%;
}
.rpg-bag-float--wh.has-float-panel-frame > .float-panel-inner{
  inset:15.06% 14.07% 15.38% 14.07%;
}
/* Equip: Insets an Goldkante; nur unten rechts Schild per clip-path Notch — Layout/Scroll unangetastet */
.rpg-equip-float.has-float-panel-frame > .float-panel-inner{
  inset:10.875% 15.926% 15.75% 15%;
  display:flex;
  flex-direction:column;
  border-radius:0;
  overflow:hidden; /* Clip am Schild-Notch; Scroll passiert im Body */
  box-shadow:none;
  /* Nur BR-Schild freistellen — kein Full-Mask, kein Flex-Fill */
  -webkit-mask-image:none;
  mask-image:none;
  clip-path: polygon(
    0% 0%,
    100% 0%,
    100% 70%,
    96.5% 74%,
    93.5% 82%,
    93% 90%,
    95% 100%,
    0% 100%
  );
}
.rpg-equip-float.has-float-panel-frame > .float-panel-frame{
  object-fit:fill;
  object-position:center;
  z-index:0;
  pointer-events:none;
}
/* Scroll nur im Body — Content in normalem Dokumentfluss (keine Flex-Quetschung) */
.rpg-equip-float.has-float-panel-frame > .float-panel-inner > .rpg-equip-float-head{
  flex:0 0 auto;
  padding:8px 10px;
}
.rpg-equip-float.has-float-panel-frame > .float-panel-inner > .rpg-equip-float-body{
  flex:1 1 auto;
  min-height:0;
  padding:10px 12px 14px;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  display:block; /* kein Flex-Column — verhindert Slot/Stats-Overlap */
}
.rpg-equip-float.has-float-panel-frame .equip-doll--gem{
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:none;
  min-height:0;
  height:auto;
}
.rpg-equip-float.has-float-panel-frame .equip-doll-board{
  flex:none;
  height:auto;
  min-height:0;
  display:block;
}
.float-panel-inner > .rpg-bag-float-head,
.float-panel-inner > .rpg-equip-float-head,
.float-panel-inner > .rpg-hub-tree-head{
  background:linear-gradient(180deg,rgba(8,10,16,.55),rgba(8,10,16,.18));
  border-bottom:1px solid rgba(226,192,122,.16);
  backdrop-filter:none;-webkit-backdrop-filter:none;
}
.float-panel-inner > .rpg-bag-float-body,
.float-panel-inner > .rpg-equip-float-body,
.float-panel-inner > .rpg-hub-tree-body{
  flex:1 1 auto;min-height:0;
  background:transparent;
}
.float-panel-inner.tree-panel-chrome{
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;
}
/* No backdrop-filter on slots — thrashing/flicker with frame + hub repaints */
.has-float-panel-frame .bag-slot,
.has-float-panel-frame .equip-gem,
.has-float-panel-frame .tree-node{
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
/* Portrait + slots: Icons zentriert im Kreis — Panel-Größe nicht an Slot-Kacheln koppeln */
.has-float-panel-frame .equip-doll-hero-frame{
  aspect-ratio:1 / 1!important;
  width:132px!important;height:132px!important;
  max-width:100%;flex-shrink:0;border-radius:50%;
}
.has-float-panel-frame .equip-doll-sprite{
  width:100%;height:100%;object-fit:cover;object-position:center top;
}
.has-float-panel-frame .equip-gem{
  aspect-ratio:auto;width:104px;height:auto;min-height:0;box-sizing:border-box;
  padding:3px 2px 4px;justify-content:flex-start;gap:2px;
}
.has-float-panel-frame .equip-doll-orbit{
  grid-template-columns:108px minmax(0,1fr) 108px;
  gap:8px 8px;
  align-items:center;
}
/* Portrait panels: 5-col grids (narrow width), taller rows use height */
.has-float-panel-frame .bag-slot-grid{
  grid-template-columns:repeat(5,minmax(48px,72px))!important;
  justify-content:center;
  gap:6px!important;
}
.has-float-panel-frame .bag-slot-grid--wh,
.has-float-panel-frame .bag-slot-grid--wh-strip{
  grid-template-columns:repeat(5,minmax(44px,68px))!important;
  justify-content:center;
  gap:5px!important;
}
.has-float-panel-frame .bag-slot{
  aspect-ratio:1 / 1;
  width:100%;
  max-width:72px;
  max-height:72px;
  justify-self:center;
}
.has-float-panel-frame .bag-slot-emoji{
  width:78%;height:78%;max-width:52px;max-height:52px;
}
.has-float-panel-frame .bag-slot--lg .bag-slot-emoji{
  width:84%;height:84%;max-width:56px;max-height:56px;
}
.has-float-panel-frame .bag-slot-emoji .item-ico,
.has-float-panel-frame .bag-slot-emoji .item-ico-fb,
.has-float-panel-frame .equip-gem-ico .item-ico{
  width:100%;height:100%;aspect-ratio:1 / 1;object-fit:contain;object-position:center;
}
.has-float-panel-frame .bag-slot-emoji .item-ico,
.has-float-panel-frame .bag-slot-emoji .item-ico-fb{
  filter:brightness(1.14) contrast(1.08) saturate(1.06);
}
.has-float-panel-frame .bag-slot--equip .bag-slot-emoji .item-ico,
.has-float-panel-frame .bag-slot--equip .bag-slot-emoji .item-ico-fb{
  filter:brightness(1.2) contrast(1.1) saturate(1.08);
}
.has-float-panel-frame .equip-gem-frame{
  width:84px;height:84px;
  background:
    radial-gradient(circle at 50% 40%, rgba(255,246,220,.34) 0%, rgba(120,128,150,.28) 48%, rgba(36,42,58,.55) 100%);
  border-color:rgba(255,255,255,.22);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.1),
    inset 0 0 18px rgba(255,236,190,.16),
    0 0 12px rgba(0,0,0,.18);
}
.has-float-panel-frame .equip-gem-ico{
  width:96%;height:96%;
}
.has-float-panel-frame .equip-gem-ico .item-ico,
.has-float-panel-frame .equip-gem-ico .item-ico-fb{
  filter:brightness(1.14) contrast(1.08) saturate(1.06);
}
.has-float-panel-frame .equip-gem-label{
  font-size:.46rem;letter-spacing:.02em;opacity:.68;line-height:1.05;
}
.has-float-panel-frame .equip-gem-name{
  font-size:.5rem;line-height:1.12;font-weight:750;
  -webkit-line-clamp:2;
}
/* Equip: Body scrollt — Doll/Board behalten natürliche Höhe (kein Flex-Quetschen) */
.has-float-panel-frame .rpg-equip-float-body{
  overflow-x:hidden;
  overflow-y:auto;
}
.has-float-panel-frame .equip-doll--gem{
  flex:none;
  height:auto;
  min-height:0;
}
.has-float-panel-frame .equip-doll-board{
  flex:none;
  height:auto;
  display:block;
}
/* legacy aliases (older markup) */
.float-panel-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;z-index:0}
.float-panel-veil{display:none!important}
.has-float-panel-bg{ /* migrate: treat like frame shell */
  border:none!important;background:transparent!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}

.rpg-bag-float.is-collapsed{display:none}
html.flix-rpg-pc-scale .rpg-bag-float.has-float-panel-frame,
html.flix-rpg-pc-scale .rpg-bag-float--wh.has-float-panel-frame,
html.flix-rpg-pc-scale .rpg-equip-float.has-float-panel-frame{
  border:none!important;
  background:transparent!important;
  border-radius:10px!important;
  box-shadow:0 22px 56px rgba(0,0,0,.58)!important;
  aspect-ratio:1080 / 1600!important;
  height:auto!important;
  width:min(440px,42%,calc(100% - 80px))!important;
  max-width:min(440px,calc(100% - 80px))!important;
  max-height:min(92%,920px)!important;
}
/* Equip overrides the shared bag/equip defaults above — keep generous */
html.flix-rpg-pc-scale .rpg-bag-float--wh.has-float-panel-frame{
  width:min(460px,44%,calc(100% - 80px))!important;
  max-width:min(460px,calc(100% - 80px))!important;
}
html.flix-rpg-pc-scale .rpg-equip-float.has-float-panel-frame{
  width:min(720px,58%,calc(100% - 80px))!important;
  max-width:min(720px,calc(100% - 80px))!important;
  max-height:min(94%,1040px)!important;
}
@media (max-width:720px){
  .has-float-panel-frame .float-panel-inner{
    margin:clamp(8px,2.6%,14px) clamp(8px,2.8%,16px) clamp(16px,7%,36px);
  }
  /* Inv/Lager/Equip: gleiche %-Insets wie Desktop (skalieren mit dem Frame) */
  .rpg-bag-float--bag.has-float-panel-frame > .float-panel-inner{
    inset:10.81% 6.3% 23.38% 6.3%;
    margin:0;
  }
  .rpg-bag-float--wh.has-float-panel-frame > .float-panel-inner{
    inset:15.06% 14.07% 15.38% 14.07%;
    margin:0;
  }
  .rpg-equip-float.has-float-panel-frame > .float-panel-inner{
    inset:10.875% 15.926% 15.75% 15%;
    margin:0;
    border-radius:0;
    overflow:hidden;
    box-shadow:none;
    -webkit-mask-image:none;
    mask-image:none;
    clip-path: polygon(
      0% 0%,
      100% 0%,
      100% 70%,
      96.5% 74%,
      93.5% 82%,
      93% 90%,
      95% 100%,
      0% 100%
    );
  }
  html:not(.flix-rpg-pc-scale) .rpg-bag-float.has-float-panel-frame,
  html:not(.flix-rpg-pc-scale) .rpg-equip-float.has-float-panel-frame{
    border:none!important;
    background:transparent!important;
    border-radius:10px!important;
  }
}
.rpg-hub-tree-shell.has-float-panel-frame{
  border:none!important;
  background:transparent!important;
}
@media (max-height:560px),(max-width:900px){
  .rpg-hub-tree-shell.has-float-panel-frame{
    width:min(100%,calc(min(100dvh,720px) * 1280 / 853))!important;
    height:auto!important;
    max-height:min(100dvh,720px)!important;
    aspect-ratio:1280 / 853;
    margin:auto;
  }
  .rpg-hub-tree-shell.has-float-panel-frame .float-panel-inner{
    margin:8px 8px 18px;
  }
}
.rpg-bag-float--wh{width:min(480px,calc(100vw - 24px))}
/* PC-Scale-Stage: Inv/Lager/Equip wie Desktop (Design-px in #app) */
html.flix-rpg-pc-scale .rpg-bag-float-layer,
html.flix-rpg-pc-scale .rpg-equip-float-layer{
  position:absolute!important;inset:0!important;pointer-events:none;
}
html.flix-rpg-pc-scale .rpg-bag-float,
html.flix-rpg-pc-scale .rpg-bag-float--wh,
html.flix-rpg-pc-scale .rpg-equip-float{
  position:absolute!important;
  width:420px!important;
  max-width:min(420px,calc(100% - 80px))!important;
  height:auto!important;
  max-height:min(780px,82%)!important;
  min-height:0!important;
  border-radius:14px!important;
  display:flex!important;flex-direction:column!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  transform:none!important;
  pointer-events:auto!important;
}
/* Framed windows: keep portrait asset aspect (1080×1600) — override fixed 420px box */
html.flix-rpg-pc-scale .rpg-bag-float.has-float-panel-frame{
  width:min(440px,42%,calc(100% - 80px))!important;
  max-width:min(440px,calc(100% - 80px))!important;
  max-height:min(92%,920px)!important;
  aspect-ratio:1080 / 1600!important;
  border-radius:10px!important;
}
html.flix-rpg-pc-scale .rpg-bag-float--wh.has-float-panel-frame{
  width:min(460px,44%,calc(100% - 80px))!important;
  max-width:min(460px,calc(100% - 80px))!important;
  max-height:min(92%,920px)!important;
  aspect-ratio:1080 / 1600!important;
  border-radius:10px!important;
}
html.flix-rpg-pc-scale .rpg-equip-float.has-float-panel-frame{
  width:min(720px,58%,calc(100% - 80px))!important;
  max-width:min(720px,calc(100% - 80px))!important;
  max-height:min(94%,1040px)!important;
  aspect-ratio:1080 / 1600!important;
  border-radius:10px!important;
}
html.flix-rpg-pc-scale .rpg-bag-float--wh{
  width:480px!important;
  max-width:min(480px,calc(100% - 80px))!important;
}
html.flix-rpg-pc-scale .rpg-bag-float--wh.has-float-panel-frame{
  width:min(460px,44%,calc(100% - 80px))!important;
  max-width:min(460px,calc(100% - 80px))!important;
}
html.flix-rpg-pc-scale .rpg-equip-float{
  width:560px!important;
  max-width:min(560px,calc(100% - 80px))!important;
  max-height:min(900px,90%)!important;
}
html.flix-rpg-pc-scale .rpg-equip-float.has-float-panel-frame{
  width:min(720px,58%,calc(100% - 80px))!important;
  max-width:min(720px,calc(100% - 80px))!important;
  max-height:min(94%,1040px)!important;
}
html.flix-rpg-pc-scale .rpg-bag-float-head,
html.flix-rpg-pc-scale .rpg-equip-float-head{
  flex-shrink:0!important;
  touch-action:none!important;
  min-height:44px;
}
html.flix-rpg-pc-scale .rpg-bag-float-title{
  flex:1 1 auto;min-width:64px;min-height:36px;
  display:flex;align-items:center;touch-action:none;cursor:grab;
}
html.flix-rpg-pc-scale .rpg-bag-float-body,
html.flix-rpg-pc-scale .rpg-equip-float-body{
  flex:1 1 auto!important;min-height:0!important;
  overflow-y:auto!important;overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch;
}
html.flix-rpg-pc-scale .bag-slot-grid,
html.flix-rpg-pc-scale .bag-slot-grid--wh,
html.flix-rpg-pc-scale .bag-slot-grid--wh-strip{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
html.flix-rpg-pc-scale .has-float-panel-frame .bag-slot-grid{
  grid-template-columns:repeat(5,minmax(48px,72px))!important;
  justify-content:center;
}
html.flix-rpg-pc-scale .has-float-panel-frame .bag-slot-grid--wh,
html.flix-rpg-pc-scale .has-float-panel-frame .bag-slot-grid--wh-strip{
  grid-template-columns:repeat(5,minmax(44px,68px))!important;
  justify-content:center;
}
/* Ohne PC-Scale (Fallback): schwebend wie Desktop */
@media (max-height:900px),(max-width:1100px){
  html:not(.flix-rpg-pc-scale) .rpg-bag-float,
  html:not(.flix-rpg-pc-scale) .rpg-bag-float--wh,
  html:not(.flix-rpg-pc-scale) .rpg-equip-float{
    width:min(420px,calc(100vw - 72px))!important;
    max-width:min(420px,calc(100vw - 72px))!important;
    height:auto!important;
    max-height:min(780px,82dvh)!important;
    min-height:0!important;
    display:flex!important;flex-direction:column!important;
    overflow:hidden!important;
    border-radius:14px;
    box-sizing:border-box!important;
  }
  html:not(.flix-rpg-pc-scale) .rpg-bag-float.has-float-panel-frame,
  html:not(.flix-rpg-pc-scale) .rpg-bag-float--wh.has-float-panel-frame,
  html:not(.flix-rpg-pc-scale) .rpg-equip-float.has-float-panel-frame{
    width:min(440px,42vw,calc(100vw - 24px))!important;
    max-width:min(440px,calc(100vw - 24px))!important;
    max-height:min(92dvh,920px)!important;
    aspect-ratio:1080 / 1600!important;
    border-radius:10px!important;
  }
  html:not(.flix-rpg-pc-scale) .rpg-bag-float--wh.has-float-panel-frame{
    width:min(460px,44vw,calc(100vw - 24px))!important;
    max-width:min(460px,calc(100vw - 24px))!important;
  }
  html:not(.flix-rpg-pc-scale) .rpg-equip-float.has-float-panel-frame{
    width:min(720px,58vw,calc(100vw - 24px))!important;
    max-width:min(720px,calc(100vw - 24px))!important;
    max-height:min(94dvh,1040px)!important;
  }
  html:not(.flix-rpg-pc-scale) .rpg-bag-float-body,
  html:not(.flix-rpg-pc-scale) .rpg-equip-float-body{
    flex:1 1 auto!important;min-height:0!important;
    overflow-y:auto!important;overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch;
  }
  .bag-slot-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important}
  .bag-slot-grid--wh,.bag-slot-grid--wh-strip{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important}
  .rpg-hub-tree-modal{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}
.rpg-bag-float-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:10px 12px;cursor:grab;user-select:none;
  background:linear-gradient(180deg,rgba(255,255,255,.06),transparent);
  border-bottom:1px solid rgba(255,255,255,.08);
  touch-action:none;
}
.rpg-bag-float-head:active{cursor:grabbing}
body.bag-float-dragging{cursor:grabbing;user-select:none}
.rpg-bag-float-title{
  display:flex;align-items:center;gap:8px;font-size:.92rem;min-width:0;
}
.rpg-bag-float-title strong{font-weight:850}
.rpg-bag-float-cap{
  font-size:.72rem;font-weight:800;opacity:.75;
  padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.08);
}
.rpg-bag-float-head-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}
.rpg-bag-float-body{
  overflow:auto;padding:10px 12px 14px;flex:1;min-height:0;
  overscroll-behavior:contain;
}
/* APK/Touch: 1 Finger Items ziehen, 2 Finger scrollen (JS: ensureBagFloatTouchGestures) */
html[data-abenteuer-apk="1"] .rpg-bag-float-body,
html[data-abenteuer-apk="1"] .rpg-equip-float-body,
html[data-mobile-shell="1"] .rpg-bag-float-body,
html[data-mobile-shell="1"] .rpg-equip-float-body,
html.flix-rpg-mobile .rpg-bag-float-body,
html.flix-rpg-mobile .rpg-equip-float-body{
  touch-action:none;
  -webkit-overflow-scrolling:touch;
}
html[data-abenteuer-apk="1"] .bag-slot,
html[data-mobile-shell="1"] .bag-slot,
html.flix-rpg-mobile .bag-slot{
  touch-action:none;
}
body.rpg-touch-item-dragging{
  cursor:grabbing;user-select:none;-webkit-user-select:none;
}
.rpg-touch-drag-ghost .item-ico,
.rpg-touch-drag-ghost img,
.rpg-touch-drag-ghost span{
  width:40px!important;height:40px!important;font-size:1.6rem!important;
  object-fit:contain;display:block;
}
.bag-float-toolbar{display:flex;gap:6px;margin:0 0 8px;flex-wrap:wrap}
.bag-filter-chip{
  appearance:none;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);
  color:inherit;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:750;cursor:pointer;
}
.bag-filter-chip.is-active{
  border-color:rgba(232,197,71,.45);background:rgba(232,197,71,.16);color:#fde68a;
}
.bag-float-summary{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;padding:8px}
.bag-float-topmeta{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin:0 0 8px;padding:8px 10px;border-radius:12px;
  background:linear-gradient(165deg,rgba(234,179,8,.12),rgba(8,12,22,.45));
  border:1px solid rgba(234,179,8,.28);
}
.bag-float-topmeta .bag-float-fc{font-weight:850}
.bag-float-topmeta .bag-open-equip-btn{flex-shrink:0;width:auto;margin:0}
.bag-float-loading{padding:20px;text-align:center}
.bag-open-equip-btn{
  width:100%;margin:6px 0 10px;font-weight:800;
  background:linear-gradient(145deg,rgba(167,139,250,.22),rgba(0,0,0,.35));
  border:1px solid rgba(167,139,250,.4);
}

/* Ausrüstung Paper-Doll Float */
.rpg-equip-float-layer{
  position:fixed;inset:0;z-index:12045;pointer-events:none;
}
.rpg-equip-float-layer.hidden{display:none}
.rpg-equip-float{
  position:fixed;pointer-events:auto;width:min(560px,calc(100vw - 16px));
  max-height:min(90vh,900px);display:flex;flex-direction:column;
  border-radius:18px;border:1px solid rgba(232,197,71,.28);
  background:
    radial-gradient(ellipse 90% 55% at 50% 12%,rgba(232,197,71,.14),transparent 55%),
    radial-gradient(ellipse 70% 40% at 50% 70%,rgba(94,196,255,.08),transparent 60%),
    rgba(9,12,20,.96);
  box-shadow:0 24px 60px rgba(0,0,0,.55);overflow:hidden;
}
.rpg-equip-float-body{overflow:auto;padding:12px 14px 16px;flex:1;min-height:0;overscroll-behavior:contain}
.equip-doll--gem{display:flex;flex-direction:column;gap:10px}
.equip-doll-board{
  padding:8px;border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.2));
  border:1px solid rgba(255,255,255,.08);
}
.equip-doll-orbit{
  display:grid;
  grid-template-columns:108px minmax(0,1fr) 108px;
  grid-template-areas:
    ". helm ."
    "weapon core offhand"
    ". armor ."
    "ring boots amulet";
  gap:8px 8px;align-items:center;justify-items:center;
}
.equip-gem.is-helmet{grid-area:helm}
.equip-gem.is-weapon{grid-area:weapon}
.equip-gem.is-offhand{grid-area:offhand}
.equip-gem.is-armor{grid-area:armor}
.equip-gem.is-ring{grid-area:ring}
.equip-gem.is-boots{grid-area:boots}
.equip-gem.is-amulet{grid-area:amulet}
.equip-doll-core{grid-area:core;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;padding:6px 0 2px}
.equip-doll-core-glow{
  position:absolute;inset:0 8% auto;height:70%;
  background:radial-gradient(circle,rgba(232,197,71,.28),transparent 68%);
  filter:blur(6px);pointer-events:none;
}
.equip-doll-hero-frame{
  position:relative;width:132px;height:132px;border-radius:50%;
  border:2px solid rgba(232,197,71,.55);
  box-shadow:0 0 0 5px rgba(0,0,0,.35),0 0 32px rgba(232,197,71,.18);
  background:rgba(0,0,0,.4);overflow:hidden;display:grid;place-items:center;z-index:1;
}
.equip-doll-sprite{width:100%;height:100%;object-fit:cover;object-position:center top}
.equip-doll-sprite.hidden{display:none}
.equip-doll-fallback{font-size:2.6rem;line-height:1}
.equip-doll-hero-copy{text-align:center;z-index:1}
.equip-doll-hero-name{font-size:1rem;font-weight:900}
.equip-gem{
  position:relative;width:100px;min-height:0;border-radius:14px;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;
  padding:3px 2px 4px;cursor:pointer;user-select:none;
  background:rgba(12,16,28,.78);border:1px solid rgba(255,255,255,.14);
  transition:transform .12s,border-color .12s,box-shadow .12s;
}
.equip-gem-frame{
  position:relative;width:78px;height:78px;flex:0 0 auto;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(circle at 50% 40%, rgba(255,246,220,.3) 0%, rgba(110,118,140,.26) 48%, rgba(32,38,52,.52) 100%);
  border:1px solid rgba(255,255,255,.2);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.08),
    inset 0 0 16px rgba(255,236,190,.14),
    0 0 10px rgba(0,0,0,.16);
  overflow:hidden;
}
.equip-gem-ring{
  position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.equip-gem.is-filled{
  border-color:var(--slot-accent,rgba(232,197,71,.55));
  box-shadow:0 0 0 1px color-mix(in srgb, var(--slot-accent,#e8c547) 30%, transparent),0 8px 18px rgba(0,0,0,.28);
}
.equip-gem.is-filled .equip-gem-frame{
  border-color:color-mix(in srgb, var(--slot-accent,#e8c547) 55%, rgba(255,255,255,.15));
}
.equip-gem.is-empty{opacity:.62;border-style:dashed}
.equip-gem:hover{transform:translateY(-1px)}
.equip-gem.is-drop-target{
  border-color:rgba(94,196,255,.85)!important;
  box-shadow:0 0 0 2px rgba(94,196,255,.35),0 0 18px rgba(94,196,255,.2);
}
.equip-gem.is-twohand-link{
  opacity:.92;
  border-style:dashed;
  border-color:rgba(232,197,71,.55);
}
.equip-gem.is-twohand-link .equip-gem-name{color:#fde68a}
.equip-gem-2h{
  color:#fde68a;letter-spacing:.02em;
}
.equip-gem.is-dragging{opacity:.4}
.equip-gem-ico{
  position:relative;z-index:1;width:96%;height:96%;
  display:flex;align-items:center;justify-content:center;
  font-size:1.55rem;line-height:1;
}
.equip-gem-ico .item-ico,
.equip-gem-ico .item-ico-fb{
  width:100%;height:100%;max-width:100%;max-height:100%;
  object-fit:contain;object-position:center;display:block;margin:0;padding:0;
  filter:brightness(1.12) contrast(1.06) saturate(1.04);
}
.equip-gem-ico .item-ico-fb{
  display:flex;align-items:center;justify-content:center;line-height:1;
}
.equip-gem-enh{
  position:absolute;top:2px;right:2px;font-size:.55rem;font-weight:900;
  background:rgba(0,0,0,.65);padding:1px 4px;border-radius:6px;color:#fde68a;z-index:2;
}
.equip-gem-label{
  position:relative;z-index:1;font-size:.48rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;
  opacity:.72;line-height:1.1;max-width:100%;text-align:center;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 1px;
}
/* Itemname nur bei Hover — Slot-Typ-Label (.equip-gem-label) bleibt */
.equip-gem-name{display:none!important}
.equip-doll-bonuses{margin:0}
.equip-doll-stats{display:flex;flex-direction:column;gap:8px}
.equip-doll-primaries{
  display:flex;flex-wrap:wrap;gap:6px;justify-content:center;
}
.equip-stat-pill{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 10px;border-radius:999px;font-size:.72rem;font-weight:800;
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);
}
.equip-stat-pill strong{font-weight:900;letter-spacing:.01em}
.equip-stat-pill>span:last-child{opacity:.78;font-weight:700;font-size:.64rem}
.equip-stat-atk{background:rgba(248,113,113,.12);border-color:rgba(248,113,113,.35);color:#fecaca}
.equip-stat-def{background:rgba(96,165,250,.12);border-color:rgba(96,165,250,.35);color:#bfdbfe}
.equip-stat-hp{background:rgba(52,211,153,.12);border-color:rgba(52,211,153,.35);color:#a7f3d0}
.equip-doll-secondaries{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 6px;
}
.equip-sec-pill{
  display:flex;align-items:center;gap:6px;min-width:0;
  padding:6px 8px;border-radius:9px;
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);
  font-size:.66rem;font-weight:750;line-height:1.2;
}
.equip-sec-ico{flex-shrink:0;font-size:.82rem;line-height:1}
.equip-sec-txt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:420px){
  .equip-doll-secondaries{grid-template-columns:1fr}
}

/* Item-Kontextmenü (Rechtsklick) */
.rpg-item-ctx-menu{
  position:fixed;z-index:150000;min-width:188px;max-width:min(280px,calc(100vw - 16px));
  pointer-events:auto;
  animation:rpgCtxIn .12s ease-out;
}
@keyframes rpgCtxIn{from{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:none}}
.rpg-item-ctx-inner{
  display:flex;flex-direction:column;gap:2px;padding:6px;
  border-radius:12px;border:1px solid rgba(232,197,71,.35);
  background:linear-gradient(165deg,rgba(18,20,32,.98),rgba(8,10,18,.99));
  box-shadow:0 16px 40px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(12px);
}
.rpg-item-ctx-item{
  appearance:none;display:flex;align-items:center;gap:9px;width:100%;
  padding:8px 10px;border:0;border-radius:8px;cursor:pointer;text-align:left;
  background:transparent;color:#e2e8f0;font:inherit;font-size:.78rem;font-weight:750;
  transition:background .1s ease;
}
.rpg-item-ctx-item:hover:not(:disabled),
.rpg-item-ctx-item:focus-visible:not(:disabled){
  background:rgba(232,197,71,.14);outline:none;
}
.rpg-item-ctx-item.is-danger{color:#fecaca}
.rpg-item-ctx-item.is-danger:hover:not(:disabled){background:rgba(248,113,113,.14)}
.rpg-item-ctx-item.is-disabled,
.rpg-item-ctx-item:disabled{opacity:.45;cursor:not-allowed}
.rpg-item-ctx-ico{width:1.2em;text-align:center;flex-shrink:0}
.rpg-item-ctx-lbl{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.equip-doll-hint{text-align:center;margin:0;opacity:.7}
.equip-doll-bag-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;
}
.equip-bag-chip{
  display:flex;align-items:center;gap:7px;padding:7px 8px;border-radius:10px;
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);
  cursor:grab;min-width:0;
}
.equip-bag-chip:hover{border-color:var(--slot-accent,rgba(94,196,255,.45));background:rgba(94,196,255,.07)}
.equip-bag-chip.is-locked{opacity:.4;cursor:not-allowed}
.equip-bag-chip.is-dragging{opacity:.4}
.equip-bag-chip-ico{font-size:1.1rem;flex-shrink:0}
.equip-bag-chip-name{font-size:.72rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.equip-doll-empty-note{text-align:center;margin:0}
@media (max-width:420px){
  .equip-doll-hero-frame{width:112px;height:112px}
  .equip-gem{width:90px}
  .equip-gem-frame{width:68px;height:68px}
  .equip-doll-orbit{grid-template-columns:94px minmax(0,1fr) 94px;gap:6px 6px}
  .equip-doll-bag-grid{grid-template-columns:1fr}
}
#craft-ingredient-tooltip.bag-slot-detail-tip,
#craft-ingredient-tooltip.is-rich-tip{
  max-width:min(340px,calc(100vw - 20px));
  min-width:min(240px,calc(100vw - 24px));
  padding:14px 15px 12px;
  border-radius:14px;
  background:linear-gradient(165deg, rgba(18,22,34,.97), rgba(10,12,20,.96));
  border:1px solid rgba(212,175,96,.28);
  box-shadow:0 18px 40px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.05);
}
#craft-ingredient-tooltip.bag-tip-compare-wide{
  /* Feste Breite — am Rand nur verschieben, nicht schmaler machen */
  width:520px;
  max-width:calc(100vw - 16px);
  min-width:0;
  box-sizing:border-box;
  padding:12px 12px 10px;
}
#craft-ingredient-tooltip.is-bag-compare .tip-name,
#craft-ingredient-tooltip.bag-tip-compare-wide .tip-name.hidden{
  display:none!important;
}
#craft-ingredient-tooltip .bag-tip-compare{
  margin:0;padding:0;border:none;background:transparent;
}
#craft-ingredient-tooltip .bag-tip-compare-dual{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch;
  width:100%;
}
#craft-ingredient-tooltip .bag-tip-compare-pane{
  min-width:0;padding:10px 10px 8px;border-radius:12px;
  background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.08);
  display:flex;flex-direction:column;gap:1px;
}
#craft-ingredient-tooltip .bag-tip-compare-pane.is-empty{
  justify-content:flex-start;opacity:.88;
}
#craft-ingredient-tooltip .bag-tip-compare-name{
  font-size:.88rem;font-weight:850;line-height:1.25;color:#f8e7b0;
  margin:0 0 4px;padding-bottom:8px;border-bottom:1px solid rgba(212,175,96,.16);
}
#craft-ingredient-tooltip .bag-tip-compare-empty{margin:6px 0 0;line-height:1.35}
#craft-ingredient-tooltip .bag-tip-compare-pane .bag-tip-where{margin:0 0 6px}
#craft-ingredient-tooltip .bag-tip-compare-pane .stat-hover-v.eq-diff-up{color:#86efac;font-weight:800}
#craft-ingredient-tooltip .bag-tip-compare-pane .stat-hover-v.eq-diff-down{color:#fca5a5;font-weight:800}
#craft-ingredient-tooltip .bag-tip-compare-pane .stat-hover-v.eq-diff-new{color:#93c5fd;font-weight:800}
#craft-ingredient-tooltip .bag-tip-compare-pane .eq-diff-tag{
  font-size:.58rem;font-weight:750;opacity:.92;margin-left:4px;
}
.bag-equip-compare-card-dual{
  width:520px;
  max-width:calc(100vw - 16px);
  box-sizing:border-box;
}
.bag-equip-compare-card-dual .bag-tip-compare-dual{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;
}
.bag-equip-compare-card-dual .bag-tip-compare-pane{
  min-width:0;padding:10px;border-radius:12px;
  background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.08);
}
.bag-equip-compare-card-dual .bag-tip-compare-name{
  font-size:.88rem;font-weight:850;color:#f8e7b0;margin:0 0 4px;
  padding-bottom:8px;border-bottom:1px solid rgba(212,175,96,.16);
}
.bag-equip-compare-card-dual .stat-hover-v.eq-diff-up{color:#86efac;font-weight:800}
.bag-equip-compare-card-dual .stat-hover-v.eq-diff-down{color:#fca5a5;font-weight:800}
.bag-equip-compare-card-dual .eq-diff-tag{font-size:.58rem;margin-left:4px;opacity:.92}
@media (max-width:520px){
  #craft-ingredient-tooltip.bag-tip-compare-wide{
    width:calc(100vw - 10px);
    max-width:calc(100vw - 10px);
  }
  #craft-ingredient-tooltip .bag-tip-compare-dual,
  .bag-equip-compare-card-dual .bag-tip-compare-dual{grid-template-columns:1fr;gap:8px}
  .bag-equip-compare-card-dual{width:calc(100vw - 16px)}
}
#craft-ingredient-tooltip.is-rich-tip .tip-name{
  display:block;
  font-size:.95rem;font-weight:850;letter-spacing:.01em;line-height:1.25;
  color:#f8e7b0;padding-bottom:10px;margin-bottom:2px;
  border-bottom:1px solid rgba(212,175,96,.18);
}
#craft-ingredient-tooltip .tip-emoji{display:none!important}
#craft-ingredient-tooltip.is-rich-tip .tip-desc,
#craft-ingredient-tooltip.is-rich-tip #craft-ingredient-tip-desc{
  white-space:normal;margin:0;padding:0;border:0;
  display:flex;flex-direction:column;gap:1px;
}
#craft-ingredient-tooltip .bag-tip-where{
  display:flex;margin:0 0 8px;
}
#craft-ingredient-tooltip .bag-tip-where span{
  font-size:.6rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  padding:3px 9px;border-radius:999px;
  background:rgba(94,196,255,.12);border:1px solid rgba(94,196,255,.24);color:#bae6fd;
}
#craft-ingredient-tooltip .bag-tip-sec{
  display:flex;align-items:center;gap:8px;margin:10px 0 4px;
}
#craft-ingredient-tooltip .bag-tip-sec:first-child{margin-top:2px}
#craft-ingredient-tooltip .bag-tip-sec span{
  font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(212,175,96,.88);
}
#craft-ingredient-tooltip .bag-tip-sec::after{
  content:"";flex:1;height:1px;background:linear-gradient(90deg, rgba(212,175,96,.28), transparent);
}
#craft-ingredient-tooltip .bag-tip-set{
  margin:8px 0 4px;padding:10px 11px 9px;border-radius:12px;
  background:linear-gradient(165deg,rgba(72,44,22,.42),rgba(16,10,6,.55));
  border:1px solid rgba(232,192,122,.22);
  box-shadow:inset 0 1px 0 rgba(255,230,180,.08);
  display:flex;flex-direction:column;gap:7px;
}
#craft-ingredient-tooltip .bag-tip-set.is-complete{
  border-color:rgba(74,222,128,.35);
  background:linear-gradient(165deg, rgba(22,64,40,.35), rgba(0,0,0,.2));
}
#craft-ingredient-tooltip .bag-tip-set-head{
  display:flex;justify-content:space-between;align-items:baseline;gap:10px;
}
#craft-ingredient-tooltip .bag-tip-set-name{
  font-size:.74rem;font-weight:850;color:#f8e7b0;
}
#craft-ingredient-tooltip .bag-tip-set-progress{
  font-size:.62rem;font-weight:800;opacity:.7;white-space:nowrap;
}
#craft-ingredient-tooltip .bag-tip-set-progress.is-on{color:#86efac;opacity:1}
#craft-ingredient-tooltip .bag-tip-set-meta{
  font-size:.62rem;opacity:.72;margin-top:-2px;
}
#craft-ingredient-tooltip .bag-tip-set-tiers{
  display:flex;flex-direction:column;gap:5px;
}
#craft-ingredient-tooltip .bag-tip-set-tier{
  padding:6px 7px;border-radius:8px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);
}
#craft-ingredient-tooltip .bag-tip-set-tier.is-active{
  background:rgba(34,197,94,.12);
  border-color:rgba(74,222,128,.42);
  box-shadow:inset 0 0 0 1px rgba(74,222,128,.12);
}
#craft-ingredient-tooltip .bag-tip-set-tier-req{
  display:flex;justify-content:space-between;align-items:center;gap:8px;
  font-size:.66rem;font-weight:800;margin-bottom:3px;color:#e2e8f0;
}
#craft-ingredient-tooltip .bag-tip-set-check{
  color:#86efac;font-size:.6rem;letter-spacing:.04em;text-transform:uppercase;
}
#craft-ingredient-tooltip .bag-tip-set-missing{
  color:rgba(203,213,225,.72);font-size:.6rem;font-weight:700;
}
#craft-ingredient-tooltip .bag-tip-set-bonus-list,
#craft-ingredient-tooltip .bag-tip-stat-list{
  list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;
}
#craft-ingredient-tooltip .bag-tip-set-bonus-list li,
#craft-ingredient-tooltip .bag-tip-stat-list li{
  position:relative;padding:1px 0 1px 14px;
  font-size:.66rem;line-height:1.42;color:#f4ead6;font-weight:650;
}
#craft-ingredient-tooltip .bag-tip-set-bonus-list li::before,
#craft-ingredient-tooltip .bag-tip-stat-list li::before{
  content:"";position:absolute;left:1px;top:.58em;
  width:5px;height:5px;border:1px solid rgba(232,192,122,.72);
  background:rgba(232,192,122,.2);transform:rotate(45deg);
}
#craft-ingredient-tooltip .bag-tip-set-tier.is-active .bag-tip-set-bonus-list li{
  color:#e8fcd9;font-weight:750;
}
#craft-ingredient-tooltip .bag-tip-set-bonus-empty{
  font-size:.66rem;opacity:.65;
}
#craft-ingredient-tooltip .bag-tip-warn{color:#fca5a5;font-weight:800}
#craft-ingredient-tooltip .bag-tip-quest{color:#fcd34d;font-weight:800}
#craft-ingredient-tooltip .bag-tip-muted{opacity:.72}
#craft-ingredient-tooltip .bag-tip-hint{
  margin:10px 0 0;padding-top:9px;border-top:1px solid rgba(255,255,255,.08);
  font-size:.6rem;opacity:.68;line-height:1.4;
}
#craft-ingredient-tooltip.is-rich-tip .stat-hover-row{
  display:flex;justify-content:space-between;gap:14px;align-items:baseline;
  font-size:.74rem;line-height:1.4;padding:3px 0;
}
#craft-ingredient-tooltip.is-rich-tip .stat-hover-row.is-block{
  flex-direction:column;gap:2px;align-items:stretch;padding:5px 0;
}
#craft-ingredient-tooltip.is-rich-tip .stat-hover-k{
  opacity:.7;font-weight:650;flex-shrink:0;color:#c7d2e0;
}
#craft-ingredient-tooltip.is-rich-tip .stat-hover-v{
  font-weight:800;text-align:right;word-break:break-word;color:#f1f5f9;
}
/* Gesperrte Klasse/Level müssen die normale V-Farbe überschreiben */
#craft-ingredient-tooltip .stat-hover-v.bag-tip-warn,
#craft-ingredient-tooltip.is-rich-tip .stat-hover-v.bag-tip-warn,
.rpg-tooltip-portal .stat-hover-v.bag-tip-warn,
.stat-hover-tip .stat-hover-v.bag-tip-warn{
  color:#f87171!important;font-weight:850;
  text-shadow:0 0 12px rgba(248,113,113,.25);
}
#craft-ingredient-tooltip .stat-hover-row.is-req-locked .stat-hover-k,
#craft-ingredient-tooltip.is-rich-tip .stat-hover-row.is-req-locked .stat-hover-k,
.rpg-tooltip-portal .stat-hover-row.is-req-locked .stat-hover-k{
  color:#fca5a5;opacity:1;
}
#craft-ingredient-tooltip.is-rich-tip .stat-hover-row.is-block .stat-hover-v{
  text-align:left;font-weight:700;opacity:.95;line-height:1.4;
}
#craft-ingredient-tooltip.is-rich-tip .stat-hover-desc{
  margin:8px 0 0;padding-top:8px;border-top:1px solid rgba(255,255,255,.06);
  font-size:.68rem;line-height:1.45;opacity:.88;color:#cbd5e1;
}
#craft-ingredient-tip-desc{white-space:pre-wrap;line-height:1.35}
@media (max-width:420px){
  html:not(.flix-rpg-pc-scale) .bag-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  html:not(.flix-rpg-pc-scale) .bag-slot-grid--wh,
  html:not(.flix-rpg-pc-scale) .bag-slot-grid--wh-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
  html:not(.flix-rpg-pc-scale) .rpg-bag-float,
  html:not(.flix-rpg-pc-scale) .rpg-bag-float--wh{
    width:min(100vw - 16px,480px)
  }
  html:not(.flix-rpg-pc-scale) .bag-slot.bag-slot--lg{min-height:64px}
}
.inv-sec-line { margin: 0 0 8px; font-size: .64rem; }
.inv-fold { margin-bottom: 8px; }
.inv-fold-summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 6px; }
.inv-fold-summary::-webkit-details-marker { display: none; }
.equip-slots-compact .equip-slot { padding: 6px 8px; }
.inv-row-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin: 0 !important;
  max-width: 100%;
}
.inv-row-actions[data-btn-count="1"] { grid-template-columns: 1fr; }
.inv-row-actions[data-btn-count="3"] .inv-action-btn:last-child,
.inv-row-actions[data-btn-count="5"] .inv-action-btn:last-child {
  grid-column: 1 / -1;
}
.inv-row-actions .btn,
.inv-row-actions .inv-action-btn {
  flex: 0 1 auto; min-width: 0; width: 100%; max-width: 100%;
  justify-content: center; align-items: center;
  min-height: 34px; padding: 7px 10px;
  font-size: .64rem; white-space: nowrap; line-height: 1.15;
  display: inline-flex; gap: 5px; border-radius: 10px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.045);
  color: #e2e8f0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
  transition: background .12s ease, border-color .12s ease, filter .12s ease, box-shadow .12s ease;
}
.inv-row-actions .inv-action-btn:hover:not(:disabled){
  filter:brightness(1.08);
  transform:none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 0 0 1px rgba(255,255,255,.06);
}
.inv-row-actions .inv-action-btn:active:not(:disabled){filter:brightness(.95)}
.inv-action-btn .inv-btn-icon { font-size: .82rem; line-height: 1; flex-shrink: 0; }
.inv-action-btn .inv-btn-label { font-weight: 750; overflow: hidden; text-overflow: ellipsis; letter-spacing: .01em; }
.inv-btn-equip { background: rgba(52,211,153,.14); border-color: rgba(52,211,153,.38); color: #a7f3d0; }
.inv-btn-use { background: rgba(56,189,248,.12); border-color: rgba(56,189,248,.34); color: #bae6fd; }
.inv-btn-sell {
  background: linear-gradient(180deg,rgba(234,179,8,.26),rgba(234,179,8,.12));
  border-color: rgba(234,179,8,.48); color: #fde68a; font-weight: 800;
}
.inv-btn-dismantle { background: rgba(100,116,139,.12); border-color: rgba(148,163,184,.3); color: #cbd5e1; }
.inv-btn-upgrade { background: rgba(96,165,250,.14); border-color: rgba(96,165,250,.36); color: #bfdbfe; }
.inv-btn-enhance { background: rgba(167,139,250,.14); border-color: rgba(167,139,250,.36); color: #ddd6fe; }
.inv-btn-ascension { background: rgba(249,115,22,.15); border-color: rgba(249,115,22,.42); color: #fdba74; }
.inv-btn-smith {
  background: linear-gradient(180deg,rgba(245,158,11,.22),rgba(180,83,9,.12));
  border-color: rgba(251,191,36,.48); color: #fde68a; font-weight: 800;
}
.inv-btn-repair { background: rgba(45,212,191,.13); border-color: rgba(45,212,191,.36); color: #99f6e4; }
.inv-btn-locked{
  grid-column: 1 / -1;
  opacity:.85; cursor:not-allowed; filter:none;
  background:rgba(248,113,113,.08)!important;
  border-color:rgba(248,113,113,.3)!important;
  color:#fecaca!important;
  box-shadow:none!important;
}
.trade-pick-grid .inv-item.trade-pick-btn { cursor: pointer; transition: transform .12s ease, border-color .12s ease, background .12s ease; min-height: 72px; }
.trade-pick-grid .inv-item.trade-pick-btn:hover { transform: translateY(-1px); border-color: rgba(94,196,255,.45); background: rgba(94,196,255,.08); }
.trade-pick-grid .inv-item .inv-name { font-size: .68rem; line-height: 1.25; max-height: 2.5em; overflow: hidden; }
.shop-buy-row { display: flex; flex-wrap: wrap; gap: 5px; justify-content: center; width: 100%; margin-top: 4px; }
.shop-buy-row .btn { flex: 1 1 auto; min-width: 0; font-size: .64rem; padding: 5px 6px; }
.shop-mat-costs{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin:2px 0}
.hub-invite-line { flex: 1 1 180px; min-width: 0; margin: 0; }
.inv-item-actions { width: 100%; max-width: 100%; min-width: 0; overflow: visible; display:flex; flex-direction:column; gap:6px; }
.inv-item-actions .inv-cost-line { margin-bottom: 0; }
.quest-row { display: flex; align-items: center; gap: 10px; padding: 0; }
.quest-row-main { display: flex; align-items: flex-start; gap: 8px; flex: 1; min-width: 0; }
.quest-row-text { min-width: 0; flex: 1; }
.quest-row-side { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 5px; flex-shrink: 0; max-width: 48%; }
.quest-row-rewards{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px}
.quest-row-card{
  padding:9px 10px;border-radius:var(--r-sm);
  border:1px solid rgba(255,255,255,.09);
  background:rgba(12,14,24,.55);
  transition:border-color .15s ease,background .15s ease,transform .12s ease;
}
.quest-row-card:hover{
  border-color:rgba(232,197,71,.32);
  background:rgba(232,197,71,.06);
  transform:translateY(-1px);
}
.quest-row-icon{
  width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-size:1.25rem;line-height:1;border-radius:10px;
  background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1);
}
.quest-desc{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;line-height:1.35;margin-top:2px;
}
.quest-lvl-chip,.quest-reward-chip,.quest-xp-chip{font-variant-numeric:tabular-nums;white-space:nowrap}
.quest-xp-chip{
  border-color:rgba(167,139,250,.35)!important;
  background:rgba(167,139,250,.12)!important;
  color:#ddd6fe!important;
}
.quest-start-btn{min-width:3.4rem;padding:4px 8px;font-size:.62rem}
.quest-fold{margin:0 0 10px}
.quest-fold-summary{
  cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:8px 10px;margin:0 0 6px;border-radius:var(--r-sm);
  background:rgba(232,197,71,.07);border:1px solid rgba(232,197,71,.2);
  font-size:.66rem;font-weight:800;color:var(--gold);text-transform:uppercase;letter-spacing:.04em;
}
.quest-fold-summary::-webkit-details-marker{display:none}
.quest-fold-summary::after{content:'▾';font-size:.75rem;color:var(--muted);transition:transform .15s ease}
.quest-fold:not([open]) .quest-fold-summary::after{transform:rotate(-90deg)}
.quest-fold-count{
  font-size:.62rem;font-weight:700;color:var(--muted);
  background:rgba(0,0,0,.25);padding:2px 7px;border-radius:999px;
}
.quest-fold-label{flex:1;min-width:0}
.quest-level-hint,.quest-more-hint,.quest-lock-hint,.quest-done-foot{margin:8px 0;text-align:center}
.quest-empty{text-align:center;padding:28px 12px}
.quest-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.quest-panel-title{margin:0}
.quest-level-chip{border-color:rgba(232,197,71,.35);color:var(--gold)}
.quest-claim{text-align:center;padding:12px;margin-bottom:10px;border-color:rgba(46,204,113,.4)}
.quest-claim-emoji{font-size:1.5rem;margin-bottom:4px}
.quest-claim-title{display:block;margin-bottom:4px}
.quest-claim-hint{margin:4px 0 8px}
.quest-claim-btn{margin-top:8px}
.quest-feedback{padding:8px 10px;margin-bottom:8px;font-size:.74rem;line-height:1.4}
.quest-hint,.quest-zone-hint{padding:8px 10px;margin:6px 0;font-size:.72rem;line-height:1.4}
.quest-objective{font-size:.8rem;line-height:1.5;color:var(--txt);margin:4px 0 8px}
.quest-progress-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0 4px;font-size:.72rem}
.quest-progress-label{color:var(--muted)}
.quest-progress-count{font-weight:700;color:var(--gold)}
.quest-objective-bar{height:8px;margin-bottom:8px}
.quest-nav-hint{display:flex;align-items:flex-start;gap:8px;padding:9px 11px;margin:8px 0;border-radius:var(--r-sm);border:1px solid rgba(156,39,176,.22);background:rgba(30,20,40,.45);font-size:.72rem;line-height:1.45;color:var(--muted)}
.quest-nav-icon{flex-shrink:0;font-size:.9rem;line-height:1.3}
.quest-nav-text strong{color:var(--gold);font-weight:700}
.quest-step-track{margin:8px 0 6px}
.quest-step-track-label{display:block;margin-bottom:3px}
.quest-step-bar{height:5px;opacity:.85}
.quest-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.quest-header-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.quest-progress-bar{height:7px;margin:6px 0}
.inv-item { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 10px 8px; border-radius: var(--r-sm); border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.04); text-align: center; transition: transform .12s ease, border-color .12s ease, background .12s ease, box-shadow .12s ease; }
.inv-item.equipped { border-color: rgba(232,197,71,.4); background: rgba(232,197,71,.07); }
.inv-grid .inv-item:hover,.inv-list .inv-item:hover:not(.trade-pick-btn){
  border-color:rgba(94,196,255,.42);
  background:rgba(94,196,255,.09);
  transform:translateY(-1px);
  box-shadow:0 2px 10px rgba(0,0,0,.2);
}
.inv-item.equipped:hover{border-color:rgba(232,197,71,.55);background:rgba(232,197,71,.12)}
.inv-emoji { font-size: 1.6rem; line-height: 1; }
.inv-name { font-size: .72rem; font-weight: 700; color: var(--txt); }
.inv-qty { font-size: .64rem; color: var(--muted); }

.shop-grid.shop-list{
  display:flex;flex-direction:column;gap:8px;align-items:stretch;width:100%;
}
.shop-item.shop-item-row{
  display:block;width:100%;padding:0;border-radius:12px;border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(0,0,0,.22));
  text-align:left;overflow:hidden;min-width:0;cursor:default;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.shop-item.shop-item-row:not(.has-equip-compare):hover{
  border-color:rgba(94,196,255,.38);
  box-shadow:0 3px 14px rgba(0,0,0,.26);
}
.shop-item.shop-item-row.has-equip-compare:hover{
  border-color:rgba(255,255,255,.14);
  box-shadow:none;
}
.shop-item.shop-locked{opacity:.58}
.shop-item.quality-uncommon{border-color:rgba(34,197,94,.28);background:linear-gradient(90deg,rgba(34,197,94,.1),rgba(0,0,0,.2))}
.shop-item.quality-rare{border-color:rgba(59,130,246,.32);background:linear-gradient(90deg,rgba(59,130,246,.12),rgba(0,0,0,.2))}
.shop-item.quality-legendary{border-color:rgba(168,85,247,.38);background:linear-gradient(90deg,rgba(168,85,247,.14),rgba(0,0,0,.22))}
.shop-item.quality-ultimate{border-color:rgba(245,158,11,.42);background:linear-gradient(90deg,rgba(245,158,11,.16),rgba(0,0,0,.22))}
.shop-card-row{
  display:flex;flex-direction:row;align-items:stretch;gap:10px;
  padding:10px 12px;min-width:0;
}
.shop-card-icon{
  flex-shrink:0;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;
  font-size:1.55rem;line-height:1;border-radius:10px;
  background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1);
  position:relative;overflow:hidden;
}
.shop-card-icon .item-ico,
.shop-mat-emoji .item-ico,
.craft-recipe-emoji .item-ico,
.craft-ingredient-emoji .item-ico,
.craft-out-emoji .item-ico,
.bestiary-loot-emoji .item-ico,
.gemshop-icon .item-ico{
  width:100%;height:100%;object-fit:contain;display:block;
}
.shop-mat-emoji{
  flex-shrink:0;width:1.35rem;height:1.35rem;display:inline-flex;align-items:center;justify-content:center;
  font-size:.9rem;line-height:1;position:relative;overflow:hidden;
}
.craft-ingredient-emoji{
  width:1.35rem;height:1.35rem;display:inline-flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.craft-out-emoji{
  width:1.4rem;height:1.4rem;display:inline-flex;align-items:center;justify-content:center;
  font-size:1.05rem;line-height:1;position:relative;overflow:hidden;
}
.bestiary-loot-emoji{
  width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;flex-shrink:0;
}
.shop-card-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px}
.shop-card-headline{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.shop-card-aside{
  flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;
  justify-content:center;gap:6px;min-width:5.5rem;padding-left:4px;
}
.shop-name{margin:0;font-size:.78rem;font-weight:800;line-height:1.25;word-break:break-word}
.shop-price-line{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.shop-price-chip{font-size:.68rem;font-weight:800;color:var(--gold);padding:3px 8px;border-radius:8px;background:rgba(232,197,71,.14);border:1px solid rgba(232,197,71,.3);white-space:nowrap}
.shop-stock-chip{font-size:.58rem;color:var(--muted);padding:1px 6px;border-radius:6px;background:rgba(255,255,255,.06)}
.shop-tags{display:flex;flex-wrap:wrap;gap:4px}
.shop-tag{font-size:.54rem;font-weight:700;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:var(--muted)}
.shop-tag-qual{color:#c4b5fd;border-color:rgba(168,85,247,.35);background:rgba(168,85,247,.1)}
.shop-desc{
  margin:0;font-size:.64rem;line-height:1.4;color:var(--muted);
  word-break:break-word;white-space:normal;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.shop-item .shop-buy-btn,.shop-item .equip-compare-trigger,.shop-item .shop-craft-missing-btn{cursor:pointer}
.shop-hover-tip{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
.shop-card-mats{
  display:flex;flex-direction:column;gap:5px;padding:8px 10px;border-radius:8px;
  background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.06);
}
.shop-mat-group{display:flex;flex-direction:column;gap:4px}
.shop-mat-group-label{
  font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.45);
}
.shop-mat-chip-list{display:flex;flex-direction:column;gap:4px}
.shop-mat-chip.stat-hover-wrap{
  display:block;width:100%;box-sizing:border-box;border-radius:8px;
  border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);
}
.shop-mat-chip.cost-ok{border-color:rgba(74,222,128,.3);background:rgba(74,222,128,.08)}
.shop-mat-chip.cost-missing{border-color:rgba(248,113,113,.35);background:rgba(248,113,113,.08)}
.shop-mat-chip-face{
  display:flex;align-items:center;gap:6px;width:100%;box-sizing:border-box;
  padding:5px 8px;font-size:.6rem;line-height:1.25;cursor:help;
}
.shop-mat-chip-face.stat-hover-trigger:hover,
.shop-mat-chip-face.stat-hover-trigger:focus-visible{
  background:rgba(232,197,71,.08);
  outline:none;
}
.shop-mat-status{
  flex-shrink:0;width:1rem;text-align:center;font-size:.68rem;font-weight:800;
}
.shop-mat-chip.cost-ok .shop-mat-status{color:#4ade80}
.shop-mat-chip.cost-missing .shop-mat-status{color:#f87171}
.shop-mat-emoji{
  flex-shrink:0;width:1.35rem;height:1.35rem;display:inline-flex;align-items:center;justify-content:center;
  font-size:.9rem;line-height:1;position:relative;overflow:hidden;
}
.shop-mat-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.shop-mat-label-text{font-weight:700;color:rgba(255,255,255,.92);line-height:1.25}
.shop-mat-source{
  font-size:.52rem;line-height:1.3;color:rgba(255,255,255,.45);
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
}
.shop-mat-have{
  flex-shrink:0;font-weight:800;font-variant-numeric:tabular-nums;
  font-size:.58rem;padding:2px 6px;border-radius:6px;
  background:rgba(0,0,0,.25);color:rgba(255,255,255,.8);
}
.shop-mat-chip.cost-ok .shop-mat-have{color:#86efac}
.shop-mat-chip.cost-missing .shop-mat-have{color:#fca5a5}
.shop-endgame-group .shop-mat-group-label{color:#93c5fd}
.shop-boss-group .shop-mat-group-label{color:#fcd34d}
.shop-boss-chip.shop-mat-chip{border-color:rgba(245,158,11,.35)}
.shop-card-aside .shop-buy-row{
  display:flex;flex-direction:column;align-items:stretch;gap:4px;width:100%;min-width:5.5rem;
}
.shop-buy-row .btn{min-height:28px;font-size:.62rem;padding:5px 8px;white-space:nowrap}
.shop-compare-btn{align-self:flex-end}
.shop-empty{text-align:center;padding:16px;width:100%}
@media(max-width:480px){
  .shop-card-row{flex-wrap:wrap;padding:10px}
  .shop-card-aside{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;width:100%;min-width:0}
  .shop-card-aside .shop-buy-row{flex-direction:row;flex-wrap:wrap;min-width:0}
}
/* Legacy shop-mat (Kosmetik etc.) */
.shop-tags.legacy-center{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;color:var(--muted)}
.shop-price{margin:2px 0}
.chip-gem { background: rgba(96,165,250,.15); border-color: rgba(96,165,250,.35); color: #93c5fd; }

/* ═══ Edelstein-Laden (Vollbild) ═══ */
body.screen-panel:has(#panel-card.panel-gemshop) #screen-panel{
  flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;
}
html:not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-gemshop) #app{max-width:100vw!important;width:100%!important}
#panel-card.panel-gemshop{
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;
  max-height:none;height:100%;overflow:hidden;width:100%;max-width:100%;
  padding:0!important;box-sizing:border-box;position:relative;
  background:transparent!important;border:none!important;box-shadow:none!important;
}
html.flix-rpg-pc-scale #panel-card.panel-gemshop{max-height:none!important;padding:0!important}
.gemshop-shell{
  position:relative;display:flex;flex-direction:column;gap:0;
  flex:1 1 auto;min-height:0;overflow:hidden;border-radius:0;
  border:none;box-shadow:none;background:transparent;
}
.gemshop-panel-bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;
  opacity:.9;pointer-events:none;z-index:0;border-radius:0;
  filter:saturate(1.18) contrast(1.08) brightness(.7);
}
.gemshop-panel-veil{
  position:absolute;inset:0;pointer-events:none;z-index:0;border-radius:0;
  background:
    linear-gradient(180deg,rgba(4,8,20,.32) 0%,rgba(4,8,20,.2) 24%,rgba(4,8,18,.55) 58%,rgba(4,6,14,.9) 100%),
    radial-gradient(ellipse 70% 50% at 80% 30%, rgba(96,165,250,.18), transparent 55%);
}
.gemshop-panel-content{
  position:relative;z-index:1;display:flex;flex-direction:column;gap:0;
  flex:1 1 auto;min-height:0;overflow:hidden;
}
.gemshop-hero{
  flex-shrink:0;padding:4px 0 12px;
  border-bottom:1px solid rgba(147,197,253,.12);
  background:transparent;
  backdrop-filter:none;
}
.gemshop-hero-top{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
}
.gemshop-hero-copy{min-width:0;flex:1}
.gemshop-kicker{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.58rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;
  color:#93c5fd;opacity:.95;margin-bottom:3px;
}
.gemshop-title{
  margin:0;font-size:clamp(1.35rem,2.2vh + .55rem,2.1rem);font-weight:950;letter-spacing:.01em;
  color:#f0f7ff;text-shadow:0 2px 18px rgba(0,0,0,.55), 0 0 40px rgba(59,130,246,.25);
}
.gemshop-lead{
  margin:5px 0 0;font-size:.74rem;line-height:1.35;color:rgba(226,232,240,.78);max-width:34em;
}
.gemshop-wallet{
  flex-shrink:0;display:flex;flex-direction:column;gap:6px;min-width:118px;
}
.gemshop-wallet-chip{
  display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;
  border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.gemshop-wallet-chip > span{font-size:1.05rem;line-height:1}
.gemshop-wallet-chip strong{display:block;font-size:.88rem;font-weight:900;color:#fff;line-height:1.1}
.gemshop-wallet-chip small{display:block;font-size:.55rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.72;margin-top:1px}
.gemshop-wallet-chip--gem{border-color:rgba(96,165,250,.45);background:linear-gradient(145deg,rgba(30,58,110,.6),rgba(8,12,24,.72))}
.gemshop-wallet-chip--fc{border-color:rgba(232,197,71,.38);background:linear-gradient(145deg,rgba(70,55,18,.5),rgba(8,12,24,.72))}

.gemshop-active{
  margin-top:10px;padding:8px 10px;border-radius:12px;
  border:1px solid rgba(232,197,71,.24);
  background:rgba(20,16,8,.45);
}
.gemshop-active-title{
  font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;
  color:#fde68a;margin-bottom:6px;
}
.gemshop-active-list{display:flex;flex-wrap:wrap;gap:6px}
.gemshop-active-pill{
  display:inline-flex;align-items:center;gap:7px;padding:6px 8px;border-radius:10px;
  background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.08);max-width:100%;
}
.gemshop-active-pill--server{border-color:rgba(96,165,250,.35)}
.gemshop-active-pill--personal{border-color:rgba(167,139,250,.35)}
.gemshop-active-emoji{font-size:1rem}
.gemshop-active-copy{min-width:0;display:flex;flex-direction:column;gap:0}
.gemshop-active-copy strong{font-size:.74rem;font-weight:850;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gemshop-active-copy small{font-size:.6rem;color:rgba(226,232,240,.7)}
.gemshop-active-empty{font-size:.72rem;color:rgba(226,232,240,.62);padding:1px 0}

.gemshop-tabs{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px;
}
.gemshop-tab{
  display:flex;align-items:center;gap:7px;padding:8px 8px;border-radius:12px;
  border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.32);
  color:#e2e8f0;cursor:pointer;text-align:left;min-width:0;
  transition:border-color .15s ease, background .15s ease, transform .1s ease;
}
.gemshop-tab:active{transform:translateY(1px)}
.gemshop-tab.is-active{
  border-color:rgba(96,165,250,.5);
  background:linear-gradient(145deg,rgba(37,99,235,.35),rgba(8,12,24,.7));
  box-shadow:0 0 0 1px rgba(96,165,250,.18), 0 6px 16px rgba(37,99,235,.18);
}
.gemshop-tab--personal.is-active{
  border-color:rgba(167,139,250,.5);
  background:linear-gradient(145deg,rgba(109,40,217,.32),rgba(8,12,24,.7));
}
.gemshop-tab--instant.is-active{
  border-color:rgba(74,222,128,.4);
  background:linear-gradient(145deg,rgba(22,163,74,.28),rgba(8,12,24,.7));
}
.gemshop-tab-emoji{font-size:1.05rem;flex-shrink:0}
.gemshop-tab-text{min-width:0;flex:1;display:flex;flex-direction:column;gap:0}
.gemshop-tab-text strong{font-size:.72rem;font-weight:900;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gemshop-tab-text small{font-size:.55rem;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gemshop-tab-count{
  flex-shrink:0;min-width:1.35rem;height:1.35rem;padding:0 5px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:.62rem;font-weight:900;background:rgba(255,255,255,.1);color:#fff;
}
.gemshop-tab.is-active .gemshop-tab-count{background:rgba(255,255,255,.18)}

.gemshop-scroll{
  flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;
  padding:12px 12px 16px;-webkit-overflow-scrolling:touch;
}
.gemshop-cards{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;
}
.gemshop-empty{
  grid-column:1/-1;text-align:center;padding:28px 12px;margin:0;
  color:rgba(226,232,240,.7);font-size:.84rem;
}
.gemshop-card{
  position:relative;overflow:hidden;padding:14px;border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(10,16,28,.5);
  box-shadow:0 10px 24px rgba(0,0,0,.28);
  display:flex;flex-direction:column;gap:10px;min-width:0;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.gemshop-card-glow{
  position:absolute;inset:auto -30% -50% auto;width:120px;height:120px;border-radius:50%;
  pointer-events:none;filter:blur(28px);opacity:.32;
}
.gemshop-card--server{border-color:rgba(96,165,250,.3)}
.gemshop-card--server .gemshop-card-glow{background:#3b82f6}
.gemshop-card--personal{border-color:rgba(167,139,250,.3)}
.gemshop-card--personal .gemshop-card-glow{background:#8b5cf6}
.gemshop-card--instant{border-color:rgba(74,222,128,.24)}
.gemshop-card--instant .gemshop-card-glow{background:#22c55e}
.gemshop-card.is-locked{opacity:.7;filter:saturate(.8)}
.gemshop-card-main{display:flex;gap:10px;align-items:flex-start;position:relative;z-index:1;flex:1}
.gemshop-icon{
  width:42px;height:42px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:1.25rem;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
}
.gemshop-body{flex:1;min-width:0}
.gemshop-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}
.gemshop-name{margin:0;font-size:.88rem;font-weight:900;color:#f8fafc;line-height:1.2}
.gemshop-price{
  flex-shrink:0;padding:3px 8px;border-radius:999px;font-size:.68rem;font-weight:900;
  color:#dbeafe;background:rgba(37,99,235,.38);border:1px solid rgba(96,165,250,.45);
}
.gemshop-meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}
.gemshop-tag{
  display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;
  font-size:.58rem;font-weight:800;letter-spacing:.02em;
  color:#e2e8f0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);
}
.gemshop-desc{margin:6px 0 0;font-size:.72rem;line-height:1.35;color:rgba(226,232,240,.8)}
.gemshop-buy{
  position:relative;z-index:1;width:100%;border:0;cursor:pointer;
  padding:10px 12px;border-radius:11px;font-size:.78rem;font-weight:900;
  color:#0b1220;
  background:linear-gradient(90deg,#60a5fa 0%,#fbbf24 100%);
  box-shadow:0 6px 14px rgba(59,130,246,.25);
  touch-action:manipulation;
}
.gemshop-buy:active:not(:disabled){transform:translateY(1px)}
.gemshop-buy.is-disabled,
.gemshop-buy:disabled{
  cursor:not-allowed;color:rgba(226,232,240,.55);
  background:rgba(255,255,255,.08);box-shadow:none;border:1px solid rgba(255,255,255,.1);
}
.gemshop-buy.is-refresh:not(:disabled){
  background:linear-gradient(135deg,#fbbf24,#f59e0b 55%,#ea580c);
  color:#1c1917;font-weight:800;
}
.gemshop-price--refresh{display:inline-flex;align-items:center;gap:6px}
.gemshop-price-was{
  opacity:.55;text-decoration:line-through;font-weight:600;font-size:.85em;
}
.gemshop-toast{display:none!important}
@media (max-width:520px){
  .gemshop-cards{grid-template-columns:1fr}
  .gemshop-hero-top{flex-direction:column}
  .gemshop-wallet{flex-direction:row;width:100%;min-width:0}
  .gemshop-wallet-chip{flex:1}
  .gemshop-tabs{grid-template-columns:1fr}
  .gemshop-title{font-size:1.12rem}
}
@media (max-width:380px){
  .gemshop-wallet{flex-direction:column}
}

.chip-title { background: rgba(167,139,250,.12); border-color: rgba(167,139,250,.3); color: #c4b5fd; }

/* Kosmetik-Shop */
.cos-shop-intro { margin: 8px 0 12px; }
.cos-shop-intro-lead { font-size: .78rem; color: var(--muted); margin: 0 0 8px; line-height: 1.45; }
.cos-discord-info { padding: 10px 12px; border-radius: var(--r-sm); border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.04); font-size: .74rem; line-height: 1.5; }
.cos-discord-info summary { cursor: pointer; font-weight: 700; color: var(--gold); list-style: none; }
.cos-discord-info summary::-webkit-details-marker { display: none; }
.cos-discord-info p { margin: 8px 0 0; }
.cos-discord-info ul { margin: 6px 0 0 18px; padding: 0; }
.cos-discord-info li { margin: 2px 0; }
.cos-discord-info code { font-size: .68rem; background: rgba(0,0,0,.25); padding: 1px 5px; border-radius: 4px; }
.cos-discord-subhead { display: flex; flex-direction: column; gap: 2px; margin: 10px 0 6px; padding-left: 2px; }
.cos-discord-subhead > span:first-child { font-size: .76rem; font-weight: 700; color: rgba(255,255,255,.88); }

.shop-grid.cos-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(148px,1fr));
  gap:12px;
  width:100%;
  margin-bottom:12px;
  align-items:stretch;
  justify-content:center;
}
.cos-item{
  padding:10px 10px 10px;
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
  min-height:100%;
  border-radius:16px;
  border:1px solid rgba(232,166,214,.18);
  background:
    linear-gradient(160deg,rgba(34,22,42,.78),rgba(10,10,16,.82));
  box-shadow:0 10px 20px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,230,245,.06);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  transition:border-color .2s,background .2s,transform .12s ease,box-shadow .2s;
}
.cos-item:hover:not(.shop-locked) {
  border-color: rgba(232,166,214,.4);
  background: linear-gradient(160deg,rgba(48,30,58,.82),rgba(12,12,20,.86));
  transform:translateY(-2px);
  box-shadow:0 14px 26px rgba(0,0,0,.34), 0 0 18px rgba(192,132,252,.1);
}
.cos-item.cos-equipped {
  border-color: rgba(62,207,114,.55);
  background: linear-gradient(145deg, rgba(62,207,114,.16), rgba(16,20,18,.78));
  box-shadow: inset 0 0 0 1px rgba(62,207,114,.18), 0 0 18px rgba(62,207,114,.1);
}
.cos-preview { width: 100%; height: 72px; object-fit: cover; object-position: center; border-radius: 10px; border: 1px solid rgba(255,255,255,.1); }
/* Alle Kosmetik-Previews: volles Feld füllen */
.cos-item img.cos-preview[src*="title_"],
.cos-item img.cos-preview[src*="/preview/title_"],
.cos-item img.cos-preview[src*="fx_"],
.cos-item img.cos-preview[src*="/preview/fx_"],
.cos-item img.cos-preview[src*="theme_"],
.cos-item img.cos-preview[src*="/preview/theme_"],
.cos-item img.cos-preview[src*="badge_"],
.cos-item img.cos-preview[src*="/preview/badge_"],
.cos-item img.cos-preview[src*="actbg_"],
.cos-item img.cos-preview[src*="color_"]{
  width:100%!important; height:72px!important;
  object-fit:cover!important; object-position:center!important;
  background:#0c0a12; border-radius:10px; margin:0!important;
}
/* Avatar-Rahmen: gleiche Preview-Größe wie alle anderen Items */
.cos-item:has(.cos-frame-preview) .cos-frame-preview-wrap,
.cos-frame-preview-wrap{
  width:100%; height:72px; min-height:72px; max-height:72px; aspect-ratio:auto;
  margin:0 0 4px; padding:0;
  display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 50% 45%,rgba(40,36,52,.7),rgba(10,8,16,.95));
  border-radius:10px; border:1px solid rgba(255,255,255,.1); overflow:hidden;
}
.cos-preview.cos-frame-preview,
img.cos-frame-preview{
  width:100%!important; height:72px!important; max-width:none; max-height:none;
  aspect-ratio:auto; object-fit:cover!important; object-position:center;
  background:#0c0a12!important; border:none!important; border-radius:10px;
}
.cos-item:has(.cos-frame-preview){overflow:hidden}
/* Auren/Rahmen: rechteckige Stil-Banner (keine Ingame-Overlays) */
.cos-aura-preview-wrap,
.cos-frame-preview-wrap,
.cos-style-banner-wrap{
  width:100%!important; min-height:0!important; aspect-ratio:16/9; max-height:none;
  padding:0!important; margin:0 0 6px; overflow:hidden; border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:#0a0810;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.35);
}
.cos-aura-preview-img,
.cos-frame-preview-img,
.cos-style-banner-img{
  width:100%!important; height:100%!important; max-width:none!important; max-height:none!important;
  object-fit:cover!important; object-position:center;
  border-radius:0; display:block;
  filter:none;
}
.cos-item:has(.cos-aura-preview-wrap) .cos-aura-preview-wrap,
.cos-item:has(.cos-frame-preview-wrap) .cos-frame-preview-wrap,
.cos-item:has(.cos-style-banner-wrap) .cos-style-banner-wrap{display:block}
/* Namensfarben: volles Feld */
.cos-namecolor-preview,
.cos-name-preview{
  width:100%!important; min-height:72px!important; height:72px!important;
  display:flex!important; align-items:center; justify-content:center;
  border-radius:12px; padding:10px;
  background:linear-gradient(180deg,rgba(22,20,30,.95),rgba(8,6,14,.98));
  border:1px solid rgba(255,255,255,.12);
  box-sizing:border-box;
}
.cos-namecolor-preview .cos-name-text{
  font-size:1.05rem!important; font-weight:800;
}
.cos-name-preview.cos-name-neon span { animation: cosNeonFlicker 2.4s ease-in-out infinite; }
@keyframes cosNeonFlicker { 0%,100%{opacity:1;text-shadow:0 0 8px #3ecf72,0 0 16px rgba(62,207,114,.5)} 50%{opacity:.85;text-shadow:0 0 14px #3ecf72,0 0 28px rgba(62,207,114,.7)} }
.cos-css-preview { width: 100%; height: 56px; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; border-radius: 10px; background: radial-gradient(circle at 50% 35%, rgba(255,255,255,.08), rgba(0,0,0,.45)); border: 1px solid rgba(255,255,255,.1); }
.cos-actions { display: flex; flex-wrap: wrap; gap: 3px; justify-content: center; align-items: center; margin-top: auto; padding-top: 5px; }
.cos-badge-active { font-size: .52rem; background: rgba(62,207,114,.22); color: #3ecf72; padding: 2px 7px; border-radius: 999px; letter-spacing: .04em; white-space: nowrap; }
.cos-badge-chip-row { display: inline-flex; align-items: center; gap: 4px; padding: 2px 6px !important; }
.cos-badge-chip-img { width: 22px; height: 22px; border-radius: 6px; object-fit: contain; border: 0; background: transparent; vertical-align: middle; }
.cos-badge-inline {
  width: 20px; height: 20px; border-radius: 5px; object-fit: contain; vertical-align: -3px;
  border: 0; background: transparent!important; flex-shrink: 0;
}
.cos-badge-wrap {
  position: relative; flex-shrink: 0; cursor: help; display: inline-flex; align-items: center;
  transition: transform .12s ease, filter .12s ease;
}
.cos-badge-wrap:hover,
.cos-badge-wrap:focus-visible{
  transform: translateY(-1px) scale(1.06);
  filter: drop-shadow(0 0 5px rgba(232,197,71,.4));
}
.cos-badge-slot-count { font-size: .62rem; color: rgba(255,255,255,.55); font-weight: 600; letter-spacing: .03em; margin-left: 2px; }

/* Co-op Kampf Badges */
.coop-badge-row { display: flex; align-items: center; gap: 3px; flex-wrap: nowrap; margin: 1px 0 2px; min-height: 16px; }
.cos-badge-coop { width: 16px; height: 16px; border-radius: 4px; object-fit: cover; border: 1px solid rgba(255,255,255,.2); box-shadow: 0 1px 4px rgba(0,0,0,.5); flex-shrink: 0; }
.coop-badge-wrap { cursor: default; display: inline-flex; align-items: center; position: relative; flex-shrink: 0; }
.cos-coop-title { font-size: .5rem; color: rgba(232,197,71,.85); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 70px; letter-spacing: .02em; }
.coop-combat-arena.coop-members-3 .cos-badge-coop,
.coop-combat-arena.coop-members-4 .cos-badge-coop { width: 13px; height: 13px; }

/* Badge-Tooltip — über Chat/Mailbox (Overlay ~30040) */
#cos-badge-tooltip {
  z-index: 30240 !important;
}
#cos-badge-tooltip .tip-img{
  border:0!important;background:transparent!important;object-fit:contain;
  box-shadow:none;
}
.cos-badge-emoji { flex-shrink: 0; }
body.chat-open #cos-badge-tooltip,
body.chat-profile-modal-open #cos-badge-tooltip{
  z-index: 30250 !important;
}
.cos-title-inline { opacity: .88; flex-shrink: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; font-size: .82em; color: rgba(232,197,71,.9); }

/* Frame-Overlay-Bild — zentriert über Avatar, Aura-Glow dahinter */

/* Shop-Vorschau behält CSS-Rahmen */
.cos-css-preview[class*="cos-frame-"]::before {
    content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 5px;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; z-index: 3;
}
.hub-title-banner {
    position: relative;
    display: flex; align-items: center; justify-content: center;
    width: 100%; height: 44px; flex-shrink: 0;
    background: linear-gradient(90deg, rgba(14,10,3,.9), rgba(30,24,8,.95), rgba(14,10,3,.9));
    background-size: cover; background-repeat: no-repeat; background-position: center;
    border-bottom: 1px solid rgba(232,197,71,.4);
    overflow: hidden;
    pointer-events: none;
    border-radius: 14px 14px 0 0;
}
.hub-title-banner.has-banner-img{
    height: 48px;
    background-color: #07060c;
    border-bottom-color: rgba(232,197,71,.35);
    background-image: var(--title-banner-img);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
.hub-title-banner::before {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.55));
    pointer-events: none;
}
.hub-title-banner.has-banner-img::before {
    background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.25));
}
.hub-title-banner-text {
    position: relative; z-index: 1;
    max-width: 92%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    font-size: .64rem; font-weight: 800; letter-spacing: .12em;
    color: #f0d060; text-transform: uppercase; text-align: center;
    text-shadow: 0 0 10px rgba(240,200,60,.7), 0 1px 4px rgba(0,0,0,.95);
    animation: cosTitleBannerGlow 3s ease-in-out infinite;
}
.hub-title-banner.has-banner-img {
    background-image: var(--title-banner-img);
}
@keyframes cosTitleBannerGlow {
    0%,100% { text-shadow: 0 0 8px rgba(240,200,60,.6), 0 1px 4px rgba(0,0,0,.9); }
    50% { text-shadow: 0 0 16px rgba(255,220,80,.9), 0 0 30px rgba(240,190,40,.35), 0 1px 4px rgba(0,0,0,.9); }
}

/* Titel-Banner — schmaler Streifen oben an der Karte, überdeckt Avatar nicht */
.cos-css-preview.cos-frame-bronze { box-shadow: 0 0 0 3px #cd7f32, 0 0 14px rgba(205,127,50,.6); }
.cos-css-preview.cos-frame-gold   { box-shadow: 0 0 0 3px #ffd700, 0 0 18px rgba(232,197,71,.7); }
.cos-css-preview.cos-frame-ruby   { box-shadow: 0 0 0 3px #ef4444, 0 0 14px rgba(239,68,68,.65); }
.cos-css-preview.cos-frame-emerald{ box-shadow: 0 0 0 3px #10b981, 0 0 14px rgba(16,185,129,.65); }
.cos-css-preview.cos-frame-void   { box-shadow: 0 0 0 3px #6366f1, 0 0 16px rgba(99,102,241,.65); }
.cos-css-preview.cos-frame-rainbow{ box-shadow: 0 0 0 3px #a855f7, 0 0 18px rgba(255,100,100,.45); }
.cos-css-preview[class*="cos-frame-"] { position: relative; overflow: visible; }
.cos-css-preview.cos-frame-bronze::before { background: linear-gradient(135deg, #f0c070, #cd7f32, #7a4018, #e09040, #cd7f32); }
.cos-css-preview.cos-frame-gold::before { background: linear-gradient(135deg, #fff0a0, #e8c547, #a06010, #ffd700, #e8c547); animation: cosGoldShimmer 3s ease-in-out infinite; }
.cos-css-preview.cos-frame-ruby::before { background: linear-gradient(135deg, #ffb0b0, #ef4444, #800000, #ff6060, #ef4444); }
.cos-css-preview.cos-frame-emerald::before { background: linear-gradient(135deg, #a0ffcc, #10b981, #024a30, #34d399, #10b981); }
.cos-css-preview.cos-frame-void::before { background: linear-gradient(135deg, #b0b8ff, #6366f1, #180a50, #818cf8, #6366f1); animation: cosVoidPulse 2.5s ease-in-out infinite; }
.cos-css-preview.cos-frame-rainbow::before { background: conic-gradient(from 0deg, #ef4444, #f97316, #eab308, #22c55e, #3b82f6, #a855f7, #ef4444); animation: cosRainbowSpin 3s linear infinite; }

@keyframes cosGoldShimmer { 0%,100%{filter:brightness(1)} 50%{filter:brightness(1.15)} }
@keyframes cosVoidPulse {
    0%, 100% { filter: brightness(1); box-shadow: 0 0 12px rgba(99,102,241,.35); }
    50% { filter: brightness(1.2); box-shadow: 0 0 22px rgba(129,140,248,.55); }
}
@keyframes cosRainbowSpin { to { filter: hue-rotate(360deg); } }

/* Auren — quadratischer Rand, ohne BG; sitzt im Rahmen, Avatar in der Aura */
:root{--cos-aura-inset-size:var(--cos-aura-alone);--cos-aura-inset-framed:var(--cos-aura-framed)}
.hub-avatar-wrap.has-cos-aura::after,
.duel-portrait-wrap.has-cos-aura::after,
.zone-avatar-wrap.has-cos-aura::after{display:none!important}
.hub-avatar-wrap.has-cos-aura,
.duel-portrait-wrap.has-cos-aura,
.zone-avatar-wrap.has-cos-aura{overflow:visible!important}
.cos-aura-img{
    position:absolute;left:50%;top:50%;
    width:var(--cos-aura-inset-size);height:var(--cos-aura-inset-size);
    transform:translate(-50%,-50%);
    object-fit:contain;object-position:center;
    pointer-events:none;z-index:1;
    mix-blend-mode:normal;
    opacity:.95;
    animation:cosAuraGlowPulse 2.5s ease-in-out infinite;
}
.hub-avatar-wrap.has-cos-frame>.cos-aura-img,
.duel-portrait-wrap.has-cos-frame>.cos-aura-img,
.zone-avatar-wrap.has-cos-frame>.cos-aura-img{
    width:var(--cos-aura-inset-framed);height:var(--cos-aura-inset-framed);
}
.cos-aura-img.aura-fire{filter:saturate(1.25) brightness(1.06) drop-shadow(0 0 6px rgba(255,120,40,.45))}
.cos-aura-img.aura-ice{filter:saturate(1.2) brightness(1.1) drop-shadow(0 0 6px rgba(120,200,255,.4))}
.cos-aura-img.aura-holy{filter:brightness(1.18) saturate(1.1) drop-shadow(0 0 8px rgba(255,230,160,.5))}
.cos-aura-img.aura-shadow{filter:saturate(1.2) brightness(1.05) drop-shadow(0 0 6px rgba(160,80,255,.4))}
.cos-aura-img.aura-rainbow{filter:saturate(1.25) brightness(1.08) drop-shadow(0 0 6px rgba(255,160,220,.35))}
/* Owner-Aura: Asset sichtbar machen — größer als normale Auren, leichter Filter */
.hub-avatar-wrap.has-cos-aura>.cos-aura-img.aura-owner_sovereign,
.duel-portrait-wrap.has-cos-aura>.cos-aura-img.aura-owner_sovereign,
.zone-avatar-wrap.has-cos-aura>.cos-aura-img.aura-owner_sovereign,
.online-modal-avatar-wrap.has-cos-aura>.cos-aura-img.aura-owner_sovereign,
.chat-profile-avatar-wrap.has-cos-aura>.cos-aura-img.aura-owner_sovereign{
  width:118%!important;height:118%!important;
  opacity:1;
  z-index:1;
  filter:saturate(1.25) brightness(1.08)
    drop-shadow(0 0 6px rgba(255,200,90,.4))
    drop-shadow(0 0 12px rgba(190,80,255,.35));
  animation:cosOwnerAuraPulse 2.8s ease-in-out infinite;
}
.hub-avatar-wrap.has-cos-frame>.cos-aura-img.aura-owner_sovereign,
.duel-portrait-wrap.has-cos-frame>.cos-aura-img.aura-owner_sovereign,
.zone-avatar-wrap.has-cos-frame>.cos-aura-img.aura-owner_sovereign{
  width:112%!important;height:112%!important;
}
@keyframes cosOwnerAuraPulse{
  0%,100%{opacity:.92;transform:translate(-50%,-50%) scale(1)}
  50%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}
}
.cos-aura-img.aura-admin_aegis{filter:saturate(1.15) brightness(1.08) drop-shadow(0 0 8px rgba(80,160,255,.5))}
.cos-aura-img.aura-gm_masque{filter:saturate(1.2) brightness(1.08) drop-shadow(0 0 8px rgba(180,120,255,.5))}
.cos-aura-img.aura-feather_melancholy{filter:saturate(1.1) brightness(1.12) drop-shadow(0 0 8px rgba(160,190,220,.45))}
.cos-aura-img.aura-mythic{
    width:var(--cos-aura-inset-size);
    height:var(--cos-aura-inset-size);
    filter:saturate(1.4) brightness(1.15) drop-shadow(0 0 10px rgba(255,215,120,.7)) drop-shadow(0 0 18px rgba(168,85,247,.5));
    mix-blend-mode:normal;
    opacity:.96;
    animation:cosMythicAuraImgPulse 2.2s ease-in-out infinite;
}
.hub-avatar-wrap.has-cos-frame>.cos-aura-img.aura-mythic,
.duel-portrait-wrap.has-cos-frame>.cos-aura-img.aura-mythic,
.zone-avatar-wrap.has-cos-frame>.cos-aura-img.aura-mythic{
    width:var(--cos-aura-inset-framed);height:var(--cos-aura-inset-framed);
}
.hub-avatar-wrap.cos-aura-mythic::before,
.duel-portrait-wrap.cos-aura-mythic::before,
.zone-avatar-wrap.cos-aura-mythic::before{
    display:none!important;
}
.hub-avatar-wrap.has-cos-frame.cos-aura-mythic::before,
.duel-portrait-wrap.has-cos-frame.cos-aura-mythic::before,
.zone-avatar-wrap.has-cos-frame.cos-aura-mythic::before{
    display:none!important;
}
.hub-avatar-wrap.cos-aura-mythic::after,
.duel-portrait-wrap.cos-aura-mythic::after,
.zone-avatar-wrap.cos-aura-mythic::after{
    display:none!important;
}
.hub-avatar-wrap.has-cos-frame.cos-aura-mythic::after,
.duel-portrait-wrap.has-cos-frame.cos-aura-mythic::after,
.zone-avatar-wrap.has-cos-frame.cos-aura-mythic::after{
    display:none!important;
}
.cos-aura-preview-wrap--mythic{border:1px solid rgba(232,197,71,.28)}
.cos-aura-preview-img--mythic{filter:none}
@keyframes cosAuraGlowPulse{0%,100%{opacity:.72}50%{opacity:.95}}
@keyframes cosMythicAuraImgPulse{0%,100%{opacity:.82;filter:saturate(1.35) brightness(1.1) drop-shadow(0 0 8px rgba(255,215,120,.6)) drop-shadow(0 0 18px rgba(168,85,247,.45))}50%{opacity:1;filter:saturate(1.55) brightness(1.22) drop-shadow(0 0 14px rgba(255,230,150,.85)) drop-shadow(0 0 28px rgba(192,132,252,.65))}}
@keyframes cosMythicAuraBackPulse{0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(1)}50%{opacity:.85;transform:translate(-50%,-50%) scale(1.06)}}
@keyframes cosMythicAuraFrontPulse{0%,100%{opacity:.5}50%{opacity:.9}}
@keyframes cosAuraPulse{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}

/* Discord-Karten Vorschau (CSS statt externe GIFs) */
.cos-bg-preview { width:100%; height:56px; border-radius:8px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.12); box-shadow: inset 0 0 20px rgba(0,0,0,.25); }
.cos-bg-preview::before { content:''; position:absolute; inset:0; opacity:.85; }
.cos-bg-preview span { font-size:1.4rem; z-index:1; filter: drop-shadow(0 2px 6px rgba(0,0,0,.5)); }
.cos-bg-card-tag { position:absolute; bottom:3px; right:5px; font-size:.48rem; text-transform:uppercase; color:rgba(255,255,255,.75); letter-spacing:.06em; background:rgba(0,0,0,.35); padding:1px 5px; border-radius:4px; z-index:1; }
.cos-bg-preview[data-card="profile"]::after { content:''; position:absolute; left:6px; top:6px; width:14px; height:14px; border-radius:50%; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.2); z-index:1; }
.cos-bg-preview[data-card="rank"]::after { content:'#'; position:absolute; left:8px; top:4px; font-size:.55rem; font-weight:800; color:rgba(255,255,255,.35); z-index:1; }
.cos-bg-prev-adventure_default::before,.cos-bg-prev-magic_sparkle::before { background:linear-gradient(135deg,#1a2a4a 0%,#2d1b4e 50%,#1a3050 100%); }
.cos-bg-prev-magic_sparkle::before { background:linear-gradient(135deg,#2a1a50,#4a2080,#1a2840); animation: cosBgShimmer 4s ease-in-out infinite; }
.cos-bg-prev-gold_treasure::before,.cos-bg-prev-wallet_default::before { background:linear-gradient(135deg,#3d2a0a,#7a5a12,#4a3808); }
.cos-bg-prev-wallet_rain::before { background:linear-gradient(180deg,#2a3850,#1a2840 60%,#3d2a0a); }
.cos-bg-prev-wallet_goldfall::before { background:linear-gradient(180deg,#5a4208,#c9a227 40%,#3d2a0a); animation: cosBgShimmer 3s ease-in-out infinite; }
.cos-bg-prev-crown_victory::before,.cos-bg-prev-rank_gold::before { background:linear-gradient(135deg,#4a3200,#c9a227,#7a5a00); }
.cos-bg-prev-levelup_default::before,.cos-bg-prev-levelup_fireworks::before { background:linear-gradient(135deg,#3a1a50,#7a3a10,#2a1050); }
.cos-bg-prev-levelup_fireworks::before { animation: cosBgShimmer 2.5s ease-in-out infinite; }
.cos-bg-prev-levelup_dragon::before,.cos-bg-prev-dragon_fire::before,.cos-bg-prev-bg_volcano::before { background:linear-gradient(135deg,#4a0a0a,#c2410c,#6a1500); }
.cos-bg-prev-bg_volcano::before { animation: cosBgPulse 2s ease-in-out infinite; }
.cos-bg-prev-bg_sakura::before { background:linear-gradient(135deg,#4a1a3a,#d946a0 40%,#8a3a6a); }
.cos-bg-prev-bg_space::before,.cos-bg-prev-rank_ice::before { background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.12),transparent 25%),linear-gradient(135deg,#0a1030,#1a2060,#0a0820); }
.cos-bg-prev-bg_aurora::before { background:linear-gradient(135deg,#0a2840 0%,#1a8060 35%,#3a1080 70%,#0a2040 100%); animation: cosAuroraShift 5s ease-in-out infinite; }
.cos-bg-prev-bg_crystal::before { background:linear-gradient(135deg,#1a2840,#60a5fa 45%,#3a5080); }
.cos-bg-prev-bg_rain::before,.cos-bg-prev-rank_storm::before { background:linear-gradient(180deg,#2a3850,#1a2840 50%,#0a1830); }
.cos-bg-prev-rank_storm::before { animation: cosBgPulse 3s ease-in-out infinite; }
.cos-bg-prev-rank_default::before { background:linear-gradient(135deg,#1a2040,#2a3060,#152040); }
@keyframes cosBgShimmer { 0%,100%{filter:brightness(1)} 50%{filter:brightness(1.25)} }
@keyframes cosBgPulse { 0%,100%{opacity:.85} 50%{opacity:1} }
@keyframes cosAuroraShift { 0%,100%{filter:hue-rotate(0deg)} 50%{filter:hue-rotate(25deg)} }

/* Activity-Hintergrund Vorschau & Overlay */
.cos-actbg-preview { width:100%; height:48px; border-radius:6px; overflow:hidden; position:relative; border:1px solid rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.35); }
.cos-actbg-preview img { width:100%; height:100%; object-fit:cover; }
.cos-actbg-preview span { font-size:1.3rem; }
#bg-overlay.cos-actbg-aurora { background:linear-gradient(180deg,rgba(16,120,140,.35) 0%,rgba(80,20,120,.25) 40%,rgba(6,8,16,.82) 100%) !important; }
#bg-overlay.cos-actbg-stars { background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.08) 0%,transparent 40%),radial-gradient(circle at 80% 30%,rgba(255,255,255,.06) 0%,transparent 35%),linear-gradient(180deg,rgba(5,10,40,.4) 0%,rgba(6,8,16,.88) 100%) !important; }
#bg-overlay.cos-actbg-sakura { background:linear-gradient(180deg,rgba(80,20,60,.28) 0%,rgba(6,8,16,.85) 100%) !important; }
#bg-overlay.cos-actbg-void { background:linear-gradient(180deg,rgba(40,10,80,.35) 0%,rgba(6,8,16,.9) 100%) !important; }
#bg-overlay.cos-actbg-gold { background:linear-gradient(180deg,rgba(120,90,10,.28) 0%,rgba(6,8,16,.85) 100%) !important; }
.cos-actbg-preview.cos-actbg-aurora::after,.cos-actbg-preview.cos-actbg-stars::after,.cos-actbg-preview.cos-actbg-sakura::after,.cos-actbg-preview.cos-actbg-void::after,.cos-actbg-preview.cos-actbg-gold::after { content:''; position:absolute; inset:0; pointer-events:none; }
.cos-actbg-preview.cos-actbg-aurora::after { background:linear-gradient(135deg,rgba(16,180,200,.45),rgba(120,40,180,.35)); }
.cos-actbg-preview.cos-actbg-stars::after { background:radial-gradient(circle,rgba(255,255,255,.25) 1px,transparent 1px); background-size:12px 12px; opacity:.5; }
.cos-actbg-preview.cos-actbg-sakura::after { background:linear-gradient(180deg,rgba(255,120,180,.25),transparent); }
.cos-actbg-preview.cos-actbg-void::after { background:linear-gradient(180deg,rgba(80,40,160,.4),transparent); }
.cos-actbg-preview.cos-actbg-gold::after { background:linear-gradient(180deg,rgba(232,197,71,.3),transparent); }

/* Fenster-Design (UI-Themes) — Bild-Previews (siehe auch Block unten) */
.cos-ui-preview-wrap { width:100%; padding:0; margin:0; }
.cos-ui-preview {
  width:100%; height:72px; border-radius:10px; padding:8px;
  display:flex; flex-direction:column; gap:6px; box-sizing:border-box;
  background:rgba(255,255,255,.05); border:2px solid rgba(255,255,255,.18);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
.cos-ui-preview-bar { height:8px; border-radius:4px; background:rgba(255,255,255,.18); width:65%; }
.cos-ui-preview-body { flex:1; display:flex; align-items:center; justify-content:center; font-size:1.15rem; border-radius:6px; background:rgba(0,0,0,.25); }
body.cos-ui-neon .glass,body.cos-ui-neon .top-bar { border-color:rgba(0,255,200,.28); box-shadow:0 0 18px rgba(0,255,200,.08), var(--shadow); }
body.cos-ui-neon .panel-title,body.cos-ui-neon .hub-char-name { text-shadow:0 0 8px rgba(0,255,200,.35); }
body.cos-ui-neon .btn,body.cos-ui-neon .btn-ghost { border-color:rgba(0,255,200,.35)!important; }
body.cos-ui-neon .btn-primary { background:linear-gradient(135deg,#0a8a78,#045a50); border-color:rgba(0,255,200,.45)!important; }
body.cos-ui-royal .glass,body.cos-ui-royal .top-bar { border-color:rgba(232,197,71,.35); }
body.cos-ui-royal .btn,body.cos-ui-royal .btn-ghost { border-color:rgba(232,197,71,.4)!important; }
body.cos-ui-royal .btn-primary { background:linear-gradient(135deg,#b8860b,#7a5a00); }
body.cos-ui-crystal .glass,body.cos-ui-crystal .top-bar { border-color:rgba(147,197,253,.35); backdrop-filter:blur(20px); }
body.cos-ui-crystal .btn,body.cos-ui-crystal .btn-ghost { border-color:rgba(147,197,253,.4)!important; }
body.cos-ui-crystal .btn-primary { background:linear-gradient(135deg,#3a6aa8,#1a3a68); }
body.cos-ui-sakura .glass,body.cos-ui-sakura .top-bar { border-color:rgba(244,114,182,.28); }
body.cos-ui-sakura .btn,body.cos-ui-sakura .btn-ghost { border-color:rgba(244,114,182,.4)!important; }
body.cos-ui-sakura .btn-primary { background:linear-gradient(135deg,#c05088,#6a2848); }
body.cos-ui-void .glass,body.cos-ui-void .top-bar { border-color:rgba(129,140,248,.35); box-shadow:0 0 24px rgba(99,102,241,.12); }
body.cos-ui-void .btn,body.cos-ui-void .btn-ghost { border-color:rgba(129,140,248,.4)!important; }
body.cos-ui-void .btn-primary { background:linear-gradient(135deg,#4a45a0,#2a2068); }
body.cos-ui-retro .glass,body.cos-ui-retro .top-bar { border-radius:4px; border-color:rgba(62,207,114,.35); box-shadow:4px 4px 0 rgba(62,207,114,.15); }
body.cos-ui-retro .btn { border-radius:4px; border-color:rgba(62,207,114,.4)!important; }
body.cos-ui-retro .btn-primary { background:linear-gradient(135deg,#2a8a48,#145028); }
body.cos-ui-forest .glass,body.cos-ui-forest .top-bar { border-color:rgba(90,160,80,.4); box-shadow:0 0 20px rgba(40,90,40,.12), var(--shadow); }
body.cos-ui-forest .btn,body.cos-ui-forest .btn-ghost { border-color:rgba(90,160,80,.45)!important; }
body.cos-ui-forest .btn-primary { background:linear-gradient(135deg,#3d7a3a,#1e4a22); }
body.cos-ui-ember .glass,body.cos-ui-ember .top-bar { border-color:rgba(255,140,60,.4); box-shadow:0 0 22px rgba(180,60,10,.14), var(--shadow); }
body.cos-ui-ember .btn,body.cos-ui-ember .btn-ghost { border-color:rgba(255,140,60,.45)!important; }
body.cos-ui-ember .btn-primary { background:linear-gradient(135deg,#c45a18,#7a2e08); }
/* Owner ≠ GM: Gold + Cyan Souveränität (kein Bühnen-Violett) */
body.cos-ui-owner-throne .glass,body.cos-ui-owner-throne .top-bar {
  border-color:rgba(255,210,110,.55);
  box-shadow:0 0 22px rgba(255,190,70,.18), 0 0 18px rgba(40,200,255,.12), var(--shadow);
}
body.cos-ui-owner-throne .btn-primary {
  background:linear-gradient(135deg,#ffd76a 0%,#c9a227 38%,#1a6a8a 72%,#0a2438 100%);
  border-color:rgba(255,220,140,.55)!important;
  box-shadow:0 0 18px rgba(255,190,70,.4), 0 0 14px rgba(40,200,255,.2), inset 0 1px 0 rgba(255,245,200,.35);
  color:#fff8e8;
  text-shadow:0 1px 2px rgba(0,0,0,.45);
}
body.cos-ui-owner-throne .btn-primary:hover{
  background:linear-gradient(135deg,#ffe08a 0%,#e0b840 38%,#2a88b0 72%,#123050 100%);
  box-shadow:0 0 26px rgba(255,200,90,.55), 0 0 18px rgba(60,220,255,.3), inset 0 1px 0 rgba(255,245,200,.45);
}
body.cos-ui-owner-throne .panel-title {
  background:linear-gradient(100deg,#fff6d0 0%,#ffd76a 28%,#7ef0ff 62%,#ffe08a 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:none;
  filter:drop-shadow(0 0 12px rgba(255,200,80,.45)) drop-shadow(0 0 10px rgba(60,220,255,.25));
}
body.cos-ui-owner-throne .top-bar{
  border-color:rgba(255,210,110,.55)!important;
  background:linear-gradient(180deg,rgba(28,20,8,.94),rgba(6,12,20,.97))!important;
  box-shadow:
    0 0 0 1px rgba(40,200,255,.35),
    0 8px 28px rgba(255,180,60,.22),
    inset 0 1px 0 rgba(255,230,160,.2)!important;
}
body.cos-ui-owner-throne .hub-nav-btn,
body.cos-ui-owner-throne .btn-mythic{
  border-color:rgba(255,210,110,.5);
  box-shadow:0 0 14px rgba(255,190,70,.22), 0 0 10px rgba(40,200,255,.12);
}
body.cos-ui-owner-throne .btn,
body.cos-ui-owner-throne .btn-ghost{
  border-color:rgba(255,210,110,.45)!important;
}
body.cos-ui-admin-bastion .glass,body.cos-ui-admin-bastion .top-bar { border-color:rgba(110,180,255,.45); box-shadow:0 0 24px rgba(40,100,180,.16), var(--shadow); }
body.cos-ui-admin-bastion .btn,body.cos-ui-admin-bastion .btn-ghost { border-color:rgba(110,180,255,.45)!important; }
body.cos-ui-admin-bastion .btn-primary { background:linear-gradient(135deg,#3a78b8,#1a3a68); }
body.cos-ui-gm-theatre .glass,body.cos-ui-gm-theatre .top-bar { border-color:rgba(200,150,255,.4); box-shadow:0 0 26px rgba(120,60,180,.14), var(--shadow); }
body.cos-ui-gm-theatre .btn,body.cos-ui-gm-theatre .btn-ghost { border-color:rgba(200,150,255,.45)!important; }
body.cos-ui-gm-theatre .btn-primary { background:linear-gradient(135deg,#7a4ab0,#3a2068); }

/* UI-Themes: NUR Rahmen/Glow — Hintergründe der UI bleiben unberührt */
.glass { position:relative; overflow:visible; }
.has-ui-theme{
  isolation:isolate;
  overflow:visible;
}
.has-ui-theme::before,
.has-ui-theme::after{
  content:none !important;
  display:none !important;
  background-image:none !important;
}
#top-bar.has-ui-theme,
.top-bar.has-ui-theme,
#top-bar.has-ui-theme::before,
.top-bar.has-ui-theme::before{
  border-image:none !important;
  background-image:none !important;
}
#top-bar.has-ui-theme::before,
.top-bar.has-ui-theme::before{
  content:none !important;
  display:none !important;
}
.glass .ui-theme-frame,
.glass .ui-theme-bg {
  display:none !important;
}

/* Feder — nur Rahmen */
body.cos-ui-feather .has-ui-theme{
  border:3px solid rgba(200,220,240,.75)!important;
  box-shadow:
    0 0 0 2px rgba(140,170,200,.4),
    0 0 32px rgba(160,190,220,.32),
    inset 0 0 0 1px rgba(200,220,240,.2),
    0 12px 32px rgba(0,0,0,.45)!important;
}
/* Owner — nur Rahmen */
body.cos-ui-owner-throne .has-ui-theme{
  border:2px solid rgba(255,214,120,.92)!important;
  border-radius:16px!important;
  box-shadow:
    0 0 0 1px rgba(80,230,255,.7),
    0 0 0 5px rgba(12,8,4,.92),
    0 0 0 6px rgba(255,200,90,.35),
    0 0 52px rgba(255,190,70,.42),
    0 0 36px rgba(40,210,255,.28),
    inset 0 0 0 1px rgba(255,236,180,.4),
    0 16px 40px rgba(0,0,0,.55)!important;
}
/* Admin — nur Rahmen */
body.cos-ui-admin-bastion .has-ui-theme{
  border:3px solid rgba(140,200,255,.75)!important;
  box-shadow:
    0 0 0 2px rgba(90,150,230,.45),
    0 0 36px rgba(100,170,255,.32),
    inset 0 0 0 1px rgba(180,220,255,.22),
    0 12px 32px rgba(0,0,0,.45)!important;
}
/* GM — nur Rahmen */
body.cos-ui-gm-theatre .has-ui-theme{
  border:3px solid rgba(210,160,255,.75)!important;
  box-shadow:
    0 0 0 2px rgba(150,90,220,.45),
    0 0 36px rgba(160,100,255,.32),
    inset 0 0 0 1px rgba(220,180,255,.22),
    0 12px 32px rgba(0,0,0,.45)!important;
}

/* Aktives Fenster-Design: nur Rahmen (alle Themes) */
body.cos-ui-neon .has-ui-theme{
  border:3px solid rgba(0,255,200,.55)!important;
  box-shadow:0 0 0 2px rgba(0,220,180,.3),0 0 28px rgba(0,255,200,.22),0 12px 32px rgba(0,0,0,.45)!important;
}
body.cos-ui-royal .has-ui-theme{
  border:3px solid rgba(232,197,71,.65)!important;
  box-shadow:0 0 0 2px rgba(200,150,40,.35),0 0 28px rgba(232,197,71,.22),0 12px 32px rgba(0,0,0,.45)!important;
}
body.cos-ui-crystal .has-ui-theme{
  border:3px solid rgba(147,197,253,.6)!important;
  box-shadow:0 0 0 2px rgba(100,160,230,.3),0 0 28px rgba(147,197,253,.2),0 12px 32px rgba(0,0,0,.45)!important;
}
body.cos-ui-sakura .has-ui-theme{
  border:3px solid rgba(244,114,182,.55)!important;
  box-shadow:0 0 0 2px rgba(220,80,150,.28),0 0 28px rgba(244,114,182,.2),0 12px 32px rgba(0,0,0,.45)!important;
}
body.cos-ui-void .has-ui-theme{
  border:3px solid rgba(129,140,248,.6)!important;
  box-shadow:0 0 0 2px rgba(99,102,241,.35),0 0 28px rgba(99,102,241,.22),0 12px 32px rgba(0,0,0,.45)!important;
}
body.cos-ui-retro .has-ui-theme{
  border:3px solid rgba(62,207,114,.55)!important;
  box-shadow:4px 4px 0 rgba(62,207,114,.2),0 0 20px rgba(62,207,114,.15),0 12px 32px rgba(0,0,0,.45)!important;
}
body.cos-ui-forest .has-ui-theme{
  border:3px solid rgba(90,160,80,.6)!important;
  box-shadow:0 0 0 2px rgba(60,120,50,.3),0 0 28px rgba(90,160,80,.2),0 12px 32px rgba(0,0,0,.45)!important;
}
body.cos-ui-ember .has-ui-theme{
  border:3px solid rgba(255,140,60,.65)!important;
  box-shadow:0 0 0 2px rgba(200,80,20,.35),0 0 28px rgba(255,140,60,.22),0 12px 32px rgba(0,0,0,.45)!important;
}
/* Kacheln/Floats/Jobs/Salon: keine Extra-Hintergrund-Overrides (Rahmen kommt von oben) */
.cos-ui-preview.cos-ui-feather{border-color:rgba(180,200,220,.45);background:linear-gradient(145deg,rgba(18,24,32,.92),rgba(8,10,16,.97))}
body.cos-ui-feather .glass,body.cos-ui-feather .top-bar{border-color:rgba(170,190,210,.4);box-shadow:0 0 22px rgba(140,170,200,.12),var(--shadow)}
body.cos-ui-feather .btn-primary{background:linear-gradient(135deg,#6a8498,#3a4a58)}
.cos-ui-preview.cos-ui-neon { border-color:rgba(0,255,200,.4); box-shadow:0 0 10px rgba(0,255,200,.2); background:rgba(0,20,30,.75); }
.cos-ui-preview.cos-ui-neon .cos-ui-preview-bar { background:rgba(0,255,200,.35); }
.cos-ui-preview.cos-ui-royal { border-color:rgba(232,197,71,.4); background:linear-gradient(145deg,rgba(60,45,10,.8),rgba(30,22,5,.9)); }
.cos-ui-preview.cos-ui-royal .cos-ui-preview-bar { background:rgba(232,197,71,.4); }
.cos-ui-preview.cos-ui-crystal { border-color:rgba(147,197,253,.4); background:linear-gradient(145deg,rgba(15,25,45,.85),rgba(8,12,24,.92)); }
.cos-ui-preview.cos-ui-sakura { border-color:rgba(244,114,182,.35); background:linear-gradient(145deg,rgba(40,15,30,.82),rgba(20,8,18,.9)); }
.cos-ui-preview.cos-ui-void { border-color:rgba(129,140,248,.4); background:linear-gradient(145deg,rgba(15,10,35,.88),rgba(5,5,15,.95)); box-shadow:0 0 12px rgba(99,102,241,.15); }
.cos-ui-preview.cos-ui-retro { border-radius:4px; border-color:rgba(62,207,114,.4); background:rgba(0,20,10,.88); box-shadow:3px 3px 0 rgba(62,207,114,.12); }
.cos-ui-preview.cos-ui-forest { border-color:rgba(90,160,80,.45); background:linear-gradient(145deg,rgba(12,28,14,.9),rgba(6,14,8,.96)); }
.cos-ui-preview.cos-ui-ember { border-color:rgba(255,140,60,.45); background:linear-gradient(145deg,rgba(40,18,8,.9),rgba(18,8,4,.96)); }
.cos-ui-preview.cos-ui-owner-throne {
  border-color:rgba(255,214,120,.8);
  background:
    radial-gradient(120% 80% at 50% 0%,rgba(255,214,100,.4),transparent 55%),
    radial-gradient(80% 60% at 100% 100%,rgba(40,210,255,.22),transparent 50%),
    linear-gradient(155deg,rgba(22,16,8,.96),rgba(6,12,20,.98));
  box-shadow:0 0 0 1px rgba(80,230,255,.5), 0 0 16px rgba(255,190,70,.35);
}
.cos-ui-preview.cos-ui-owner-throne .cos-ui-preview-bar{
  background:linear-gradient(90deg,rgba(255,214,120,.85),rgba(80,230,255,.65));
}
.cos-ui-preview.cos-ui-admin-bastion { border-color:rgba(110,180,255,.5); background:linear-gradient(145deg,rgba(12,24,42,.92),rgba(6,12,24,.97)); }
.cos-ui-preview.cos-ui-gm-theatre { border-color:rgba(200,150,255,.5); background:linear-gradient(145deg,rgba(32,16,48,.92),rgba(14,8,24,.97)); }

.cos-staff-tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:4px;font-size:.65rem;font-weight:700;letter-spacing:.03em;vertical-align:middle}
.cos-staff-tag-owner{
  background:linear-gradient(135deg,rgba(120,60,200,.35),rgba(232,197,71,.18));
  color:#e8d0ff;border:1px solid rgba(186,140,255,.5);
  box-shadow:0 0 8px rgba(140,80,220,.25);
}
.cos-staff-tag-admin{background:rgba(110,180,255,.18);color:#9ad0ff;border:1px solid rgba(110,180,255,.4)}
.cos-staff-tag-gm{background:rgba(180,130,255,.18);color:#d0b0ff;border:1px solid rgba(180,130,255,.4)}
.cos-item-staff{border-color:rgba(232,197,71,.22)!important}

/* Staff-Namensfarben: Clip auf Glyphs — kein text-shadow (sonst weiße Kästen) */
.hub-char-name.cos-namecolor-owner .cos-name-text:not(input):not(textarea),
.zone-player-name.cos-namecolor-owner .cos-name-text:not(input):not(textarea),
#hero-combat-name.cos-namecolor-owner .cos-name-text:not(input):not(textarea),
.hof-name.cos-namecolor-owner .cos-name-text:not(input):not(textarea),
.player-name-stack.cos-namecolor-owner .player-display-name .cos-name-text:not(input):not(textarea),
.cos-namecolor-owner .cos-name-text:not(input):not(textarea),
.chat-row-name-btn .cos-namecolor-owner .cos-name-text:not(input):not(textarea),
.hub-friend-name-btn .cos-namecolor-owner .cos-name-text:not(input):not(textarea),
.cos-namecolor-preview.cos-namecolor-owner .cos-name-text:not(input):not(textarea){
  display:inline-block;
  background:linear-gradient(90deg,#fff3c0,#ffd76a 40%,#e8a820 70%,#ffef9a);
  -webkit-background-clip:text;background-clip:text;
  color:transparent!important;-webkit-text-fill-color:transparent!important;
  text-shadow:none!important;
  filter:none;
  font-weight:800;
}
.hub-char-name.cos-namecolor-owner,
.zone-player-name.cos-namecolor-owner,
#hero-combat-name.cos-namecolor-owner,
.hof-name.cos-namecolor-owner,
.player-name-stack.cos-namecolor-owner,
.cos-namecolor-preview.cos-namecolor-owner{
  filter:drop-shadow(0 0 6px rgba(255,200,60,.45));
}
.hub-char-name.cos-namecolor-admin .cos-name-text,
.zone-player-name.cos-namecolor-admin .cos-name-text,
#hero-combat-name.cos-namecolor-admin .cos-name-text,
.hof-name.cos-namecolor-admin .cos-name-text,
.player-name-stack.cos-namecolor-admin .player-display-name .cos-name-text,
.cos-namecolor-admin .cos-name-text,
.chat-row-name-btn .cos-namecolor-admin .cos-name-text,
.hub-friend-name-btn .cos-namecolor-admin .cos-name-text,
.cos-namecolor-preview.cos-namecolor-admin .cos-name-text{
  display:inline-block;
  background:linear-gradient(90deg,#e8f4ff,#7ec8ff 45%,#3a8fd4);
  -webkit-background-clip:text;background-clip:text;
  color:transparent!important;-webkit-text-fill-color:transparent!important;
  text-shadow:none!important;
  filter:none;
  font-weight:800;
}
.hub-char-name.cos-namecolor-admin,
.zone-player-name.cos-namecolor-admin,
#hero-combat-name.cos-namecolor-admin,
.hof-name.cos-namecolor-admin,
.player-name-stack.cos-namecolor-admin,
.cos-namecolor-preview.cos-namecolor-admin{
  filter:drop-shadow(0 0 6px rgba(80,160,255,.4));
}
.hub-char-name.cos-namecolor-gm .cos-name-text,
.zone-player-name.cos-namecolor-gm .cos-name-text,
#hero-combat-name.cos-namecolor-gm .cos-name-text,
.hof-name.cos-namecolor-gm .cos-name-text,
.player-name-stack.cos-namecolor-gm .player-display-name .cos-name-text,
.cos-namecolor-gm .cos-name-text,
.chat-row-name-btn .cos-namecolor-gm .cos-name-text,
.hub-friend-name-btn .cos-namecolor-gm .cos-name-text,
.cos-namecolor-preview.cos-namecolor-gm .cos-name-text{
  display:inline-block;
  background:linear-gradient(90deg,#f0e4ff,#c4a1ff 45%,#8b5cf6);
  -webkit-background-clip:text;background-clip:text;
  color:transparent!important;-webkit-text-fill-color:transparent!important;
  text-shadow:none!important;
  filter:none;
  font-weight:800;
}
.hub-char-name.cos-namecolor-gm,
.zone-player-name.cos-namecolor-gm,
#hero-combat-name.cos-namecolor-gm,
.hof-name.cos-namecolor-gm,
.player-name-stack.cos-namecolor-gm,
.cos-namecolor-preview.cos-namecolor-gm{
  filter:drop-shadow(0 0 6px rgba(160,100,255,.4));
}
.hub-char-name.cos-namecolor-feather .cos-name-text,
.zone-player-name.cos-namecolor-feather .cos-name-text,
#hero-combat-name.cos-namecolor-feather .cos-name-text,
.hof-name.cos-namecolor-feather .cos-name-text,
.player-name-stack.cos-namecolor-feather .player-display-name .cos-name-text,
.cos-namecolor-feather .cos-name-text,
.chat-row-name-btn .cos-namecolor-feather .cos-name-text,
.hub-friend-name-btn .cos-namecolor-feather .cos-name-text,
.cos-namecolor-preview.cos-namecolor-feather .cos-name-text{
  display:inline-block;
  background:linear-gradient(90deg,#f4f8fc,#d0e4f4 28%,#9eb8d0 52%,#c8daf0 78%,#eef5fb);
  -webkit-background-clip:text;background-clip:text;
  color:transparent!important;-webkit-text-fill-color:transparent!important;
  text-shadow:none!important;
  filter:none;
  font-weight:800;
}
.hub-char-name.cos-namecolor-feather,
.zone-player-name.cos-namecolor-feather,
#hero-combat-name.cos-namecolor-feather,
.hof-name.cos-namecolor-feather,
.player-name-stack.cos-namecolor-feather,
.cos-namecolor-preview.cos-namecolor-feather{
  filter:drop-shadow(0 0 6px rgba(140,180,220,.45));
}

/* Menü-Effekte — authentische CSS-Partikel (Schnee, Blüten, Matrix, Glut, Glühwürmchen) */
.cos-fx-layer{
  position:fixed;inset:0;width:100vw;height:100vh;z-index:19940;
  pointer-events:none;overflow:hidden;
  isolation:isolate;
}
.cos-fx-layer .cos-particle,.cos-fx-layer .cos-flake,.cos-fx-layer .cos-ember,.cos-fx-layer .cos-rainbow-dot,
.cos-fx-layer .cos-staff-emoji,.cos-fx-layer .cos-owner-dust,.cos-fx-layer .cos-admin-beam,.cos-fx-layer .cos-gm-shard,.cos-fx-layer .cos-fx-sprite{
  will-change:transform,opacity;backface-visibility:hidden;
}
.cos-fx-layer.cos-fx-sparkle {
  background:
    radial-gradient(circle at 20% 25%, rgba(255,220,80,.12), transparent 42%),
    radial-gradient(circle at 78% 65%, rgba(255,180,40,.08), transparent 38%),
    radial-gradient(circle at 50% 50%, rgba(255,240,160,.05), transparent 55%);
}
.cos-fx-layer.cos-fx-fireflies {
  background:
    radial-gradient(ellipse at 50% 85%, rgba(60,120,30,.14), transparent 55%),
    radial-gradient(circle at 25% 60%, rgba(80,160,40,.08), transparent 45%),
    radial-gradient(circle at 75% 40%, rgba(100,180,50,.06), transparent 40%);
}
.cos-fx-layer.cos-fx-snow {
  background:
    linear-gradient(180deg, rgba(200,230,255,.14) 0%, rgba(180,210,240,.06) 45%, transparent 70%),
    radial-gradient(circle at 50% 0%, rgba(220,240,255,.1), transparent 50%);
}
.cos-fx-layer.cos-fx-sakura {
  background:
    linear-gradient(180deg, rgba(255,160,190,.12) 0%, rgba(255,120,160,.06) 50%, transparent 75%),
    radial-gradient(circle at 30% 20%, rgba(255,180,200,.08), transparent 45%);
}
.cos-fx-layer.cos-fx-embers {
  background:
    radial-gradient(ellipse at 50% 100%, rgba(255,120,30,.18), transparent 58%),
    radial-gradient(circle at 50% 90%, rgba(200,60,10,.1), transparent 45%);
}
.cos-fx-layer.cos-fx-matrix { background:linear-gradient(180deg,rgba(0,255,90,.05),rgba(0,180,60,.03)); }
.cos-fx-layer.cos-fx-rainbow {
  background:linear-gradient(125deg,rgba(255,100,100,.06),rgba(255,200,40,.05),rgba(80,255,120,.05),rgba(40,160,255,.05),rgba(180,80,255,.06));
  animation:cosRainbowBgShift 12s linear infinite;
}

.cos-particle,.cos-flake,.cos-ember,.cos-rainbow-dot,.cos-matrix-char,.cos-staff-emoji,.cos-owner-dust,.cos-owner-star,.cos-owner-spark,.cos-owner-ember,.cos-admin-hex,.cos-admin-beam,.cos-admin-ring,.cos-gm-shard,.cos-gm-orb,.cos-gm-veil,.cos-gm-spark,.cos-gm-beam,.cos-crown-dust,.cos-crown-glint,.cos-feather-particle,.cos-feather-mote,.cos-feather-fall,.cos-feather-plume { position:absolute; pointer-events:none; }
.cos-staff-emoji{
  display:flex;align-items:center;justify-content:center;line-height:1;
  filter:drop-shadow(0 0 6px rgba(255,255,255,.4));
  animation:cosSparkleTwinkle var(--dur,3s) ease-in-out infinite;
  animation-delay:var(--delay,0s);opacity:.95;z-index:2;
}
.cos-feather-emoji{
  top:-10%;
  animation:cosSakuraFall var(--dur,7s) linear infinite;
  animation-delay:var(--delay,0s);
}
.cos-crown-dot,.cos-aegis-dot,.cos-masque-dot{
  opacity:1!important;
  filter:saturate(1.4) brightness(1.3);
}
.cos-feather-particle{
  top:-12%;
  width:var(--size,16px);height:calc(var(--size,16px)*1.55);
  border-radius:60% 40% 55% 45% / 55% 35% 65% 45%;
  background:
    linear-gradient(160deg,rgba(232,238,244,.95),rgba(155,176,196,.75) 45%,rgba(90,110,130,.55)),
    radial-gradient(ellipse at 35% 30%,rgba(255,255,255,.55),transparent 55%);
  box-shadow:0 0 8px rgba(180,210,235,.4);
  opacity:var(--op,.75)!important;
  filter:drop-shadow(0 0 5px rgba(180,210,235,.45));
  transform:rotate(var(--rot,20deg));
  animation:cosSakuraFall var(--dur,7s) linear infinite;
  animation-delay:var(--delay,0s);
}
.cos-fx-preview.cos-fx-owner-crowns::before,
.cos-fx-preview.cos-fx-admin-aegis::before,
.cos-fx-preview.cos-fx-gm-masque::before,
.cos-fx-preview.cos-fx-feathers::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 40% 40%,rgba(255,220,120,.35),transparent 55%);
  animation:cosAuraPulse 2s ease-in-out infinite;
}
.cos-fx-preview.cos-fx-admin-aegis::before{background:radial-gradient(circle at 40% 40%,rgba(120,180,255,.35),transparent 55%)}
.cos-fx-preview.cos-fx-gm-masque::before{
  background:
    radial-gradient(circle at 30% 40%,rgba(220,180,255,.55) 0 2px,transparent 3px),
    radial-gradient(circle at 70% 55%,rgba(180,120,255,.5) 0 2px,transparent 3px),
    linear-gradient(180deg,transparent 20%,rgba(160,100,255,.25) 50%,transparent 80%);
}
.cos-fx-preview.cos-fx-feathers::before{
  width:7px;height:14px;left:42%;top:28%;border-radius:55% 55% 40% 40%/20% 20% 80% 80%;
  background:linear-gradient(180deg,#f0f6fb,#9eb4c8);box-shadow:14px 6px 0 #b8c9d9,-12px 10px 0 #a8bdd0;
  animation:cosFlakeFall 3.5s linear infinite;
}


/* Funken — goldenes Magie-Glitzer-Feeling */
.cos-sparkle-dot {
  width:var(--size,6px); height:var(--size,6px); border-radius:50%;
  background:radial-gradient(circle, #fff 0%, #ffe860 45%, #ffb830 100%);
  box-shadow:0 0 calc(var(--size,6px) * 1.8) rgba(255,230,80,.95), 0 0 calc(var(--size,6px) * 3) rgba(255,180,40,.55);
  animation:cosSparkleTwinkle var(--dur,3s) ease-in-out infinite;
  animation-delay:var(--delay,0s);
}
/* Glühwürmchen — warme Sommernacht */
.cos-firefly-dot {
  width:var(--size,5px); height:var(--size,5px); border-radius:50%;
  background:radial-gradient(circle, #e8ff90 0%, #aaff60 55%, #66cc30 100%);
  box-shadow:0 0 calc(var(--size,5px) * 2.2) rgba(170,255,80,.95), 0 0 calc(var(--size,5px) * 4) rgba(100,200,40,.5);
  animation:cosFireflyDrift var(--dur,4.5s) ease-in-out infinite;
  animation-delay:var(--delay,0s);
}
/* Schnee — kalter Winter-Regen */
.cos-snow-flake {
  top:-6%; width:var(--size,9px); height:var(--size,9px); border-radius:50%; opacity:.92;
  background:radial-gradient(circle, #fff 25%, #d8eeff 70%, #a8cce8 100%);
  box-shadow:0 0 calc(var(--size,9px) * 1.2) rgba(210,240,255,.85), 0 0 calc(var(--size,9px) * 2) rgba(160,210,240,.45);
  animation:cosSnowFall var(--dur,5.5s) linear infinite;
  animation-delay:var(--delay,0s);
}
/* Sakura — rosa Blütenblätter */
.cos-sakura-petal {
  top:-8%; width:var(--size,10px); height:var(--size,10px); opacity:.9;
  border-radius:50% 0 50% 50%;
  background:radial-gradient(circle at 30% 30%, #ffd0e0, #f080a8 55%, #d85078 100%);
  box-shadow:0 0 calc(var(--size,10px) * 1.1) rgba(255,140,170,.55);
  transform:rotate(var(--rot,45deg));
  animation:cosSakuraFall var(--dur,6.5s) linear infinite;
  animation-delay:var(--delay,0s);
}
/* Glut — aufsteigende Feuerfunken */
.cos-ember {
  bottom:-4%; width:calc(var(--size,5px) * 0.55); height:var(--size,5px); border-radius:50% 50% 50% 50% / 60% 60% 40% 40%;
  background:radial-gradient(circle at 50% 80%, #fff8c0, #ffcc60 40%, #ff7020 100%);
  box-shadow:0 0 calc(var(--size,5px) * 2) rgba(255,140,40,.9), 0 0 calc(var(--size,5px) * 3.5) rgba(255,80,10,.5);
  animation:cosEmberRise var(--dur,3.2s) ease-out infinite;
  animation-delay:var(--delay,0s);
}

/* Staff-Menü-Effekte — gleiche Animationen wie Embers/Sakura/Fireflies, nur Farben */
/* Kronenstaub — schwebender Goldstaub + Violett/Cyan Accents */
.cos-crown-dust{
  width:var(--size,4px);height:var(--size,4px);border-radius:50%;
  background:radial-gradient(circle,#fff8d8 0%,#ffe08a 45%,#e8b840 100%);
  box-shadow:0 0 calc(var(--size,4px)*2.2) rgba(255,220,120,.9),0 0 calc(var(--size,4px)*4) rgba(232,180,40,.4);
  animation:cosCrownDustFloat var(--dur,3.5s) ease-in-out infinite;
  animation-delay:var(--delay,0s);
}
.cos-crown-dust--1{
  background:radial-gradient(circle,#f5e0ff 0%,#d24dff 45%,#8b2ad4 100%);
  box-shadow:0 0 calc(var(--size,4px)*2.2) rgba(220,100,255,.9),0 0 calc(var(--size,4px)*4) rgba(160,60,220,.45);
}
.cos-crown-dust--2{
  background:radial-gradient(circle,#e8ffff 0%,#4ad6ff 45%,#1a8fd4 100%);
  box-shadow:0 0 calc(var(--size,4px)*2.2) rgba(80,220,255,.9),0 0 calc(var(--size,4px)*4) rgba(40,160,230,.45);
}
.cos-crown-glint{
  width:var(--size,7px);height:var(--size,7px);
  background:linear-gradient(90deg,transparent 42%,#ffe08a 42%,#ffe08a 58%,transparent 58%),
             linear-gradient(0deg,transparent 42%,#fff6c8 42%,#fff6c8 58%,transparent 58%);
  filter:drop-shadow(0 0 5px rgba(255,210,80,.85));
  animation:cosSparkleTwinkle var(--dur,3s) ease-in-out infinite;
  animation-delay:var(--delay,0s);
}
@keyframes cosCrownDustFloat{
  0%,100%{transform:translate(0,0) scale(.7);opacity:.25}
  25%{transform:translate(10px,-16px) scale(1.15);opacity:1}
  55%{transform:translate(-8px,-10px) scale(.95);opacity:.75}
  80%{transform:translate(6px,-22px) scale(.85);opacity:.45}
}
.cos-ember.cos-staff-ember{
  background:radial-gradient(circle at 50% 80%, #fff8d0, #ffd76a 40%, #e8a820 100%);
  box-shadow:0 0 calc(var(--size,5px) * 2) rgba(255,210,80,.95), 0 0 calc(var(--size,5px) * 3.5) rgba(200,140,20,.55);
}
.cos-firefly-dot.cos-staff-hexfly{
  background:radial-gradient(circle, #e8f4ff 0%, #7ec8ff 55%, #3a8fd4 100%);
  box-shadow:0 0 calc(var(--size,5px) * 2.2) rgba(120,190,255,.95), 0 0 calc(var(--size,5px) * 4) rgba(60,130,220,.5);
}
/* Bühnenlicht — Diamant-Funken + Scheinwerferstrahlen */
.cos-gm-spark{
  width:var(--size,8px);height:var(--size,8px);
  background:linear-gradient(135deg,#fff,#e9d5ff 40%,#a78bfa 70%,#7c3aed);
  clip-path:polygon(50% 0%,61% 35%,100% 50%,61% 65%,50% 100%,39% 65%,0% 50%,39% 35%);
  box-shadow:0 0 calc(var(--size,8px)*1.8) rgba(200,150,255,.85);
  animation:cosGmSparkTwinkle var(--dur,3s) ease-in-out infinite;
  animation-delay:var(--delay,0s);
  opacity:.95;
}
.cos-gm-beam{
  top:auto;bottom:-5%;
  left:0;width:3px;height:var(--h,60px);border-radius:3px;
  background:linear-gradient(180deg,rgba(230,200,255,.95),rgba(160,100,255,.55) 45%,transparent);
  box-shadow:0 0 12px rgba(180,120,255,.65),0 0 24px rgba(140,80,220,.35);
  transform-origin:50% 100%;
  animation:cosGmBeamPulse var(--dur,4s) ease-in-out infinite;
  animation-delay:var(--delay,0s);
}
@keyframes cosGmSparkTwinkle{
  0%,100%{transform:scale(.55) rotate(0deg);opacity:.25}
  40%{transform:scale(1.35) rotate(25deg);opacity:1}
  70%{transform:scale(.9) rotate(-12deg);opacity:.65}
}
@keyframes cosGmBeamPulse{
  0%,100%{transform:scaleY(.35);opacity:.2}
  45%{transform:scaleY(1);opacity:.95}
  70%{transform:scaleY(.7);opacity:.55}
}

/* Fallende Federn — klare Feder-Silhouette mit Kiel */
.cos-feather-plume{
  top:-14%;
  width:calc(var(--size,16px) * .42);
  height:var(--size,16px);
  border-radius:55% 55% 40% 40% / 18% 18% 82% 82%;
  background:
    linear-gradient(90deg,transparent 44%,rgba(255,255,255,.95) 50%,transparent 56%),
    linear-gradient(180deg,
      rgba(255,255,255,.98) 0%,
      rgba(220,232,242,.92) 28%,
      rgba(170,192,212,.78) 62%,
      rgba(110,140,165,.55) 100%);
  box-shadow:
    -2px 0 0 rgba(190,210,230,.35),
    2px 0 0 rgba(190,210,230,.35),
    0 0 10px rgba(180,210,235,.45);
  opacity:var(--op,.75);
  transform:rotate(var(--rot,-12deg));
  animation:cosFeatherSwayFall var(--dur,8s) linear infinite;
  animation-delay:var(--delay,0s);
  filter:drop-shadow(0 0 4px rgba(180,210,235,.4));
}
.cos-feather-plume::before{
  content:'';position:absolute;left:50%;top:6%;bottom:4%;width:1.5px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(160,185,205,.75));
  border-radius:2px;pointer-events:none;
}
.cos-feather-plume::after{
  content:'';position:absolute;inset:12% 8% 18% 8%;
  background:
    repeating-linear-gradient(105deg,transparent 0 3px,rgba(255,255,255,.18) 3px 4px),
    repeating-linear-gradient(-105deg,transparent 0 3px,rgba(255,255,255,.12) 3px 4px);
  border-radius:inherit;opacity:.7;pointer-events:none;
}
@keyframes cosFeatherSwayFall{
  0%{transform:translate3d(0,-10vh,0) rotate(var(--rot,-12deg));opacity:0}
  6%{opacity:var(--op,.8)}
  25%{transform:translate3d(calc(var(--drift,20px) * .4),22vh,0) rotate(calc(var(--rot,-12deg) + 18deg))}
  55%{transform:translate3d(calc(var(--drift,20px) * -1),58vh,0) rotate(calc(var(--rot,-12deg) - 22deg))}
  100%{transform:translate3d(var(--drift,20px),110vh,0) rotate(calc(var(--rot,-12deg) + 40deg));opacity:.08}
}
.cos-fx-layer.cos-fx-owner-crowns{
  background:radial-gradient(ellipse at 50% 100%, rgba(255,200,60,.14), transparent 58%);
}
.cos-fx-layer.cos-fx-admin-aegis{
  background:radial-gradient(ellipse at 50% 80%, rgba(80,160,255,.12), transparent 55%);
}
.cos-fx-layer.cos-fx-gm-masque{
  background:linear-gradient(180deg, rgba(180,120,255,.1) 0%, transparent 70%);
}
.cos-fx-layer.cos-fx-feathers{
  background:linear-gradient(180deg, rgba(160,190,220,.1) 0%, transparent 70%);
}
/* Regenbogen — schwebende Farbkugeln */
.cos-rainbow-dot {
  width:var(--size,8px); height:var(--size,8px); border-radius:50%; opacity:.82;
  background:hsl(var(--hue,200), 88%, 62%);
  color:hsl(var(--hue,200), 88%, 62%);
  box-shadow:0 0 calc(var(--size,8px) * 1.5) currentColor, 0 0 calc(var(--size,8px) * 2.8) currentColor;
  animation:cosRainbowDrift var(--dur,3.5s) ease-in-out infinite;
  animation-delay:var(--delay,0s);
}
/* Matrix — kurze Spuren, unsichtbarer Loop, negative Delays */
.cos-matrix-col {
  position:absolute; top:0; display:flex; flex-direction:column; gap:0;
  align-items:center; width:12px;
  animation:cosMatrixStream var(--dur,4s) linear infinite;
  animation-delay:var(--delay,0s);
  will-change:transform;
}
.cos-matrix-char {
  position:relative; display:block;
  font-family:'Courier New',ui-monospace,monospace; font-size:14px; font-weight:600; line-height:1;
  color:rgba(0,255,90,.42);
  text-shadow:0 0 4px rgba(0,255,60,.35);
}
.cos-matrix-char.cos-matrix-head {
  color:#d8ffe8; opacity:1 !important;
  text-shadow:0 0 8px rgba(180,255,200,.85),0 0 14px rgba(0,255,90,.7);
}
@keyframes cosMatrixStream {
  from { transform:translate3d(0,calc(-1 * var(--trail-h,150px)),0); }
  to { transform:translate3d(0,100vh,0); }
}
/* Regenbogen-Orbs (Legacy-Klassen für Shop-Preview) */
.cos-rainbow-dot.r0{left:7%;top:25%;background:#ff6060;color:#ff6060}.cos-rainbow-dot.r1{left:20%;top:65%;background:#ffaa30;color:#ffaa30;animation-delay:.4s}
.cos-rainbow-dot.r2{left:36%;top:18%;background:#ffe040;color:#ffe040;animation-delay:.9s}.cos-rainbow-dot.r3{left:52%;top:72%;background:#60e860;color:#60e860;animation-delay:1.4s}
.cos-rainbow-dot.r4{left:67%;top:30%;background:#40b8ff;color:#40b8ff;animation-delay:.6s}.cos-rainbow-dot.r5{left:80%;top:55%;background:#c060ff;color:#c060ff;animation-delay:1.1s}
.cos-rainbow-dot.r6{left:13%;top:42%;background:#ff80c0;color:#ff80c0;animation-delay:1.8s}.cos-rainbow-dot.r7{left:44%;top:50%;background:#80ffcc;color:#80ffcc;animation-delay:.3s}
.cos-rainbow-dot.r8{left:58%;top:14%;background:#ff5050;color:#ff5050;animation-delay:2.1s}.cos-rainbow-dot.r9{left:74%;top:78%;background:#50c8ff;color:#50c8ff;animation-delay:1.6s}
.cos-rainbow-dot.r10{left:87%;top:22%;background:#ffcc20;color:#ffcc20;animation-delay:.8s}.cos-rainbow-dot.r11{left:30%;top:85%;background:#aa60ff;color:#aa60ff;animation-delay:2.5s}

.cos-fx-preview { width:100%; height:48px; border-radius:6px; position:relative; overflow:hidden; border:1px solid rgba(74,99,74,.2); display:flex; align-items:center; justify-content:center; background:#12110f; }
.cos-fx-preview span { z-index:1; font-size:1.2rem; }
/* Preview-Fallback (kleine Effekte im Shop) */
.cos-fx-preview.cos-fx-sparkle::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 30% 40%,rgba(255,220,80,.2),transparent 50%); animation:cosAuraPulse 2s ease-in-out infinite; }
.cos-fx-preview.cos-fx-snow::before,.cos-fx-preview.cos-fx-sakura::before { content:''; position:absolute; width:5px; height:5px; border-radius:50%; background:#e0f4ff; opacity:.75; animation:cosFlakeFall 3s linear infinite; left:20%; box-shadow:10px 12px 0 rgba(200,230,255,.55),20px 4px 0 rgba(200,230,255,.4); }
.cos-fx-preview.cos-fx-sakura::before { background:#ffb0cc; box-shadow:10px 12px 0 rgba(255,160,190,.45),20px 4px 0 rgba(255,160,190,.3); }
.cos-fx-preview.cos-fx-fireflies::before { content:''; position:absolute; width:5px; height:5px; border-radius:50%; background:#aaff60; box-shadow:14px 10px 0 #88ee40,-12px 14px 0 #ccff80; animation:cosFireflyDrift 3s ease-in-out infinite; left:35%; top:40%; }
.cos-fx-preview.cos-fx-embers::before { content:''; position:absolute; width:3px; height:7px; border-radius:50%; background:radial-gradient(#ffcc60,#ff7020); animation:cosEmberRise 2.5s ease-in infinite; left:45%; bottom:8%; }
.cos-fx-preview.cos-fx-matrix { background:#020c04; }
.cos-fx-preview.cos-fx-matrix::before { content:''; position:absolute; width:2px; height:70%; top:8%; background:linear-gradient(180deg,transparent,rgba(0,255,60,.7),transparent); opacity:.75; animation:cosMatrixFall 2s linear infinite; left:40%; }
.cos-fx-preview.cos-fx-rainbow::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,80,80,.12),rgba(255,200,40,.12),rgba(80,255,120,.12),rgba(40,160,255,.12),rgba(180,80,255,.12)); animation:cosRainbowSpin2 4s linear infinite; }
@keyframes cosSparkleTwinkle {
  0%,100% { transform:scale(.6) rotate(0deg); opacity:.25; }
  45% { transform:scale(1.35) rotate(20deg); opacity:1; }
  70% { transform:scale(.9) rotate(-10deg); opacity:.6; }
}
@keyframes cosFireflyDrift {
  0%,100% { transform:translate(0,0) scale(.85); opacity:.35; }
  25% { transform:translate(12px,-22px) scale(1.15); opacity:1; }
  55% { transform:translate(-8px,-14px) scale(1); opacity:.75; }
  80% { transform:translate(6px,-28px) scale(.95); opacity:.5; }
}
@keyframes cosSnowFall {
  0% { transform:translate3d(0,-8vh,0) rotate(0deg); opacity:0; }
  5% { opacity:.95; }
  100% { transform:translate3d(18px,108vh,0) rotate(360deg); opacity:.15; }
}
@keyframes cosSakuraFall {
  0% { transform:translateY(-8vh) translateX(0) rotate(var(--rot,45deg)); opacity:0; }
  6% { opacity:.92; }
  50% { transform:translateY(52vh) translateX(-24px) rotate(calc(var(--rot,45deg) + 180deg)); }
  100% { transform:translateY(108vh) translateX(16px) rotate(calc(var(--rot,45deg) + 420deg)); opacity:.1; }
}
@keyframes cosEmberRise {
  0% { transform:translateY(0) translateX(0) scale(1); opacity:1; }
  40% { opacity:.85; }
  100% { transform:translateY(-108vh) translateX(12px) scale(.2); opacity:0; }
}
@keyframes cosRainbowDrift {
  0%,100% { transform:translate(0,0) scale(1); opacity:.55; }
  33% { transform:translate(14px,-20px) scale(1.15); opacity:.95; }
  66% { transform:translate(-10px,-8px) scale(.9); opacity:.7; }
}
@keyframes cosRainbowBgShift {
  0% { filter:hue-rotate(0deg); }
  100% { filter:hue-rotate(360deg); }
}
@keyframes cosParticleFloat { 0%,100%{transform:translateY(0) scale(1);opacity:.35} 50%{transform:translateY(-22px) scale(1.4);opacity:1} }
@keyframes cosFlakeFall { 0%{transform:translateY(-10px) rotate(0deg);opacity:0} 8%{opacity:.9} 100%{transform:translateY(110vh) rotate(400deg);opacity:.1} }
@keyframes cosMatrixFall { 0%{transform:translateY(-25px);opacity:0} 12%{opacity:.85} 100%{transform:translateY(110vh);opacity:0} }
@keyframes cosRainbowSpin2 { 0%{filter:hue-rotate(0deg)} 100%{filter:hue-rotate(360deg)} }

/* Legacy KI-PNG-Auren deaktiviert — nur CSS-Glow (siehe cos-aura-* ::before/::after) */
.hub-avatar-wrap>.cos-aura-img,
.zone-avatar-wrap>.cos-aura-img,
.duel-portrait-wrap>.cos-aura-img{display:block!important}
.duel-portrait-wrap > .duel-portrait,
.duel-portrait-wrap > .duel-portrait .duel-avatar-img,
.duel-portrait-wrap > .duel-portrait .duel-realistic-img,
.duel-portrait-wrap > .duel-portrait .duel-fallback{position:relative;z-index:2}
.hub-avatar-fallback,.hub-sprite { position:absolute; inset:0; z-index:1; }
.hub-sprite.hub-avatar-img { position:absolute; inset:0; z-index:1; }
.duel-portrait-wrap > .cos-frame-overlay { z-index:3; }
.duel-portrait-wrap.has-cos-frame,
.duel-portrait-wrap.has-cos-aura,
.duel-portrait-wrap[class*="cos-aura-"] { overflow:visible; }

/* Co-op Kampf: gleiche Frame/Aura-Schichtung */
#screen-coop-combat .duel-portrait-wrap.has-cos-frame,
#screen-coop-combat .duel-portrait-wrap.has-cos-aura,
#screen-guild-raid .duel-portrait-wrap.has-cos-frame,
#screen-guild-raid .duel-portrait-wrap.has-cos-aura{
  overflow:visible!important;position:relative;
  aspect-ratio:1/1;display:flex;align-items:center;justify-content:center
}
#screen-coop-combat .duel-portrait-wrap.has-cos-frame>.duel-portrait,
#screen-guild-raid .duel-portrait-wrap.has-cos-frame>.duel-portrait{
  width:var(--cos-frame-hole)!important;height:var(--cos-frame-hole)!important;
  max-width:var(--cos-frame-hole)!important;max-height:var(--cos-frame-hole)!important;
  aspect-ratio:1!important;border-radius:var(--cos-frame-radius)!important;
  background:transparent!important;border:0!important;position:relative;z-index:2
}
#screen-coop-combat .duel-portrait-wrap.has-cos-frame.has-cos-aura>.duel-portrait,
#screen-guild-raid .duel-portrait-wrap.has-cos-frame.has-cos-aura>.duel-portrait{
  width:var(--cos-avatar-framed-aura)!important;height:var(--cos-avatar-framed-aura)!important;
  max-width:var(--cos-avatar-framed-aura)!important;max-height:var(--cos-avatar-framed-aura)!important
}
#screen-coop-combat .duel-portrait-wrap.has-cos-aura:not(.has-cos-frame)>.duel-portrait,
#screen-guild-raid .duel-portrait-wrap.has-cos-aura:not(.has-cos-frame)>.duel-portrait{
  width:var(--cos-avatar-aura-alone)!important;height:var(--cos-avatar-aura-alone)!important;
  max-width:var(--cos-avatar-aura-alone)!important;max-height:var(--cos-avatar-aura-alone)!important;
  aspect-ratio:1!important;border-radius:var(--cos-frame-radius)!important;
  background:transparent!important;border:0!important;position:relative;z-index:2
}
#screen-coop-combat .duel-portrait-wrap>.cos-aura-img,
#screen-guild-raid .duel-portrait-wrap>.cos-aura-img{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:var(--cos-aura-alone);height:var(--cos-aura-alone);object-fit:contain;z-index:1;pointer-events:none
}
#screen-coop-combat .duel-portrait-wrap.has-cos-frame>.cos-aura-img,
#screen-guild-raid .duel-portrait-wrap.has-cos-frame>.cos-aura-img{
  width:var(--cos-aura-framed);height:var(--cos-aura-framed)
}
#screen-coop-combat .duel-portrait-wrap>.cos-frame-overlay,
#screen-guild-raid .duel-portrait-wrap>.cos-frame-overlay{
  position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:3;pointer-events:none
}


.shop-stock { color: var(--muted); }

.quest-list { display: flex; flex-direction: column; gap: 6px; margin-bottom: 4px; }
.quest-active { padding: 14px; margin-bottom: 10px; border:1px solid rgba(156,39,176,.35); border-radius:var(--r-md); background: linear-gradient(135deg,rgba(156,39,176,.14),rgba(30,20,40,.55)); box-shadow:0 4px 18px rgba(0,0,0,.22); }
.quest-active-focused { border-color: rgba(232,197,71,.45); box-shadow: 0 0 0 1px rgba(232,197,71,.15), 0 4px 18px rgba(0,0,0,.22); }
.quest-active-chip { background: rgba(156,39,176,.2); border-color: rgba(156,39,176,.35); }
.quest-card { padding: 10px 12px; }
.quest-header { display: flex; align-items: center; gap: 6px; margin-bottom: 4px; }
.quest-emoji { font-size: 1.3rem; flex-shrink: 0; }
.quest-name { font-weight: 700; font-size: .8rem; color: var(--gold); }
.quest-step { font-size: .74rem; line-height: 1.45; margin-bottom: 6px; white-space: pre-line; }
.quest-desc { margin-bottom: 6px; }
.quest-progress { margin: 6px 0; }
.quest-reward { color: var(--gold); margin-bottom: 6px; }
.quest-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 6px; }
.quest-btns { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; }
.quest-choice-row{display:flex;flex-wrap:wrap;gap:8px;width:100%;margin-bottom:4px}
.quest-choice-row .quest-choice-btn{flex:1 1 calc(50% - 4px);min-width:120px;text-align:center;white-space:normal;line-height:1.25;padding:8px 10px}
.quest-feedback{margin:8px 0;padding:10px 12px;border-radius:10px;border:1px solid rgba(96,165,250,.25);background:rgba(96,165,250,.08);line-height:1.45}
.quest-objective{line-height:1.45}
.quest-objective strong{color:var(--gold)}
.quest-nav-text{line-height:1.4}

.skills-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 10px 0; }
.panel-statistik { width: 100%; max-width: 100%; }
.panel-statistik .stat-inv-chip { margin: 4px 0 0; }
#panel-card.panel-statistik{
  padding:14px 14px 18px;
  background:
    radial-gradient(110% 65% at 8% -15%,rgba(232,197,71,.16),transparent 52%),
    radial-gradient(80% 45% at 100% 0%,rgba(180,120,40,.08),transparent 48%),
    linear-gradient(168deg,rgba(18,16,28,.98),rgba(8,6,14,.99));
  border-color:rgba(232,197,71,.26);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:0;
  max-height:min(78vh,820px);
  box-sizing:border-box;
}
.stats-panel{position:relative;display:flex;flex-direction:column;gap:0;min-width:0;min-height:0;flex:1 1 auto;overflow:hidden}
.stats-panel--epic{isolation:isolate}
.stats-panel-scroll{
  position:relative;z-index:1;flex:1 1 auto;min-height:0;
  overflow-x:hidden;overflow-y:auto;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;
  display:flex;flex-direction:column;gap:16px;
  padding-bottom:max(16px,calc(env(safe-area-inset-bottom,0px) + 12px));
}
.stats-panel-scroll .stats-interactive,
.stats-panel-scroll .stats-card,
.stats-panel-scroll .stats-featured,
.stats-panel-scroll .stats-ach-btn{
  touch-action:pan-y;
}
.stats-panel-bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;
  opacity:.22;pointer-events:none;z-index:0;border-radius:12px;filter:saturate(.9) contrast(1.05);
}
.stats-panel-veil{
  position:absolute;inset:0;pointer-events:none;z-index:0;border-radius:12px;
  background:linear-gradient(180deg,rgba(8,6,12,.55),rgba(8,6,12,.88) 55%,rgba(6,4,10,.96));
}
.stats-panel--epic > *:not(.stats-panel-bg):not(.stats-panel-veil){position:relative;z-index:1}
.stats-hero{
  display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;
  background:
    linear-gradient(125deg,rgba(232,197,71,.18),rgba(0,0,0,.35) 55%,rgba(120,80,30,.1)),
    rgba(0,0,0,.35);
  border:1px solid rgba(232,197,71,.38);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 22px rgba(0,0,0,.28);
}
.stats-hero-badge{
  flex:0 0 auto;width:2.85rem;height:2.85rem;display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;border-radius:14px;
  background:linear-gradient(160deg,rgba(232,197,71,.28),rgba(0,0,0,.45));
  border:1px solid rgba(232,197,71,.45);
  filter:drop-shadow(0 0 10px rgba(232,197,71,.3));
}
.stats-hero-text{min-width:0;display:flex;flex-direction:column;gap:3px}
.stats-hero-kicker{
  margin:0;font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(232,197,71,.95);
}
.stats-hero-title{margin:0;font-size:1.12rem;font-weight:900;color:var(--txt);letter-spacing:.02em}
.stats-hero-sub{margin:0;font-size:.72rem;color:var(--muted);line-height:1.4}
.stats-featured{
  position:relative;overflow:visible;display:flex;align-items:center;gap:14px;
  padding:16px 16px 15px;border-radius:16px;
  background:
    radial-gradient(90% 120% at 0% 50%,rgba(232,197,71,.16),transparent 55%),
    linear-gradient(135deg,rgba(28,22,12,.95),rgba(8,8,12,.98));
  border:1px solid rgba(232,197,71,.4);
  box-shadow:0 8px 24px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.06);
  animation:stats-fade-up .35s ease both;
}
.stats-featured-glow{
  position:absolute;right:-10%;top:-40%;width:55%;height:140%;pointer-events:none;
  background:radial-gradient(circle,rgba(232,197,71,.14),transparent 68%);
}
.stats-featured-ico{
  position:relative;flex:0 0 auto;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;
  font-size:1.45rem;border-radius:14px;
  background:rgba(0,0,0,.4);border:1px solid rgba(232,197,71,.4);
}
.stats-featured-body{position:relative;min-width:0;display:flex;flex-direction:column;gap:2px}
.stats-featured-kicker{
  font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,220,140,.9);
}
.stats-featured-value{font-size:1.35rem;font-weight:900;color:#fff4d0;letter-spacing:.01em;line-height:1.15}
.stats-featured-sub{font-size:.68rem;color:rgba(180,170,150,.9);line-height:1.35}
.stats-section{display:flex;flex-direction:column;gap:8px;animation:stats-fade-up .4s ease both;overflow:visible}
.stats-section--hero{animation-delay:.03s}
.stats-section--combat{animation-delay:.06s}
.stats-section--progress{animation-delay:.1s}
.stats-section--world{animation-delay:.14s}
.stats-section-title{
  margin:0;padding:0 2px;font-size:.66rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(210,190,150,.85);
}
.stats-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;overflow:visible;
}
.stats-grid--wide{grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}
.stats-card{
  position:relative;overflow:visible;display:flex;flex-direction:column;align-items:center;
  gap:5px;padding:15px 10px 13px;min-height:100px;text-align:center;border-radius:14px;
  background:rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.1);
  transition:border-color .18s,transform .18s,box-shadow .18s;
}
.stats-card-glow{
  position:absolute;inset:auto -20% -40% -20%;height:70%;pointer-events:none;opacity:.55;overflow:hidden;border-radius:inherit;
  background:radial-gradient(ellipse at center,rgba(232,197,71,.18),transparent 70%);
}
.stats-card-emoji{position:relative;font-size:1.5rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
.stats-card-value{position:relative;font-size:1.05rem;font-weight:900;color:var(--txt);letter-spacing:.01em;line-height:1.15}
.stats-card-label{position:relative;font-size:.66rem;font-weight:700;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.stats-card--time{border-color:rgba(232,197,71,.3)}
.stats-card--hero{border-color:rgba(255,210,120,.35)}.stats-card--hero .stats-card-glow{background:radial-gradient(ellipse at center,rgba(255,210,120,.22),transparent 70%)}
.stats-card--wealth{border-color:rgba(250,204,21,.35)}.stats-card--wealth .stats-card-glow{background:radial-gradient(ellipse at center,rgba(250,204,21,.2),transparent 70%)}
.stats-card--ach{border-color:rgba(251,146,60,.35)}.stats-card--ach .stats-card-glow{background:radial-gradient(ellipse at center,rgba(251,146,60,.2),transparent 70%)}
.stats-card--combat{border-color:rgba(248,113,113,.3)}.stats-card--combat .stats-card-glow{background:radial-gradient(ellipse at center,rgba(248,113,113,.2),transparent 70%)}
.stats-card--boss{border-color:rgba(232,197,71,.38)}.stats-card--boss .stats-card-glow{background:radial-gradient(ellipse at center,rgba(232,197,71,.24),transparent 70%)}
.stats-card--dungeon{border-color:rgba(180,140,90,.35)}.stats-card--dungeon .stats-card-glow{background:radial-gradient(ellipse at center,rgba(180,140,90,.2),transparent 70%)}
.stats-card--gather{border-color:rgba(74,222,128,.3)}.stats-card--gather .stats-card-glow{background:radial-gradient(ellipse at center,rgba(74,222,128,.2),transparent 70%)}
.stats-card--quest{border-color:rgba(251,191,36,.3)}.stats-card--quest .stats-card-glow{background:radial-gradient(ellipse at center,rgba(251,191,36,.2),transparent 70%)}
.stats-card--saga{border-color:rgba(255,220,140,.35)}.stats-card--saga .stats-card-glow{background:radial-gradient(ellipse at center,rgba(255,220,140,.2),transparent 70%)}
.stats-card--craft{border-color:rgba(180,160,120,.35)}.stats-card--craft .stats-card-glow{background:radial-gradient(ellipse at center,rgba(180,160,120,.2),transparent 70%)}
.stats-card--jobs{border-color:rgba(160,140,100,.32)}.stats-card--jobs .stats-card-glow{background:radial-gradient(ellipse at center,rgba(160,140,100,.18),transparent 70%)}
.stats-card--items{border-color:rgba(200,170,100,.3)}.stats-card--items .stats-card-glow{background:radial-gradient(ellipse at center,rgba(200,170,100,.18),transparent 70%)}
.stats-card--mine{border-color:rgba(148,163,184,.32)}.stats-card--mine .stats-card-glow{background:radial-gradient(ellipse at center,rgba(148,163,184,.2),transparent 70%)}
.stats-card--explore{border-color:rgba(45,212,191,.3)}.stats-card--explore .stats-card-glow{background:radial-gradient(ellipse at center,rgba(45,212,191,.2),transparent 70%)}
.stats-card--loot{border-color:rgba(96,165,250,.32)}.stats-card--loot .stats-card-glow{background:radial-gradient(ellipse at center,rgba(96,165,250,.2),transparent 70%)}
.stats-ach-btn{
  width:100%;margin-top:2px;font-weight:800;border-radius:12px;
  box-shadow:0 6px 16px rgba(232,197,71,.12);
}
.stats-interactive{
  cursor:help;appearance:none;-webkit-appearance:none;font:inherit;color:inherit;text-align:inherit;
  width:100%;position:relative;
}
.stats-interactive:focus-visible{outline:2px solid rgba(232,197,71,.65);outline-offset:2px}
.stats-card.stats-interactive:hover,
.stats-card.stats-interactive:focus-visible,
.stats-card.stats-interactive.is-tip-open{
  transform:translateY(-3px) scale(1.01);
  box-shadow:0 12px 28px rgba(0,0,0,.4);
  z-index:6;
}
.stats-featured.stats-interactive:hover,
.stats-featured.stats-interactive:focus-visible,
.stats-featured.stats-interactive.is-tip-open{
  transform:translateY(-2px);z-index:6;
  border-color:rgba(232,197,71,.6);
  box-shadow:0 12px 30px rgba(0,0,0,.4),0 0 24px rgba(232,197,71,.15);
}
.stats-epic-tip{
  position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%) translateY(6px);
  width:min(240px,78vw);padding:10px 12px;border-radius:12px;text-align:left;
  background:rgba(10,8,14,.97);border:1px solid rgba(232,197,71,.45);
  color:rgba(230,235,245,.95);font-size:.68rem;line-height:1.4;font-weight:600;
  box-shadow:0 14px 32px rgba(0,0,0,.55),0 0 20px rgba(232,197,71,.1);
  opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;z-index:20;
}
.stats-epic-tip-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:.78rem;color:#fcd34d}
.stats-epic-tip-blurb{margin:0 0 8px;color:rgba(200,205,220,.88);font-weight:550}
.stats-epic-tip-grid{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}
.stats-epic-tip-row{display:flex;justify-content:space-between;gap:8px;padding:5px 7px;border-radius:8px;background:rgba(255,255,255,.04)}
.stats-epic-tip-row span{color:var(--muted);font-weight:650}
.stats-epic-tip-row strong{color:#fff6d4;font-weight:850;text-align:right}
.stats-epic-tip-list{margin:0;padding:0 0 0 1rem;color:rgba(190,200,220,.9);font-size:.64rem}

/* Floating tips (portaled to body) — always above, never clipped */
.epic-tip-floating.stats-epic-tip,
.epic-tip-floating.hof-epic-tip{
  position:fixed !important;
  left:auto;top:auto;right:auto;bottom:auto;
  transform:none !important;
  translate:none !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:none;
  z-index:100000 !important;
  margin:0 !important;
  max-width:min(280px,calc(100vw - 16px));
}
.stats-interactive:hover .stats-epic-tip,
.stats-interactive:focus-visible .stats-epic-tip,
.stats-interactive.is-tip-open .stats-epic-tip{
  opacity:1;transform:translateX(-50%) translateY(0);
}
@keyframes stats-fade-up{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
@media (max-width:420px){
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats-card{min-height:90px;padding:12px 8px}
  .stats-featured{padding:14px 12px}
  .stats-featured-value{font-size:1.18rem}
  .stats-epic-tip{width:min(260px,88vw)}
}

#panel-card.panel-admin { width: 100%; max-width: 100%; }
#panel-card.panel-admin,
#panel-card.panel-audio{
  max-height:min(78vh,820px);
  min-height:min(52vh,420px);
  display:flex;flex-direction:column;
  overflow:hidden;box-sizing:border-box;
}
#screen-panel #panel-card.panel-admin,
#screen-panel #panel-card.panel-audio{flex:1 1 auto;min-height:0}
#panel-card.panel-admin > :not(#admin-tab-body),
#panel-card.panel-audio > :not(.panel-scroll-body){flex-shrink:0}
#panel-card.panel-audio .audio-panel-lead{margin:0 0 10px;flex-shrink:0}
#panel-card.panel-admin #admin-tab-body,
#panel-card.panel-audio .panel-scroll-body{
  flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding-right:2px;scrollbar-gutter:stable;touch-action:pan-y;
}
#panel-card.panel-audio .audio-preview{margin-bottom:4px}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-audio{
  max-height:var(--rpg-menu-scroll-max)!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-audio .panel-scroll-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
}
html:not(.flix-rpg-pc-scale) body.screen-panel #app { max-width: min(680px, 100vw); }
html:not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-statistik) #app { max-width: min(920px, 100vw); }
#panel-card.panel-statistik { width:100%; max-width:100%; }
html:not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-admin) #app { max-width: min(920px, 100vw); }
html:not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-craft) #app {
  max-width: 100vw;
  width: 100%;
}
html:not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-kosmetik) #app {
  max-width: min(920px, 100vw);
}
/* Profil: echtes Vollbild */
body.screen-panel:has(#panel-card.panel-profil) #app{
  max-width:100vw!important;
  width:100%!important;
  height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important;
  margin:0!important;
  padding-left:clamp(10px,1.2vw,20px)!important;
  padding-right:clamp(58px,4.5vw,72px)!important;
  padding-bottom:0!important;
  box-sizing:border-box!important;
}
body.screen-panel:has(#panel-card.panel-profil) .top-bar{
  max-width:100%!important;
  width:100%!important;
  margin-inline:0!important;
  transform:none!important;
}
body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-profil) .top-bar,
html.flix-rpg-web body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-profil) .top-bar,
html[data-desktop-web="1"].flix-rpg-web body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-profil) .top-bar{
  left:0!important;
  right:0!important;
  transform:none!important;
  width:100%!important;
  max-width:100vw!important;
  border-radius:0 0 14px 14px!important;
  padding-left:clamp(10px,1.2vw,20px)!important;
  padding-right:clamp(58px,4.5vw,72px)!important;
  box-sizing:border-box!important;
}
body.screen-panel:has(#panel-card.panel-profil) #screen-panel:not(.hidden){
  flex:1 1 auto!important;
  min-height:0!important;
  height:var(--rpg-menu-scroll-max,calc(100dvh - 64px))!important;
  max-height:var(--rpg-menu-scroll-max,calc(100dvh - 64px))!important;
  overflow:hidden!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
}
body.screen-panel:has(#panel-card.panel-kosmetik) #screen-panel {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
#panel-card.panel-craft,
#panel-card.panel-kosmetik {
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow: hidden;
  box-sizing: border-box;
  padding: 0;
}
#panel-card.panel-profil,
#panel-card.panel-profil.glass,
#panel-card.panel-profil.card {
  --profil-gap: clamp(8px, 1.2vh, 14px);
  --profil-pad: clamp(6px, 1vh, 12px);
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  height: 100% !important;
  max-height: 100% !important;
  overflow: hidden;
  box-sizing: border-box;
  padding: var(--profil-pad) clamp(10px, 1.4vw, 18px) max(8px, env(safe-area-inset-bottom, 0px));
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
#panel-card.panel-profil::before,
#panel-card.panel-profil::after,
#panel-card.panel-profil .ui-theme-frame,
#panel-card.panel-profil .ui-theme-bg{
  display:none!important;
}
#panel-card.panel-profil .profil-shell{
  display:grid;
  grid-template-rows:minmax(0,42fr) minmax(0,58fr);
  flex:1 1 auto;min-height:0;gap:var(--profil-gap);height:100%;
  overflow:hidden;width:100%;
}
#panel-card.panel-profil .profil-topbar{
  --profil-hud-cols:minmax(300px,1fr) minmax(340px,1.25fr);
  position:relative;overflow:hidden;
  min-height:0;height:100%;
  display:grid;
  grid-template-columns:var(--profil-hud-cols);
  gap:clamp(14px,1.8vw,24px);
  padding:clamp(12px,1.6vh,18px) clamp(12px,1.4vw,20px);
  border-radius:18px;
  background:
    radial-gradient(ellipse 55% 80% at 8% 30%,rgba(232,197,71,.1),transparent 55%),
    radial-gradient(ellipse 50% 70% at 92% 60%,rgba(88,60,160,.12),transparent 50%),
    linear-gradient(165deg,rgba(12,14,24,.82),rgba(6,8,14,.55) 60%,rgba(6,8,14,.32));
  border:1px solid rgba(232,197,71,.28);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    inset 0 0 0 1px rgba(232,197,71,.06),
    0 12px 28px rgba(0,0,0,.3);
}
#panel-card.panel-profil .profil-topbar::before,
#panel-card.panel-profil .profil-topbar::after{
  content:"";position:absolute;width:18px;height:18px;pointer-events:none;z-index:2;
  border:2px solid rgba(232,197,71,.45);opacity:.85;
}
#panel-card.panel-profil .profil-topbar::before{
  top:8px;left:8px;border-right:0;border-bottom:0;border-radius:4px 0 0 0;
}
#panel-card.panel-profil .profil-topbar::after{
  bottom:8px;right:8px;border-left:0;border-top:0;border-radius:0 0 4px 0;
}
@media (min-width:1200px){
  #panel-card.panel-profil .profil-topbar{
    --profil-hud-cols:minmax(320px,1fr) minmax(420px,1.35fr);
  }
}
#panel-card.panel-profil .profil-hero-col{
  display:flex;flex-direction:column;justify-content:center;
  min-width:0;min-height:0;height:100%;position:relative;z-index:1;
}
#panel-card.panel-profil .profil-top-stats{
  display:flex;flex-direction:column;gap:0;
  min-width:0;min-height:0;height:100%;width:100%;position:relative;z-index:1;
}
#panel-card.panel-profil .profil-title-banner{
  width:100%;max-width:none;margin:0;
  flex:0 0 auto;
  border-radius:14px 14px 0 0;
  min-height:clamp(36px,4.4vh,46px);
  display:flex;align-items:center;justify-content:center;
  box-sizing:border-box;
  border:1px solid rgba(232,197,71,.28);
  border-bottom:0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
#panel-card.panel-profil .profil-title-banner .hub-title-banner-text{
  font-size:clamp(.7rem,1vh + .34rem,.86rem);
  letter-spacing:.1em;
}
#panel-card.panel-profil .profil-top-stats.has-title-banner .profil-vitals-stack{
  border-top-left-radius:0;border-top-right-radius:0;
}
#panel-card.panel-profil .profil-top-stats .profil-vitals-stack{
  flex:1 1 auto;min-height:0;
}
#panel-card.panel-profil .profil-top-stats .profil-pet-block{
  margin-top:clamp(8px,1.2vh,12px);flex:0 0 auto;
}
#panel-card.panel-profil .profil-hero{
  display:grid;grid-template-columns:auto minmax(0,1fr);
  gap:clamp(14px,2vh,22px) clamp(14px,1.8vw,22px);
  align-items:center;min-height:0;width:100%;
  padding:clamp(8px,1.2vh,12px) clamp(10px,1.2vw,14px);
  border-radius:14px;
  border:1px solid rgba(232,197,71,.2);
  background:linear-gradient(155deg,rgba(8,10,18,.35),rgba(6,8,14,.55));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
#panel-card.panel-profil .profil-hero-portrait{
  position:relative;
  width:clamp(6.2rem,13vh,8.2rem);height:clamp(6.2rem,13vh,8.2rem);
  border-radius:16px;overflow:hidden;flex-shrink:0;
  isolation:isolate;
  border:2px solid rgba(232,197,71,.55);
  background:
    radial-gradient(circle at 35% 28%,rgba(232,197,71,.3),transparent 55%),
    rgba(4,6,12,.96);
  box-shadow:
    0 0 0 4px rgba(232,197,71,.08),
    0 0 22px rgba(232,197,71,.16),
    0 14px 28px rgba(0,0,0,.48),
    inset 0 0 20px rgba(0,0,0,.35);
  display:flex;align-items:center;justify-content:center;
}
#panel-card.panel-profil .profil-hero-portrait:not(.has-cos-frame)::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:4;
  background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 35%,rgba(0,0,0,.28));
}
#panel-card.panel-profil .profil-hero-portrait.has-cos-frame,
#panel-card.panel-profil .profil-hero-portrait.has-cos-aura{
  border-color:transparent;background:rgba(8,10,16,.98);
  box-shadow:0 10px 24px rgba(0,0,0,.4);
}
#panel-card.panel-profil .profil-hero-img,
#panel-card.panel-profil .profil-hero-fallback{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:100%;height:100%;z-index:2;
  object-fit:cover;object-position:center top;display:block;
  border-radius:14px;
}
#panel-card.panel-profil .profil-hero-fallback{
  display:flex;align-items:center;justify-content:center;
  font-size:2.35rem;line-height:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4));
  background:rgba(4,6,12,.96);
}
#panel-card.panel-profil .profil-hero-portrait.has-cos-frame .profil-hero-img,
#panel-card.panel-profil .profil-hero-portrait.has-cos-frame .profil-hero-fallback{
  width:var(--cos-frame-hole,62%);height:var(--cos-frame-hole,62%);
  border-radius:18%!important;
  clip-path:inset(0 round 18%)!important;
  -webkit-clip-path:inset(0 round 18%)!important;
  border:0!important;box-shadow:none!important;
  background:rgba(8,10,16,.98)!important;
}
#panel-card.panel-profil .profil-hero-portrait.has-cos-frame.has-cos-aura .profil-hero-img,
#panel-card.panel-profil .profil-hero-portrait.has-cos-frame.has-cos-aura .profil-hero-fallback{
  width:var(--cos-avatar-framed-aura,56%);height:var(--cos-avatar-framed-aura,56%);
}
#panel-card.panel-profil .profil-hero-portrait.has-cos-aura:not(.has-cos-frame) .profil-hero-img,
#panel-card.panel-profil .profil-hero-portrait.has-cos-aura:not(.has-cos-frame) .profil-hero-fallback{
  width:var(--cos-avatar-aura-alone,66%);height:var(--cos-avatar-aura-alone,66%);
  border-radius:50%;
  clip-path:circle(50% at 50% 50%);
  -webkit-clip-path:circle(50% at 50% 50%);
}
#panel-card.panel-profil .profil-hero-portrait .cos-aura-img{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:var(--cos-aura-alone,84%);height:var(--cos-aura-alone,84%);
  object-fit:contain;pointer-events:none;z-index:1;
}
#panel-card.panel-profil .profil-hero-portrait.has-cos-frame .cos-aura-img{
  width:var(--cos-aura-framed,86%);height:var(--cos-aura-framed,86%);
}
#panel-card.panel-profil .profil-hero-portrait .cos-frame-overlay{
  position:absolute;inset:0;width:100%;height:100%;
  pointer-events:none;z-index:3;object-fit:contain;
}
#panel-card.panel-profil .profil-hero-identity{
  min-width:0;display:flex;flex-direction:column;justify-content:center;
  gap:clamp(7px,1.1vh,12px);
}
#panel-card.panel-profil .profil-title{
  margin:0;display:flex;align-items:center;gap:0;min-width:0;
  font-family:Cinzel,Georgia,serif;font-size:clamp(1.35rem,2.6vh + .4rem,1.85rem);font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;color:var(--gold,#e8c547);
  text-shadow:0 0 24px rgba(232,197,71,.4),0 2px 4px rgba(0,0,0,.6);
}
#panel-card.panel-profil .profil-title-emoji{display:none!important}
#panel-card.panel-profil .profil-title-text{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;
  background:linear-gradient(180deg,#f8ecc0 0%,#e8c547 48%,#c9a227 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
#panel-card.panel-profil .profil-hero-name-row{
  display:flex;align-items:center;gap:8px;min-width:0;width:100%;
}
#panel-card.panel-profil .profil-hero-name-wrap{
  display:flex;align-items:center;flex:1 1 auto;min-width:0;
}
#panel-card.panel-profil .profil-hero-name-input{
  flex:1 1 auto;min-width:8ch;width:100%;max-width:100%;
  margin:0;padding:4px 8px;border:0;border-radius:8px;
  background:rgba(0,0,0,.22);color:rgba(238,241,255,.98);
  -webkit-text-fill-color:rgba(238,241,255,.98);
  font-family:Rajdhani,system-ui,sans-serif;
  font-size:clamp(1.1rem,1.9vh + .35rem,1.35rem);font-weight:700;
  letter-spacing:.04em;line-height:1.2;
  outline:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
#panel-card.panel-profil .profil-hero-name-wrap .profil-hero-name-input.cos-name-text{
  display:block;width:100%;
  background:transparent!important;background-image:none!important;
  box-shadow:none;padding-left:2px;
  -webkit-background-clip:border-box!important;background-clip:border-box!important;
  animation:none!important;filter:none;
}
/* Inputs können background-clip:text nicht — feste Farben statt unsichtbarem Gradient */
#panel-card.panel-profil .profil-hero-name-wrap.cos-namecolor-mythic .profil-hero-name-input{
  color:#f0d878!important;-webkit-text-fill-color:#f0d878!important;
  text-shadow:0 0 8px rgba(168,85,247,.45),0 0 4px rgba(232,197,71,.35);
}
#panel-card.panel-profil .profil-hero-name-wrap.cos-namecolor-owner .profil-hero-name-input{
  color:#ffd76a!important;-webkit-text-fill-color:#ffd76a!important;
  text-shadow:0 0 8px rgba(255,200,60,.4);
}
#panel-card.panel-profil .profil-hero-name-wrap.cos-namecolor-admin .profil-hero-name-input{
  color:#7ec8ff!important;-webkit-text-fill-color:#7ec8ff!important;
  text-shadow:0 0 8px rgba(80,160,255,.4);
}
#panel-card.panel-profil .profil-hero-name-wrap.cos-namecolor-gm .profil-hero-name-input{
  color:#c4a1ff!important;-webkit-text-fill-color:#c4a1ff!important;
  text-shadow:0 0 8px rgba(160,100,255,.4);
}
#panel-card.panel-profil .profil-hero-name-wrap.cos-namecolor-feather .profil-hero-name-input{
  color:#d0e4f4!important;-webkit-text-fill-color:#d0e4f4!important;
  text-shadow:0 0 8px rgba(140,180,220,.4);
}
#panel-card.panel-profil .profil-hero-name-input:not([readonly]):hover,
#panel-card.panel-profil .profil-hero-name-input:not([readonly]):focus{
  background:rgba(0,0,0,.38)!important;
  box-shadow:inset 0 0 0 1px rgba(232,197,71,.45);
  background-clip:border-box!important;-webkit-background-clip:border-box!important;
  filter:none;
}
#panel-card.panel-profil .profil-hero-name-input[readonly]{
  cursor:default;caret-color:transparent;
}
#panel-card.panel-profil .profil-hero-badges{
  display:inline-flex;align-items:center;gap:3px;flex:0 0 auto;
}
#panel-card.panel-profil .profil-hero-badges .cos-badge-inline{
  width:1.25rem;height:1.25rem;object-fit:contain;
}
#panel-card.panel-profil .profil-hero-badges .cos-badge-emoji{font-size:.95rem;line-height:1}
#panel-card.panel-profil .profil-hero-meta{
  display:flex;flex-direction:column;gap:0;margin-top:4px;min-width:0;width:100%;
  align-items:center;
}
#panel-card.panel-profil .profil-meta-identity{
  display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:center;align-items:center;
  gap:6px;width:100%;margin:0 0 6px;align-content:center;
}
#panel-card.panel-profil .profil-meta-line{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;
  gap:6px;width:100%;max-width:100%;
}
#panel-card.panel-profil .profil-meta-identity .profil-meta-item{
  flex:0 1 auto;min-width:0;
}
#panel-card.panel-profil .profil-meta-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  width:100%;
}
#panel-card.panel-profil .profil-meta-item{
  display:flex;flex-direction:column;gap:2px;min-width:0;
  padding:6px 9px 7px;
  border-radius:10px;
  border:1px solid rgba(232,197,71,.2);
  background:linear-gradient(160deg,rgba(10,12,20,.7),rgba(4,6,12,.48));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
#panel-card.panel-profil .profil-meta-item--wide{
  grid-column:1 / -1;
}
#panel-card.panel-profil .profil-meta-lbl{
  font-family:Cinzel,Georgia,serif;
  font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(232,197,71,.68);line-height:1.1;
}
#panel-card.panel-profil .profil-meta-val{
  font-family:Rajdhani,system-ui,sans-serif;
  font-size:clamp(.82rem,1vh + .35rem,.98rem);font-weight:700;letter-spacing:.02em;
  color:#f0e2bc;line-height:1.2;font-variant-numeric:tabular-nums;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#panel-card.panel-profil .profil-meta-item.is-muted .profil-meta-val{
  color:rgba(180,188,210,.55);font-weight:600;
}
#panel-card.panel-profil .profil-chip-level{
  border-color:rgba(232,197,71,.4)!important;
  background:linear-gradient(145deg,rgba(232,197,71,.18),rgba(20,14,6,.5))!important;
}
#panel-card.panel-profil .profil-chip-level .profil-meta-val{color:var(--gold,#e8c547)!important}
#panel-card.panel-profil .profil-chip-guild{
  border-color:rgba(56,189,248,.32);
  background:linear-gradient(145deg,rgba(56,189,248,.12),rgba(8,16,28,.48));
}
#panel-card.panel-profil .profil-chip-guild .profil-meta-val{color:#bae6fd}
#panel-card.panel-profil .profil-chip-job{
  border-color:rgba(52,211,153,.28);
  background:linear-gradient(145deg,rgba(16,185,129,.12),rgba(6,16,12,.48));
}
#panel-card.panel-profil .profil-chip-job .profil-meta-val{color:#bbf7d0}
#panel-card.panel-profil .profil-chip-sp.is-ready,
#panel-card.panel-profil .profil-chip-jp.is-ready,
#panel-card.panel-profil .profil-points-chip.is-ready{
  border-color:rgba(232,197,71,.55)!important;
  background:linear-gradient(145deg,rgba(232,197,71,.22),rgba(30,20,8,.52))!important;
  box-shadow:0 0 10px rgba(232,197,71,.16),inset 0 1px 0 rgba(255,255,255,.05);
}
#panel-card.panel-profil .profil-chip-sp.is-ready .profil-meta-val,
#panel-card.panel-profil .profil-chip-jp.is-ready .profil-meta-val,
#panel-card.panel-profil .profil-points-chip.is-ready .profil-meta-val{
  color:#fde68a!important;
}
#panel-card.panel-profil .profil-name-edit-btn{
  appearance:none;-webkit-appearance:none;
  flex:0 0 auto;width:1.55rem;height:1.55rem;padding:0;margin:0;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(232,197,71,.4);border-radius:999px;
  background:linear-gradient(160deg,rgba(232,197,71,.22),rgba(20,14,6,.55));
  color:var(--gold,#e8c547);
  font-size:.92rem;line-height:1;cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 2px 8px rgba(0,0,0,.25);
  transition:transform .14s ease,background .14s ease,border-color .14s ease,opacity .14s ease,box-shadow .14s ease;
}
#panel-card.panel-profil .profil-name-edit-btn:hover:not(:disabled){
  border-color:rgba(251,191,36,.7);
  box-shadow:0 0 12px rgba(232,197,71,.28),inset 0 1px 0 rgba(255,255,255,.12);
  transform:translateY(-1px);
}
#panel-card.panel-profil .profil-name-edit-btn:disabled{
  opacity:.32;cursor:not-allowed;filter:grayscale(.35);
}
#panel-card.panel-profil .profil-vitals-stack{
  display:flex;flex-direction:column;justify-content:center;
  gap:clamp(8px,1.2vh,12px);min-height:0;flex:1 1 auto;width:100%;
  box-sizing:border-box;
  padding:clamp(14px,1.8vh,18px) clamp(16px,1.6vw,24px);
  border-radius:14px;
  border:1px solid rgba(232,197,71,.28);
  background:
    linear-gradient(155deg,rgba(10,12,22,.78),rgba(6,8,14,.88)),
    radial-gradient(ellipse 90% 80% at 50% 0%,rgba(232,197,71,.08),transparent 55%);
  background-size:100% 100%;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    inset 0 0 28px rgba(0,0,0,.28),
    0 6px 18px rgba(0,0,0,.22);
}
#panel-card.panel-profil .profil-vitals-head{
  display:flex;align-items:center;justify-content:space-between;
  margin:0 0 2px;padding:0 1px 6px;
  border-bottom:1px solid rgba(232,197,71,.18);
}
#panel-card.panel-profil .profil-vitals-kicker{
  font-family:Cinzel,Georgia,serif;font-size:.68rem;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(232,197,71,.85);
}
#panel-card.panel-profil .profil-bar{
  display:grid;grid-template-columns:2.6rem minmax(0,1fr) auto;
  gap:10px;align-items:center;min-width:0;
  padding:4px 2px;
}
#panel-card.panel-profil .profil-bar-lbl{
  font-family:Rajdhani,system-ui,sans-serif;font-weight:800;letter-spacing:.12em;
  font-size:clamp(.74rem,1.05vh + .28rem,.88rem);line-height:1;
  text-shadow:0 1px 2px rgba(0,0,0,.55);
}
#panel-card.panel-profil .profil-bar--xp .profil-bar-lbl{color:#fbbf24}
#panel-card.panel-profil .profil-bar--hp .profil-bar-lbl{color:#f87171}
#panel-card.panel-profil .profil-bar--mp .profil-bar-lbl{color:#60a5fa}
#panel-card.panel-profil .profil-bar--sp .profil-bar-lbl{color:#2dd4bf}
#panel-card.panel-profil .profil-bar-val{
  font-family:Rajdhani,system-ui,sans-serif;font-size:clamp(.72rem,1vh + .26rem,.86rem);
  font-weight:700;letter-spacing:.02em;font-variant-numeric:tabular-nums;color:#efe2bc;
  min-width:5ch;text-align:right;white-space:nowrap;
  text-shadow:0 1px 2px rgba(0,0,0,.45);
}
#panel-card.panel-profil .profil-bar-track{
  position:relative;
  height:clamp(11px,1.5vh,14px);border-radius:999px;overflow:hidden;
  background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.07);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.45);
}
#panel-card.panel-profil .profil-bar-fill{
  display:block;height:100%;width:0;border-radius:inherit;
  position:relative;
}
#panel-card.panel-profil .profil-bar-fill::after{
  content:"";position:absolute;inset:0 0 auto 0;height:45%;
  background:linear-gradient(180deg,rgba(255,255,255,.28),transparent);
  border-radius:inherit;
}
#panel-card.panel-profil .profil-bar-fill.xp{
  background:linear-gradient(90deg,#b45309,#f59e0b 40%,#fde68a);
  box-shadow:0 0 12px rgba(251,191,36,.4);
}
#panel-card.panel-profil .profil-bar-fill.hp{
  background:linear-gradient(90deg,#7f1d1d,#ef4444 45%,#fecaca);
  box-shadow:0 0 12px rgba(239,68,68,.35);
}
#panel-card.panel-profil .profil-bar-fill.mana{
  background:linear-gradient(90deg,#1e3a8a,#3b82f6 45%,#bfdbfe);
  box-shadow:0 0 12px rgba(59,130,246,.35);
}
#panel-card.panel-profil .profil-bar-fill.sta{
  background:linear-gradient(90deg,#115e59,#14b8a6 45%,#99f6e4);
  box-shadow:0 0 12px rgba(20,184,166,.35);
}
#panel-card.panel-profil .profil-pet-bars{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;flex:1 1 150px;min-width:120px;min-height:0;
}
#panel-card.panel-profil .profil-pet-bars .bar-row,
#panel-card.panel-profil .profil-pet-bars .profil-vital{
  display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;
  gap:3px 5px;margin:0;padding:5px 8px;border-radius:9px;
  border:1px solid rgba(255,255,255,.08);
  min-height:0;align-content:center;
  background:rgba(0,0,0,.28);
}
#panel-card.panel-profil .profil-vital--hp{border-color:rgba(239,68,68,.3)}
#panel-card.panel-profil .profil-vital--mp{border-color:rgba(96,165,250,.3)}
#panel-card.panel-profil .profil-vital--sp{border-color:rgba(45,212,191,.3)}
#panel-card.panel-profil .profil-pet-bars .bar-lbl{
  grid-column:1;grid-row:1;font-size:.62rem;font-weight:800;min-width:0;
  font-family:Rajdhani,system-ui,sans-serif;letter-spacing:.08em;
}
#panel-card.panel-profil .profil-pet-bars .bar-val{
  grid-column:2;grid-row:1;font-size:.62rem;font-weight:700;text-align:right;font-variant-numeric:tabular-nums;
}
#panel-card.panel-profil .profil-pet-bars .bar-track{
  grid-column:1/-1;grid-row:2;height:6px;width:100%;border-radius:999px;overflow:hidden;
  background:rgba(0,0,0,.45);
}
#panel-card.panel-profil .profil-pet-block{
  display:flex;align-items:center;gap:10px;min-width:0;flex:0 0 auto;
  padding:8px 11px;border-radius:12px;
  border:1px solid rgba(52,211,153,.32);
  background:
    linear-gradient(145deg,rgba(16,185,129,.14),rgba(6,8,16,.55)),
    rgba(4,8,12,.4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 3px 12px rgba(0,0,0,.2);
}
#panel-card.panel-profil .profil-pet-block--ko{opacity:.78;border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.08)}
#panel-card.panel-profil .profil-pet-emoji{
  width:2.1rem;height:2.1rem;display:flex;align-items:center;justify-content:center;
  border-radius:9px;font-size:1.15rem;flex:0 0 auto;
  border:1px solid rgba(232,197,71,.3);
  background:
    linear-gradient(145deg,rgba(6,8,16,.35),rgba(6,8,16,.55)),
    var(--profil-icon-plate,url('/activity/rpg/icons/attr-icon-plate.png')) center/cover no-repeat;
}
#panel-card.panel-profil .profil-pet-identity{
  display:flex;flex-direction:column;gap:1px;flex:0 1 auto;min-width:0;max-width:8.5rem;
}
#panel-card.panel-profil .profil-pet-title{
  font-size:.86rem;font-weight:800;color:#6ee7b7;line-height:1.15;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#panel-card.panel-profil .profil-pet-level{
  font-size:.64rem;font-weight:700;color:rgba(167,243,208,.78);letter-spacing:.03em;
}
#panel-card.panel-profil .profil-pet-ko{border-color:rgba(239,68,68,.4);color:#fca5a5;background:rgba(239,68,68,.12);padding:3px 8px;font-size:.62rem}
#panel-card.panel-profil .profil-pet-img-btn,
#panel-card.panel-profil .attr-plus-img-btn{
  appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:0;margin:0;
  cursor:pointer;line-height:0;flex:0 0 auto;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.35));
  transition:transform .14s ease,filter .14s ease,opacity .14s ease;
}
#panel-card.panel-profil .profil-pet-img-btn img,
#panel-card.panel-profil .attr-plus-img-btn img{
  display:block;width:auto;height:auto;object-fit:contain;pointer-events:none;
}
#panel-card.panel-profil .profil-pet-img-btn img{width:clamp(42px,5.2vh,52px);height:clamp(42px,5.2vh,52px)}
#panel-card.panel-profil .attr-plus-img-btn img{width:32px;height:32px}
#panel-card.panel-profil .profil-pet-img-btn:hover,
#panel-card.panel-profil .attr-plus-img-btn:hover{
  transform:translateY(-1px) scale(1.05);
  filter:drop-shadow(0 0 10px rgba(232,197,71,.35)) drop-shadow(0 4px 10px rgba(0,0,0,.4));
}
#panel-card.panel-profil .profil-pet-img-btn:active,
#panel-card.panel-profil .attr-plus-img-btn:active{transform:scale(.94)}
#panel-card.panel-profil .profil-body,
#panel-card.panel-profil .profil-body.rpg-scroll-region,
#panel-card.panel-profil .profil-scroll-body{
  min-height:0;height:100%;
  overflow:hidden!important;
  overflow-y:hidden!important;
  overflow-x:hidden!important;
  display:flex;flex-direction:column;
  justify-content:stretch;
  padding:0;
  scrollbar-gutter:auto;
  -webkit-overflow-scrolling:auto;
  touch-action:manipulation;
  overscroll-behavior:none;
}
@media (max-width:980px){
  #panel-card.panel-profil .profil-shell{grid-template-rows:auto minmax(0,1fr)}
  #panel-card.panel-profil .profil-topbar{
    height:auto;grid-template-columns:1fr;gap:12px;
  }
  #panel-card.panel-profil .profil-title-banner{border-radius:14px 14px 0 0;width:100%}
  #panel-card.panel-profil .profil-hero-col,
  #panel-card.panel-profil .profil-hero,
  #panel-card.panel-profil .profil-pet-block,
  #panel-card.panel-profil .profil-vitals-stack{height:auto}
}
@media (max-width:760px){
  #panel-card.panel-profil .profil-shell{display:flex;flex-direction:column;grid-template-rows:none;height:auto}
  #panel-card.panel-profil .profil-topbar{flex:0 0 auto;height:auto;display:flex;flex-direction:column}
  #panel-card.panel-profil .profil-body,
  #panel-card.panel-profil .profil-body.rpg-scroll-region{
    flex:1 1 auto;
    overflow-y:auto!important;overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
    padding-bottom:max(6px,env(safe-area-inset-bottom,0px));
    height:auto;
  }
}
@media (min-width:761px) and (max-height:720px){
  #panel-card.panel-profil .profil-shell{grid-template-rows:minmax(0,38fr) minmax(0,62fr)}
  #panel-card.panel-profil .profil-meta-grid{gap:4px}
  #panel-card.panel-profil .profil-meta-item{padding:4px 7px 5px}
  #panel-card.panel-profil .profil-hero-portrait{width:4.2rem;height:4.2rem}
  #panel-card.panel-profil .profil-title{font-size:1.15rem}
  #panel-card.panel-profil .profil-topbar{padding:10px 12px;gap:8px}
}
@media (min-width:981px){
  #panel-card.panel-profil .profil-meta-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  #panel-card.panel-profil .profil-meta-item--wide{grid-column:span 3}
}
@supports not (field-sizing:content){
  #panel-card.panel-profil .profil-hero-name-input{width:min(100%,14rem)}
}
@media (prefers-reduced-motion:reduce){
  #panel-card.panel-profil .profil-pet-img-btn,
  #panel-card.panel-profil .profil-name-edit-btn,
  #panel-card.panel-profil .attr-plus-img-btn{transition:none}
  #panel-card.panel-profil .profil-pet-img-btn:hover,
  #panel-card.panel-profil .profil-name-edit-btn:hover:not(:disabled),
  #panel-card.panel-profil .attr-plus-img-btn:hover{transform:none}
}
@media (max-width:560px){
  #panel-card.panel-profil .profil-title{font-size:.94rem}
}
#panel-card.panel-kosmetik{
  min-height:0;height:100%;max-height:none;
  display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;
  border:none!important;background:transparent!important;box-shadow:none!important;
}
#panel-card.panel-kosmetik .cos-workshop{
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;
  position:relative;
}
#panel-card.panel-kosmetik .cos-workshop-header,
#panel-card.panel-kosmetik .cos-hero{flex-shrink:0}
#panel-card.panel-kosmetik .cos-shop-banner-wrap{
  width:100%;
  margin:0 0 10px;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(232,197,71,.28);
  background:linear-gradient(135deg,rgba(20,16,28,.9),rgba(40,28,18,.85));
}
#panel-card.panel-kosmetik .cos-shop-banner{
  display:block;
  width:100%;
  height:auto;
  max-height:140px;
  object-fit:cover;
  object-position:center;
}
.ow-social-avatar-wrap{
  position:relative;
  width:48px;height:48px;flex-shrink:0;
  overflow:visible;
  isolation:isolate;
  background:rgba(8,10,16,.98);
  border-radius:12px;
}
.ow-social-avatar-wrap .ow-social-avatar{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:100%;height:100%;
  border-radius:50%;
  clip-path:circle(50% at 50% 50%);
  -webkit-clip-path:circle(50% at 50% 50%);
  object-fit:cover;object-position:center;
  z-index:2;border:0!important;box-shadow:none!important;
  display:flex;align-items:center;justify-content:center;
  background:rgba(8,10,16,.98)!important;font-size:1.15rem;line-height:1;
}
/* Rechteckige Rahmen: Avatar füllt die Öffnung (kein heller Spalt in den Ecken) */
.ow-social-avatar-wrap.has-cos-frame .ow-social-avatar{
  width:var(--cos-frame-hole,62%);height:var(--cos-frame-hole,62%);
  border-radius:18%!important;
  clip-path:inset(0 round 18%)!important;
  -webkit-clip-path:inset(0 round 18%)!important;
  background:rgba(8,10,16,.98)!important;
}
.ow-social-avatar-wrap.has-cos-frame.has-cos-aura .ow-social-avatar{
  width:var(--cos-avatar-framed-aura,56%);height:var(--cos-avatar-framed-aura,56%);
}
.ow-social-avatar-wrap.has-cos-aura:not(.has-cos-frame) .ow-social-avatar{
  width:var(--cos-avatar-aura-alone,66%);height:var(--cos-avatar-aura-alone,66%);
}
.ow-social-avatar-wrap .cos-aura-img{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:var(--cos-aura-alone,84%);height:var(--cos-aura-alone,84%);
  object-fit:contain;pointer-events:none;z-index:1;
}
.ow-social-avatar-wrap.has-cos-frame .cos-aura-img{
  width:var(--cos-aura-framed,86%);height:var(--cos-aura-framed,86%);
}
.ow-social-avatar-wrap.has-cos-frame{overflow:visible}
.ow-social-avatar-wrap .cos-frame-overlay{
  position:absolute;inset:0;width:100%;height:100%;
  pointer-events:none;z-index:3;object-fit:contain;
}
.coop-zone-player-avatar-wrap{
  position:relative;flex-shrink:0;width:48px;height:48px;
}
.coop-zone-player-avatar-wrap .coop-zone-player-avatar,
.coop-zone-player-avatar-wrap .coop-zone-player-fallback{
  width:100%;height:100%;border-radius:50%;object-fit:cover;
  clip-path:circle(50% at 50% 50%);-webkit-clip-path:circle(50% at 50% 50%);
}
.coop-zone-player-avatar-wrap .cos-frame-overlay{
  position:absolute;inset:-12%;width:124%;height:124%;left:-12%;top:-12%;
  pointer-events:none;z-index:2;object-fit:contain;
}
#panel-card.panel-kosmetik .cos-scroll-wrap,
#panel-card.panel-kosmetik .shop-scroll-wrap{
  flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding-right:12px;padding-bottom:14px;scrollbar-width:thin;
}
#panel-card.panel-kosmetik .cos-cat-section{
  position:relative;margin:0 0 14px;
}
#panel-card.panel-kosmetik .cos-cat-sticky{
  position:sticky;top:0;z-index:8;
  margin:0 0 10px;padding:9px 12px;
  border-radius:12px;
  font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:#fce7f3;
  background:linear-gradient(180deg,rgba(28,18,36,.94) 40%,rgba(18,12,24,.88));
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(232,166,214,.22);
  box-shadow:0 8px 16px rgba(0,0,0,.22);
}
#panel-card.panel-kosmetik .shop-name{
  font-size:.74rem;line-height:1.25;text-align:center;font-weight:700;
  color:#f8f0ff;
  word-break:break-word;display:-webkit-box;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
#panel-card.panel-kosmetik .cos-actions{
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;margin-top:auto;padding-top:6px;
}
#panel-card.panel-kosmetik .cos-actions .btn{flex:1 1 auto;min-width:0}
#panel-card.panel-craft{
  min-height:min(78vh,780px);
  height:min(78vh,780px);
  max-height:min(78vh,780px);
  display:flex;flex-direction:column;
  overflow:hidden;box-sizing:border-box;
}
.craft-workshop{
  flex:1 1 auto;display:flex;flex-direction:column;
  min-height:0;overflow:hidden;
}
.craft-workshop-loading .craft-loading-hint{margin:4px 0 10px;padding:0 2px}
.craft-skeleton{
  min-height:132px;
  background:linear-gradient(90deg,rgba(255,255,255,.04) 25%,rgba(255,255,255,.1) 50%,rgba(255,255,255,.04) 75%);
  background-size:200% 100%;
  animation:craftSkeletonPulse 1.1s ease-in-out infinite;
  pointer-events:none;
}
.panel-loading-wrap{padding:4px 2px 8px}
.panel-loading-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:14px}
.panel-skeleton{
  min-height:72px;
  border-radius:12px;
  background:linear-gradient(90deg,rgba(255,255,255,.04) 25%,rgba(255,255,255,.1) 50%,rgba(255,255,255,.04) 75%);
  background-size:200% 100%;
  animation:craftSkeletonPulse 1.1s ease-in-out infinite;
  pointer-events:none;
}
@keyframes craftSkeletonPulse{
  0%{background-position:200% 0}
  100%{background-position:-200% 0}
}
.panel-pet .pet-attr-section .attr-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.panel-pet .pet-attr-hint{margin:0 0 4px}
body.screen-panel:has(#panel-card.panel-pet.panel-pet-stats) #app{
  max-width:min(920px,100vw)!important;
  width:min(920px,calc(100vw - 20px))!important;
}
#panel-card.panel-pet.panel-pet-stats{
  background:linear-gradient(165deg,rgba(124,92,255,.06) 0%,rgba(10,12,20,.98) 38%,rgba(6,8,14,.99) 100%);
  border-color:rgba(124,92,255,.2);
}
#panel-card.panel-pet.panel-pet-stats .panel-pet-scroll{
  padding-right:8px;padding-bottom:max(20px,calc(env(safe-area-inset-bottom,0px) + 16px));
}
.panel-pet.panel-pet-stats .pet-stats-hero{
  display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:12px;
  border-radius:14px;border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(155deg,rgba(124,92,255,.1),rgba(8,10,18,.55));
}
.panel-pet.panel-pet-stats .pet-stats-hero-main{display:flex;align-items:center;gap:12px;min-width:0}
.panel-pet.panel-pet-stats .pet-stats-hero-emoji{font-size:2rem;line-height:1;filter:drop-shadow(0 0 10px rgba(124,92,255,.35))}
.panel-pet.panel-pet-stats .pet-stats-hero-body{min-width:0;display:flex;flex-direction:column;gap:6px}
.panel-pet.panel-pet-stats .pet-stats-hero-name{font-size:.95rem;color:var(--gold,#e8c547)}
.panel-pet.panel-pet-stats .pet-stats-hero-chips{display:flex;flex-wrap:wrap;gap:6px}
.panel-pet.panel-pet-stats .profil-attr-hint{margin:0 0 10px;line-height:1.45}
.panel-pet.panel-pet-stats .attr-section-points{margin-top:4px}
.panel-pet.panel-pet-stats .attr-list-primary,
.panel-pet.panel-pet-stats .attr-list-secondary,
.panel-pet.panel-pet-stats .pet-attr-section .attr-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}
.panel-pet.panel-pet-stats .attr-card{
  padding:12px 13px;border-radius:14px;border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(155deg,rgba(255,255,255,.05),rgba(8,10,18,.55));
}
.panel-pet.panel-pet-stats .attr-card-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}
.panel-pet.panel-pet-stats .attr-card-emoji{
  width:2.2rem;height:2.2rem;display:flex;align-items:center;justify-content:center;border-radius:10px;
  flex-shrink:0;overflow:hidden;font-size:1.05rem;line-height:1;
  border:1px solid rgba(232,197,71,.35);
  background:
    linear-gradient(145deg,rgba(6,8,16,.35),rgba(6,8,16,.58)),
    var(--profil-icon-plate,url('/activity/rpg/icons/attr-icon-plate.png')) center/cover no-repeat;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 2px 6px rgba(0,0,0,.22);
}
.panel-pet.panel-pet-stats .attr-card-emoji img.rpg-ei,
.panel-pet.panel-pet-stats .attr-card-emoji img.pet-stat-ei,
.panel-pet.panel-pet-stats .pet-stat-emoji img.rpg-ei,
.panel-pet.panel-pet-stats .pet-stat-emoji img.pet-stat-ei{
  width:1.35rem;height:1.35rem;margin:0;vertical-align:middle;object-fit:contain;
}
.panel-pet.panel-pet-stats .pet-stats-section-title img.rpg-ei,
.panel-pet.panel-pet-stats .attr-section-points img.rpg-ei,
.panel-pet.panel-pet-stats .pet-combat-bonus-row .chip img.rpg-ei,
.panel-pet.panel-pet-stats .pet-stats-hero-chips .chip img.rpg-ei{
  width:1em;height:1em;margin:0 .2em 0 0;vertical-align:-0.18em;
}
.panel-pet.panel-pet-stats .pet-stats-hero-emoji img.rpg-ei{
  width:2rem;height:2rem;margin:0;vertical-align:middle;
}
.panel-pet.panel-pet-stats .pet-tab-empty-icon img.rpg-ei{
  width:2.2rem;height:2.2rem;margin:0;
}
.panel-pet.panel-pet-stats .attr-card-body{min-width:0}
.panel-pet.panel-pet-stats .attr-card-title{display:flex;align-items:center;gap:4px;min-width:0;margin-bottom:4px}
.panel-pet.panel-pet-stats .attr-card-name{font-size:.82rem;font-weight:800;line-height:1.25;color:var(--txt,#eef1f6)}
.panel-pet.panel-pet-stats .attr-card-meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:.58rem;font-weight:600;color:rgba(255,255,255,.72);line-height:1.35;
}
.panel-pet.panel-pet-stats .attr-meta-sep{opacity:.45}
.panel-pet.panel-pet-stats .attr-card-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:6px;min-width:3.4rem}
.panel-pet.panel-pet-stats .attr-card-total{font-size:1rem;font-weight:900;color:#fcd34d;font-variant-numeric:tabular-nums;line-height:1}
.panel-pet.panel-pet-stats .attr-card-btn{min-width:2.55rem;padding:6px 10px;font-weight:800;border-radius:10px}
.panel-pet.panel-pet-stats .attr-card-btn--empty{visibility:hidden;pointer-events:none;min-height:28px}
.panel-pet.panel-pet-stats .attr-card-actions{display:flex;gap:6px;align-items:center}
.panel-pet.panel-pet-stats .pet-stat-card{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 12px
}
.panel-pet.panel-pet-stats .pet-stat-card--spendable{border-color:rgba(124,92,255,.25)}
.panel-pet.panel-pet-stats .pet-stat-spend-btn{min-width:2.4rem;padding:5px 8px;font-weight:800;border-radius:10px}
.panel-pet.panel-pet-stats .pet-stat-alloc{display:block;margin-top:2px;color:var(--muted)}
.panel-pet .pet-attr-header{padding:10px 12px;margin-bottom:4px}
.panel-pet .pet-all-attr-section{margin-top:4px}
.panel-pet .pet-all-attr-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 10px}
.panel-pet .pet-all-attr-list{display:flex;flex-direction:column;gap:8px}
.panel-pet .pet-all-attr-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.08)}
.panel-pet .pet-all-attr-row.active{border-color:rgba(124,92,255,.35)}
.panel-pet .pet-all-attr-info{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.panel-pet .pet-all-attr-emoji{font-size:1.35rem;line-height:1}
.panel-pet .pet-all-attr-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
.panel-pet .pet-all-attr-actions{display:flex;flex-wrap:wrap;gap:6px}
.panel-pet .pet-all-attr-btn{min-width:3rem}
.panel-pet.panel-pet-stats .pet-stat-grid-wide{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.panel-pet.panel-pet-stats .pet-resist-grid-wide{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.panel-pet.panel-pet-stats .pet-care-locked{
  display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px 14px;border-radius:12px;
  border:1px dashed rgba(255,255,255,.14);background:rgba(0,0,0,.22);
}
.panel-pet.panel-pet-stats .pet-care-locked-hint{margin:0;line-height:1.4}
.panel-pet .pet-care-locked{
  display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px;border-radius:11px;
  border:1px dashed rgba(255,255,255,.12);background:rgba(0,0,0,.18);
}
.panel-pet .pet-care-locked-hint{margin:0;line-height:1.35}
@media (max-width:640px){
  .panel-pet.panel-pet-stats .attr-list-primary,
  .panel-pet.panel-pet-stats .attr-list-secondary,
  .panel-pet.panel-pet-stats .pet-attr-section .attr-list{grid-template-columns:1fr}
}
.craft-workshop-header,.craft-search-row,.craft-category-tabs,.craft-class-tabs,.craft-species-tabs{flex-shrink:0}
.skill-card { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 12px 8px; border-radius: var(--r-sm); border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.04); text-align: center; }
.skill-card.unlocked { border-color: rgba(124,92,255,.4); background: rgba(124,92,255,.1); }
.skill-card.locked { opacity: .5; }
.skill-emoji { font-size: 1.6rem; }
.skill-name { font-size: .72rem; font-weight: 700; }
.skill-level { margin-top: 2px; }

.pet-card { padding: 14px; }
.pet-hero { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.pet-name { font-weight: 800; font-size: .9rem; color: var(--gold); }
.pet-stats { display: flex; flex-direction: column; gap: 7px; }

/* ── Daily-Kalender ── */
body.screen-panel:has(#panel-card.panel-daily) #app{max-width:min(500px,100vw)}
#panel-card.panel-daily{
  display:flex;flex-direction:column;min-height:0;max-height:calc(100dvh - 120px);
  padding:10px 12px 12px;overflow:hidden;
  background:linear-gradient(165deg,rgba(249,115,22,.06) 0%,rgba(12,10,18,.98) 35%,rgba(6,4,10,.99) 100%);
  border-color:rgba(249,115,22,.22);
}
.daily-panel-wrap{display:flex;flex-direction:column;gap:10px;min-height:0;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
.daily-legend{margin:0;padding:6px 4px 0}
.daily-claim-lines{display:flex;flex-direction:column;gap:8px;width:100%;margin-bottom:4px}
.daily-claim-reward{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:10px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08)}
.daily-claim-coins{font-size:.78rem;font-weight:800;color:var(--gold)}
.daily-claim-tag{display:inline-block;padding:1px 6px;border-radius:999px;background:rgba(249,115,22,.2);color:#fdba74;font-size:.58rem;font-weight:800;margin-right:6px;text-transform:uppercase}
.daily-claim-tag--month{background:rgba(168,85,247,.2);color:#d4b8ff}
.daily-claim-item-chips{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;width:100%}
.daily-claim-chip{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-size:.62rem;font-weight:700;color:rgba(255,255,255,.92);line-height:1.3}
.daily-footer-msg{margin:0;font-size:.72rem;font-weight:600;text-align:center;line-height:1.45;color:rgba(255,255,255,.88)}
.daily-hero{display:flex;align-items:center;justify-content:center;gap:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08)}
.daily-hero-icon{font-size:1.5rem;line-height:1;filter:drop-shadow(0 0 8px rgba(249,115,22,.45))}
.daily-hero-text{display:flex;flex-direction:column;align-items:center;gap:2px}
.daily-hero-title{margin:0;font-size:.9rem;font-weight:900;letter-spacing:.04em;background:linear-gradient(90deg,#fde68a,#f59e0b,#fcd34d);-webkit-background-clip:text;background-clip:text;color:transparent}
.daily-hero-sub{margin:0;font-size:.64rem;font-weight:600;color:rgba(255,200,140,.75);letter-spacing:.06em;text-transform:uppercase}
.daily-hero-date{margin:4px 0 0;font-size:.68rem;font-weight:600;color:rgba(255,255,255,.82);letter-spacing:.02em;text-transform:none}
.daily-hero-wait{margin:4px 0 0;font-size:.64rem;font-weight:700;color:#fcd34d}
.daily-stats{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.daily-stat{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.1);font-size:.62rem}
.daily-stat-icon{font-size:.85rem;line-height:1}
.daily-stat-val{font-weight:800;color:var(--txt);font-variant-numeric:tabular-nums}
.daily-stat-lbl{font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.58rem}
.daily-stat--streak{border-color:rgba(249,115,22,.35);background:linear-gradient(135deg,rgba(249,115,22,.15),rgba(0,0,0,.35))}
.daily-stat--streak .daily-stat-val{color:#fdba74}
.daily-stat--month{border-color:rgba(168,85,247,.3);background:linear-gradient(135deg,rgba(168,85,247,.12),rgba(0,0,0,.35))}
.daily-stat--month .daily-stat-val{color:#d4b8ff}
.daily-stat--broken{border-color:rgba(120,120,120,.35);background:linear-gradient(135deg,rgba(80,80,80,.2),rgba(0,0,0,.35));opacity:.75}
.daily-stat--broken .daily-stat-val{color:#9ca3af}
.daily-block{min-height:0;padding:8px 10px;border-radius:var(--r-sm);background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.06)}
.daily-section-title{font-size:.72rem;font-weight:800;margin:0 0 8px;letter-spacing:.02em;color:var(--gold);display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.daily-section-icon{opacity:.9}
.daily-sub{font-size:.62rem;font-weight:600;color:var(--muted);letter-spacing:.03em}
.daily-inline-hint{margin:0 0 6px;font-size:.62rem;text-align:center;color:#f59e0b;line-height:1.35}
.daily-inline-hint--broken{color:#9ca3af}
.daily-block-month--broken{opacity:.72;filter:grayscale(.55);border-color:rgba(120,120,120,.2);background:rgba(0,0,0,.35)}
.daily-block-month--broken .daily-section-title{color:#9ca3af}
.daily-calendar-compact{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.daily-cell{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  padding:6px 3px;border-radius:10px;border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(0,0,0,.2));text-align:center;min-height:3.6rem;
  transition:border-color .15s,box-shadow .15s,transform .15s;
}
.daily-cell.today{border-color:rgba(232,197,71,.55);box-shadow:0 0 14px rgba(232,197,71,.2);background:linear-gradient(180deg,rgba(232,197,71,.14),rgba(0,0,0,.25))}
.daily-cell.claimed{border-color:rgba(62,207,114,.4);background:linear-gradient(180deg,rgba(62,207,114,.12),rgba(0,0,0,.22));opacity:.9}
.daily-cell.claimable{border-color:rgba(74,222,128,.55);box-shadow:0 0 16px rgba(74,222,128,.25);animation:daily-pulse 2s ease-in-out infinite}
.daily-cell.bonus .daily-emoji{filter:drop-shadow(0 0 6px rgba(232,197,71,.5))}
.daily-cell.bonus:not(.claimed){border-color:rgba(245,158,11,.35)}
@keyframes daily-pulse{0%,100%{box-shadow:0 0 12px rgba(74,222,128,.2)}50%{box-shadow:0 0 20px rgba(74,222,128,.38)}}
.daily-day-lbl{font-size:.5rem;color:var(--muted);font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.04em}
.daily-emoji{font-size:1.15rem;line-height:1;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}
.daily-coins{color:var(--gold);font-size:.54rem;font-weight:800;line-height:1.1}
.daily-items{color:var(--muted);font-size:.44rem;line-height:1;max-height:1.1em;overflow:hidden}
.daily-tick{
  position:absolute;bottom:3px;right:4px;font-size:.58rem;line-height:1;
  width:1rem;height:1rem;display:flex;align-items:center;justify-content:center;border-radius:50%;
  background:rgba(0,0,0,.5);
}
.daily-cell.claimed .daily-tick{background:rgba(62,207,114,.35);color:#4ade80}
.daily-cell.claimable .daily-tick{background:rgba(74,222,128,.25);color:#86efac}
.daily-block-month{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
.monthly-calendar-compact{
  display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;
  flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;align-content:start;
  padding:2px 1px 4px;
}
.monthly-cell{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
  padding:4px 2px;border-radius:8px;border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.18));text-align:center;min-height:2.5rem;
}
.monthly-cell.claimed{border-color:rgba(62,207,114,.4);background:linear-gradient(180deg,rgba(62,207,114,.16),rgba(0,0,0,.2));opacity:.92}
.monthly-cell.next{border-color:rgba(232,197,71,.55);box-shadow:0 0 10px rgba(232,197,71,.22);background:linear-gradient(180deg,rgba(232,197,71,.12),rgba(0,0,0,.22))}
.monthly-cell.locked{opacity:.28;filter:grayscale(.6)}
.monthly-cell.broken,.monthly-calendar--broken .monthly-cell{opacity:.35;filter:grayscale(.85);pointer-events:none;border-color:rgba(120,120,120,.15)}
.monthly-cell.broken.claimed{opacity:.5}
.monthly-cell.bonus .monthly-emoji{filter:drop-shadow(0 0 4px rgba(245,158,11,.45))}
.monthly-cell.milestone{border-color:rgba(245,158,11,.5);box-shadow:0 0 12px rgba(245,158,11,.2)}
.monthly-day-num{font-size:.46rem;color:var(--muted);font-weight:800;line-height:1}
.monthly-emoji{font-size:.9rem;line-height:1}
.monthly-coins{font-size:.48rem;color:var(--gold);font-weight:800;line-height:1.1}
.monthly-tick{
  position:absolute;top:2px;right:3px;font-size:.5rem;line-height:1;color:#4ade80;
}
.monthly-cell.next .monthly-tick{color:var(--gold)}
.daily-claim-footer{
  flex-shrink:0;margin-top:auto;padding:12px 14px;text-align:center;border-radius:var(--r);
  border:1px solid rgba(232,197,71,.28);
  background:linear-gradient(180deg,rgba(232,197,71,.12),rgba(0,0,0,.35));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.daily-claim-ready{display:flex;flex-direction:column;align-items:center;gap:8px}
.daily-claim-text{font-size:.74rem;line-height:1.45;margin:0;max-width:20rem}
.daily-claim-btn{width:100%;max-width:280px;margin:0 auto;box-shadow:0 4px 16px rgba(74,222,128,.2);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:14px;font-weight:800;letter-spacing:.03em}
.daily-claim-btn-icon{font-size:1.1rem;line-height:1}
.daily-claim-btn-label{font-size:.82rem}
.daily-claim-done--wait .daily-footer-msg{color:#fcd34d}
.daily-claim-done{display:flex;align-items:center;justify-content:center;gap:10px;text-align:left}
.daily-claim-done--warn .daily-footer-icon{filter:none}
.daily-footer-icon{font-size:1.25rem;line-height:1;flex-shrink:0;filter:drop-shadow(0 0 6px rgba(232,197,71,.4))}
.daily-footer-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.daily-footer-msg{margin:0;font-size:.74rem;line-height:1.4;color:rgba(255,255,255,.88);font-weight:600}
.daily-footer-timer{margin:0;font-size:.7rem;line-height:1.35;color:rgba(232,197,71,.95);font-weight:700;font-variant-numeric:tabular-nums}
.daily-footer-timer #daily-reset-countdown{color:#fde68a}

/* ── Daily Panel v2 (CSS-Kalender, keine Vollbild-Frame-PNGs) ── */
.daily-panel-v2{display:flex;flex-direction:column;gap:0;min-height:0;flex:1 1 auto;padding:12px 14px 14px}
.daily-header-v2{flex-shrink:0;margin-bottom:12px}
.daily-header-banner{
  display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;
  background:linear-gradient(135deg,rgba(245,158,11,.16) 0%,rgba(0,0,0,.35) 55%,rgba(168,85,247,.1) 100%);
  border:1px solid rgba(245,158,11,.28);
  box-shadow:0 8px 24px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.08);
}
.daily-header-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0;
  width:3.2rem;height:3.2rem;border-radius:14px;
  background:radial-gradient(circle at 50% 35%,rgba(253,224,71,.22),rgba(0,0,0,.45));
  border:1px solid rgba(245,158,11,.35);
  box-shadow:0 0 18px rgba(245,158,11,.18);
}
.daily-header-icon-img{width:2.2rem;height:2.2rem;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45))}
.daily-header-text{min-width:0;flex:1 1 auto}
.daily-header-title{margin:0;font-size:1rem;font-weight:900;letter-spacing:.02em;line-height:1.2;
  background:linear-gradient(92deg,#fff7d6,#fde68a 40%,#f59e0b 85%);-webkit-background-clip:text;background-clip:text;color:transparent}
.daily-header-sub{margin:3px 0 0;font-size:.62rem;font-weight:600;color:rgba(255,220,160,.72);letter-spacing:.04em;text-transform:uppercase}
.daily-header-date{margin:5px 0 0;font-size:.68rem;font-weight:600;color:rgba(255,255,255,.88)}
.daily-header-wait{margin:4px 0 0;font-size:.64rem;color:#fcd34d;font-weight:700}
.daily-kpi-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.daily-kpi{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  padding:12px 8px;border-radius:14px;text-align:center;min-height:4.6rem;
  background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(0,0,0,.45));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.daily-kpi-icon{display:flex;align-items:center;justify-content:center;line-height:1;font-size:1.15rem;filter:drop-shadow(0 1px 3px rgba(0,0,0,.45))}
.daily-kpi-icon-img{width:1.5rem;height:1.5rem;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 1px 3px rgba(0,0,0,.4))}
.daily-kpi strong,
.daily-kpi .daily-kpi-val{
  display:block;font-size:1.35rem;font-weight:900;font-variant-numeric:tabular-nums;
  color:#fff!important;-webkit-text-fill-color:#fff!important;
  line-height:1.05;letter-spacing:.02em;
  text-shadow:0 1px 2px rgba(0,0,0,.55),0 0 12px rgba(255,255,255,.12);
}
.daily-kpi small,
.daily-kpi .daily-kpi-lbl{
  display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;
  color:rgba(255,255,255,.78)!important;-webkit-text-fill-color:rgba(255,255,255,.78)!important;
  font-weight:750;line-height:1.2;
}
.daily-kpi--fire{
  border-color:rgba(251,146,60,.55);
  background:linear-gradient(180deg,rgba(249,115,22,.28),rgba(0,0,0,.42));
}
.daily-kpi--fire strong,
.daily-kpi--fire .daily-kpi-val{color:#ffd7a8!important;-webkit-text-fill-color:#ffd7a8!important;text-shadow:0 0 14px rgba(249,115,22,.45)}
.daily-kpi--month{
  border-color:rgba(196,181,253,.5);
  background:linear-gradient(180deg,rgba(168,85,247,.26),rgba(0,0,0,.42));
}
.daily-kpi--month strong,
.daily-kpi--month .daily-kpi-val{color:#f3e8ff!important;-webkit-text-fill-color:#f3e8ff!important;text-shadow:0 0 14px rgba(168,85,247,.4)}
.daily-kpi--broken{opacity:.8;filter:grayscale(.25)}
.daily-kpi--broken strong,
.daily-kpi--broken .daily-kpi-val{color:#e5e7eb!important;-webkit-text-fill-color:#e5e7eb!important}
.daily-scroll-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:2px 2px 10px;display:flex;flex-direction:column;gap:12px;-webkit-overflow-scrolling:touch}
.daily-section-v2{padding:12px;border-radius:16px;background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.daily-section-v2--week{border-color:rgba(245,158,11,.18)}
.daily-section-v2--month{border-color:rgba(168,85,247,.16)}
.daily-section-v2--month.is-broken{opacity:.72;filter:grayscale(.45)}
.daily-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.daily-section-head h3{margin:0;font-size:.76rem;font-weight:800;color:#fde68a;display:inline-flex;align-items:center;gap:6px;letter-spacing:.02em}
.daily-section-icon{display:inline-flex;align-items:center;line-height:0}
.daily-section-icon-img{width:1.15rem;height:1.15rem;object-fit:contain;image-rendering:pixelated}
.daily-section-meta{font-size:.6rem;color:rgba(255,255,255,.45);font-weight:600;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.daily-broken-note{margin:0 0 10px;font-size:.64rem;color:#a8a29e;text-align:center;line-height:1.4;padding:8px 10px;border-radius:10px;background:rgba(0,0,0,.28);border:1px dashed rgba(120,120,120,.35)}
.daily-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.daily-icon-img{display:block;object-fit:contain;image-rendering:pixelated;pointer-events:none;user-select:none;-webkit-user-drag:none}
.daily-icon-status{width:.95rem;height:.95rem}
.daily-cell-v2{
  display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 7px;border-radius:12px;min-height:5.2rem;position:relative;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(0,0,0,.28));
  border:1px solid rgba(255,255,255,.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.daily-cell-v2.today{border-color:rgba(253,224,71,.45);box-shadow:0 0 0 1px rgba(253,224,71,.15),0 4px 14px rgba(245,158,11,.12)}
.daily-cell-v2.claimed{border-color:rgba(34,197,94,.35);background:linear-gradient(180deg,rgba(34,197,94,.12),rgba(0,0,0,.26));opacity:.92}
.daily-cell-v2.claimable{
  border-color:rgba(74,222,128,.55);
  background:linear-gradient(180deg,rgba(74,222,128,.16),rgba(0,0,0,.24));
  box-shadow:0 0 0 1px rgba(74,222,128,.2),0 0 20px rgba(74,222,128,.18);
  animation:daily-claim-glow 2.2s ease-in-out infinite;
}
.daily-cell-v2.bonus:not(.claimed){border-color:rgba(245,158,11,.42);background:linear-gradient(180deg,rgba(245,158,11,.12),rgba(0,0,0,.26))}
.daily-cell-v2.bonus:not(.claimed) .daily-cell-art::after{
  content:'';position:absolute;inset:-2px;border-radius:12px;pointer-events:none;
  background:radial-gradient(circle at 50% 20%,rgba(253,224,71,.18),transparent 65%);
}
@keyframes daily-claim-glow{0%,100%{box-shadow:0 0 0 1px rgba(74,222,128,.18),0 0 14px rgba(74,222,128,.14)}50%{box-shadow:0 0 0 1px rgba(74,222,128,.35),0 0 24px rgba(74,222,128,.28)}}
.daily-cell-day{font-size:.5rem;font-weight:800;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.05em;line-height:1}
.daily-cell-art{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:2.4rem}
.daily-cell-reward-icon{width:2rem;height:2rem;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45))}
.daily-cell-status{position:absolute;top:-2px;right:2px;display:inline-flex;align-items:center;justify-content:center;line-height:0;
  width:1.15rem;height:1.15rem;border-radius:50%;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.12)}
.daily-cell-coins{font-size:.56rem;font-weight:800;color:#fde68a;line-height:1;letter-spacing:.01em}
.daily-cell-coins::after{content:' FC';font-size:.48rem;font-weight:700;color:rgba(253,224,71,.65)}
.daily-cell-items{font-size:.48rem;color:rgba(255,255,255,.62);line-height:1.2;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px}
.daily-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.monthly-cell-v2{
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;padding:6px 3px 5px;border-radius:10px;min-height:3.4rem;position:relative;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,0,0,.22));border:1px solid rgba(255,255,255,.08);
}
.monthly-cell-v2.claimed{border-color:rgba(34,197,94,.32);background:linear-gradient(180deg,rgba(34,197,94,.1),rgba(0,0,0,.22));opacity:.9}
.monthly-cell-v2.next{border-color:rgba(253,224,71,.45);box-shadow:0 0 12px rgba(245,158,11,.15);background:linear-gradient(180deg,rgba(245,158,11,.1),rgba(0,0,0,.22))}
.monthly-cell-v2.locked,.monthly-cell-v2.broken{opacity:.42;filter:grayscale(.65)}
.monthly-cell-v2.locked .monthly-cell-coins,
.monthly-cell-v2.broken .monthly-cell-coins{opacity:.85}
.monthly-cell-v2.bonus:not(.locked){border-color:rgba(245,158,11,.3)}
.monthly-cell-day{font-size:.46rem;font-weight:800;color:rgba(255,255,255,.45);line-height:1}
.monthly-cell-art{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:1.5rem}
.monthly-cell-reward-icon{width:1.35rem;height:1.35rem;filter:drop-shadow(0 1px 4px rgba(0,0,0,.4))}
.monthly-cell-coins{font-size:.48rem;font-weight:800;color:#fde68a;line-height:1.1}
.monthly-cell-status{position:absolute;top:-1px;right:0;display:inline-flex;align-items:center;justify-content:center;line-height:0;
  width:1rem;height:1rem;border-radius:50%;background:rgba(0,0,0,.5)}
.daily-legend-v2{display:flex;flex-wrap:wrap;gap:12px 16px;justify-content:center;padding:0 4px 12px;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.07)}
.daily-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:.6rem;font-weight:700;color:rgba(255,255,255,.72);letter-spacing:.02em}
.daily-legend-dot{width:.55rem;height:.55rem;border-radius:50%;flex-shrink:0;display:inline-block}
.daily-legend-dot.claimable{background:#4ade80;box-shadow:0 0 8px rgba(74,222,128,.55)}
.daily-legend-dot.claimed{background:#22c55e}
.daily-legend-dot.bonus{background:#f59e0b;box-shadow:0 0 6px rgba(245,158,11,.45)}
.daily-legend-dot.broken{background:#6b7280}
.daily-footer-v2{
  flex-shrink:0;margin-top:auto;padding:14px 14px 16px;border-radius:16px;
  border:1px solid rgba(245,158,11,.26);
  background:linear-gradient(180deg,rgba(245,158,11,.1) 0%,rgba(0,0,0,.42) 100%);
  box-shadow:0 -4px 20px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.06);
}
.daily-footer-claim{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.daily-claim-lines{display:flex;flex-direction:column;gap:8px;width:100%}
.daily-claim-reward{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:12px;background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.08)}
.daily-claim-coins{font-size:.82rem;font-weight:900;color:#fde68a;text-shadow:0 0 12px rgba(245,158,11,.25)}
.daily-claim-item-chips{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;width:100%}
.daily-claim-chip{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-size:.62rem;font-weight:700;color:rgba(255,255,255,.92);line-height:1.3}
.daily-claim-line{display:block;font-size:.72rem;line-height:1.4}
.daily-claim-tag{display:inline-block;padding:2px 8px;border-radius:999px;background:rgba(249,115,22,.22);color:#fdba74;font-size:.58rem;font-weight:800;margin-right:6px;text-transform:uppercase;letter-spacing:.04em}
.daily-claim-tag--month{background:rgba(168,85,247,.22);color:#e9d5ff}
.daily-claim-btn-v2{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:14px;font-weight:800;width:100%;max-width:300px;
  font-size:.84rem;letter-spacing:.03em;
  box-shadow:0 6px 22px rgba(34,197,94,.28),inset 0 1px 0 rgba(255,255,255,.15);
  background:linear-gradient(180deg,#4ade80 0%,#16a34a 100%)!important;border:1px solid rgba(134,239,172,.45)!important;
}
.daily-claim-btn-icon{display:inline-flex;align-items:center;line-height:0}
.daily-claim-btn-icon-img{width:1.25rem;height:1.25rem;image-rendering:pixelated}
.daily-footer-msg{margin:0;font-size:.72rem;font-weight:600;text-align:center;line-height:1.45;color:rgba(255,255,255,.88)}
.daily-footer-msg--warn{color:#fcd34d}
.daily-footer-done{text-align:center}
.daily-footer-timer{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin:8px 0 0;font-size:.7rem;font-weight:700;color:#fde68a;font-variant-numeric:tabular-nums}
.daily-footer-timer-icon{width:1rem;height:1rem;flex-shrink:0;image-rendering:pixelated}
.daily-footer-timer #daily-reset-countdown{color:#fff;font-weight:900}

/* Daily als eigenes Modal (Legacy) + Vollbild-Schatzkammer */
body.daily-modal-open,
body.daily-hall-active{overflow:hidden}
/* Hover-Tips über dem Daily-Modal / Hall */
body.daily-modal-open .stat-hover-tooltip-portal,
body.daily-modal-open .rpg-tooltip-portal,
body.daily-hall-active .stat-hover-tooltip-portal,
body.daily-hall-active .rpg-tooltip-portal{
  z-index:2147482500!important;
  pointer-events:none;
}
body.rpg-item-dragging #craft-ingredient-tooltip,
body.rpg-item-dragging .stat-hover-tooltip-portal,
body.bag-float-dragging #craft-ingredient-tooltip{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
}
body.bag-float-open .stat-hover-tooltip-portal,
body.bag-float-open .rpg-tooltip-portal,
body.bag-float-open #craft-ingredient-tooltip,
body.equip-float-open .stat-hover-tooltip-portal,
body.equip-float-open .rpg-tooltip-portal,
body.equip-float-open #craft-ingredient-tooltip{
  z-index:140000!important;
}
.daily-overlay{
  position:fixed;inset:0;z-index:30055;display:flex;align-items:flex-start;justify-content:center;
  padding:max(10px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));
  pointer-events:auto;box-sizing:border-box;
}
.daily-overlay.hidden{display:none!important}
.daily-backdrop{position:absolute;inset:0;background:rgba(4,6,14,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.daily-sheet{
  position:relative;z-index:1;width:min(520px,100%);
  max-height:min(92vh,780px);min-height:min(58vh,420px);
  display:flex;flex-direction:column;overflow:hidden;margin-top:max(4px,env(safe-area-inset-top));
  color:var(--txt);
  border-radius:18px;
  border:1px solid rgba(245,158,11,.28);
  background:
    radial-gradient(120% 70% at 0% 0%,rgba(245,158,11,.14),transparent 55%),
    radial-gradient(90% 50% at 100% 0%,rgba(168,85,247,.1),transparent 50%),
    linear-gradient(168deg,rgba(28,22,14,.98),rgba(8,8,14,.99));
  box-shadow:0 22px 56px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.06);
  animation:dailyModalIn .2s ease-out;
}
@keyframes dailyModalIn{
  from{opacity:0;transform:translateY(12px) scale(.98)}
  to{opacity:1;transform:none}
}
.daily-modal-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:14px 14px 10px;flex-shrink:0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.daily-modal-kicker{
  letter-spacing:.08em;text-transform:uppercase;font-weight:800;font-size:.62rem;
  color:rgba(253,186,116,.9);margin-bottom:2px;
}
.daily-modal-title{
  font-weight:900;font-size:1.12rem;letter-spacing:.01em;
  background:linear-gradient(92deg,#fff7d6,#fde68a 45%,#f59e0b);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.daily-modal-sub{margin-top:3px;color:rgba(238,241,255,.72);line-height:1.35}
.daily-modal-close{opacity:.75;flex-shrink:0}
.daily-modal-close:hover{opacity:1}
.daily-modal-body{
  flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column;
}
.daily-modal-body .daily-panel-v2,
.daily-modal-body .daily-panel-modal{
  flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column;
  padding:10px 12px 12px;
}
.daily-modal-loading{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  padding:48px 16px;text-align:center;
}
.daily-modal-loading-ico{font-size:2rem;filter:drop-shadow(0 0 12px rgba(245,158,11,.35))}
.daily-header-emoji{font-size:1.7rem;line-height:1;filter:drop-shadow(0 2px 8px rgba(245,158,11,.4))}
.daily-cell-reward-emoji,.monthly-cell-reward-emoji{
  font-size:1.35rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.45));
}
.monthly-cell-reward-emoji{font-size:1.05rem}
.daily-cell-tip,.daily-month-tip{display:block;width:100%;min-width:0}
.daily-cell-tip > .stat-hover-trigger,
.daily-month-tip > .stat-hover-trigger{
  display:block;width:100%;box-sizing:border-box;
  border:0;background:transparent;padding:0;margin:0;
  color:inherit;font:inherit;text-align:center;cursor:help;
  border-radius:12px;
}
.daily-cell-tip > .stat-hover-trigger:focus-visible,
.daily-month-tip > .stat-hover-trigger:focus-visible{
  outline:2px solid rgba(253,224,71,.55);outline-offset:2px;
}
.daily-cell-tip .daily-cell-v2,
.daily-month-tip .monthly-cell-v2{width:100%;box-sizing:border-box}
.daily-panel-modal .daily-scroll-body{padding-bottom:6px}
.daily-panel-modal .daily-footer-v2{margin-top:8px}

/* ═══ Schatzkammer · Daily-Belohnungen (Vault-Galerie) ═══ */
body.daily-hall-active .rpg-wwm-fs{padding:0}
body.daily-hall-active .rpg-wwm-fs-body{
  padding:0!important;gap:0!important;overflow:hidden!important;
}
body.daily-hall-active .rpg-wwm-fs-shell,
.rpg-wwm-fs-shell.arcade-fs-theme-daily-hall{
  width:100%;max-width:none;height:100%;border-radius:0;border:none;
  background:#0a0704;box-shadow:none;
}
.daily-hall-fs{
  position:relative;inset:0;width:100%;height:100%;min-height:0;
  display:flex;flex-direction:column;isolation:isolate;
  background:
    radial-gradient(ellipse 75% 48% at 50% -8%,rgba(212,160,60,.22),transparent 58%),
    radial-gradient(ellipse 50% 40% at 85% 90%,rgba(45,160,150,.12),transparent 55%),
    linear-gradient(180deg,rgba(12,8,4,.28) 0%,rgba(8,6,4,.78) 42%,rgba(6,5,4,.94) 100%),
    var(--daily-pass-bg,none) center/cover no-repeat,
    #0a0704;
  color:#f4f0e6;overflow:hidden;
}
.daily-hall-fs--vault{
  background:
    radial-gradient(ellipse 70% 45% at 50% 0%,rgba(240,190,90,.2),transparent 55%),
    radial-gradient(ellipse 40% 35% at 10% 80%,rgba(40,140,130,.14),transparent 50%),
    linear-gradient(185deg,rgba(10,7,4,.25) 0%,rgba(8,6,4,.82) 48%,rgba(5,4,3,.96) 100%),
    var(--daily-pass-bg,none) center/cover no-repeat,
    #0a0704;
}
.daily-pass-ambient{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.daily-pass-orb{
  position:absolute;border-radius:50%;filter:blur(40px);opacity:.45;
  animation:dailyPassOrb 10s ease-in-out infinite alternate;
}
.daily-pass-orb-a{width:48%;height:36%;top:-8%;left:-10%;background:rgba(212,160,60,.2)}
.daily-pass-orb-b{width:42%;height:32%;right:-12%;bottom:18%;background:rgba(45,180,170,.12);animation-delay:-4s}
.daily-pass-sparkles{
  position:absolute;inset:0;opacity:.35;mix-blend-mode:screen;
  background-image:
    radial-gradient(1.5px 1.5px at 12% 22%,rgba(255,230,180,.7),transparent),
    radial-gradient(1.5px 1.5px at 78% 18%,rgba(160,255,240,.55),transparent),
    radial-gradient(1px 1px at 42% 68%,rgba(255,220,160,.5),transparent),
    radial-gradient(1.5px 1.5px at 88% 72%,rgba(180,255,230,.45),transparent);
  animation:dailyPassSparkle 6s ease-in-out infinite;
}
@keyframes dailyPassOrb{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(2%,3%,0) scale(1.08)}}
@keyframes dailyPassSparkle{0%,100%{opacity:.25}50%{opacity:.45}}

.daily-pass-chrome{
  position:relative;z-index:5;flex:0 0 auto;display:flex;align-items:center;gap:12px;
  padding:max(10px,env(safe-area-inset-top)) 16px 8px;
}
.daily-pass-back{
  flex:0 0 auto;border-radius:999px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  background:rgba(0,0,0,.35)!important;backdrop-filter:blur(8px);
}
.daily-pass-chrome-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.daily-pass-kicker{
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
  font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(240,200,120,.95);text-shadow:0 0 14px rgba(212,160,60,.4);
}
.daily-pass-chrome-title strong{
  font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:clamp(1.1rem,3.4vw,1.4rem);font-weight:800;color:#fff8ea;
  text-shadow:0 2px 14px rgba(0,0,0,.55);
}
.daily-pass-chrome-date{
  flex:0 0 auto;padding:5px 10px;border-radius:999px;
  background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.1);
  font-size:.68rem;font-weight:700;color:rgba(255,240,220,.75);
}
.daily-pass{
  position:relative;z-index:1;flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;
  display:flex;flex-direction:column;gap:16px;
  padding:0 0 max(12px,env(safe-area-inset-bottom));
  animation:dailyPassIn .55s ease both;
}
@keyframes dailyPassIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.daily-pass--loading{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:40vh;
}
.daily-pass-loading-ico{font-size:2rem;filter:drop-shadow(0 0 14px rgba(120,220,210,.5))}

/* Full-bleed Hero */
.daily-pass-hero{
  position:relative;overflow:hidden;margin:0 12px;border-radius:22px;
  min-height:clamp(168px,32vw,248px);
  border:1px solid rgba(212,175,110,.28);
  box-shadow:
    0 20px 50px rgba(0,0,0,.45),
    0 0 40px rgba(45,180,170,.08),
    inset 0 1px 0 rgba(255,255,255,.1);
  padding:18px 16px 14px;
  display:flex;flex-direction:column;justify-content:flex-end;gap:14px;
}
.daily-pass-hero-art{
  position:absolute;inset:0;
  background:var(--daily-pass-hero,none) center 35%/cover no-repeat;
  transform:scale(1.04);
  animation:dailyPassHeroDrift 22s ease-in-out infinite alternate;
}
@keyframes dailyPassHeroDrift{from{transform:scale(1.04)}to{transform:scale(1.1) translateY(-1.5%)}}
.daily-pass-hero-veil{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(105deg,rgba(10,7,4,.9) 0%,rgba(10,7,4,.4) 44%,rgba(8,6,4,.58) 100%),
    radial-gradient(ellipse at 72% 38%,rgba(212,160,60,.22),transparent 55%),
    linear-gradient(0deg,rgba(8,6,4,.58),transparent 42%);
}
.daily-vault-hero .daily-pass-hero-art{background-position:center 28%}
.daily-pass-hero-copy{position:relative;z-index:1;max-width:36rem}
.daily-pass-hero-kicker{
  margin:0;font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
  font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(245,210,130,.98);
}
.daily-pass-hero-title{
  margin:6px 0 0;font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:clamp(1.35rem,4.6vw,1.85rem);font-weight:800;color:#fff8ea;line-height:1.12;
  text-shadow:0 2px 20px rgba(0,0,0,.6),0 0 28px rgba(240,180,70,.18);
}
.daily-pass-hero-sub{
  margin:8px 0 0;font-size:.8rem;line-height:1.45;color:rgba(246,238,226,.78);max-width:28rem;
}
.daily-pass-kpis{
  position:relative;z-index:1;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;
}
.daily-pass-kpi{
  display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:14px;
  background:linear-gradient(165deg,rgba(255,255,255,.1),rgba(0,0,0,.4));
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  transition:transform .18s ease,border-color .18s ease;
}
.daily-pass-kpi:hover{transform:translateY(-1px);border-color:rgba(45,212,191,.35)}
.daily-pass-kpi img{width:38px;height:38px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 3px 8px rgba(0,0,0,.5))}
.daily-pass-kpi strong{display:block;font-size:1.12rem;font-weight:900;line-height:1.05;color:#fff}
.daily-pass-kpi span{display:block;font-size:.56rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.daily-pass-kpi.is-hot{
  border-color:rgba(255,160,80,.5);
  box-shadow:0 0 20px rgba(255,120,40,.2),inset 0 1px 0 rgba(255,255,255,.1);
}
.daily-pass-kpi.is-broken{opacity:.7;filter:grayscale(.35)}

/* Track panels */
.daily-pass-track-block{
  margin:0 12px;padding:14px 12px 12px;border-radius:20px;
  background:
    linear-gradient(180deg,rgba(16,22,34,.82),rgba(7,10,18,.92));
  border:1px solid rgba(212,175,110,.2);
  box-shadow:0 14px 36px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.05);
}
.daily-pass-track-block--month{border-color:rgba(45,200,190,.22)}
.daily-pass-track-block.is-broken{opacity:.78;filter:grayscale(.28)}
.daily-pass-track-head{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;margin-bottom:14px;
}
.daily-pass-track-titles{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.daily-pass-track-head h3{
  margin:0;font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:1rem;font-weight:800;color:#ffe7b0;letter-spacing:.04em;
}
.daily-pass-meta{
  font-size:.62rem;font-weight:700;color:rgba(255,255,255,.55);
  padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);
}
.daily-pass-progress{display:flex;align-items:center;gap:8px;min-width:140px;max-width:240px;flex:1}
.daily-pass-progress > span{
  font-size:.72rem;font-weight:800;color:rgba(250,220,150,.95);
  font-variant-numeric:tabular-nums;white-space:nowrap;
}
.daily-pass-progress-bar{
  flex:1;height:7px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.35);
}
.daily-pass-progress-bar i{
  display:block;height:100%;border-radius:inherit;
  background:linear-gradient(90deg,#c9a227,#f0b429 55%,#ffe08a);
  box-shadow:0 0 12px rgba(240,180,70,.45);
  transition:width .45s ease;
}

.daily-pass-track-stage{position:relative}
.daily-pass-spine{
  position:absolute;left:8px;right:8px;top:42%;height:6px;border-radius:999px;z-index:0;pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(212,175,110,.08),
      rgba(240,180,70,.55) 18%,
      rgba(45,212,191,.7) 50%,
      rgba(240,180,70,.55) 82%,
      rgba(212,175,110,.08));
  box-shadow:0 0 16px rgba(45,212,191,.35),0 0 28px rgba(240,180,70,.15);
  opacity:.85;
}
.daily-pass-spine--teal{
  background:linear-gradient(90deg,rgba(45,212,191,.1),rgba(45,212,191,.65),rgba(120,200,255,.4),rgba(45,212,191,.1));
  box-shadow:0 0 16px rgba(45,212,191,.4);
}
.daily-pass-track{
  position:relative;z-index:1;
  display:flex;align-items:flex-end;gap:10px;overflow-x:auto;overflow-y:hidden;
  padding:8px 6px 6px;-webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
}
.daily-pass-track--month{gap:8px}
.daily-pass-tip{flex:0 0 auto;scroll-snap-align:center}
.daily-pass-tip > .stat-hover-trigger{
  display:block;border:0;background:transparent;padding:0;margin:0;color:inherit;font:inherit;cursor:pointer;
}

/* Medaillon-Nodes auf Podest */
.daily-pass-node{
  position:relative;flex:0 0 auto;width:96px;
  display:flex;flex-direction:column;align-items:center;gap:3px;
  padding:4px 4px 6px;color:#fff6e8;text-align:center;
  animation:dailyNodeIn .5s ease both;animation-delay:calc(var(--i,0) * 45ms);
}
@keyframes dailyNodeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.daily-pass-node--sm{width:74px}
.daily-pass-node-pedestal{
  position:absolute;left:18%;right:18%;bottom:28px;height:10px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(0,0,0,.55),transparent 70%);
  filter:blur(1px);z-index:0;
}
.daily-pass-node--sm .daily-pass-node-pedestal{bottom:24px}
.daily-pass-node-orb{
  position:relative;z-index:1;width:68px;height:68px;border-radius:50%;
  display:grid;place-items:center;
  background:
    var(--daily-node) center/92% no-repeat,
    radial-gradient(circle at 50% 40%,rgba(255,255,255,.12),rgba(0,0,0,.45));
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.45));
  transition:transform .2s ease,filter .2s ease;
}
.daily-pass-node--sm .daily-pass-node-orb{width:52px;height:52px}
.daily-pass-node-orb img{
  width:58%;height:58%;object-fit:contain;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.5));
  position:relative;z-index:1;
}
.daily-pass-node:hover .daily-pass-node-orb{transform:translateY(-4px) scale(1.06)}
.daily-pass-node-badge{
  position:absolute;top:0;right:8px;z-index:3;
  width:20px;height:20px;border-radius:50%;
  display:grid;place-items:center;font-size:.68rem;font-weight:900;
  background:rgba(0,0,0,.7);border:1px solid rgba(255,255,255,.25);color:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.4);
}
.daily-pass-node-day{
  position:relative;z-index:1;margin-top:2px;
  font-size:.58rem;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,255,255,.58);
}
.daily-pass-node-reward{
  position:relative;z-index:1;font-size:.7rem;font-weight:800;color:#fde68a;
  text-shadow:0 1px 6px rgba(0,0,0,.5);
}
.daily-pass-node.is-today .daily-pass-node-orb{
  box-shadow:0 0 0 2px rgba(253,224,71,.55),0 0 22px rgba(240,180,70,.4);
}
.daily-pass-node.is-claimable .daily-pass-node-orb{
  box-shadow:0 0 0 2px rgba(74,222,128,.65),0 0 28px rgba(74,222,128,.45);
  animation:daily-claim-glow 2.2s ease-in-out infinite;
}
.daily-pass-node.is-claimed .daily-pass-node-orb{filter:saturate(.75) brightness(.88) drop-shadow(0 6px 12px rgba(0,0,0,.4))}
.daily-pass-node.is-claimed .daily-pass-node-badge{
  background:#16a34a;border-color:rgba(134,239,172,.55);
}
.daily-pass-node.is-bonus:not(.is-claimed) .daily-pass-node-orb{
  box-shadow:0 0 0 2px rgba(245,158,11,.5),0 0 20px rgba(245,158,11,.3);
}
.daily-pass-node.is-next .daily-pass-node-orb{
  box-shadow:0 0 0 2px rgba(45,212,191,.5),0 0 18px rgba(45,212,191,.3);
}
.daily-pass-node.is-locked{opacity:.42;filter:grayscale(.55)}
.daily-pass-node.is-locked .daily-pass-node-orb{transform:none}

/* ── Vault Fit-Layout (kein Scroll) ── */
.daily-hall-fs--fit{overflow:hidden}
.daily-vault-stage-art{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:var(--daily-pass-hero,none) center 30%/cover no-repeat;
  opacity:.42;filter:saturate(1.05) brightness(.85);
  transform:scale(1.06);
  animation:dailyPassHeroDrift 24s ease-in-out infinite alternate;
  mask-image:linear-gradient(180deg,#000 0%,#000 42%,transparent 88%);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 42%,transparent 88%);
}
.daily-vault-stage-veil{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(10,7,4,.2) 0%,rgba(8,6,4,.55) 48%,rgba(6,5,4,.88) 100%),
    radial-gradient(ellipse at 50% 0%,rgba(240,190,90,.16),transparent 55%);
}
.daily-vault-chrome{
  gap:8px 10px;padding:max(8px,env(safe-area-inset-top)) 12px 6px;flex-wrap:wrap;
}
.daily-vault-chrome .daily-pass-chrome-title{flex:1 1 auto;min-width:7rem}
.daily-vault-chrome .daily-pass-chrome-title strong{font-size:clamp(1rem,2.8vw,1.25rem)}
.daily-vault-chrome-stats{
  display:flex;align-items:center;gap:6px;flex:0 1 auto;
}
.daily-vault-chip{
  display:inline-flex;align-items:center;gap:5px;
  padding:4px 8px 4px 5px;border-radius:999px;
  background:rgba(0,0,0,.42);border:1px solid rgba(255,220,150,.18);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.daily-vault-chip img{width:22px;height:22px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.45))}
.daily-vault-chip b{
  font-size:.78rem;font-weight:900;color:#fff8ea;font-variant-numeric:tabular-nums;line-height:1;
}
.daily-vault-chip.is-hot{border-color:rgba(255,160,80,.5);box-shadow:0 0 14px rgba(255,120,40,.22)}
.daily-vault-chip.is-broken{
  border-color:rgba(125,160,190,.45);
  background:rgba(30,41,59,.55);
  filter:none;opacity:1;
}
.daily-vault-chip.is-broken b{color:#93c5fd}

.daily-vault--fit{
  overflow:hidden!important;
  gap:8px;
  padding:0 10px max(8px,env(safe-area-inset-bottom));
  height:100%;
}
.daily-vault-board{
  position:relative;z-index:1;min-height:0;
  display:flex;flex-direction:column;gap:6px;
  padding:8px 10px 9px;border-radius:16px;
  background:
    linear-gradient(165deg,rgba(32,22,12,.78),rgba(10,8,6,.9));
  border:1px solid rgba(212,160,60,.26);
  box-shadow:0 10px 28px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,230,160,.07);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.daily-vault-board--week{flex:0 0 auto}
.daily-vault-board--month{
  flex:1 1 auto;min-height:0;border-color:rgba(45,170,160,.26);
  display:flex;flex-direction:column;
}
.daily-vault-board--month.is-broken,
.daily-vault-board--month.is-paused{
  opacity:1;filter:none;
  border-color:rgba(100,140,180,.42);
  box-shadow:0 10px 28px rgba(0,0,0,.32),inset 0 0 40px rgba(60,90,130,.14);
}
.daily-vault-board-head{
  display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:0;
}
.daily-vault-board-head h3{
  margin:0;flex:0 0 auto;
  font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:.82rem;font-weight:800;color:#ffe7b0;letter-spacing:.04em;
}
.daily-vault-board-head .daily-pass-meta{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.daily-vault-count{
  margin-left:auto;flex:0 0 auto;
  font-size:.72rem;font-weight:800;color:rgba(250,220,150,.95);
  font-variant-numeric:tabular-nums;letter-spacing:.02em;
  padding:3px 9px;border-radius:999px;
  background:rgba(0,0,0,.28);border:1px solid rgba(255,220,150,.16);
}
.daily-broken-note--compact{
  margin:0;padding:4px 8px;font-size:.58rem;border-radius:8px;
}
.daily-vault-paused-banner{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin:0;padding:5px 10px;border-radius:10px;
  background:rgba(30,41,59,.55);border:1px solid rgba(125,160,190,.35);
  color:#bfdbfe;font-size:.62rem;font-weight:700;
}
.daily-vault-paused-banner img{width:22px;height:22px;object-fit:contain}
.daily-vault-count.is-paused{
  color:#93c5fd;border-color:rgba(147,197,253,.28);background:rgba(30,41,59,.55);
}

.daily-vault-gallery{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:clamp(4px,.9vw,8px);
  align-items:start;
  min-height:0;
}
.daily-vault-gallery .daily-pass-tip,
.daily-vault-gallery .daily-cell-tip{
  min-width:0;width:100%;
}
.daily-vault-gallery .daily-pass-tip > .stat-hover-trigger,
.daily-vault-gallery .daily-cell-tip > .stat-hover-trigger{
  width:100%;display:block;
}
.daily-vault-card{
  position:relative;
  width:100%;
  aspect-ratio:1 / 1;
  height:auto;
  max-height:none;
  min-height:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:16% 12% 12%;
  color:#fff6e8;text-align:center;
  border-radius:8px;
  background:
    radial-gradient(circle at 50% 42%,rgba(40,28,14,.55),rgba(8,6,4,.92));
  box-shadow:0 8px 18px rgba(0,0,0,.38);
  overflow:hidden;
  animation:dailyVaultCardIn .5s ease both;
  animation-delay:calc(var(--i,0) * 40ms);
  transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;
}
@keyframes dailyVaultCardIn{
  from{opacity:0;transform:translateY(10px) scale(.96)}
  to{opacity:1;transform:none}
}
.daily-vault-card:hover{transform:translateY(-2px) scale(1.03)}
.daily-vault-card-frame{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:var(--daily-frame) center/contain no-repeat;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.35));
}
.daily-vault-card-shine{
  position:absolute;inset:14%;z-index:1;pointer-events:none;border-radius:50%;
  background:
    radial-gradient(circle at 40% 35%,rgba(255,240,200,.16),transparent 62%);
  mix-blend-mode:screen;opacity:.75;
}
.daily-vault-card-day{
  position:relative;z-index:3;order:1;
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
  font-size:clamp(.48rem,.75vw,.62rem);font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,230,180,.72);
  line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.daily-vault-card-art{
  position:relative;z-index:3;order:2;
  width:46%;aspect-ratio:1 / 1;
  max-width:72px;margin:4px 0 2px;
  display:grid;place-items:center;
}
.daily-vault-card-art img{
  width:100%;height:100%;object-fit:contain;object-position:center;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.55));
  transition:transform .22s ease;
}
.daily-vault-card:hover .daily-vault-card-art img{transform:scale(1.08) translateY(-1px)}
.daily-vault-card-reward{
  position:relative;z-index:3;order:3;
  font-size:clamp(.55rem,.95vw,.7rem);font-weight:800;color:#fde68a;
  text-shadow:0 1px 6px rgba(0,0,0,.65);line-height:1.1;
}
.daily-vault-card-status{
  position:absolute;top:8%;right:8%;z-index:4;
  min-width:1.1rem;padding:1px 5px;border-radius:999px;
  font-size:.48rem;font-weight:900;letter-spacing:.02em;
  background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.22);color:#fff;
  box-shadow:0 2px 6px rgba(0,0,0,.4);
  max-width:62%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.daily-vault-card.is-today{
  box-shadow:0 0 0 1px rgba(253,224,71,.5),0 0 22px rgba(240,180,70,.3),0 8px 18px rgba(0,0,0,.38);
}
.daily-vault-card.is-claimable{
  box-shadow:0 0 0 1px rgba(74,222,128,.55),0 0 26px rgba(74,222,128,.32),0 8px 18px rgba(0,0,0,.38);
}
.daily-vault-card.is-claimable .daily-vault-card-status{
  background:#15803d;border-color:rgba(134,239,172,.55);
  animation:daily-claim-glow 2.2s ease-in-out infinite;
}
.daily-vault-card.is-claimed{
  filter:none;
  box-shadow:0 0 0 1px rgba(34,197,94,.45),0 0 18px rgba(34,197,94,.18),0 8px 18px rgba(0,0,0,.38);
}
.daily-vault-card.is-claimed .daily-vault-card-reward{
  color:#86efac;letter-spacing:.04em;font-size:clamp(.5rem,.85vw,.62rem);
}
.daily-vault-card.is-claimed .daily-vault-card-status{
  background:#166534;border-color:rgba(134,239,172,.55);
}
.daily-vault-card.is-claimed .daily-vault-card-shine{
  background:linear-gradient(135deg,rgba(134,239,172,.18),transparent 50%);
}
.daily-vault-card.is-bonus:not(.is-claimed) .daily-vault-card-frame{
  filter:drop-shadow(0 0 10px rgba(245,158,11,.45));
}
.daily-vault-card.is-locked,
.daily-vault-card.is-art-locked{opacity:.5;filter:grayscale(.4) brightness(.88)}
.daily-vault-card.is-locked:hover{transform:none}

.daily-vault-month{
  flex:1 1 auto;min-height:0;
  display:grid;
  grid-template-columns:repeat(var(--daily-month-cols, 7), minmax(0, 1fr));
  grid-template-rows:repeat(var(--daily-month-rows, 5), minmax(0, 1fr));
  gap:clamp(4px, .9vmin, 8px);
  width:100%;
  height:100%;
  align-content:stretch;
  justify-content:stretch;
  overflow:hidden;
}
.daily-vault-month .daily-pass-tip,
.daily-vault-month .daily-month-tip,
.daily-vault-month .daily-cell-tip{
  min-width:0;min-height:0;width:100%;height:100%;
  display:block;
}
.daily-vault-month .stat-hover-trigger{
  display:block!important;width:100%!important;height:100%!important;
  min-height:0;
}
.daily-vault-spacer{
  min-width:0;min-height:0;
  border-radius:clamp(8px, 1.2vmin, 14px);
  background:
    linear-gradient(160deg,rgba(255,255,255,.03),rgba(0,0,0,.28));
  border:1px solid rgba(255,255,255,.05);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
  pointer-events:none;
}
.daily-vault-tile{
  position:relative;
  width:100%;
  height:100%;
  min-width:0;min-height:0;
  box-sizing:border-box;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:clamp(1px, .4vmin, 4px);
  padding:clamp(3px, .7vmin, 8px) clamp(2px, .5vmin, 6px);
  border-radius:clamp(8px, 1.2vmin, 14px);
  background:
    linear-gradient(160deg,rgba(255,220,150,.1),rgba(0,0,0,.45)),
    radial-gradient(circle at 50% 30%,rgba(40,30,16,.5),rgba(8,6,4,.95));
  border:1px solid rgba(212,160,60,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 4px 10px rgba(0,0,0,.25);
  color:#fff6e8;text-align:center;
  animation:dailyVaultCardIn .4s ease both;
  animation-delay:calc(var(--i,0) * 18ms);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.daily-vault-tile:hover{transform:translateY(-1px);border-color:rgba(240,200,120,.45)}
.daily-vault-tile-day{
  font-size:clamp(.5rem,1.6vmin,.75rem);font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  color:rgba(255,230,180,.7);line-height:1;
}
.daily-vault-tile-art{
  width:clamp(18px,28%,42px);
  flex:0 1 auto;
  display:grid;place-items:center;
}
.daily-vault-tile-art img{
  width:100%;height:auto;max-height:clamp(18px,5.5vmin,42px);object-fit:contain;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));
}
.daily-vault-tile-reward{
  font-size:clamp(.52rem,1.7vmin,.78rem);font-weight:800;color:#fde68a;line-height:1;
}
.daily-vault-tile-badge{
  position:absolute;top:4%;right:4%;
  width:clamp(14px,2.4vmin,18px);height:clamp(14px,2.4vmin,18px);border-radius:50%;
  display:grid;place-items:center;font-size:clamp(.45rem,1.3vmin,.6rem);font-weight:900;
  background:rgba(0,0,0,.7);border:1px solid rgba(255,255,255,.22);color:#fff;
}
.daily-vault-tile.is-claimed{
  opacity:1;filter:none;
  border-color:rgba(74,222,128,.55);
  background:
    linear-gradient(160deg,rgba(74,222,128,.16),rgba(0,0,0,.42)),
    radial-gradient(circle at 50% 30%,rgba(20,40,24,.55),rgba(8,6,4,.95));
  box-shadow:0 0 0 1px rgba(74,222,128,.28),inset 0 1px 0 rgba(255,255,255,.06);
}
.daily-vault-tile.is-claimed .daily-vault-tile-reward{color:#86efac}
.daily-vault-tile.is-claimed .daily-vault-tile-badge{background:#16a34a;border-color:rgba(134,239,172,.5)}
.daily-vault-tile.is-paused{
  opacity:.9;filter:saturate(.4) brightness(.94);
  border-color:rgba(125,160,190,.45);
  background:
    linear-gradient(160deg,rgba(100,140,180,.14),rgba(0,0,0,.5)),
    radial-gradient(circle at 50% 30%,rgba(30,40,55,.55),rgba(8,6,4,.95));
  box-shadow:inset 0 0 18px rgba(80,120,160,.12);
}
.daily-vault-tile.is-paused .daily-vault-tile-reward{color:#93c5fd;letter-spacing:.02em}
.daily-vault-tile.is-paused .daily-vault-tile-badge{
  background:#334155;border-color:rgba(147,197,253,.4);color:#bfdbfe;font-size:.4rem;
}
.daily-vault-tile.is-next{
  border-color:rgba(45,200,190,.5);
  box-shadow:0 0 0 1px rgba(45,200,190,.25),0 0 14px rgba(45,200,190,.2),inset 0 1px 0 rgba(255,255,255,.08);
}
.daily-vault-tile.is-claimable{
  border-color:rgba(74,222,128,.55);
  box-shadow:0 0 0 1px rgba(74,222,128,.35),0 0 16px rgba(74,222,128,.28);
}
.daily-vault-tile.is-claimable .daily-vault-tile-badge{
  background:#15803d;border-color:rgba(134,239,172,.55);
  animation:daily-claim-glow 2.2s ease-in-out infinite;
}
.daily-vault-tile.is-bonus:not(.is-claimed):not(.is-paused){
  border-color:rgba(245,158,11,.5);
  box-shadow:0 0 12px rgba(245,158,11,.22);
}
.daily-vault-tile.is-locked{opacity:.42;filter:grayscale(.55)}
.daily-vault-tile.is-locked:hover{transform:none}

.daily-vault-footer{
  position:relative!important;flex:0 0 auto;z-index:4;
  margin:0!important;padding:8px 12px!important;border-radius:14px!important;
}
.daily-vault-footer-paused{
  display:flex;align-items:center;justify-content:center;gap:10px;text-align:left;
}
.daily-vault-footer-state-ico{
  width:36px;height:36px;object-fit:contain;flex-shrink:0;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.45));
}
.daily-vault-footer .daily-pass-footer-claim{gap:6px}
.daily-vault-footer .daily-claim-lines{gap:4px;margin-bottom:0}
.daily-vault-footer .daily-claim-reward{padding:5px 8px;border-radius:8px}
.daily-vault-footer .daily-pass-claim-btn{
  max-width:100%!important;padding:11px 16px!important;border-radius:12px!important;font-size:.9rem!important;
}
.daily-vault-footer .daily-pass-claim-ico{width:24px;height:24px}
.daily-vault-footer .daily-footer-msg{font-size:.68rem}
.daily-vault-footer .daily-footer-timer{margin-top:2px;font-size:.66rem}

.daily-pass .daily-legend-v2{
  margin:0 12px;padding:8px 4px 0;border:0;
  justify-content:center;
}
.daily-pass-footer{
  position:sticky;bottom:0;z-index:4;margin:4px 12px 0;
  padding:14px 16px;border-radius:18px;
  border:1px solid rgba(212,175,110,.3);
  background:
    linear-gradient(180deg,rgba(22,28,40,.96),rgba(8,10,16,.98));
  box-shadow:0 -12px 36px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.daily-pass-footer-claim{display:flex;flex-direction:column;align-items:center;gap:10px}
.daily-pass-claim-btn{
  display:inline-flex!important;align-items:center;justify-content:center;gap:10px;
  width:100%;max-width:360px;padding:15px 22px!important;border-radius:16px!important;
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif!important;
  font-weight:800!important;font-size:1rem!important;letter-spacing:.06em;text-transform:uppercase;
  background:linear-gradient(180deg,#f0d078,#d4a017 42%,#9a7209)!important;
  border:1px solid rgba(255,230,160,.5)!important;
  box-shadow:0 10px 28px rgba(212,160,60,.38),inset 0 1px 0 rgba(255,255,255,.25);
  color:#2a1a04!important;
}
.daily-pass-claim-btn:hover{filter:brightness(1.06)}
.daily-pass-claim-ico{width:30px;height:30px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}
.daily-pass-footer-done{text-align:center}
.daily-pass .daily-claim-reward{
  background:rgba(0,0,0,.38);border-color:rgba(255,255,255,.1);
}

@media (max-width:720px){
  .daily-pass-hero{min-height:150px;margin:0 10px;padding:14px 12px 12px;border-radius:18px}
  .daily-pass-track-block{margin:0 10px;padding:12px 10px 10px;border-radius:16px}
  .daily-pass-footer{margin-left:10px;margin-right:10px}
  .daily-pass-kpis{gap:6px}
  .daily-pass-kpi{padding:7px 8px;gap:6px}
  .daily-pass-kpi img{width:30px;height:30px}
  .daily-pass-kpi strong{font-size:.95rem}
  .daily-pass-node{width:84px}
  .daily-pass-node--sm{width:64px}
  .daily-pass-node-orb{width:60px;height:60px}
  .daily-pass-node--sm .daily-pass-node-orb{width:46px;height:46px}
  .daily-pass-spine{top:40%}
  .daily-pass-progress{max-width:none;width:100%}
  .daily-vault--fit{padding-left:8px;padding-right:8px;gap:6px}
  .daily-vault-board{padding:6px 8px 7px;border-radius:14px}
  .daily-vault-chrome-stats{order:5;width:100%;justify-content:flex-end}
  .daily-vault-card{aspect-ratio:1 / 1;height:auto}
  .daily-vault-card-art{width:44%;max-width:56px}
  .daily-vault-card-status{font-size:.42rem;padding:1px 4px}
  .daily-vault-month{gap:4px}
  .daily-vault-footer{padding:7px 10px!important}
}
@media (max-width:480px){
  .daily-vault-chrome .daily-pass-chrome-date{display:none}
  .daily-vault-card-day{font-size:.42rem}
  .daily-vault-card-reward{font-size:.5rem}
}
@media (max-height:700px){
  .daily-vault-card{aspect-ratio:1 / 1;height:auto}
  .daily-vault-card-art{width:42%;max-width:48px}
  .daily-vault-board-head .daily-pass-meta{display:none}
}
@media (max-height:560px){
  .daily-vault-chrome-stats{display:none}
  .daily-vault-card{padding:12% 10% 10%}
  .daily-vault-card-day{display:none}
  .daily-vault-footer .daily-claim-lines{display:none}
}
@media (max-height:640px){
  .daily-pass-hero{min-height:118px}
  .daily-pass-hero-sub{display:none}
  .daily-pass-kpi span{display:none}
}
@media (prefers-reduced-motion:reduce){
  .daily-pass,.daily-pass-node,.daily-pass-hero-art,.daily-pass-orb,.daily-pass-sparkles,
  .daily-vault-card,.daily-vault-tile,.daily-vault-stage-art{animation:none!important}
}

/* Admin Daily Items Modal */
.admin-daily-items-overlay{z-index:12000}
.admin-daily-items-sheet{width:min(420px,94vw);max-height:min(85vh,640px);display:flex;flex-direction:column;gap:10px;padding:14px}
.admin-daily-items-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.admin-daily-items-selected{max-height:120px;overflow:auto;padding:8px;display:flex;flex-direction:column;gap:6px}
.admin-daily-item-selected-row{display:flex;align-items:center;gap:8px;font-size:.72rem}
.admin-daily-item-selected-row span{flex:1;min-width:0}
.admin-daily-items-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;overflow-y:auto;flex:1 1 auto;min-height:120px;max-height:280px;padding-right:4px}
.admin-daily-item-pick{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.25);text-align:left;cursor:pointer}
.admin-daily-item-pick.active{border-color:rgba(232,197,71,.45);background:rgba(232,197,71,.08)}
.admin-daily-item-emoji{font-size:1.1rem;line-height:1}
.admin-daily-item-name{font-size:.68rem;font-weight:700;line-height:1.2}
.admin-daily-items-foot{display:flex;justify-content:flex-end}
.admin-daily-bonus-week,.admin-daily-bonus-month{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.admin-daily-bonus-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.1);font-size:.68rem;cursor:pointer}
.admin-daily-bonus-label{font-weight:700}
.admin-daily-reset-row{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.admin-daily-reward-row{display:flex;flex-direction:column;gap:8px;padding:10px}
.admin-daily-reward-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;align-items:end}
.admin-daily-items-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.admin-daily-items-summary{flex:1;min-width:0;color:var(--muted)}
.admin-daily-section{margin-bottom:10px;padding:10px}
.daily-claim-done--warn .daily-footer-msg{color:#fcd34d}
/* ── Inventar-Panel (scrollbar) ── */
body.screen-panel:has(#panel-card.panel-inv) #screen-panel{
  flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;
}
body.screen-panel:has(#panel-card.panel-inv) #app{max-width:min(560px,100vw)}
#panel-card.panel-inv{
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;
  max-height:calc(100dvh - 88px);overflow:hidden;width:100%;max-width:100%;
  padding:12px 14px;box-sizing:border-box;
}
#panel-card.panel-inv .inv-workshop{
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;
}
#panel-card.panel-inv .inv-workshop-header{flex-shrink:0}
#panel-card.panel-inv .inv-scroll-wrap{
  flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding:4px 12px 16px 4px;scrollbar-width:thin;
  scrollbar-gutter:stable;
}
/* ── Handel-Panel (scrollbar) ── */
body.screen-panel:has(#panel-card.panel-trade) #screen-panel{
  flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;
}
body.screen-panel:has(#panel-card.panel-trade) #app{max-width:min(560px,100vw)}
#panel-card.panel-trade{
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;
  max-height:calc(100dvh - 88px);overflow:hidden;width:100%;max-width:100%;
  padding:12px 14px;box-sizing:border-box;
}
#panel-card.panel-trade .trade-workshop{
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;
}
#panel-card.panel-trade .trade-panel-title,
#panel-card.panel-trade .trade-status-bar,
#panel-card.panel-trade .trade-columns,
#panel-card.panel-trade .trade-pick-section,
#panel-card.panel-trade .trade-footer-actions{flex-shrink:0}
#panel-card.panel-trade .trade-pick-section{
  flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;
  margin-top:4px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);
  position:relative;z-index:2;
}
#panel-card.panel-trade .trade-pick-head,
#panel-card.panel-trade .trade-coin-pick{flex-shrink:0}
#panel-card.panel-trade .trade-pick-scroll{
  flex:1 1 auto;min-height:180px;overflow-y:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding-right:10px;padding-bottom:12px;scrollbar-width:thin;
  scrollbar-gutter:stable;
}
#panel-card.panel-trade .trade-columns{flex-shrink:0;margin-bottom:0;overflow:hidden;isolation:isolate}
#panel-card.panel-trade .trade-pick-scroll .inv-row{margin-bottom:8px}
@media(max-width:520px){
  .trade-columns{grid-template-columns:1fr}
}
/* ── Fähigkeiten- & Berufsbaum (scrollbar) ── */
body.screen-panel:has(#panel-card.panel-skills) #screen-panel,
body.screen-panel:has(#panel-card.panel-profession) #screen-panel{
  flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;
}
html:not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-skills) #app,
html:not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-profession) #app{max-width:min(560px,100vw)}
#panel-card.panel-skills,
#panel-card.panel-profession{
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;
  max-height:var(--rpg-menu-scroll-max);height:var(--rpg-menu-scroll-max);overflow:hidden;width:100%;max-width:100%;
  padding:12px 14px;box-sizing:border-box;
}
html.flix-rpg-pc-scale #panel-card.panel-skills,
html.flix-rpg-pc-scale #panel-card.panel-profession{
  max-height:none!important;height:100%!important;padding:8px 10px!important;
}
#panel-card.panel-skills .panel-title,
#panel-card.panel-profession .panel-title{flex-shrink:0}
#panel-card.panel-skills .quest-search-panel-block,
#panel-card.panel-skills .quest-search-complete,
#panel-card.panel-profession .quest-search-panel-block,
#panel-card.panel-profession .quest-search-complete{
  flex:0 0 auto;flex-shrink:0;min-height:0;overflow:visible;position:relative;z-index:4;
}
#panel-card.panel-skills .quest-search-scatter-inline,
#panel-card.panel-profession .quest-search-scatter-inline{
  min-height:min(28vh,200px)!important;flex-shrink:0;
}
#panel-card.panel-skills .tree-panel-body,
#panel-card.panel-profession .tree-panel-body{
  flex:1 1 auto;min-height:0;max-height:none;overflow:hidden;
  display:flex;flex-direction:column;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  touch-action:pan-y;padding-right:6px;padding-bottom:8px;scrollbar-width:thin;
  scrollbar-gutter:stable;
}
#panel-card.panel-skills .tree-main,
#panel-card.panel-profession .tree-main{
  flex:1 1 auto;min-height:0;display:flex;flex-direction:column;
}
#panel-card.panel-skills .tree-scroll,
#panel-card.panel-profession .tree-scroll{
  flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overflow-x:auto;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
}
#panel-card.panel-skills .tree-canvas,
#panel-card.panel-profession .tree-canvas{
  min-height:min-content;box-sizing:border-box;
}
/* ── Quest-Panel (scrollbar) ── */
body.screen-panel:has(#panel-card.panel-quests) #screen-panel{
  flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;
}
body.screen-panel:has(#panel-card.panel-quests) #app{max-width:min(560px,100vw)}
#panel-card.panel-quests{
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;
  max-height:calc(100dvh - 88px);overflow:hidden;width:100%;max-width:100%;
  padding:12px 14px;box-sizing:border-box;
}
#panel-card.panel-quests .quest-workshop{
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;
}
#panel-card.panel-quests .quest-workshop-header{flex-shrink:0}
#panel-card.panel-quests .quest-scroll-wrap{
  flex:1 1 auto;min-height:0;overflow-y:auto!important;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  touch-action:pan-y;
  padding-right:8px;padding-bottom:max(18px,env(safe-area-inset-bottom,0px));
  scrollbar-width:thin;
  scrollbar-gutter:stable;
}
#panel-card.panel-quests .quest-row,
#panel-card.panel-quests .quest-fold-summary,
#panel-card.panel-quests .quest-active,
#panel-card.panel-quests .quest-claim{
  touch-action:pan-y;
}
#panel-card.panel-quests .quest-active-section{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
#panel-card.panel-quests .quest-section-label{
  font-weight:700;letter-spacing:.02em;text-transform:uppercase;opacity:.75;margin:2px 0 2px;
}
.inv-workshop-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.inv-workshop-title-row .panel-title{margin:0}
.arcade-inline-result.success{background:rgba(20,24,32,.92)!important;border-color:var(--line)!important;color:var(--txt)!important}
#push-toast-layer{z-index:20250}
/* Toasts über Schmiede / Bag-Drag (sonst unsichtbar beim Zerlegen in der Forge) */
#push-toast-layer,
#quest-toast-layer{
  z-index:50000!important;
  pointer-events:none;
}
#push-toast-layer .push-toast,
#quest-toast-layer .quest-toast,
#push-toast-layer .quest-toast{
  pointer-events:auto;
}
@media(max-width:520px){
  #panel-card.panel-daily{max-height:calc(100dvh - 100px);padding:8px 10px}
  .daily-cell{min-height:3.2rem;padding:5px 2px}
  .monthly-cell{min-height:2.2rem}
  .daily-emoji{font-size:.95rem}
}

/* ── Wallet ── */
.wallet-hero{padding:20px;text-align:center;margin-bottom:10px}
.wallet-coin-display{display:flex;flex-direction:column;align-items:center;gap:4px}
.wallet-coin-icon{font-size:3rem;filter:drop-shadow(0 0 12px rgba(232,197,71,.5))}
.wallet-coin-amount{font-size:2rem;font-weight:900;color:var(--gold);font-variant-numeric:tabular-nums}
.wallet-coin-label{font-size:.72rem;color:var(--muted)}
.wallet-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}
.wallet-stat{display:flex;align-items:center;gap:8px;padding:10px;border-radius:var(--r-sm)}
.wallet-stat-icon{font-size:1.4rem}
.wallet-stat-val{font-size:.9rem;font-weight:800;color:var(--gold)}
.wallet-stat-lbl{margin-top:1px}

/* ── Arcade ── */
.arcade-desc{font-size:.76rem;line-height:1.5;margin:8px 0;color:var(--txt)}
.arcade-btns{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.arcade-btns .btn{flex:1 0 calc(33% - 4px);min-width:80px}

/* ── Sprite Animation (Sprite-Sheet) ── */
.sprite-sheet{image-rendering:pixelated;object-fit:none}

@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ── Sprite Animationen ── */
@keyframes spriteIdle {
  0%, 100% { transform: translateY(0px) scale(1); }
  40% { transform: translateY(-3px) scale(1.01); }
  60% { transform: translateY(-2px) scale(1.01); }
}
@keyframes spriteBoss {
  0%, 100% { transform: scale(1) rotate(0deg); filter: drop-shadow(0 0 6px rgba(255,87,34,.5)); }
  25% { transform: scale(1.06) rotate(-1deg); filter: drop-shadow(0 0 14px rgba(255,87,34,.8)); }
  75% { transform: scale(1.06) rotate(1deg); filter: drop-shadow(0 0 14px rgba(255,87,34,.8)); }
}
@keyframes spriteHero {
  0%, 100% { transform: translateY(0) scale(1); filter: drop-shadow(0 4px 8px rgba(0,0,0,.5)); }
  50% { transform: translateY(-1px) scale(1.004); filter: drop-shadow(0 5px 9px rgba(94,196,255,.18)); }
}
.hub-sprite.hub-avatar-img { animation: none; }
.hero-sprite { animation: spriteHero 2.8s ease-in-out infinite; }
.sprite-portrait { animation: spriteIdle 2.5s ease-in-out infinite; }
.sprite-portrait.host { animation: spriteIdle 2s ease-in-out infinite; filter: drop-shadow(0 0 6px rgba(232,197,71,.4)); }
.fighter-foe.boss-active #foe-img,
.fighter-foe.boss-active .fighter-emoji { animation: spriteBoss 1.5s ease-in-out infinite; }
#foe-img { animation: spriteIdle 2s ease-in-out infinite; }

/* ── Vollbild ── */
:fullscreen #app,
:-webkit-full-screen #app { max-width: 100% !important; padding: 0 16px 28px; }

@keyframes pop{0%{transform:scale(.94)}60%{transform:scale(1.04)}100%{transform:scale(1)}}
.anim-fadein{animation:fadeIn .3s ease}
.anim-pop{animation:pop .25s ease}
.pulse{animation:btnPulse 1.2s ease infinite}
@keyframes btnPulse{0%,100%{box-shadow:0 0 0 0 rgba(94,196,255,.4)}50%{box-shadow:0 0 0 8px rgba(94,196,255,0)}}

/* ══════════════════════════════════════════════════════════════
   HUB MENÜ-GRID — Vollbild-Karten
══════════════════════════════════════════════════════════════ */
#hub-nav-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:10px;
  padding-bottom:28px;
  flex:1 1 auto;
  align-content:start;
}
.hub-grid-btn{isolation:isolate;z-index:0}
.hub-grid-soon{z-index:12;max-width:92%}
@media(min-width:720px){
  #hub-nav-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
}
@media(max-width:420px){
  #hub-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}
.hub-grid-btn,
.hub-grid-btn.hub-grid-card{
  display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:0;
  position:relative;
  min-height:0;
  aspect-ratio:16/11;
  padding:0;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  overflow:hidden;
  cursor:pointer;
  color:#f4f1e8;
  background:#0c1018;
  box-shadow:0 8px 22px rgba(0,0,0,.35);
  transform:translateZ(0);
  transition:transform .22s cubic-bezier(.25,.8,.25,1), border-color .22s ease, box-shadow .22s ease;
  user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;
}
.hub-grid-card-media{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  transform:scale(1.04);
  filter:brightness(.42) saturate(.85);
  transition:filter .28s ease, transform .35s cubic-bezier(.25,.8,.25,1);
  pointer-events:none;
}
.hub-grid-card-shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,10,16,.18) 0%, rgba(6,10,16,.55) 48%, rgba(6,10,16,.92) 100%);
  transition:opacity .28s ease;
  pointer-events:none;
}
.hub-grid-btn:hover:not(.locked),
.hub-grid-btn:focus-visible:not(.locked){
  transform:translate3d(0,-3px,0) scale(1.015);
  border-color:rgba(232,197,71,.42);
  box-shadow:0 14px 34px rgba(0,0,0,.45), 0 0 0 1px rgba(232,197,71,.18);
}
.hub-grid-btn:hover:not(.locked) .hub-grid-card-media,
.hub-grid-btn:focus-visible:not(.locked) .hub-grid-card-media{
  filter:brightness(.92) saturate(1.05);
  transform:scale(1.08);
}
.hub-grid-btn:hover:not(.locked) .hub-grid-card-shade,
.hub-grid-btn:focus-visible:not(.locked) .hub-grid-card-shade{
  opacity:.72;
}
.hub-grid-btn:active:not(.locked){transform:translate3d(0,-1px,0) scale(.995)}
.hub-grid-icon{
  position:absolute;top:10px;left:10px;
  width:28px;height:28px;object-fit:cover;border-radius:8px;
  image-rendering:pixelated;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.75));
  opacity:.88;
  pointer-events:none;z-index:2;
  transition:transform .2s ease, opacity .2s ease;
}
.hub-grid-btn:hover:not(.locked) .hub-grid-icon{transform:scale(1.06);opacity:1}
.hub-grid-btn:active:not(.locked) .hub-grid-icon{transform:scale(.96)}
.hub-grid-copy{
  position:relative;z-index:2;
  display:flex;flex-direction:column;gap:2px;
  padding:12px 12px 11px;
  pointer-events:none;
}
.hub-grid-label{
  font-size:.9rem;font-weight:800;letter-spacing:.02em;line-height:1.15;
  text-shadow:0 2px 10px rgba(0,0,0,.75);
  opacity:.95;
}
.hub-grid-desc{
  font-size:.68rem;font-weight:600;line-height:1.25;opacity:.72;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  text-shadow:0 1px 8px rgba(0,0,0,.7);
}
.hub-grid-btn.locked{
  opacity:.55;cursor:not-allowed;filter:grayscale(.75);
}
.hub-grid-btn.locked:hover,.hub-grid-btn.locked:active{
  transform:none;border-color:rgba(255,255,255,.08);box-shadow:0 8px 22px rgba(0,0,0,.35);
}
.hub-grid-btn.locked:hover .hub-grid-card-media,
.hub-grid-btn.locked:active .hub-grid-card-media{
  filter:brightness(.38) saturate(.7);transform:scale(1.04);
}
.hub-grid-btn.locked:hover .hub-grid-icon,.hub-grid-btn.locked:active .hub-grid-icon{
  transform:none;filter:drop-shadow(0 2px 6px rgba(0,0,0,.75)) grayscale(.7);
}
.hub-grid-lock{
  position:absolute;top:10px;right:10px;width:16px;height:16px;border-radius:5px;z-index:3;
  background:linear-gradient(160deg,rgba(226,192,122,.55),rgba(80,60,20,.85));
  border:1px solid rgba(255,255,255,.25);
  box-shadow:0 2px 6px rgba(0,0,0,.35);
  font-size:0;line-height:0;overflow:hidden;
}
.hub-grid-lock::after{
  content:"";position:absolute;left:50%;top:42%;width:6px;height:5px;
  border:1.5px solid rgba(255,248,238,.9);border-bottom:none;border-radius:6px 6px 0 0;
  transform:translate(-50%,-100%);
}
.hub-grid-soon{
  position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%) translateY(6px);
  padding:4px 8px;border-radius:8px;font-size:.62rem;font-weight:700;white-space:nowrap;
  color:#fde68a;background:rgba(30,20,0,.92);border:1px solid rgba(232,197,71,.45);
  box-shadow:0 4px 14px rgba(0,0,0,.45);opacity:0;pointer-events:none;z-index:5;
  transition:opacity .15s ease,transform .15s ease;
}
.hub-grid-btn.locked:hover .hub-grid-soon,.hub-grid-btn.locked:focus-visible .hub-grid-soon{
  opacity:1;transform:translateX(-50%) translateY(0);
}
.hub-grid-badge{
  position:absolute;top:8px;left:50%;transform:translateX(-50%);
  font-size:.78rem;line-height:1;z-index:3;pointer-events:none;
  filter:drop-shadow(0 1px 4px rgba(0,0,0,.85));
}
.hub-grid-badge-num{
  top:8px;left:auto;right:10px;transform:none;
  min-width:18px;height:18px;padding:0 5px;border-radius:999px;
  background:#ef4444;color:#fff;font-size:10px;font-weight:800;line-height:18px;text-align:center;
  filter:none;box-shadow:0 0 0 2px rgba(8,12,22,.85);
}
.hub-grid-btn-pulse{
  animation:hub-grid-card-pulse 1.8s ease-in-out infinite;
}
.hub-grid-btn-pulse .hub-grid-icon{
  animation:none;
}
@keyframes hub-grid-card-pulse{
  0%,100%{box-shadow:0 8px 22px rgba(0,0,0,.35)}
  50%{box-shadow:0 10px 28px rgba(232,197,71,.35), 0 0 0 1px rgba(232,197,71,.28)}
}
/* Hub Vollbild: Menü füllt den Screen */
body.screen-hub #screen-hub:not(.hidden){
  display:flex;flex-direction:column;min-height:0;flex:1 1 auto;
}
body.screen-hub #hub-nav-grid{flex:1 1 auto;min-height:0}

/* ══════════════════════════════════════════════════════════════
   HUB — Kompakte Held-Leiste + Seiten-Karussell (2 Zeilen, volle Breite)
══════════════════════════════════════════════════════════════ */
html body.screen-hub,
html[data-desktop-web="1"] body.screen-hub,
html.flix-rpg-web body.screen-hub,
html.flix-rpg-mobile body.screen-hub,
html[data-mobile-shell="1"] body.screen-hub,
html[data-abenteuer-apk="1"] body.screen-hub{
  height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;
}
html:not(.flix-rpg-pc-scale) body.screen-hub #app,
html[data-desktop-web="1"]:not(.flix-rpg-pc-scale) body.screen-hub #app,
html.flix-rpg-web:not(.flix-rpg-pc-scale) body.screen-hub #app,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.screen-hub #app,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) body.screen-hub #app,
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) body.screen-hub #app,
html:not(.flix-rpg-pc-scale) body.screen-hub .top-bar,
html[data-desktop-web="1"]:not(.flix-rpg-pc-scale) body.screen-hub .top-bar,
html.flix-rpg-web:not(.flix-rpg-pc-scale) body.screen-hub .top-bar,
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale) body.screen-hub #app,
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-pc-scale) body.screen-hub .top-bar{
  max-width:100vw!important;width:100%!important;margin:0!important;
  padding-left:0!important;padding-right:0!important;
}
html:not(.flix-rpg-pc-scale) body.screen-hub #app,
html[data-desktop-web="1"]:not(.flix-rpg-pc-scale) body.screen-hub #app,
html.flix-rpg-web:not(.flix-rpg-pc-scale) body.screen-hub #app,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.screen-hub #app,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) body.screen-hub #app,
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) body.screen-hub #app{
  height:100dvh!important;max-height:100dvh!important;min-height:100dvh!important;
  display:flex!important;flex-direction:column!important;overflow:hidden!important;box-sizing:border-box!important;
}
/* Topbar retired — Buttons in der rechten Edge-Rail */
#top-bar.rpg-topbar-retired,
html.flix-rpg-pc-scale #top-bar,
html.flix-rpg-pc-scale .top-bar,
#rpg-chrome-dock,
#rpg-chrome-dock .rpg-chrome-dock-tools,
#rpg-chrome-dock .rpg-chrome-dock-back,
#rpg-chrome-edge-dock,
.rpg-chrome-edge-dock{
  display:none!important;visibility:hidden!important;pointer-events:none!important;
  height:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;
  opacity:0!important;border:none!important;
}
/* Legacy-Echtbuttons: nie klickbar (Proxies data-edge-chrome bedienen) */
#top-bar #btn-settings,
#top-bar #btn-chat,
#top-bar #btn-mailbox,
#top-bar #btn-claim-rewards,
.rpg-bag-edge-rail #btn-settings,
.rpg-bag-edge-rail #btn-chat,
.rpg-bag-edge-rail #btn-mailbox,
.rpg-bag-edge-rail #btn-claim-rewards,
.rpg-bag-edge-rail .top-settings-wrap{
  display:none!important;visibility:hidden!important;pointer-events:none!important;
  width:0!important;height:0!important;overflow:hidden!important;position:absolute!important;
}
/* Zurück links oben */
#rpg-chrome-back-dock{
  position:fixed!important;top:max(10px,env(safe-area-inset-top,0px))!important;
  left:max(10px,env(safe-area-inset-left,0px))!important;
  z-index:12060!important;pointer-events:auto!important;
}
html.flix-rpg-pc-scale #app > #rpg-chrome-back-dock{
  position:absolute!important;top:14px!important;left:14px!important;
}
#rpg-chrome-back-dock.hidden{display:none!important}
/* Zurück-Plakette: Messingrahmen + Label statt nacktem Chevron */
#rpg-chrome-back-dock #btn-back,
#rpg-chrome-back-dock #btn-back.chrome-back-btn{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  min-width:0!important;width:auto!important;height:auto!important;
  min-height:42px!important;padding:8px 14px 8px 12px!important;
  border-radius:10px!important;
  background:
    linear-gradient(165deg,rgba(42,32,18,.94),rgba(12,14,22,.92) 55%,rgba(8,10,16,.96))!important;
  border:1px solid rgba(212,175,85,.55)!important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.45),
    0 8px 20px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,230,170,.18)!important;
  color:#f3e2b0!important;
  font-family:"Cinzel","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,filter .15s ease!important;
}
#rpg-chrome-back-dock #btn-back:hover,
#rpg-chrome-back-dock #btn-back.chrome-back-btn:hover{
  border-color:rgba(236,198,110,.85)!important;
  filter:brightness(1.08)!important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.5),
    0 10px 24px rgba(0,0,0,.5),
    inset 0 1px 0 rgba(255,236,190,.28),
    0 0 18px rgba(212,175,85,.18)!important;
  transform:translateY(-1px)!important;
}
#rpg-chrome-back-dock #btn-back:active{
  transform:translateY(0)!important;filter:brightness(.96)!important;
}
#rpg-chrome-back-dock .chrome-back-arrow{
  position:relative;display:block;width:10px;height:10px;flex-shrink:0;
  border-left:2px solid #e8c878;border-bottom:2px solid #e8c878;
  transform:rotate(45deg);margin:0 2px 0 4px;
  filter:drop-shadow(0 0 4px rgba(232,200,120,.35));
}
#rpg-chrome-back-dock .chrome-back-label{
  font-size:.78rem;font-weight:700;line-height:1;opacity:.95;
  text-shadow:0 1px 0 rgba(0,0,0,.65);
}
/* Saga: Pergament-/Chronik-Exit statt Messing-Hub-Plakette */
body.screen-saga #rpg-chrome-back-dock{
  top:max(12px, env(safe-area-inset-top))!important;
  left:max(12px, env(safe-area-inset-left))!important;
}
html.flix-rpg-pc-scale body.screen-saga #app > #rpg-chrome-back-dock{
  top:12px!important;left:12px!important;
}
body.screen-saga #rpg-chrome-back-dock #btn-back,
body.screen-saga #rpg-chrome-back-dock #btn-back.chrome-back-btn{
  gap:6px!important;
  min-height:0!important;padding:8px 4px!important;
  border-radius:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#f4e6c8!important;
  letter-spacing:.14em!important;
  filter:none!important;
  transform:none!important;
}
body.screen-saga #rpg-chrome-back-dock #btn-back:hover,
body.screen-saga #rpg-chrome-back-dock #btn-back.chrome-back-btn:hover,
body.screen-saga #rpg-chrome-back-dock #btn-back:focus-visible{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  filter:none!important;
  transform:translateX(-2px)!important;
  color:#fff4dc!important;
  outline:none!important;
}
body.screen-saga #rpg-chrome-back-dock #btn-back:active{
  transform:translateX(0)!important;filter:none!important;
}
body.screen-saga #rpg-chrome-back-dock .chrome-back-arrow{
  display:none!important;
}
body.screen-saga #rpg-chrome-back-dock .chrome-back-label{
  position:relative;
  font-family:"Cinzel",ui-serif,Georgia,serif!important;
  font-size:.72rem!important;font-weight:800!important;
  letter-spacing:.16em!important;
  text-shadow:0 1px 3px rgba(0,0,0,.85),0 0 10px rgba(0,0,0,.35)!important;
  border-bottom:1px solid rgba(232,196,120,.4);
  padding:0 0 2px 1.05rem;
}
body.screen-saga #rpg-chrome-back-dock .chrome-back-label::before{
  content:"‹";
  position:absolute;left:0;top:50%;transform:translateY(-54%);
  font-size:1.2rem;font-weight:800;line-height:1;
  color:#e8c45a;
  text-shadow:0 1px 3px rgba(0,0,0,.8),0 0 10px rgba(232,180,90,.3);
}
body.screen-saga #rpg-chrome-back-dock #btn-back:hover .chrome-back-label,
body.screen-saga #rpg-chrome-back-dock #btn-back:focus-visible .chrome-back-label{
  border-bottom-color:rgba(255,220,150,.75);
}
/* Craft: schöner Schmiede-Zurück-Button */
html body.rpg-craft-fs #rpg-chrome-back-dock #btn-back,
html body.rpg-craft-fs #rpg-chrome-back-dock #btn-back.chrome-back-btn,
html body.screen-panel:has(#panel-card.panel-craft) #rpg-chrome-back-dock #btn-back,
html body.screen-panel:has(#panel-card.panel-craft) #rpg-chrome-back-dock #btn-back.chrome-back-btn,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--forge,
html body.rpg-achievements-fs #rpg-chrome-back-dock #btn-back,
html body.rpg-achievements-fs #rpg-chrome-back-dock #btn-back.chrome-back-btn,
html body.screen-panel:has(#panel-card.panel-achievements) #rpg-chrome-back-dock #btn-back,
html body.screen-panel:has(#panel-card.panel-achievements) #rpg-chrome-back-dock #btn-back.chrome-back-btn,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--trophy{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:10px!important;
  min-height:46px!important;padding:6px 16px 6px 6px!important;
  border-radius:999px!important;
  background:
    linear-gradient(180deg,rgba(60,36,14,.98),rgba(22,12,6,.98) 42%,rgba(10,7,5,.99))!important;
  border:1px solid rgba(251,191,36,.62)!important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.6),
    0 12px 26px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,230,170,.28),
    inset 0 -10px 18px rgba(120,50,0,.22),
    0 0 22px rgba(245,158,11,.2)!important;
  color:#fff4dc!important;
  letter-spacing:.1em!important;
}
/* Kosmetik: Salon-Plakette (Gold + Samt), nicht Craft-Pille */
html body.rpg-kosmetik-fs #rpg-chrome-back-dock #btn-back,
html body.rpg-kosmetik-fs #rpg-chrome-back-dock #btn-back.chrome-back-btn,
html body.screen-panel:has(#panel-card.panel-kosmetik) #rpg-chrome-back-dock #btn-back,
html body.screen-panel:has(#panel-card.panel-kosmetik) #rpg-chrome-back-dock #btn-back.chrome-back-btn,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--atelier{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:9px!important;
  min-height:48px!important;
  padding:7px 18px 7px 7px!important;
  border-radius:14px!important;
  background:
    linear-gradient(155deg,rgba(68,36,72,.98),rgba(28,14,34,.98) 38%,rgba(12,8,16,.99) 72%,rgba(8,6,12,.99))!important;
  border:1px solid rgba(250,204,21,.62)!important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.7),
    0 0 0 2px rgba(192,132,252,.22),
    0 14px 28px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,236,190,.28),
    inset 0 -12px 22px rgba(90,30,80,.28),
    0 0 26px rgba(250,204,21,.18),
    0 0 18px rgba(167,139,250,.2)!important;
  color:#fff4dc!important;
  letter-spacing:.12em!important;
}
html body.rpg-achievements-fs #rpg-chrome-back-dock #btn-back,
html body.screen-panel:has(#panel-card.panel-achievements) #rpg-chrome-back-dock #btn-back,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--trophy{
  background:
    linear-gradient(180deg,rgba(42,36,14,.98),rgba(18,16,8,.98) 42%,rgba(8,8,5,.99))!important;
  border:1px solid rgba(250,204,21,.58)!important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.6),
    0 12px 26px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,244,200,.25),
    inset 0 -10px 18px rgba(80,60,0,.22),
    0 0 22px rgba(52,211,153,.18)!important;
  color:#fff7d6!important;
}
html body.rpg-craft-fs #rpg-chrome-back-dock #btn-back:hover,
html body.rpg-craft-fs #rpg-chrome-back-dock #btn-back.chrome-back-btn:hover,
html body.screen-panel:has(#panel-card.panel-craft) #rpg-chrome-back-dock #btn-back:hover,
html body.screen-panel:has(#panel-card.panel-craft) #rpg-chrome-back-dock #btn-back.chrome-back-btn:hover,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--forge:hover,
html body.rpg-kosmetik-fs #rpg-chrome-back-dock #btn-back:hover,
html body.screen-panel:has(#panel-card.panel-kosmetik) #rpg-chrome-back-dock #btn-back:hover,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--atelier:hover,
html body.rpg-achievements-fs #rpg-chrome-back-dock #btn-back:hover,
html body.screen-panel:has(#panel-card.panel-achievements) #rpg-chrome-back-dock #btn-back:hover,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--trophy:hover{
  border-color:rgba(253,224,71,.88)!important;
  filter:brightness(1.07)!important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.6),
    0 14px 30px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,240,200,.35),
    inset 0 -10px 18px rgba(146,64,14,.25),
    0 0 30px rgba(251,191,36,.32)!important;
  transform:translateY(-1px)!important;
}
html body.rpg-kosmetik-fs #rpg-chrome-back-dock #btn-back:hover,
html body.screen-panel:has(#panel-card.panel-kosmetik) #rpg-chrome-back-dock #btn-back:hover,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--atelier:hover{
  border-color:rgba(253,224,71,.95)!important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.7),
    0 0 0 2px rgba(216,180,254,.35),
    0 16px 32px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,244,210,.38),
    inset 0 -12px 22px rgba(90,30,80,.3),
    0 0 34px rgba(250,204,21,.32),
    0 0 22px rgba(192,132,252,.28)!important;
}
html body.rpg-achievements-fs #rpg-chrome-back-dock #btn-back:hover,
html body.screen-panel:has(#panel-card.panel-achievements) #rpg-chrome-back-dock #btn-back:hover,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--trophy:hover{
  border-color:rgba(253,224,71,.9)!important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.6),
    0 14px 30px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,244,200,.35),
    inset 0 -10px 18px rgba(80,60,0,.25),
    0 0 30px rgba(52,211,153,.28)!important;
}
html body.rpg-craft-fs #rpg-chrome-back-dock .chrome-back-arrow,
html body.screen-panel:has(#panel-card.panel-craft) #rpg-chrome-back-dock .chrome-back-arrow,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--forge .chrome-back-arrow,
html body.rpg-kosmetik-fs #rpg-chrome-back-dock .chrome-back-arrow,
html body.screen-panel:has(#panel-card.panel-kosmetik) #rpg-chrome-back-dock .chrome-back-arrow,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--atelier .chrome-back-arrow,
html body.rpg-achievements-fs #rpg-chrome-back-dock .chrome-back-arrow,
html body.screen-panel:has(#panel-card.panel-achievements) #rpg-chrome-back-dock .chrome-back-arrow,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--trophy .chrome-back-arrow{
  display:block!important;
  width:8px;height:8px;margin:0 2px 0 10px;
  border-left:2px solid #fde68a;border-bottom:2px solid #fde68a;
  transform:rotate(45deg);
  filter:drop-shadow(0 0 6px rgba(251,191,36,.45));
  order:1;
}
html body.rpg-kosmetik-fs #rpg-chrome-back-dock .chrome-back-arrow,
html body.screen-panel:has(#panel-card.panel-kosmetik) #rpg-chrome-back-dock .chrome-back-arrow,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--atelier .chrome-back-arrow{
  border-left-color:#fde68a;border-bottom-color:#fde68a;
  filter:drop-shadow(0 0 6px rgba(250,204,21,.55));
}
html body.rpg-achievements-fs #rpg-chrome-back-dock .chrome-back-arrow,
html body.screen-panel:has(#panel-card.panel-achievements) #rpg-chrome-back-dock .chrome-back-arrow,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--trophy .chrome-back-arrow{
  border-left-color:#fde68a;border-bottom-color:#6ee7b7;
  filter:drop-shadow(0 0 6px rgba(52,211,153,.45));
}
html body.rpg-craft-fs #rpg-chrome-back-dock .chrome-back-forge-seal,
html body.screen-panel:has(#panel-card.panel-craft) #rpg-chrome-back-dock .chrome-back-forge-seal,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--forge .chrome-back-forge-seal,
html body.rpg-kosmetik-fs #rpg-chrome-back-dock .chrome-back-forge-seal,
html body.screen-panel:has(#panel-card.panel-kosmetik) #rpg-chrome-back-dock .chrome-back-forge-seal,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--atelier .chrome-back-forge-seal,
html body.rpg-achievements-fs #rpg-chrome-back-dock .chrome-back-forge-seal,
html body.screen-panel:has(#panel-card.panel-achievements) #rpg-chrome-back-dock .chrome-back-forge-seal,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--trophy .chrome-back-forge-seal{
  width:34px;height:34px;object-fit:contain;flex:0 0 auto;display:block;order:2;
  padding:3px;border-radius:50%;box-sizing:border-box;
  background:
    radial-gradient(circle at 35% 30%,rgba(255,220,160,.2),transparent 55%),
    rgba(0,0,0,.35);
  border:1px solid rgba(251,191,36,.45);
  box-shadow:inset 0 1px 0 rgba(255,244,220,.15),0 4px 10px rgba(0,0,0,.4);
  filter:drop-shadow(0 0 10px rgba(245,158,11,.35));
}
html body.rpg-kosmetik-fs #rpg-chrome-back-dock .chrome-back-forge-seal,
html body.screen-panel:has(#panel-card.panel-kosmetik) #rpg-chrome-back-dock .chrome-back-forge-seal,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--atelier .chrome-back-forge-seal{
  border-radius:12px!important;
  border-color:rgba(250,204,21,.55);
  background:
    radial-gradient(circle at 35% 30%,rgba(255,230,170,.22),transparent 55%),
    radial-gradient(circle at 70% 75%,rgba(167,139,250,.2),transparent 50%),
    rgba(0,0,0,.4);
  filter:drop-shadow(0 0 10px rgba(250,204,21,.35));
}
html body.rpg-achievements-fs #rpg-chrome-back-dock .chrome-back-forge-seal,
html body.screen-panel:has(#panel-card.panel-achievements) #rpg-chrome-back-dock .chrome-back-forge-seal,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--trophy .chrome-back-forge-seal{
  border-color:rgba(250,204,21,.5);
  filter:drop-shadow(0 0 10px rgba(52,211,153,.35));
}
html body.rpg-craft-fs #rpg-chrome-back-dock .chrome-back-label,
html body.screen-panel:has(#panel-card.panel-craft) #rpg-chrome-back-dock .chrome-back-label,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--forge .chrome-back-label,
html body.rpg-kosmetik-fs #rpg-chrome-back-dock .chrome-back-label,
html body.screen-panel:has(#panel-card.panel-kosmetik) #rpg-chrome-back-dock .chrome-back-label,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--atelier .chrome-back-label,
html body.rpg-achievements-fs #rpg-chrome-back-dock .chrome-back-label,
html body.screen-panel:has(#panel-card.panel-achievements) #rpg-chrome-back-dock .chrome-back-label,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--trophy .chrome-back-label{
  order:3;
  font-family:Cinzel,Georgia,serif!important;
  font-size:.8rem!important;font-weight:800!important;
  letter-spacing:.14em!important;
  color:#fff4dc!important;
  text-shadow:0 1px 0 rgba(0,0,0,.75), 0 0 14px rgba(245,158,11,.28)!important;
}
html body.rpg-kosmetik-fs #rpg-chrome-back-dock .chrome-back-label,
html body.screen-panel:has(#panel-card.panel-kosmetik) #rpg-chrome-back-dock .chrome-back-label,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--atelier .chrome-back-label{
  color:#fff4dc!important;
  letter-spacing:.16em!important;
  text-shadow:0 1px 0 rgba(0,0,0,.8), 0 0 14px rgba(250,204,21,.35), 0 0 10px rgba(167,139,250,.25)!important;
}
html body.rpg-achievements-fs #rpg-chrome-back-dock .chrome-back-label,
html body.screen-panel:has(#panel-card.panel-achievements) #rpg-chrome-back-dock .chrome-back-label,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--trophy .chrome-back-label{
  color:#fff7d6!important;
  text-shadow:0 1px 0 rgba(0,0,0,.75), 0 0 14px rgba(52,211,153,.25)!important;
}
/* Craft back: grid-Override der FS-Regel überschreiben */
html body.rpg-craft-fs #rpg-chrome-back-dock:not(.hidden) #btn-back,
html body.screen-panel:has(#panel-card.panel-craft) #rpg-chrome-back-dock:not(.hidden) #btn-back,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--forge,
html body.rpg-kosmetik-fs #rpg-chrome-back-dock:not(.hidden) #btn-back,
html body.screen-panel:has(#panel-card.panel-kosmetik) #rpg-chrome-back-dock:not(.hidden) #btn-back,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--atelier,
html body.rpg-achievements-fs #rpg-chrome-back-dock:not(.hidden) #btn-back,
html body.screen-panel:has(#panel-card.panel-achievements) #rpg-chrome-back-dock:not(.hidden) #btn-back,
#rpg-chrome-back-dock #btn-back.chrome-back-btn--trophy{
  display:inline-flex!important;
}
/* Craft/Shop/Market-FS: Zurück bleibt sichtbar (Rail darf weg, Zurück nicht) */
html body.rpg-craft-fs #rpg-chrome-back-dock:not(.hidden),
html body.rpg-market-fs #rpg-chrome-back-dock:not(.hidden),
html body.rpg-gemshop-fs #rpg-chrome-back-dock:not(.hidden),
html body.rpg-kosmetik-fs #rpg-chrome-back-dock:not(.hidden),
html body.rpg-achievements-fs #rpg-chrome-back-dock:not(.hidden),
html body.screen-panel:has(#panel-card.panel-craft) #rpg-chrome-back-dock:not(.hidden),
html body.screen-panel:has(#panel-card.panel-market) #rpg-chrome-back-dock:not(.hidden),
html body.screen-panel:has(#panel-card.panel-gemshop) #rpg-chrome-back-dock:not(.hidden),
html body.screen-panel:has(#panel-card.panel-kosmetik) #rpg-chrome-back-dock:not(.hidden),
html body.screen-panel:has(#panel-card.panel-achievements) #rpg-chrome-back-dock:not(.hidden){
  display:block!important;visibility:visible!important;pointer-events:auto!important;
  opacity:1!important;z-index:32050!important;
}
html body.rpg-craft-fs #rpg-chrome-back-dock:not(.hidden) #btn-back,
html body.rpg-market-fs #rpg-chrome-back-dock:not(.hidden) #btn-back,
html body.rpg-gemshop-fs #rpg-chrome-back-dock:not(.hidden) #btn-back,
html body.screen-panel:has(#panel-card.panel-craft) #rpg-chrome-back-dock:not(.hidden) #btn-back,
html body.screen-panel:has(#panel-card.panel-market) #rpg-chrome-back-dock:not(.hidden) #btn-back,
html body.screen-panel:has(#panel-card.panel-gemshop) #rpg-chrome-back-dock:not(.hidden) #btn-back{
  display:inline-flex!important;visibility:visible!important;pointer-events:auto!important;opacity:1!important;
}
/* Altes separates Top-Rechts-Dock — nicht mehr nutzen */
#rpg-chrome-edge-dock,
.rpg-chrome-edge-dock{
  display:none!important;visibility:hidden!important;pointer-events:none!important;
}
/* Chat/Bell/Postfach/Settings — sticky oben in der Rail (nie aus dem Scroll rutschen) */
.rpg-bag-edge-rail .rpg-edge-chrome{
  display:flex!important;flex-direction:column!important;align-items:center!important;
  gap:7px!important;pointer-events:auto!important;
  position:sticky!important;top:0!important;z-index:3!important;
  margin:0 0 8px!important;padding:6px 4px 10px!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
  background:linear-gradient(180deg,rgba(6,8,14,.92),rgba(6,8,14,.78) 70%,transparent)!important;
  border-radius:12px 12px 0 0;
}
.rpg-bag-edge-rail .rpg-edge-chrome.hidden{display:none!important}
.rpg-bag-edge-rail .rpg-edge-chrome-glyph{
  font-size:1.15rem!important;line-height:1!important;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.55));
}
.rpg-bag-edge-rail .rpg-edge-chrome-glyph--img,
.rpg-bag-edge-rail .rpg-edge-chrome-btn img.rpg-edge-chrome-glyph{
  width:28px!important;height:28px!important;
  object-fit:contain!important;object-position:center!important;
  display:block!important;pointer-events:none!important;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.65));
  image-rendering:auto;
}
.rpg-bag-edge-rail .rpg-edge-chrome .top-settings-wrap{
  display:flex!important;flex-direction:column!important;align-items:center!important;
  gap:7px!important;position:relative!important;margin:0!important;
}
.rpg-bag-edge-rail .rpg-edge-chrome .btn-icon,
.rpg-bag-edge-rail .rpg-edge-chrome-btn{
  position:relative!important;overflow:visible!important;
  width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;
  padding:5px!important;border-radius:12px!important;margin:0!important;
  display:grid!important;place-items:center!important;
  font-size:1.05rem!important;line-height:1!important;
  flex:0 0 46px!important;
}
/* Badge absolut über dem Icon — kein Grid-/Font-Sprung der Rail */
.rpg-bag-edge-rail .rpg-edge-chrome-btn .claim-rewards-badge,
.rpg-bag-edge-rail .rpg-edge-chrome-btn .chat-badge,
.rpg-bag-edge-rail .rpg-edge-chrome-btn .mailbox-badge{
  position:absolute!important;top:-4px!important;right:-4px!important;z-index:6!important;
  min-width:16px!important;height:16px!important;padding:0 4px!important;
  border-radius:999px!important;font-size:10px!important;font-weight:800!important;
  line-height:16px!important;text-align:center!important;pointer-events:none!important;
  place-self:auto!important;margin:0!important;grid-area:unset!important;
  box-shadow:0 0 0 2px rgba(8,12,22,.9)!important;
}
.rpg-bag-edge-rail .rpg-edge-chrome-btn.claim-has-rewards,
.rpg-bag-edge-rail .rpg-edge-chrome-btn.chat-has-unread,
.rpg-bag-edge-rail .rpg-edge-chrome-btn.mailbox-has-mail{
  animation:mailbox-blink 1.4s ease-in-out infinite;
}
/* APK-Download in Edge-Rail (Handy/Tablet Web) — Hub-Chrome, gold wie früher Topbar */
.rpg-bag-edge-rail .rpg-edge-apk-btn{
  border:1px solid rgba(232,197,71,.48)!important;
  background:linear-gradient(160deg,rgba(232,197,71,.26),rgba(18,14,10,.9))!important;
  box-shadow:0 0 0 1px rgba(255,236,190,.1), 0 4px 14px rgba(0,0,0,.38)!important;
  gap:0!important;grid-template-rows:auto auto!important;align-content:center!important;
  padding:4px 3px 5px!important;
}
.rpg-bag-edge-rail .rpg-edge-apk-glyph{
  font-size:1.05rem!important;line-height:1!important;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.55));
}
.rpg-bag-edge-rail .rpg-edge-apk-label{
  font-size:.52rem!important;font-weight:850!important;letter-spacing:.04em!important;
  line-height:1!important;color:#fde68a!important;text-transform:uppercase!important;
  pointer-events:none!important;
}
html[data-pwa-install-available="1"] body.screen-hub #rpg-bag-edge-rail .rpg-edge-apk-btn:not([hidden]):not(.hidden){
  display:grid!important;visibility:visible!important;opacity:1!important;
  pointer-events:auto!important;
}
html:not([data-pwa-install-available="1"]) #rpg-bag-edge-rail .rpg-edge-apk-btn,
body:not(.screen-hub) #rpg-bag-edge-rail .rpg-edge-apk-btn{
  display:none!important;visibility:hidden!important;pointer-events:none!important;
}
/* Hub-APK-FAB (Handy-Browser) — fest im Viewport */
#hub-apk-download-fab.hub-apk-download-fab,
a.hub-apk-download-fab{
  position:fixed!important;left:max(10px,env(safe-area-inset-left,0px))!important;
  bottom:max(14px,env(safe-area-inset-bottom,0px))!important;z-index:12080!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;
  min-height:44px!important;padding:8px 14px!important;border-radius:12px!important;
  border:1px solid rgba(232,197,71,.55)!important;
  background:linear-gradient(160deg,rgba(232,197,71,.32),rgba(18,14,10,.94))!important;
  box-shadow:0 0 0 1px rgba(255,236,190,.12),0 6px 18px rgba(0,0,0,.45)!important;
  color:#fde68a!important;text-decoration:none!important;font-weight:850!important;
  font-size:.78rem!important;letter-spacing:.04em!important;text-transform:uppercase!important;
  touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;
}
#hub-apk-download-fab.hidden,#hub-apk-download-fab[hidden],
a.hub-apk-download-fab.hidden,a.hub-apk-download-fab[hidden],
html:not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not(.flix-rpg-mobile-browser) #hub-apk-download-fab,
html[data-desktop-web="1"] #hub-apk-download-fab,
html[data-abenteuer-apk="1"] #hub-apk-download-fab,
body:not(.screen-hub) #hub-apk-download-fab{
  display:none!important;visibility:hidden!important;pointer-events:none!important;
}
/* Topbar-Button bleibt retired — Edge-Proxy / FAB ist die sichtbare Fläche */
#btn-pwa-install.top-pwa-install-btn,
.top-bar #btn-pwa-install,
#top-bar #btn-pwa-install{
  display:none!important;visibility:hidden!important;pointer-events:none!important;
}
/* Hub/Spiel: Chat-Buttons in der Rail IMMER sichtbar — schlägt globales .hidden */
html body.screen-hub #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden),
html body.screen-panel #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden),
html body.screen-lobby #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden),
html body.screen-world #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden),
html body.screen-zone #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden),
html body.screen-bestiary #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden){
  display:flex!important;visibility:visible!important;opacity:1!important;
  pointer-events:auto!important;
}
html body.screen-hub #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) .top-settings-wrap,
html body.screen-panel #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) .top-settings-wrap,
html body.screen-lobby #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) .top-settings-wrap,
html body.screen-world #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) .top-settings-wrap,
html body.screen-zone #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) .top-settings-wrap,
html body.screen-bestiary #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) .top-settings-wrap{
  display:flex!important;flex-direction:column!important;visibility:visible!important;
  opacity:1!important;pointer-events:auto!important;
}
/* Nur Proxies — echte #btn-* in der Rail bewusst NICHT force-visible (verhindert Doppel-Icons / Click-Diebstahl) */
html body.screen-hub #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) > [data-edge-chrome],
html body.screen-panel #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) > [data-edge-chrome],
html body.screen-lobby #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) > [data-edge-chrome],
html body.screen-world #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) > [data-edge-chrome],
html body.screen-zone #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) > [data-edge-chrome],
html body.screen-bestiary #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) > [data-edge-chrome]{
  display:grid!important;visibility:visible!important;opacity:1!important;
  pointer-events:auto!important;place-items:center!important;
}
/* Settings-Menü liegt beim Öffnen auf body (fixed) — nicht im Rail-Overflow clippen */
.rpg-bag-edge-rail .rpg-edge-chrome .settings-menu,
body > #settings-menu.settings-menu{
  z-index:13050!important;min-width:220px!important;
}
body > #settings-menu.settings-menu:not(.hidden){
  display:flex!important;position:fixed!important;
}
/* Eine Spalte rechts: immer fixed am Viewport — Chat oben (flex-start), Inv darunter */
html.flix-rpg-pc-scale #rpg-bag-edge-rail,
html.flix-rpg-pc-scale body.screen-hub #rpg-bag-edge-rail,
html.flix-rpg-pc-scale #app > #rpg-bag-edge-rail,
html.flix-rpg-mobile #rpg-bag-edge-rail,
html[data-mobile-shell="1"] #rpg-bag-edge-rail,
.rpg-bag-edge-rail{
  position:fixed!important;
  right:max(6px,env(safe-area-inset-right,0px))!important;
  top:50%!important;
  bottom:auto!important;
  left:auto!important;
  transform:translateY(-50%)!important;
  transform-origin:right center!important;
  z-index:12055!important;
  max-height:calc(100dvh - 16px)!important;
  justify-content:flex-start!important;
  overflow-x:visible!important;
  overflow-y:auto!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
#rpg-bag-edge-rail::-webkit-scrollbar,
.rpg-bag-edge-rail::-webkit-scrollbar,
html #rpg-bag-edge-rail::-webkit-scrollbar,
html.flix-rpg-pc-scale #rpg-bag-edge-rail::-webkit-scrollbar{
  width:0!important;height:0!important;display:none!important;
  background:transparent!important;
}
html.flix-rpg-pc-scale #rpg-bag-edge-rail:not(.hidden),
html.flix-rpg-pc-scale #app > #rpg-bag-edge-rail:not(.hidden),
html body.screen-hub #rpg-bag-edge-rail:not(.hidden){
  display:flex!important;
  flex-direction:column!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
html body.chat-modal-open #rpg-bag-edge-rail,
html body.chat-modal-open #rpg-bag-edge-rail:not(.hidden),
html.flix-rpg-pc-scale body.chat-modal-open #rpg-bag-edge-rail,
html.flix-rpg-pc-scale body.chat-modal-open #rpg-bag-edge-rail:not(.hidden),
html.flix-rpg-pc-scale body.chat-modal-open #app > #rpg-bag-edge-rail,
html.flix-rpg-pc-scale body.chat-modal-open #app > #rpg-bag-edge-rail:not(.hidden),
html.flix-rpg-mobile body.chat-modal-open #rpg-bag-edge-rail,
html[data-mobile-shell="1"] body.chat-modal-open #rpg-bag-edge-rail,
html body.mailbox-modal-open #rpg-bag-edge-rail,
html body.mailbox-modal-open #rpg-bag-edge-rail:not(.hidden),
html.flix-rpg-pc-scale body.mailbox-modal-open #rpg-bag-edge-rail:not(.hidden),
html.flix-rpg-pc-scale body.mailbox-modal-open #app > #rpg-bag-edge-rail:not(.hidden){
  pointer-events:none!important;
  z-index:0!important;
}
/* Chat-Chrome im Hub/Panel: nie durch .hidden / alte Inline-none Reste verschwinden */
html body.screen-hub #rpg-bag-edge-rail .rpg-edge-chrome,
html body.screen-panel #rpg-bag-edge-rail .rpg-edge-chrome,
html body.screen-lobby #rpg-bag-edge-rail .rpg-edge-chrome,
html body.screen-world #rpg-bag-edge-rail .rpg-edge-chrome,
html body.screen-zone #rpg-bag-edge-rail .rpg-edge-chrome,
html body.rpg-shop-fs #rpg-bag-edge-rail .rpg-edge-chrome,
html body.rpg-craft-fs #rpg-bag-edge-rail .rpg-edge-chrome{
  display:flex!important;visibility:visible!important;opacity:1!important;
  pointer-events:auto!important;flex-direction:column!important;align-items:center!important;
}
/* Proxy-Buttons in der Rail (data-edge-chrome) — immer sichtbar wenn Chrome offen */
html body.screen-hub #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) > [data-edge-chrome="chat"],
html body.screen-hub #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) > [data-edge-chrome="mailbox"],
html body.screen-hub #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) > [data-edge-chrome="settings"],
html body.screen-panel #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) > [data-edge-chrome="chat"],
html body.screen-panel #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) > [data-edge-chrome="mailbox"],
html body.screen-panel #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) > [data-edge-chrome="settings"]{
  display:grid!important;visibility:visible!important;opacity:1!important;
  pointer-events:auto!important;place-items:center!important;
}
html body.chat-modal-open #rpg-bag-edge-rail .rpg-edge-chrome,
html body.chat-modal-open #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden),
html body.chat-modal-open #rpg-bag-edge-rail .rpg-edge-chrome [data-edge-chrome],
html body.chat-modal-open #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) > [data-edge-chrome="settings"],
html body.chat-modal-open #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) > [data-edge-chrome="chat"],
html body.chat-modal-open #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) > [data-edge-chrome="mailbox"],
html body.screen-hub.chat-modal-open #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) > [data-edge-chrome="settings"],
html body.mailbox-modal-open #rpg-bag-edge-rail .rpg-edge-chrome,
html body.mailbox-modal-open #rpg-bag-edge-rail .rpg-edge-chrome [data-edge-chrome],
html body.mailbox-modal-open #rpg-bag-edge-rail .rpg-edge-chrome:not(.hidden) > [data-edge-chrome="settings"]{
  pointer-events:none!important;
}
#screen-hub.hub-screen-tiles:not(.hidden),
html[data-desktop-web="1"] #screen-hub.hub-screen-tiles:not(.hidden),
html.flix-rpg-web #screen-hub.hub-screen-tiles:not(.hidden),
html.flix-rpg-mobile #screen-hub.hub-screen-tiles:not(.hidden),
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles:not(.hidden),
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles:not(.hidden){
  display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px;
  flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;
  width:100%!important;max-width:none!important;margin:0!important;
  padding:4px 0 max(10px, env(safe-area-inset-bottom, 0px))!important;
  box-sizing:border-box!important;
}
/* Hintergrund im Hub sichtbar (nicht von Overlay/Body zugedeckt) */
html body.screen-hub,
html body.screen-hub #app{
  background:transparent!important;
}
body.screen-hub #bg-wrap,
html body.screen-hub #bg-wrap{
  display:block!important;visibility:visible!important;
  opacity:1!important;z-index:0!important;
}
body.screen-hub #bg-overlay,
html body.screen-hub #bg-overlay,
html body.screen-hub #bg-overlay.cos-actbg-stars,
html body.screen-hub #bg-overlay.cos-actbg-aurora,
html body.screen-hub #bg-overlay.cos-actbg-sakura,
html body.screen-hub #bg-overlay.cos-actbg-void,
html body.screen-hub #bg-overlay.cos-actbg-gold{
  background:linear-gradient(180deg,rgba(6,8,16,.06) 0%,rgba(6,8,16,.2) 42%,rgba(6,8,16,.42) 100%)!important;
}
body.screen-hub .bg-img,
body.screen-hub .bg-img.bg-active,
html body.screen-hub #bg-a.bg-active,
html body.screen-hub #bg-b.bg-active{
  opacity:1!important;visibility:visible!important;
  display:block!important;
  filter:saturate(1.12) contrast(1.04) brightness(1.08);
}
/* Hub: Top-Bar — kompakte Höhe wie zuvor (nicht aufgeblasen) */
html body.screen-hub .top-bar,
html body.screen-hub #top-bar,
html body.rpg-fixed-topbar.screen-hub .top-bar,
html.flix-rpg-web body.screen-hub .top-bar,
html.flix-rpg-web body.rpg-fixed-topbar.screen-hub .top-bar,
html[data-desktop-web="1"] body.screen-hub .top-bar,
html.abenteuer-app body.screen-hub .top-bar,
html.flix-rpg-mobile body.screen-hub .top-bar,
html[data-abenteuer-apk="1"] body.screen-hub .top-bar,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app) body.rpg-fixed-topbar.screen-hub .top-bar{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  position:relative!important;
  top:auto!important;left:auto!important;right:auto!important;
  transform:none!important;
  width:100%!important;max-width:100%!important;
  margin:0 auto 8px!important;
  padding:8px 14px!important;
  min-height:0!important;
  height:auto!important;
  overflow:visible!important;
  align-items:center!important;
  border-radius:16px!important;
  background:rgba(8,10,18,.55);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 10px 28px rgba(0,0,0,.3);
  backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;
  flex:0 0 auto!important;
  align-self:center!important;
  box-sizing:border-box!important;
  z-index:20050!important;
}
/* APK ohne PC-Scale: Top-Bar fixiert oben. Mit PC-Scale: in der Stage (relativ). */
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) body.screen-hub .top-bar,
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) body.screen-hub #top-bar,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) body.screen-hub .top-bar{
  position:fixed!important;
  top:0!important;left:0!important;right:0!important;
  width:100%!important;max-width:none!important;
  margin:0!important;border-radius:0 0 14px 14px!important;
  padding-top:max(4px,env(safe-area-inset-top,0px))!important;
}
html.flix-rpg-pc-scale[data-abenteuer-apk="1"] body.screen-hub .top-bar,
html.flix-rpg-pc-scale[data-abenteuer-apk="1"] body.screen-hub #top-bar,
html.flix-rpg-pc-scale[data-mobile-shell="1"] body.screen-hub .top-bar{
  position:relative!important;
  top:auto!important;left:auto!important;right:auto!important;
  width:100%!important;max-width:none!important;
  margin:0 0 10px!important;border-radius:14px!important;
  padding-top:6px!important;z-index:40!important;
  display:flex!important;visibility:visible!important;opacity:1!important;
}
html body.screen-hub .top-bar.has-ui-theme,
html body.rpg-fixed-topbar.screen-hub .top-bar.has-ui-theme{
  /* Kosmetik-Rahmen vom body.cos-ui-* Theme übernehmen */
  background:unset;
  border:unset;
  box-shadow:unset;
}
html body.screen-hub #app,
html body.rpg-fixed-topbar.screen-hub #app,
html.flix-rpg-web body.rpg-fixed-topbar.screen-hub #app{
  display:flex!important;flex-direction:column!important;align-items:center!important;
  padding-top:max(10px, env(safe-area-inset-top, 0px))!important;
  box-sizing:border-box!important;
}


/* Hub Meta: Gildenlogo klein neben Name (gegen img{display:block}) */
.hub-meta-guild,
#screen-hub .hub-meta-guild,
#screen-hub.hub-screen-tiles .hub-char-meta .hub-meta-guild{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:5px!important;
  max-width:min(100%,11.5rem);
  vertical-align:middle;
}
.hub-meta-guild-logo,
img.hub-meta-guild-logo,
.profil-meta-guild-logo,
img.profil-meta-guild-logo,
#app img.hub-meta-guild-logo,
#app .hub-meta-guild-logo{
  width:14px!important;height:14px!important;
  min-width:14px!important;min-height:14px!important;
  max-width:14px!important;max-height:14px!important;
  object-fit:cover!important;object-position:center!important;
  border-radius:3px!important;flex:0 0 14px!important;
  display:inline-block!important;vertical-align:middle!important;
  border:1px solid rgba(232,197,71,.4)!important;
  background:rgba(0,0,0,.25);
  image-rendering:auto!important;
  margin:0!important;padding:0!important;
  float:none!important;
}
.hub-meta-guild-emoji{
  flex:0 0 auto;font-size:.95em;line-height:1;display:inline-block!important;
}
.hub-meta-guild-name{
  min-width:0;flex:1 1 auto;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

/* ── Held-Showcase: Fantasy-Plaque wie Hub-Kacheln, alle Werte lesbar ── */
#screen-hub.hub-screen-tiles .hub-top-strip{
  display:block;flex:0 0 auto;align-self:stretch;z-index:3;
  width:100%;max-width:100%;margin:0;padding:0;box-sizing:border-box;
  overflow:visible;
}
#screen-hub.hub-screen-tiles .hub-hero-stage{
  --hub-av:76px;
  position:relative;
  display:flex;flex-direction:column;align-items:stretch;
  width:100%;margin:6px 0 0;
  border-radius:14px;
  overflow:visible;
  min-height:0;
  color:#f4f1e8;
  background:#0c1018;
  border:1px solid rgba(232,197,71,.34);
  box-shadow:
    0 8px 22px rgba(0,0,0,.38),
    0 0 0 1px rgba(232,197,71,.1),
    inset 0 1px 0 rgba(255,255,255,.07);
}
#screen-hub.hub-screen-tiles .hub-hero-art{
  display:block!important;position:absolute;inset:0;z-index:0;pointer-events:none;
  border-radius:inherit;overflow:hidden;
  background:
    linear-gradient(125deg, rgba(28,16,48,.55) 0%, transparent 42%),
    url("/activity/assets/hub-bg.webp") center 40%/cover no-repeat;
  filter:brightness(.72) saturate(1.05);
  transform:scale(1.02);
}
#screen-hub.hub-screen-tiles .hub-hero-scrim{
  display:block!important;position:absolute;inset:0;z-index:1;pointer-events:none;
  border-radius:inherit;
  background:
    linear-gradient(105deg,
      rgba(6,8,16,.92) 0%,
      rgba(6,8,16,.78) 28%,
      rgba(6,8,16,.55) 55%,
      rgba(6,8,16,.72) 78%,
      rgba(6,8,16,.88) 100%),
    linear-gradient(180deg, rgba(6,8,16,.2) 0%, rgba(6,8,16,.55) 100%);
}
#screen-hub.hub-screen-tiles .hub-hero-stage::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;
  background:radial-gradient(120% 80% at 12% 40%, rgba(124,92,255,.12), transparent 42%),
             radial-gradient(90% 70% at 88% 20%, rgba(232,197,71,.08), transparent 40%);
}
#screen-hub.hub-screen-tiles .hub-hero-stage::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
#screen-hub.hub-screen-tiles .hub-mythic-chip{position:absolute;top:6px;right:10px;z-index:6}

#screen-hub.hub-screen-tiles .hub-hero-body{
  position:relative;z-index:2;
  display:grid;
  /* 1 Avatar | 2 Vitals | 3 Währung/Chips */
  grid-template-columns:minmax(250px,.92fr) minmax(0,1.55fr) minmax(150px,.62fr);
  grid-template-rows:auto minmax(0,1fr);
  /* Oben andocken — sonst schweben Online-Chips im Leerraum vor der Nav */
  gap:8px 14px;align-items:start;align-content:start;
  padding:10px 12px 6px;min-width:0;min-height:0;
}
/* Mit Titel: Banner als Stage-Kind über voller Breite (alle Spalten) */
#screen-hub.hub-screen-tiles .hub-hero-stage:has(> .hub-title-banner:not(.hidden)),
#screen-hub.hub-screen-tiles #hub-hero-stage:has(> .hub-title-banner:not(.hidden)){
  display:flex;flex-direction:column;align-items:stretch;overflow:hidden;
}
#screen-hub.hub-screen-tiles .hub-hero-stage > .hub-title-banner,
#screen-hub.hub-screen-tiles #hub-hero-stage > .hub-title-banner{
  position:relative;z-index:4;
  flex:0 0 auto;align-self:stretch;
  width:100%!important;max-width:none!important;min-width:0;
  margin:0!important;
  min-height:56px!important;height:clamp(56px,7vh,78px)!important;
  border-radius:14px 14px 0 0!important;
  border:0!important;border-bottom:1px solid rgba(232,197,71,.28)!important;
  background:linear-gradient(90deg,rgba(14,10,3,.92),rgba(30,24,8,.95),rgba(14,10,3,.88))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
  display:flex!important;align-items:center;justify-content:center;
  padding:0 18px!important;
  overflow:hidden;pointer-events:none;
}
#screen-hub.hub-screen-tiles .hub-hero-stage > .hub-title-banner.has-banner-img,
#screen-hub.hub-screen-tiles #hub-hero-stage > .hub-title-banner.has-banner-img{
  background-color:#07060c!important;
  background-image:var(--title-banner-img)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  border-bottom-color:rgba(232,197,71,.35)!important;
}
#screen-hub.hub-screen-tiles .hub-hero-stage > .hub-title-banner.has-banner-img::before,
#screen-hub.hub-screen-tiles #hub-hero-stage > .hub-title-banner.has-banner-img::before{
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.28))!important;
}
#screen-hub.hub-screen-tiles .hub-hero-stage > .hub-title-banner.hidden,
#screen-hub.hub-screen-tiles #hub-hero-stage > .hub-title-banner.hidden{display:none!important}
#screen-hub.hub-screen-tiles .hub-hero-stage:has(> .hub-title-banner:not(.hidden)) > .hub-hero-body,
#screen-hub.hub-screen-tiles #hub-hero-stage:has(> .hub-title-banner:not(.hidden)) > .hub-hero-body{
  flex:1 1 auto;min-height:0;width:100%;
  grid-template-rows:minmax(0,1fr);
  padding-top:10px;
}
#screen-hub.hub-screen-tiles .hub-hero-stage:has(> .hub-title-banner:not(.hidden)) > .hub-hero-body > .hub-char-stack{
  grid-column:1;grid-row:1;min-width:0;
}
#screen-hub.hub-screen-tiles .hub-hero-stage:has(> .hub-title-banner:not(.hidden)) > .hub-hero-body > .hub-stats{
  grid-column:2 / 4;grid-row:1;
}

/* Legacy: Banner noch im Body (Fallback) */
#screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)){
  padding-top:0!important;
  padding-left:0!important;
  padding-right:0!important;
  gap:8px 14px;
}
#screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)) > .hub-char-stack,
#screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)) > .hub-stats{
  padding-left:12px;
  padding-right:12px;
  box-sizing:border-box;
}
#screen-hub.hub-screen-tiles .hub-hero-body > .hub-title-banner{
  grid-column:1 / -1;
  grid-row:1;
  width:100%!important;max-width:none!important;
  margin:0!important;
  min-height:56px!important;height:clamp(56px,7vh,78px)!important;
  border-radius:14px 14px 0 0!important;
  border:0!important;border-bottom:1px solid rgba(232,197,71,.28)!important;
  background:linear-gradient(90deg,rgba(14,10,3,.92),rgba(30,24,8,.95),rgba(14,10,3,.88))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
  display:flex!important;align-items:center;justify-content:center;
  padding:0 18px!important;
  overflow:hidden;pointer-events:none;align-self:stretch;
}
#screen-hub.hub-screen-tiles .hub-hero-body > .hub-title-banner.has-banner-img{
  background-color:#07060c!important;
  background-image:var(--title-banner-img)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  border-bottom-color:rgba(232,197,71,.35)!important;
}
#screen-hub.hub-screen-tiles .hub-hero-body > .hub-title-banner.has-banner-img::before{
  background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.22))!important;
}
#screen-hub.hub-screen-tiles .hub-hero-body > .hub-title-banner.hidden{display:none!important}
#screen-hub.hub-screen-tiles .hub-title-banner-text{
  font-family:Cinzel,Georgia,serif;
  font-size:clamp(.78rem,1.1vh + .35rem,1.05rem)!important;
  letter-spacing:.18em;font-weight:800;
  color:#f8e7b0;
  text-shadow:0 0 12px rgba(232,197,71,.45),0 2px 10px rgba(0,0,0,.85);
}
#screen-hub.hub-screen-tiles .hub-char-stack{grid-column:1;grid-row:1;min-width:0}
#screen-hub.hub-screen-tiles .hub-stats{
  grid-column:2 / 4;grid-row:1;
  display:grid!important;
  grid-template-columns:minmax(0,1.55fr) minmax(150px,.62fr);
  gap:8px 14px;align-items:start;align-content:start;
  margin:0!important;width:100%;padding:0!important;
  background:transparent!important;border:none!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  overflow:visible!important;border-radius:0!important;
  align-self:start;
}
/* Legacy: Banner noch im Body → Inhalt auf Reihe 2 */
#screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)) > .hub-char-stack{grid-row:2}
#screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)) > .hub-stats{grid-row:2}
#screen-hub.hub-screen-tiles .hub-stats-main{
  display:flex;flex-direction:column;gap:5px;min-width:0;
  flex:0 0 auto;align-self:start;justify-content:flex-start;height:auto;
}
/* Pet + Online-Chips als eine Einheit — kein Gap dazwischen */
#screen-hub.hub-screen-tiles .hub-pet-online-stack{
  display:flex;flex-direction:column;gap:4px;min-width:0;
  flex:0 0 auto;margin:0;padding:0;
}

#screen-hub.hub-screen-tiles .hub-vitals-plate{
  display:flex;flex-direction:column;gap:5px;
  padding:8px 10px;border-radius:12px;
  background:rgba(6,8,16,.42);
  border:1px solid rgba(232,197,71,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
#screen-hub.hub-screen-tiles .hub-vitals-head,
#screen-hub.hub-screen-tiles .hub-vitals-kicker{display:none!important}

#screen-hub.hub-screen-tiles .hub-pet-vitals{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 10px;align-items:center;
  margin:0!important;padding:6px 8px;border-radius:10px;
  border:1px solid rgba(52,211,153,.2);
  background:rgba(6,20,14,.35);
  box-shadow:none;
}
#screen-hub.hub-screen-tiles .hub-pet-vitals.hidden{display:none!important}
#screen-hub.hub-screen-tiles .hub-pet-vitals-head{
  margin:0;font-size:.68rem;font-weight:800;color:#86efac;white-space:nowrap;
  text-shadow:0 1px 4px rgba(0,0,0,.55);
}
#screen-hub.hub-screen-tiles .hub-pet-bars{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;min-width:0}
#screen-hub.hub-screen-tiles .hub-pet-vitals .bar-row{
  display:flex;align-items:center;gap:6px;min-width:0;
  padding:0;background:transparent;border:0;box-shadow:none;
}
#screen-hub.hub-screen-tiles .hub-pet-vitals .bar-lbl{flex:0 0 1.6rem;font-size:.58rem;font-weight:800;color:#a7f3d0}
#screen-hub.hub-screen-tiles .hub-pet-vitals .bar-track{
  flex:1 1 auto;min-width:0;height:8px;border-radius:999px;
  background:rgba(0,0,0,.45);overflow:hidden;border:1px solid rgba(52,211,153,.22);
}
#screen-hub.hub-screen-tiles .hub-pet-vitals .bar-val{
  flex:0 0 auto;min-width:2.8rem;font-size:.58rem;font-weight:700;color:rgba(236,253,245,.98);
  text-align:right;font-variant-numeric:tabular-nums;
}

#screen-hub.hub-screen-tiles .hub-char-stack,
#screen-hub.hub-screen-tiles .hub-char-card{
  margin:0!important;width:100%;height:100%;
  background:transparent!important;border:none!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  overflow:visible!important;border-radius:0!important;padding:0!important;
  contain:none!important;
  display:flex!important;align-items:center!important;
}
#screen-hub.hub-screen-tiles .hub-char-stack{align-self:start!important;}
#screen-hub.hub-screen-tiles .hub-char-card{flex:1 1 auto;min-height:0;}
#screen-hub.hub-screen-tiles .hub-char-card::before,
#screen-hub.hub-screen-tiles .hub-char-card::after,
#screen-hub.hub-screen-tiles .hub-stats::before,
#screen-hub.hub-screen-tiles .hub-stats::after{content:none!important;display:none!important}

#screen-hub.hub-screen-tiles .hub-char-card-inner{
  display:grid!important;
  grid-template-columns:var(--hub-av) minmax(0,1fr);
  column-gap:14px;align-items:center;align-content:center;
  width:100%;min-height:0;padding:0;border:0;background:transparent;box-shadow:none;
  overflow:visible!important;contain:none!important;
}
#screen-hub.hub-screen-tiles .hub-avatar-wrap{
  position:relative!important;left:auto!important;top:auto!important;transform:none!important;
  width:var(--hub-av)!important;height:var(--hub-av)!important;flex:none!important;margin:0!important;
  justify-self:start;border-radius:50%;
  border:2px solid rgba(232,197,71,.72);
  box-shadow:
    0 0 0 3px rgba(8,10,18,.9),
    0 0 18px rgba(124,92,255,.25),
    0 8px 18px rgba(0,0,0,.45);
  background:radial-gradient(circle at 35% 28%, rgba(60,40,90,.45), rgba(4,6,12,.95));
  z-index:4;
}
#screen-hub.hub-screen-tiles .hub-avatar-wrap > .hub-sprite,
#screen-hub.hub-screen-tiles .hub-avatar-wrap > .hub-avatar-fallback,
#screen-hub.hub-screen-tiles .hub-avatar-wrap > .hub-sprite.hub-avatar-img{
  position:absolute!important;
  inset:auto!important;right:auto!important;bottom:auto!important;
  z-index:2!important;box-sizing:border-box!important;
}
#screen-hub.hub-screen-tiles .hub-avatar-wrap:not(.has-cos-frame):not(.has-cos-aura){
  overflow:hidden!important;border-radius:50%!important;
}
#screen-hub.hub-screen-tiles .hub-avatar-wrap:not(.has-cos-frame):not(.has-cos-aura) > .hub-sprite,
#screen-hub.hub-screen-tiles .hub-avatar-wrap:not(.has-cos-frame):not(.has-cos-aura) > .hub-avatar-fallback,
#screen-hub.hub-screen-tiles .hub-avatar-wrap:not(.has-cos-frame):not(.has-cos-aura) > .hub-sprite.hub-avatar-img{
  left:0!important;top:0!important;transform:none!important;
  width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;
  object-fit:cover!important;object-position:center!important;
  border-radius:50%!important;border:0!important;box-shadow:none!important;
  image-rendering:auto!important;background:transparent!important;
}
#screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame,
#screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-aura{
  overflow:visible!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
}
#screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame > .hub-sprite.hub-avatar-img,
#screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame > .hub-avatar-fallback{
  left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
  width:var(--cos-frame-hole,62%)!important;height:var(--cos-frame-hole,62%)!important;
  max-width:var(--cos-frame-hole,62%)!important;max-height:var(--cos-frame-hole,62%)!important;
  object-fit:cover!important;border-radius:18%!important;border:0!important;box-shadow:none!important;
}
#screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame.has-cos-aura > .hub-sprite.hub-avatar-img,
#screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame.has-cos-aura > .hub-avatar-fallback{
  width:var(--cos-avatar-framed-aura,56%)!important;height:var(--cos-avatar-framed-aura,56%)!important;
  max-width:var(--cos-avatar-framed-aura,56%)!important;max-height:var(--cos-avatar-framed-aura,56%)!important;
}
#screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-aura:not(.has-cos-frame) > .hub-sprite.hub-avatar-img,
#screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-aura:not(.has-cos-frame) > .hub-avatar-fallback{
  left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
  width:var(--cos-avatar-aura-alone,72%)!important;height:var(--cos-avatar-aura-alone,72%)!important;
  max-width:var(--cos-avatar-aura-alone,72%)!important;max-height:var(--cos-avatar-aura-alone,72%)!important;
  object-fit:cover!important;border-radius:50%!important;border:0!important;box-shadow:none!important;
}
#screen-hub.hub-screen-tiles .hub-avatar-wrap .hub-frame-overlay,
#screen-hub.hub-screen-tiles .hub-avatar-wrap .cos-frame-overlay{
  position:absolute!important;inset:0!important;
  max-width:none!important;max-height:none!important;object-fit:contain!important;
  width:100%!important;height:100%!important;pointer-events:none!important;z-index:3!important;
}
/* Aura: zentriert in Rahmenöffnung — NICHT full-bleed wie Frame */
#screen-hub.hub-screen-tiles .hub-avatar-wrap > .cos-aura-img{
  position:absolute!important;
  inset:auto!important;right:auto!important;bottom:auto!important;
  left:50%!important;top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:var(--cos-aura-alone,84%)!important;
  height:var(--cos-aura-alone,84%)!important;
  max-width:none!important;max-height:none!important;
  object-fit:contain!important;object-position:center!important;
  pointer-events:none!important;z-index:1!important;
  display:block!important;visibility:visible!important;opacity:.95!important;
}
#screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame > .cos-aura-img{
  width:var(--cos-aura-framed,86%)!important;
  height:var(--cos-aura-framed,86%)!important;
}
#screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame.has-cos-aura > .hub-sprite.hub-avatar-img,
#screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame.has-cos-aura > .hub-avatar-fallback{
  width:var(--cos-avatar-framed-aura,56%)!important;
  height:var(--cos-avatar-framed-aura,56%)!important;
  max-width:var(--cos-avatar-framed-aura,56%)!important;
  max-height:var(--cos-avatar-framed-aura,56%)!important;
}
#screen-hub.hub-screen-tiles .hub-char-info{
  display:flex;flex-direction:column;gap:3px;min-width:0;width:100%;
  justify-content:center;align-items:center;text-align:center;
  padding:6px 8px;z-index:2;
}
#screen-hub.hub-screen-tiles .hub-char-name-row{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  max-width:100%;min-width:0;margin:0;
}
/* Mit Gilden-Tag: Status an Namenszeile (nicht Mitte von Gilde+Name) */
#screen-hub.hub-screen-tiles .hub-char-name-row:has(.has-guild-tag){
  align-items:flex-end;
}
#screen-hub.hub-screen-tiles .hub-char-name-row .hub-char-name{
  width:auto;max-width:calc(100% - 34px);flex:0 1 auto;
}
#screen-hub.hub-screen-tiles .hub-char-name-row .hub-presence-wrap{
  flex:0 0 auto;position:relative;z-index:6;
  /* optisch mittig zur Spielernamen-Baseline (nicht zu hoch) */
  transform:translateY(.14em);
}
#screen-hub.hub-screen-tiles .hub-char-name-row:has(.has-guild-tag) .hub-presence-wrap{
  align-self:flex-end;
  transform:none;
  margin-bottom:calc((1.15em - var(--hub-online-h,26px)) / 2);
}
#screen-hub.hub-screen-tiles .hub-char-class-title{
  margin:0;font-family:Cinzel,Georgia,serif;
  font-size:clamp(1.2rem, 1.8vh + .45rem, 1.55rem)!important;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase;line-height:1.08;
  color:#f0d78c;
  text-shadow:0 2px 10px rgba(0,0,0,.7), 0 0 18px rgba(232,197,71,.25);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  width:100%;max-width:100%;text-align:center;
}
#screen-hub.hub-screen-tiles .hub-char-name{
  font-size:clamp(1rem, 1.2vh + .3rem, 1.18rem);line-height:1.15;margin:0;font-weight:750;
  color:#f7f3ea;text-shadow:0 2px 8px rgba(0,0,0,.65);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  width:100%;max-width:100%;justify-content:center;text-align:center;
}
#screen-hub.hub-screen-tiles .hub-char-name.has-guild-tag{
  align-items:center;justify-content:center;text-align:center;
  white-space:normal;overflow:visible;
}
#screen-hub.hub-screen-tiles .hub-char-name .player-guild-tag{
  justify-content:center;max-width:100%;
}
#screen-hub.hub-screen-tiles .hub-char-name .player-display-name{
  display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:3px;
  max-width:100%;
}
#screen-hub.hub-screen-tiles .hub-char-meta{
  margin-top:4px;display:block;width:100%;text-align:center;
}
#screen-hub.hub-screen-tiles .hub-char-meta-row{
  display:inline-flex;flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:center;
  gap:4px;max-width:100%;vertical-align:top;
}
#screen-hub.hub-screen-tiles .hub-char-meta-line{
  display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:5px;max-width:100%;
}
#screen-hub.hub-screen-tiles .hub-char-meta .hub-meta-class{display:none!important}
#screen-hub.hub-screen-tiles .hub-char-meta .hub-meta-chip{
  display:inline-flex;flex-direction:row;align-items:baseline;gap:4px;
  flex:0 1 auto;
  font-size:.64rem;font-weight:700;padding:3px 7px;border-radius:999px;
  color:#f4f1e8;background:rgba(6,8,16,.55);
  border:1px solid rgba(232,197,71,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  max-width:min(100%,12.5rem);
}
#screen-hub.hub-screen-tiles .hub-char-meta .hub-meta-chip[data-lbl]::before{
  content:attr(data-lbl);font-size:.52rem;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:rgba(232,197,71,.9);
}
#screen-hub.hub-screen-tiles .hub-char-meta .hub-meta-chip.is-muted{opacity:.78}
#screen-hub.hub-screen-tiles .hub-char-meta .hub-meta-pts-btn.has-points{
  border-color:rgba(232,197,71,.55)!important;background:rgba(232,197,71,.2)!important;
  color:#fde68a!important;cursor:pointer;
}
#screen-hub.hub-screen-tiles .hub-back-activities{display:none!important}

#screen-hub.hub-screen-tiles .hub-vitals-col{display:flex;flex-direction:column;gap:5px;min-width:0}
#screen-hub.hub-screen-tiles .hub-stats .bar-row{
  display:flex!important;align-items:center;gap:8px;margin:0;min-width:0;
  padding:0;border:0;background:transparent;box-shadow:none;
}
#screen-hub.hub-screen-tiles .hub-stats .bar-lbl{
  flex:0 0 2.35rem;font-family:Rajdhani,system-ui,sans-serif;
  font-size:.78rem;font-weight:800;letter-spacing:.08em;
}
#screen-hub.hub-screen-tiles .hub-stats .hub-bar--hp .bar-lbl{color:#fca5a5}
#screen-hub.hub-screen-tiles .hub-stats .hub-bar--sp .bar-lbl{color:#6ee7b7}
#screen-hub.hub-screen-tiles .hub-stats .hub-bar--mp .bar-lbl{color:#93c5fd}
#screen-hub.hub-screen-tiles .hub-stats .hub-bar--xp .bar-lbl{color:#fcd34d}
#screen-hub.hub-screen-tiles .hub-stats .bar-track{
  flex:1 1 auto!important;min-width:0;height:12px!important;border-radius:999px;width:auto;
  background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.55);overflow:hidden;
}
#screen-hub.hub-screen-tiles .hub-stats .bar-val{
  flex:0 0 auto;min-width:4.6rem;font-size:.74rem;font-weight:750;text-align:right;
  font-variant-numeric:tabular-nums;color:rgba(250,247,236,.98);
  text-shadow:0 1px 3px rgba(0,0,0,.65);
}
#screen-hub.hub-screen-tiles .hub-stats .bar-fill{border-radius:inherit;min-height:100%}
#screen-hub.hub-screen-tiles .hub-stats .bar-fill.hp{background:linear-gradient(90deg,#dc2626,#f87171)!important;box-shadow:0 0 10px rgba(239,68,68,.4)}
#screen-hub.hub-screen-tiles .hub-stats .bar-fill.sta{background:linear-gradient(90deg,#059669,#34d399)!important;box-shadow:0 0 10px rgba(52,211,153,.35)}
#screen-hub.hub-screen-tiles .hub-stats .bar-fill.mana{background:linear-gradient(90deg,#2563eb,#60a5fa)!important;box-shadow:0 0 10px rgba(96,165,250,.35)}
#screen-hub.hub-screen-tiles .hub-stats .bar-fill.xp{background:linear-gradient(90deg,#d97706,#fbbf24)!important;box-shadow:0 0 10px rgba(251,191,36,.35)}

#screen-hub.hub-screen-tiles .hub-stats-side{
  display:flex;flex-direction:column;gap:0;justify-content:flex-start;min-width:0;
  padding:0;border:0;background:transparent;box-shadow:none;
  align-self:start;
}
#screen-hub.hub-screen-tiles .hub-resource-panel{
  display:flex;flex-direction:column;gap:8px;
  padding:9px 10px 10px;border-radius:14px;
  background:
    linear-gradient(165deg, rgba(28,22,12,.55) 0%, rgba(6,8,16,.72) 42%, rgba(8,10,20,.78) 100%);
  border:1px solid rgba(232,197,71,.28);
  box-shadow:
    inset 0 1px 0 rgba(255,244,200,.1),
    inset 0 0 0 1px rgba(0,0,0,.35),
    0 8px 22px rgba(0,0,0,.28);
  position:relative;overflow:visible;
}
#screen-hub.hub-screen-tiles .hub-resource-panel::before{
  content:"";position:absolute;inset:0 0 auto 0;height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,224,140,.45), transparent);
  pointer-events:none;
}
#screen-hub.hub-screen-tiles .hub-currency-row{
  display:grid;grid-template-columns:1fr 1fr;gap:7px;
}
#screen-hub.hub-screen-tiles .hub-resource-stat{
  position:relative;display:flex;align-items:stretch;min-width:0;
  border-radius:11px;overflow:hidden;
  background:rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
#screen-hub.hub-screen-tiles .hub-resource-stat-glow{
  position:absolute;inset:auto -20% -40% -20%;height:70%;
  pointer-events:none;opacity:.55;filter:blur(10px);
}
#screen-hub.hub-screen-tiles .hub-resource-stat--fc .hub-resource-stat-glow{
  background:radial-gradient(circle, rgba(232,197,71,.55), transparent 70%);
}
#screen-hub.hub-screen-tiles .hub-resource-stat--gem .hub-resource-stat-glow{
  background:radial-gradient(circle, rgba(96,165,250,.5), transparent 70%);
}
#screen-hub.hub-screen-tiles .hub-currency-row .chip,
#screen-hub.hub-screen-tiles .hub-resource-stat .chip{
  position:relative;z-index:1;flex:1;min-width:0;
  justify-content:center;text-align:center;
  font-size:.7rem!important;font-weight:850;letter-spacing:.01em;
  padding:8px 7px;border-radius:10px;white-space:nowrap;
  background:transparent!important;border:0!important;box-shadow:none!important;
}
/* Online-Chips: unter Meta-Pill-Reihe (Skill) zentriert im Charakter-Info — Status-Dot = Presence am Namen */
#screen-hub.hub-screen-tiles .hub-char-info > .hub-online-row,
#screen-hub.hub-screen-tiles .hub-online-row--under-meta,
#screen-hub.hub-screen-tiles .hub-pet-online-stack > .hub-online-row,
#screen-hub.hub-screen-tiles .hub-stats-main > .hub-online-row,
#screen-hub.hub-screen-tiles .hub-online-row{
  display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;
  flex:0 0 auto;flex-wrap:wrap;width:100%;align-self:stretch;
  margin:4px 0 0;padding:0;box-sizing:border-box;
}
#screen-hub.hub-screen-tiles .hub-char-info > .hub-online-row,
#screen-hub.hub-screen-tiles .hub-online-row--under-meta{
  justify-content:center;margin-top:5px;
}
#screen-hub.hub-screen-tiles .hub-pet-online-stack > .hub-pet-vitals.hidden + .hub-online-row{
  margin-top:0;
}
#screen-hub.hub-screen-tiles .hub-online-chip,
#screen-hub.hub-screen-tiles .hub-online-list-btn,
#screen-hub.hub-screen-tiles .hub-presence-btn{
  --hub-online-h:26px;
  box-sizing:border-box;
  height:var(--hub-online-h);min-height:var(--hub-online-h);
  border-radius:8px;
  font-family:Cinzel,Georgia,"Times New Roman",serif;
  letter-spacing:.03em;
  transition:border-color .15s, filter .15s, transform .12s, box-shadow .15s, background .15s;
}
#screen-hub.hub-screen-tiles .hub-online-chip{
  flex:0 1 auto;min-width:0;
  display:inline-flex;align-items:center;justify-content:center;gap:4px;
  font-size:.6rem;font-weight:700;padding:0 9px;line-height:1;
  border:1px solid rgba(232,197,71,.22)!important;
  color:rgba(243,226,168,.92)!important;
  background:rgba(8,10,16,.48)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
  white-space:nowrap;
  cursor:default;user-select:none;
}
#screen-hub.hub-screen-tiles .hub-online-list-btn{
  flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;gap:4px;
  padding:0 9px;line-height:1;
  font-size:.6rem;font-weight:750;
  color:rgba(248,236,208,.95);cursor:pointer;
  border:1px solid rgba(232,197,71,.28);
  background:rgba(12,14,22,.52);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
#screen-hub.hub-screen-tiles .hub-online-list-btn:hover,
#screen-hub.hub-screen-tiles .hub-online-list-btn:focus-visible{
  border-color:rgba(232,197,71,.48);
  background:rgba(20,18,12,.62);
  filter:brightness(1.05);
  outline:none;
}
#screen-hub.hub-screen-tiles .hub-online-list-btn:active{transform:scale(.97)}
#screen-hub.hub-screen-tiles .hub-online-list-btn-ico{font-size:.72rem;line-height:1;opacity:.9}
#screen-hub.hub-screen-tiles .hub-online-list-btn-txt{white-space:nowrap}
#screen-hub.hub-screen-tiles .hub-meta-chips{display:none}
#screen-hub.hub-screen-tiles .hub-presence-slot{display:none!important}
#screen-hub.hub-screen-tiles .hub-presence-wrap{
  position:relative;flex:0 0 auto;width:auto;min-width:0;margin:0;
}
#screen-hub.hub-screen-tiles .hub-char-name-row .hub-presence-btn,
#screen-hub.hub-screen-tiles .hub-presence-btn{
  width:var(--hub-online-h);min-width:var(--hub-online-h);padding:0;line-height:1;
  font-size:0;color:transparent;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(8,10,16,.55);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  display:inline-flex;align-items:center;justify-content:center;
}
#screen-hub.hub-screen-tiles .hub-presence-btn:hover,
#screen-hub.hub-screen-tiles .hub-presence-btn:focus-visible{
  filter:brightness(1.08);
  outline:none;
}
/* Presence-Farben wie Dropdown: Online=grün, Beschäftigt=rot, Offline=grau */
#screen-hub.hub-screen-tiles .hub-presence-btn.hub-presence--online{
  border-color:rgba(74,222,128,.55)!important;
  background:rgba(34,197,94,.16)!important;
}
#screen-hub.hub-screen-tiles .hub-presence-btn.hub-presence--online .hub-presence-dot{
  background:#4ade80!important;
  box-shadow:0 0 0 1px rgba(74,222,128,.4),0 0 8px rgba(74,222,128,.55)!important;
}
#screen-hub.hub-screen-tiles .hub-presence-btn.hub-presence--busy{
  border-color:rgba(248,113,113,.55)!important;
  background:rgba(239,68,68,.16)!important;
}
#screen-hub.hub-screen-tiles .hub-presence-btn.hub-presence--busy .hub-presence-dot{
  background:#f87171!important;
  box-shadow:0 0 0 1px rgba(248,113,113,.4),0 0 8px rgba(248,113,113,.5)!important;
}
#screen-hub.hub-screen-tiles .hub-presence-btn.hub-presence--offline{
  border-color:rgba(148,163,184,.45)!important;
  background:rgba(100,116,139,.18)!important;
}
#screen-hub.hub-screen-tiles .hub-presence-btn.hub-presence--offline .hub-presence-dot{
  background:#94a3b8!important;
  box-shadow:0 0 0 1px rgba(148,163,184,.35)!important;
}
#screen-hub.hub-screen-tiles .hub-presence-dot{
  width:10px;height:10px;border-radius:50%;display:block;flex:0 0 auto;
}
#screen-hub.hub-screen-tiles .hub-fc-chip,
#screen-hub.hub-screen-tiles .hub-resource-stat--fc .chip-gold{
  color:#ffe9a0!important;text-shadow:0 1px 6px rgba(232,197,71,.35);
}
#screen-hub.hub-screen-tiles .hub-gems-chip,
#screen-hub.hub-screen-tiles .hub-resource-stat--gem .chip-gem{
  color:#bfdbfe!important;text-shadow:0 1px 6px rgba(96,165,250,.35);
}
#screen-hub.hub-screen-tiles .hub-resource-stat--fc{
  border-color:rgba(232,197,71,.42);
  background:linear-gradient(165deg, rgba(232,197,71,.16), rgba(20,14,6,.4) 70%);
}
#screen-hub.hub-screen-tiles .hub-resource-stat--gem{
  border-color:rgba(147,197,253,.38);
  background:linear-gradient(165deg, rgba(96,165,250,.16), rgba(8,14,28,.42) 70%);
}
#screen-hub.hub-screen-tiles .hub-playtime-slot{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin-top:2px;padding:5px 8px;border-radius:9px;
  background:rgba(0,0,0,.22);
  border:1px solid rgba(148,163,184,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
#screen-hub.hub-screen-tiles .hub-playtime-kicker{
  flex:0 0 auto;font-size:.58rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(186,198,214,.88);
}
#screen-hub.hub-screen-tiles .hub-playtime-chip{
  flex:1 1 auto;min-width:0;text-align:right;
  font-size:.68rem;font-weight:800;line-height:1.2;
  color:rgba(241,245,249,.96)!important;
  border:0!important;background:transparent!important;padding:0!important;
  white-space:nowrap;font-variant-numeric:tabular-nums;
}
#screen-hub.hub-screen-tiles .hub-online-preview,
.hub-online-preview{
  display:none!important;
}
#screen-hub.hub-screen-tiles .hub-datetime-chip{display:none!important}
#screen-hub.hub-screen-tiles .hub-rest-btn{
  position:relative;width:100%;margin:0;padding:0;overflow:hidden;
  min-height:52px;border-radius:12px;letter-spacing:.03em;
  display:block;border:1px solid rgba(232,197,71,.55);
  background:#1a1208;color:#fff8e0;cursor:pointer;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    0 5px 14px rgba(0,0,0,.28),
    0 0 18px rgba(232,197,71,.12);
}
#screen-hub.hub-screen-tiles .hub-rest-btn--art{
  isolation:isolate;
}
#screen-hub.hub-screen-tiles .hub-rest-btn-art{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 55%;
  display:block;pointer-events:none;z-index:0;
  transform:scale(1.02);transition:transform .2s ease, filter .2s ease;
}
#screen-hub.hub-screen-tiles .hub-rest-btn-shade{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg, rgba(8,6,4,.42) 0%, rgba(8,6,4,.38) 50%, rgba(8,6,4,.42) 100%),
    linear-gradient(180deg, rgba(255,220,140,.12), transparent 40%, rgba(0,0,0,.35));
}
#screen-hub.hub-screen-tiles .hub-rest-btn-label{
  position:relative;z-index:2;
  display:flex;align-items:center;justify-content:center;
  min-height:52px;padding:10px 14px;
  font-size:.78rem;font-weight:850;line-height:1.15;
  text-align:center;
  text-shadow:0 1px 3px rgba(0,0,0,.75), 0 0 12px rgba(0,0,0,.35);
  white-space:nowrap;
}
#screen-hub.hub-screen-tiles .hub-rest-btn:hover{
  border-color:rgba(255,224,140,.82);
  filter:brightness(1.05);
}
#screen-hub.hub-screen-tiles .hub-rest-btn:hover .hub-rest-btn-art{
  transform:scale(1.06);filter:brightness(1.08) saturate(1.08);
}
#screen-hub.hub-screen-tiles .hub-rest-btn:active{transform:scale(.985)}
#screen-hub.hub-screen-tiles .hub-rest-btn:active .hub-rest-btn-art{transform:scale(1.01)}
#screen-hub.hub-screen-tiles .hub-effects-block{
  display:flex;flex-direction:column;gap:5px;
  padding-top:7px;margin-top:1px;
  border-top:1px solid rgba(232,197,71,.14);
}
#screen-hub.hub-screen-tiles .hub-effects-block:has(.hub-status-chips:empty){display:none}
#screen-hub.hub-screen-tiles .hub-effects-head{
  display:flex;align-items:center;gap:6px;
}
#screen-hub.hub-screen-tiles .hub-effects-kicker{
  font-size:.58rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(232,197,71,.78);
}
#screen-hub.hub-screen-tiles .hub-status-chips:empty{display:none}
#screen-hub.hub-screen-tiles .hub-status-chips:not(:empty){
  display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:0;
  border:0;justify-content:flex-start;
}
#screen-hub.hub-screen-tiles .hub-status-chips .status-chip{
  display:inline-flex;align-items:center;gap:4px;
  font-size:.58rem;font-weight:750;padding:4px 8px;border-radius:8px;line-height:1.2;
  background:rgba(255,255,255,.05);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
#screen-hub.hub-screen-tiles .hub-status-chips .status-chip.buff{
  border-color:rgba(52,211,153,.42);color:#a7f3d0;
  background:linear-gradient(180deg, rgba(16,185,129,.16), rgba(6,20,14,.35));
}
#screen-hub.hub-screen-tiles .hub-status-chips .status-chip.debuff{
  border-color:rgba(248,113,113,.45);color:#fecaca;
  background:linear-gradient(180deg, rgba(239,68,68,.16), rgba(28,8,8,.35));
}

#screen-hub.hub-screen-tiles .hub-hero-footer{
  position:relative;z-index:2;display:flex;align-items:center;
  padding:0 10px 8px;gap:6px;
}
#screen-hub.hub-screen-tiles .hub-hero-footer .hub-profile-btns{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;margin:0;
}
#screen-hub.hub-screen-tiles .hub-hero-footer .hub-profil-inline-btn{
  width:100%;font-size:.66rem!important;font-weight:750!important;
  padding:7px 8px!important;min-height:0!important;line-height:1.15;
  border-radius:10px!important;
  background:rgba(6,8,16,.4)!important;
  border:1px solid rgba(232,197,71,.24)!important;
  color:rgba(244,241,232,.95)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
  backdrop-filter:blur(6px);
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;
}
#screen-hub.hub-screen-tiles .hub-hero-footer .hub-profil-inline-btn::before{
  content:"";flex:0 0 16px;width:16px;height:16px;
  background-size:contain;background-repeat:no-repeat;background-position:center;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.55));
}
#screen-hub.hub-screen-tiles #hub-profil-btn::before{
  background-image:url("/activity/rpg/icons/menu-icon-profil.png");
}
#screen-hub.hub-screen-tiles #hub-statistik-btn::before{
  background-image:url("/activity/rpg/icons/menu-icon-achievements.png");
}
#screen-hub.hub-screen-tiles #hub-hof-btn::before{
  background-image:url("/activity/rpg/icons/menu-icon-saga.png");
}
#screen-hub.hub-screen-tiles .hub-hero-footer .hub-profil-inline-btn:hover{
  background:rgba(232,197,71,.16)!important;
  border-color:rgba(232,197,71,.48)!important;
  color:#f6ecc0!important;
}
#screen-hub.hub-screen-tiles #hub-invite-banner,
#screen-hub.hub-screen-tiles #hub-quest-bar,
#screen-hub.hub-screen-tiles #pending-combat-banner.hub-alert,
#screen-hub.hub-screen-tiles .hub-alert{
  flex:0 0 auto;margin:8px 0 0;width:100%;
  padding:10px max(14px, env(safe-area-inset-right, 0px)) 10px max(14px, env(safe-area-inset-left, 0px));
  box-sizing:border-box;
}
#screen-hub.hub-screen-tiles #hub-invite-banner:not(.hidden) + #hub-quest-bar:not(.hidden),
#screen-hub.hub-screen-tiles .hub-alert.hub-invite-banner:not(.hidden) + .hub-alert.hub-quest-bar:not(.hidden),
#screen-hub.hub-screen-tiles #hub-quest-bar:not(.hidden) + #pending-combat-banner:not(.hidden),
#screen-hub.hub-screen-tiles #hub-invite-banner:not(.hidden) + #pending-combat-banner:not(.hidden){
  margin-top:6px;
}
/* Schmale Kapitel-Leiste („Kapitel IV“) zwischen Hero und Tiles: kein Platz, kein Gap */
#screen-hub #hub-quest-bar.hub-quest-bar-clickable,
#screen-hub #hub-quest-bar:has(.hub-quest-bar-btn){
  display:none!important;margin:0!important;padding:0!important;height:0!important;min-height:0!important;
  overflow:hidden!important;border:none!important;pointer-events:none!important;
}

#screen-hub.hub-screen-tiles .hub-menu-shell{
  position:relative;flex:1 1 auto!important;min-height:0!important;
  width:100%!important;max-width:100%!important;
  margin:0!important;align-self:stretch!important;
  display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:10px;
  padding:8px 0 12px;
}
#screen-hub.hub-screen-tiles .hub-menu-viewport{
  position:relative;flex:0 1 auto;width:100%;overflow:hidden;
  height:clamp(380px, 64vh, 760px);max-height:min(68vh, 780px);
  min-height:320px;margin:0 auto;
}
#screen-hub.hub-screen-tiles #hub-nav-grid.hub-menu-track,
#screen-hub.hub-screen-tiles #hub-nav-grid{
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  grid-template-columns:none!important;grid-template-rows:none!important;
  align-items:stretch;gap:0!important;height:100%!important;
  min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;
  transform:translate3d(0,0,0);will-change:transform;
}
#screen-hub.hub-screen-tiles .hub-menu-page{
  --hub-page-cols:12;
  height:100%;box-sizing:border-box;
  display:grid!important;
  grid-template-columns:repeat(var(--hub-page-cols), minmax(0, 1fr))!important;
  grid-template-rows:repeat(2, minmax(0, 1fr))!important;
  grid-auto-flow:dense;
  grid-auto-columns:unset!important;
  gap:12px;
  padding:4px 2px 6px;
  overflow:hidden;
  justify-content:stretch;align-content:stretch;
}
#screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card,
#screen-hub.hub-screen-tiles a.hub-grid-btn.hub-grid-card{
  width:auto!important;max-width:none!important;min-width:0!important;
  min-height:0!important;height:100%!important;aspect-ratio:auto!important;
  border-radius:18px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.28);
}
/* Größen kommen aus data-g* / Inline-Styles — keine CSS-span-Overrides */
#screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card .hub-grid-card-media{
  filter:brightness(.78) saturate(1.08);
}
#screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card .hub-grid-card-shade{
  background:linear-gradient(180deg,rgba(6,10,16,.02) 0%, rgba(6,10,16,.2) 45%, rgba(6,10,16,.78) 100%);
}
#screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card:hover:not(.locked),
#screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card:focus-visible:not(.locked){
  transform:translate3d(0,-3px,0) scale(1.02);border-color:rgba(232,197,71,.5)!important;
  box-shadow:0 16px 36px rgba(0,0,0,.4), 0 0 0 1px rgba(232,197,71,.2);z-index:2;
}
#screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card:hover:not(.locked) .hub-grid-card-media,
#screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card:focus-visible:not(.locked) .hub-grid-card-media{
  filter:brightness(1) saturate(1.12);transform:scale(1.06);
}
#screen-hub.hub-screen-tiles .hub-grid-label{font-size:1.16rem!important;font-weight:800;letter-spacing:.02em}
#screen-hub.hub-screen-tiles .hub-tile-hero .hub-grid-label{font-size:1.48rem!important}
#screen-hub.hub-screen-tiles .hub-tile-lg .hub-grid-label{font-size:1.24rem!important}
#screen-hub.hub-screen-tiles .hub-tile-sm .hub-grid-label{font-size:1.02rem!important}
#screen-hub.hub-screen-tiles .hub-grid-desc{font-size:.82rem!important;-webkit-line-clamp:2;opacity:.88}
#screen-hub.hub-screen-tiles .hub-grid-copy{padding:18px 18px 15px}
#screen-hub.hub-screen-tiles .hub-grid-icon{width:30px!important;height:30px!important;top:12px!important;left:12px!important}
#screen-hub.hub-screen-tiles .hub-page-arrow,
#screen-hub.hub-screen-tiles #hub-page-prev,
#screen-hub.hub-screen-tiles #hub-page-next{
  display:flex!important;align-items:center;justify-content:center;
  min-width:44px;min-height:44px;z-index:5;
}
#screen-hub.hub-screen-tiles .hub-page-dots{display:flex;justify-content:center;gap:8px;flex:0 0 auto;padding:4px 0 2px}
#screen-hub.hub-screen-tiles .hub-page-dot{
  width:8px;height:8px;border-radius:999px;border:0;padding:0;cursor:pointer;background:rgba(255,255,255,.3);
  transition:width .2s ease, background .2s ease;
}
#screen-hub.hub-screen-tiles .hub-page-dot.is-active{width:22px;background:rgba(232,197,71,.92)}
@media(max-width:720px){
  body.screen-hub .top-bar{width:100%!important;max-width:100%!important;border-radius:14px!important}
  #screen-hub.hub-screen-tiles .hub-top-strip{width:100%;max-width:none}
  #screen-hub.hub-screen-tiles .hub-menu-shell{width:100%!important;max-width:none!important}
  #screen-hub.hub-screen-tiles .hub-menu-viewport{
    height:auto;min-height:min(220px,36dvh);max-height:min(52dvh,calc(100dvh - 220px));
  }
  #screen-hub.hub-screen-tiles .hub-menu-page{gap:8px;padding:4px 2px}
  #screen-hub.hub-screen-tiles .hub-grid-label{font-size:clamp(.72rem,3.2vw,.95rem)!important}
  #screen-hub.hub-screen-tiles .hub-tile-hero .hub-grid-label{font-size:clamp(.82rem,3.6vw,1.05rem)!important}
  #screen-hub.hub-screen-tiles .hub-grid-desc{font-size:clamp(.58rem,2.4vw,.72rem)!important}
}
/* Meta-Pills: zwei zentrierte Flex-Reihen (Level/Gilde · Beruf/Skill/Job) */

.admin-check-row{display:flex;align-items:flex-start;gap:8px;font-size:.82rem;line-height:1.35;cursor:pointer}
.admin-check-row input[type="checkbox"]{margin-top:2px;accent-color:var(--gold);flex-shrink:0}
.admin-hub-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.admin-hub-row{padding:10px;display:flex;flex-direction:column;gap:8px}
.admin-hub-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.admin-daily-editor{display:flex;flex-direction:column;gap:10px}
.admin-daily-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;padding:10px}
.admin-daily-section-title{margin:6px 0 4px;font-size:.72rem;font-weight:800;color:var(--gold)}
.admin-daily-week-grid,.admin-daily-month-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;max-height:320px;overflow:auto;padding-right:4px}
.admin-daily-week-row,.admin-daily-month-row{display:flex;flex-direction:column;gap:6px;padding:8px}
.admin-daily-day-head{display:flex;align-items:center;gap:6px}
.admin-daily-day-emoji{font-size:1rem;line-height:1}
.admin-daily-badge{font-size:.55rem;font-weight:800;padding:2px 6px;border-radius:999px;background:rgba(245,158,11,.18);color:#fcd34d;text-transform:uppercase;letter-spacing:.04em}
.admin-field-inline{display:flex;align-items:center;gap:8px;flex-direction:row!important}
.admin-hub-player-picks{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.admin-hub-player-picks .admin-player-pick-row{display:flex;flex-wrap:wrap;gap:4px}
.admin-hub-player-picker{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.admin-hub-player-search{margin:0}
.admin-hub-player-dropdown{
  max-height:148px;overflow-y:auto;display:flex;flex-wrap:wrap;gap:4px;align-content:flex-start;
  padding:8px;border:1px solid rgba(255,255,255,.14);border-radius:10px;
  background:rgba(6,8,16,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.admin-hub-player-empty{margin:4px 0 0}
.admin-hub-users-wrap .admin-hub-player-picker .admin-player-pick.hidden{display:none!important}

/* ══════════════════════════════════════════════════════════════
   TCG KARTEN — Rahmen-Stile je Seltenheit
══════════════════════════════════════════════════════════════ */
.tcg-card{
  position:relative;width:88px;min-height:130px;border-radius:8px;
  border:2px solid #555;background:var(--glass);display:flex;flex-direction:column;
  overflow:hidden;cursor:pointer;transition:transform .15s,box-shadow .15s;font-size:.68rem;
  user-select:none;
}
.tcg-card:hover,.tcg-card.selected{transform:translateY(-6px) scale(1.04);z-index:10}
.tcg-card .card-frame{
  position:absolute;inset:0;border-radius:6px;pointer-events:none;z-index:0;
}
.tcg-card .card-header{display:flex;justify-content:space-between;padding:3px 4px;z-index:1;position:relative}
.tcg-card .card-level{font-size:.6rem;font-weight:700;opacity:.9}
.tcg-card .card-art{height:52px;overflow:hidden;display:flex;align-items:center;justify-content:center;z-index:1;position:relative}
.tcg-card .card-art-img{width:100%;height:52px;object-fit:contain}
.tcg-card .card-art-fallback{font-size:2rem;line-height:1}
.tcg-card .card-name{padding:2px 4px;font-size:.62rem;font-weight:700;z-index:1;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tcg-card .card-stars{padding:0 4px 2px;color:#f5c518;font-size:.6rem;z-index:1;position:relative;letter-spacing:-1px}
.tcg-card .card-stats{display:flex;gap:4px;padding:2px 4px;z-index:1;position:relative}
.tcg-card .atk{color:#ff8888;font-size:.6rem;font-weight:700}
.tcg-card .def{color:#88aaff;font-size:.6rem;font-weight:700}
.tcg-card .card-ability{padding:2px 4px;opacity:.8;z-index:1;position:relative;font-size:.55rem;line-height:1.3}
.tcg-card .card-effect-label{padding:3px 4px;font-size:.6rem;font-weight:600;z-index:1;position:relative}

/* ── Seltenheits-Rahmen ── */
.tcg-card.rarity-common   .card-frame{background:linear-gradient(135deg,#6b7280,#9ca3af);opacity:.22}
.tcg-card.rarity-uncommon .card-frame{background:linear-gradient(135deg,#16a34a,#4ade80);opacity:.28}
.tcg-card.rarity-rare     .card-frame{background:linear-gradient(135deg,#1d4ed8,#60a5fa);opacity:.30}
.tcg-card.rarity-epic     .card-frame{background:linear-gradient(135deg,#7e22ce,#c084fc);opacity:.32}
.tcg-card.rarity-legendary .card-frame{background:linear-gradient(135deg,#92400e,#fbbf24,#92400e);opacity:.38}

.tcg-card.rarity-common   {border-color:#9ca3af}
.tcg-card.rarity-uncommon {border-color:#4ade80;box-shadow:0 0 6px rgba(74,222,128,.3)}
.tcg-card.rarity-rare     {border-color:#60a5fa;box-shadow:0 0 8px rgba(96,165,250,.35)}
.tcg-card.rarity-epic     {border-color:#c084fc;box-shadow:0 0 10px rgba(192,132,252,.45)}
.tcg-card.rarity-legendary{
  border-color:#fbbf24;
  box-shadow:0 0 14px rgba(251,191,36,.6),0 0 28px rgba(251,191,36,.25);
  animation:legendGlow 2.5s ease-in-out infinite;
}
@keyframes legendGlow{
  0%,100%{box-shadow:0 0 14px rgba(251,191,36,.6),0 0 28px rgba(251,191,36,.2)}
  50%{box-shadow:0 0 20px rgba(251,191,36,.9),0 0 40px rgba(251,191,36,.4)}
}

/* ── Element-Punkte ── */
.el-flame {color:#ff6b35}
.el-wave  {color:#38bdf8}
.el-leaf  {color:#4ade80}
.el-bolt  {color:#facc15}
.el-shadow{color:#a855f7}

/* ── Mini-Karten in Sammlung ── */
.tcg-collection-mini{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.tcg-mini-card{
  padding:3px 6px;border-radius:6px;font-size:.7rem;display:flex;flex-direction:column;
  align-items:center;gap:2px;border:1px solid var(--line);background:var(--glass2);min-width:38px;
}
.mini-card-name{font-size:.55rem;opacity:.8;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:38px}

/* ── Slot leer ── */
.tcg-slot.empty,.tcg-spell-slot.empty{
  width:88px;height:130px;border:2px dashed rgba(255,255,255,.15);border-radius:8px;
  display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.2);font-size:1.2rem;cursor:default;
}
.tcg-spell-slot{width:76px;height:44px;border-radius:6px;font-size:.65rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--glass2)}
.tcg-spell-slot.face-down{background:#1a1a2e;border-color:#333;font-size:1.2rem}
.tcg-spell-slot.occupied{border-color:var(--accent);background:rgba(94,196,255,.08)}

/* ══════════════════════════════════════════════════════════════
   TCG SPIELFELD
══════════════════════════════════════════════════════════════ */
.bg-tcg{
  background:linear-gradient(135deg,#0f0c29,#302b63,#24243e) !important;
}
#screen-tcg{
  background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);
  min-height:min(70vh,720px);
}
body.screen-tcg #screen-tcg:not(.hidden){
  display:flex!important;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
}
body.screen-tcg #tcg-match:not(.hidden),
body.screen-tcg #tcg-hand.tcg-lobby-mode{
  display:block!important;
  width:100%;
  min-height:120px;
  visibility:visible!important;
  opacity:1!important;
}
.tcg-field{
  display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:var(--r);
  background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);
  border:1px solid rgba(94,196,255,.2);
}
.tcg-lp-bar{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700}
.tcg-lp-bar .lp-track{flex:1;height:8px;background:rgba(255,255,255,.1);border-radius:4px;overflow:hidden}
.tcg-lp-bar .lp-fill{height:100%;background:linear-gradient(90deg,#ff4444,#ff8844);border-radius:4px;transition:width .4s ease}
.ai-lp .lp-fill{background:linear-gradient(90deg,#d946ef,#818cf8)}
.tcg-gy-chip{font-size:.65rem;opacity:.7}
.tcg-zone{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.tcg-midline{
  display:flex;align-items:center;justify-content:center;gap:8px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:4px 0;
}
.phase-badge{font-size:.75rem;font-weight:700;color:var(--accent);padding:2px 8px;background:rgba(94,196,255,.1);border-radius:99px}
.turn-badge{font-size:.65rem;opacity:.7}
.tcg-phase-btns{display:flex;gap:8px;justify-content:center;margin-top:4px}
.tcg-log{max-height:80px;overflow-y:auto;font-size:.65rem;opacity:.8;display:flex;flex-direction:column;gap:2px;padding:4px;background:rgba(0,0,0,.3);border-radius:6px}
.tcg-log-line{padding:1px 4px}

/* Hand */
#tcg-hand{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;padding:6px 0 10px;scroll-snap-type:x mandatory}
#tcg-hand .tcg-card{scroll-snap-align:start;flex-shrink:0}

/* ══════════════════════════════════════════════════════════════
   JOBS-SCREEN
══════════════════════════════════════════════════════════════ */
#screen-jobs{padding:0;--jobs-ink:#2a1a0c;--jobs-muted:#5c4030;--jobs-cream:#f3e6c8}
#screen-jobs.screen:not(.hidden),
#screen-jobs:not(.hidden){
  display:flex!important;
  position:fixed!important;
  inset:0!important;
  z-index:7600!important;
  width:100vw!important;
  max-width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#0a0612!important;
}
.jobs-board-fs{
  position:relative;width:100%;height:100%;min-height:0;
  display:flex;flex-direction:column;isolation:isolate;overflow:hidden;
  background:#090604;
}
.jobs-board-bg,.jobs-board-veil,.jobs-board-frame{
  position:absolute;inset:0;pointer-events:none;
}
/* Vollbild-Brett (nur Planken, ohne Seitenpfeiler) */
.jobs-board-bg{
  z-index:0;
  background-image:var(--jobs-board-bg);
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  filter:none;
  transform:none;
}
.jobs-board-veil{
  z-index:1;
  background:
    linear-gradient(180deg,rgba(8,5,3,.35) 0%,transparent 14%),
    linear-gradient(0deg,rgba(8,5,3,.45) 0%,transparent 12%);
}
.jobs-board-frame{display:none!important}
.jobs-board-shell{
  position:relative;z-index:3;
  display:flex;flex-direction:column;gap:10px;
  width:100%;max-width:none;margin:0;
  height:100%;min-height:0;flex:1 1 auto;
  overflow:hidden;
  padding:max(48px,calc(env(safe-area-inset-top,0px) + 40px)) clamp(4%,18px,5.5vw) max(10px,env(safe-area-inset-bottom,0px));
  box-sizing:border-box;
  animation:jobs-board-in .5s cubic-bezier(.22,.9,.3,1) both;
}
@keyframes jobs-board-in{
  from{opacity:0;transform:translateY(14px) scale(.985)}
  to{opacity:1;transform:none}
}
.jobs-board-hero{
  text-align:center;flex-shrink:0;padding:2px 8px 4px;
}
.jobs-board-brand{
  margin:0;font-family:"Cinzel","Trajan Pro","Palatino Linotype",Georgia,serif;
  font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(255,230,170,.82);text-shadow:0 1px 8px rgba(0,0,0,.55);
}
.jobs-board-title{
  margin:2px 0 0;font-family:"Cinzel","Trajan Pro","Palatino Linotype",Georgia,serif;
  font-size:clamp(1.85rem,7vw,2.85rem);font-weight:800;letter-spacing:.04em;
  color:#fff8e8;text-shadow:0 2px 18px rgba(0,0,0,.65),0 0 24px rgba(232,197,71,.25);
  line-height:1.05;
}
.jobs-board-sub{
  margin:6px 0 0;font-size:.78rem;color:rgba(245,230,200,.78);
  letter-spacing:.04em;text-shadow:0 1px 6px rgba(0,0,0,.5);
}
.jobs-board-meta{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:8px}
.jobs-head{display:none}
.jobs-period-tabs{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;
  margin:0;padding:8px;border-radius:14px;flex-shrink:0;
  background:rgba(12,8,6,.55);border:1px solid rgba(232,197,71,.28);
  backdrop-filter:blur(8px);
}
.jobs-period-tab{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  min-height:68px;padding:10px 6px 8px;border-radius:12px;cursor:pointer;
  border:2px solid rgba(255,255,255,.16);
  background:linear-gradient(165deg,rgba(62,42,22,.92),rgba(22,14,10,.96));
  color:#f4ead8;font-weight:850;line-height:1.15;text-align:center;
  touch-action:manipulation;
  box-shadow:0 4px 12px rgba(0,0,0,.28);
  transition:border-color .15s ease,background .15s ease,transform .12s ease,box-shadow .15s ease;
}
.jobs-period-tab:hover{
  border-color:rgba(232,197,71,.5);transform:translateY(-1px);
}
.jobs-period-tab.active{
  border-color:#e8c547;color:#ffe9a0;
  background:linear-gradient(165deg,rgba(92,62,18,.96),rgba(40,28,10,.98));
  box-shadow:0 0 0 1px rgba(232,197,71,.35),0 8px 18px rgba(0,0,0,.35);
}
.jobs-period-emoji{font-size:1.25rem;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4));display:inline-flex;align-items:center;justify-content:center}
.jobs-period-emoji .jobs-period-anime,
.jobs-period-emoji img.jobs-period-anime,
.jobs-period-emoji img.rpg-ei{
  width:1.55rem;height:1.55rem;object-fit:contain;display:block;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.55));
}
.jobs-period-label{font-size:.82rem;font-weight:900;letter-spacing:.02em;color:inherit}
.jobs-period-tab:not(.active) .jobs-period-label{color:#f0e6d4}
.jobs-period-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;margin-top:2px}
.jobs-fertig-chip,.jobs-claim-chip{
  display:inline-flex;align-items:center;justify-content:center;
  padding:2px 7px;border-radius:999px;font-size:.62rem;font-weight:800;line-height:1.2;
}
.jobs-fertig-chip{
  color:#b8f0c8;background:rgba(34,120,70,.35);border:1px solid rgba(74,222,128,.4);
}
.jobs-period-tab.active .jobs-fertig-chip{
  color:#d8ffe0;background:rgba(40,140,80,.45);border-color:rgba(110,240,150,.55);
}
.jobs-claim-chip{
  color:#ffe9a0;background:rgba(180,130,20,.4);border:1px solid rgba(232,197,71,.55);
}
@media (max-width:380px){
  .jobs-period-tabs{gap:6px;padding:6px}
  .jobs-period-tab{min-height:60px;padding:8px 4px 6px}
  .jobs-period-label{font-size:.74rem}
  .jobs-period-emoji{font-size:1.15rem}
}
.jobs-pinboard{
  flex:1 1 0%;
  min-height:0;
  overflow-x:hidden;
  overflow-y:scroll;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  touch-action:pan-y;
  display:grid;
  /* Auto-fit wie Craft — Karten behalten feste Lesbreite */
  grid-template-columns:repeat(auto-fit,minmax(260px,300px));
  gap:28px 18px;
  align-content:start;
  justify-content:center;
  justify-items:stretch;
  padding:14px clamp(2%,10px,2.5vw) max(64px,calc(env(safe-area-inset-bottom,0px) + 32px));
  margin:0;
  border-radius:0;
  background:transparent;
  border:none;
  box-shadow:none;
}
.jobs-empty--board{
  grid-column:1/-1;padding:28px 16px;text-align:center;
  color:rgba(245,230,200,.8);font-weight:700;
}
/* Pergament — größer, höhe nach Inhalt, kein Überlappen */
.job-parchment{
  position:relative;
  width:100%;
  max-width:300px;
  margin:0 auto;
  aspect-ratio:auto;
  min-height:340px;
  height:auto;
  background:transparent!important;
  border:none!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important;
  outline:none!important;
  transform:none;
  transition:transform .18s ease,filter .15s ease;
  isolation:isolate;
  overflow:visible;
  z-index:0;
}
.job-parchment:hover{
  transform:translateY(-3px);
  z-index:2;
}
.job-parchment-sheet{
  position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:0;
  background-color:transparent;
  background-image:var(--job-parchment);
  background-size:100% 100%;
  background-position:center;
  background-repeat:no-repeat;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.4));
  box-shadow:none;
}
.job-parchment-pin{
  position:absolute;top:10px;left:50%;z-index:2;width:11px;height:11px;
  margin-left:-5.5px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 35% 30%,#e8e0d0,#8a7350 55%,#3a2a18);
  box-shadow:0 2px 4px rgba(0,0,0,.45),inset 0 1px 1px rgba(255,255,255,.35);
}
.job-parchment-body{
  position:relative;z-index:1;
  display:flex;flex-direction:column;gap:10px;
  height:auto;min-height:340px;box-sizing:border-box;
  padding:28px 22px 78px; /* unten Platz für Stempel + Anzahl darüber */
  color:var(--jobs-ink);
  overflow:visible;
  background:transparent!important;
}
.job-parchment .job-card-top{
  flex:0 0 auto;min-height:0;
  display:flex;align-items:flex-start;gap:10px;
}
.job-parchment .job-info{gap:6px;min-width:0}
.job-parchment .job-title-row{
  display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap;
}
.job-parchment .job-info > .job-diff-pill{
  align-self:flex-start;
  margin-top:2px;
}
.job-parchment .job-footer{
  flex:0 0 auto;margin-top:auto;
  display:flex;align-items:center;justify-content:center;gap:8px;
  flex-wrap:wrap;
  box-sizing:border-box;
  padding-right:44px; /* Wachssiegel unten rechts — Abholen/Fertig nicht überlappen */
  text-align:center;
}
.job-parchment .job-progress-wrap{
  flex:0 0 auto;margin-top:8px;
  width:calc(100% - 48px);
  max-width:calc(100% - 48px);
  min-width:0;
  box-sizing:border-box;
  overflow:visible;
  padding-right:0;
  align-self:center;
}
.job-parchment .job-progress-bar{
  background:rgba(60,35,15,.22);
  display:block;width:100%;
  height:9px!important; /* vertikal wieder dicker */
  overflow:hidden;
  border-radius:999px;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.18);
}
.job-parchment .job-progress-fill{
  background:linear-gradient(90deg,#c48a2a,#e8c547 55%,#8b5a1a);
  max-width:100%;
  height:100%;
  border-radius:inherit;
}
.job-parchment .job-progress-label{display:none!important}
/* Anzahl fest über dem Wachsstempel (im Pergament-Art unten rechts) */
.job-parchment .job-stamp-stack{
  position:absolute;
  right:48px; /* links vom Wachssiegel, kein Überlappen */
  bottom:14px;
  z-index:3;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:0;
  width:auto;
  min-width:64px;
  max-width:92px;
  height:72px;
  overflow:visible;
  pointer-events:none;
}
.job-parchment .job-stamp-count{
  position:absolute;
  left:50%;
  bottom:62px; /* weiter über dem Stempel-Kreis */
  transform:translateX(-50%);
  font-size:.72rem;
  font-weight:900;
  line-height:1.1;
  color:var(--jobs-ink);
  text-align:center;
  font-variant-numeric:tabular-nums;
  text-shadow:0 1px 0 rgba(255,244,220,.65),0 0 6px rgba(255,244,220,.35);
  max-width:none;
  overflow:visible;
  white-space:nowrap;
}
.job-parchment.job-done .job-stamp-count{color:#1f6b38}
.job-parchment.job-claimed .job-stamp-count{color:#5a4030}
.job-parchment .job-emoji-wrap{
  width:44px;height:44px;border-radius:12px;padding:2px;flex:0 0 auto;
  background:linear-gradient(160deg,rgba(120,80,30,.22),rgba(40,24,12,.35));
  border:1px solid rgba(80,50,20,.28);
  box-shadow:inset 0 0 0 1px rgba(255,244,220,.12);
  overflow:hidden;
}
.job-parchment .job-name{
  color:var(--jobs-ink);font-size:.92rem;line-height:1.25;
  overflow-wrap:anywhere;word-break:break-word;
}
.job-parchment .job-desc{
  color:var(--jobs-muted)!important;margin:0;
  font-size:.74rem;line-height:1.4;
  overflow-wrap:anywhere;word-break:break-word;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;
}
.job-parchment .job-diff-pill{
  flex:0 0 auto;align-self:flex-start;
}
.job-parchment .job-req-hint{color:#3b5f9a}
.job-parchment .job-period-chip,.job-parchment .job-cat-chip{
  color:#5a3a18;background:rgba(120,80,30,.12);border-color:rgba(120,80,30,.28);
}
.job-parchment.job-done .job-progress-fill{background:linear-gradient(90deg,#3d9a58,#6ecf7a)}
.job-parchment .job-rewards{
  color:#3a2814;opacity:1;
  width:100%;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 6px;
  text-align:center;
}
.job-parchment .job-reward-item{
  display:inline-flex;align-items:center;gap:3px;
  line-height:1.2;
}
.job-parchment .job-reward-ico{
  display:inline-block;
  line-height:1;
  transform:translateY(2px); /* Icons minimal tiefer als Text */
}
.job-parchment .job-reward-txt{line-height:1.2}
.job-parchment .job-reward-sep{opacity:.75}
.job-parchment .job-status-chip{
  color:#5a4030;background:rgba(80,50,20,.1);border-color:rgba(80,50,20,.2);
}
.job-parchment .job-status-done{
  color:#1f6b38;background:rgba(34,140,70,.14);border-color:rgba(34,140,70,.3);
}
.job-parchment.job-done{
  filter:drop-shadow(0 0 10px rgba(74,180,100,.22));
}
.job-parchment.job-done .job-parchment-sheet{
  filter:drop-shadow(0 0 10px rgba(74,180,100,.35)) drop-shadow(0 10px 14px rgba(0,0,0,.4));
  box-shadow:none;
}
.job-parchment.job-claimed{opacity:.62;filter:grayscale(.25)}
.job-parchment.job-claimed:hover{opacity:.78}
.job-card-top,.job-header{display:flex;align-items:flex-start;gap:10px}
.job-emoji-wrap{
  width:42px;height:42px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);
  overflow:hidden;
}
.job-emoji{font-size:1.35rem;line-height:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.job-emoji .job-anime-icon,
.job-parchment .job-emoji .job-anime-icon{
  width:100%;height:100%;object-fit:cover;object-position:center top;
  display:block;border-radius:10px;
}
.job-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.job-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.job-name{font-size:.92rem;font-weight:850;line-height:1.2}
.job-desc{margin:0;line-height:1.35}
.job-req-hint{color:#93c5fd}
.job-period-chip,.job-cat-chip,.job-diff-pill,.job-status-chip{
  display:inline-flex;align-items:center;justify-content:center;
  padding:2px 7px;border-radius:999px;font-size:.58rem;font-weight:800;
  letter-spacing:.03em;text-transform:uppercase;line-height:1.3;
}
.job-period-chip,.job-cat-chip{
  color:#bfdbfe;background:rgba(59,130,246,.14);border:1px solid rgba(96,165,250,.28);
}
.job-diff{font-size:.65rem;font-weight:700;text-transform:uppercase;flex-shrink:0}
.job-diff-pill{border:1px solid transparent}
.job-diff-easy{color:#1f6b38;background:rgba(34,197,94,.14);border-color:rgba(74,222,128,.35)}
.job-diff-medium{color:#8a5a10;background:rgba(234,179,8,.16);border-color:rgba(234,179,8,.4)}
.job-diff-hard{color:#9a3d10;background:rgba(249,115,22,.16);border-color:rgba(249,115,22,.4)}
.job-diff-epic{color:#6b2f9a;background:rgba(168,85,247,.16);border-color:rgba(168,85,247,.4)}
.job-diff-legendary{color:#8a5a08;background:rgba(245,158,11,.18);border-color:rgba(245,158,11,.42)}
.job-progress-wrap{display:flex;align-items:center;gap:6px;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.job-progress-bar{flex:1 1 auto;min-width:0;max-width:100%;height:9px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}
.job-progress-fill{
  height:100%;max-width:100%;border-radius:999px;
  background:linear-gradient(90deg,#38bdf8,#6366f1 55%,#a78bfa);
  transition:width .4s ease;
}
.job-done .job-progress-fill{background:linear-gradient(90deg,#34d399,#22c55e)}
.job-progress-label{font-size:.68rem;font-weight:800;color:var(--muted);flex:0 0 auto;min-width:2.6rem;text-align:right;font-variant-numeric:tabular-nums}
.job-done .job-progress-label{color:#86efac}
.job-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}
.job-rewards{display:flex;flex-wrap:wrap;gap:6px;color:var(--txt);opacity:.92}
.job-status-chip{color:var(--muted);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.job-status-done{color:#86efac;background:rgba(34,197,94,.12);border-color:rgba(74,222,128,.28)}
.job-claim-btn{flex-shrink:0}
.jobs-footer{
  margin-top:2px;display:flex;justify-content:center;flex-shrink:0;
  padding-bottom:2px;
}
.jobs-footer .btn{box-shadow:0 8px 20px rgba(0,0,0,.4)}
@media (max-width:1280px){
  .jobs-pinboard{grid-template-columns:repeat(auto-fit,minmax(240px,280px));gap:24px 14px}
}
@media (max-width:980px){
  .jobs-pinboard{grid-template-columns:repeat(auto-fit,minmax(220px,260px));gap:22px 12px}
}
@media (max-width:720px){
  .jobs-pinboard{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px 10px}
  .job-parchment{max-width:none;min-height:320px;aspect-ratio:auto;margin-inline:auto}
  .jobs-board-title{font-size:clamp(1.6rem,9vw,2.2rem)}
}
@media (max-width:420px){
  .jobs-pinboard{grid-template-columns:minmax(0,1fr)}
}
/* PC-Web / PC-Scale: auto-fit + Pinboard voll scrollbar */
html.flix-rpg-web:not(.flix-rpg-mobile):not([data-abenteuer-apk="1"]) .jobs-pinboard,
html[data-desktop-web="1"] .jobs-pinboard,
html.flix-rpg-pc-scale:not([data-abenteuer-apk="1"]) .jobs-pinboard{
  grid-template-columns:repeat(auto-fit,minmax(260px,300px))!important;
  gap:28px 18px!important;
  justify-content:center!important;
  flex:1 1 0%!important;
  min-height:0!important;
  overflow-y:scroll!important;
  overflow-x:hidden!important;
  padding-bottom:max(64px,calc(env(safe-area-inset-bottom,0px) + 32px))!important;
}
html.flix-rpg-web:not(.flix-rpg-mobile):not([data-abenteuer-apk="1"]) .job-parchment,
html[data-desktop-web="1"] .job-parchment,
html.flix-rpg-pc-scale:not([data-abenteuer-apk="1"]) .job-parchment{
  max-width:300px!important;
  min-height:340px!important;
  aspect-ratio:auto!important;
  height:auto!important;
  overflow:visible!important;
  transform:none!important;
}
html.flix-rpg-web:not(.flix-rpg-mobile):not([data-abenteuer-apk="1"]) .job-parchment-body,
html[data-desktop-web="1"] .job-parchment-body,
html.flix-rpg-pc-scale:not([data-abenteuer-apk="1"]) .job-parchment-body{
  min-height:340px!important;
  height:auto!important;
  padding:28px 22px 78px!important;
  gap:10px!important;
  overflow:visible!important;
}
html.flix-rpg-web:not(.flix-rpg-mobile):not([data-abenteuer-apk="1"]) .jobs-board-shell,
html[data-desktop-web="1"] .jobs-board-shell,
html.flix-rpg-pc-scale:not([data-abenteuer-apk="1"]) .jobs-board-shell{
  overflow:hidden!important;
  min-height:0!important;
}
@media (prefers-reduced-motion:reduce){
  .jobs-board-shell,.job-parchment{animation:none;transition:none}
}

/* ══════════════════════════════════════════════════════════════
   PET-STATS-SCREEN
══════════════════════════════════════════════════════════════ */
#screen-pet-stats{padding:0 0 8px}
.pet-stats-body{display:flex;flex-direction:column;gap:10px;margin-top:0}
.pet-portrait{display:flex;justify-content:center;align-items:center;height:120px;background:var(--glass2);border-radius:var(--r);position:relative;overflow:hidden}
.pet-sprite-lg{width:96px;height:96px;object-fit:contain;image-rendering:pixelated}
.pet-emoji-lg{font-size:4rem;line-height:1;transition:opacity .3s}
.pet-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.stat-row{display:flex;justify-content:space-between;background:var(--glass2);border-radius:6px;padding:6px 10px;font-size:.8rem}
.pet-combat-status{display:flex;justify-content:center}
.pet-bonuses{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.pet-xp-bar-wrap{display:flex;flex-direction:column;gap:4px}
.chip.chip-success{background:rgba(74,222,128,.15);border-color:#4ade80;color:#4ade80}
.chip.chip-muted{background:rgba(255,255,255,.06);border-color:transparent;color:var(--muted)}
.chip.chip-warn{background:rgba(245,158,11,.14);border-color:rgba(245,158,11,.45);color:#fcd34d}
.chip.chip-danger{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.45);color:#fca5a5}

/* ══════════════════════════════════════════════════════════════
   EQUIPMENT PANEL
══════════════════════════════════════════════════════════════ */
.equip-slots-grid{display:grid;grid-template-columns:1fr;gap:6px;margin:8px 0;max-width:100%;min-width:0}
@media (min-width:380px){.equip-slots-grid{grid-template-columns:1fr 1fr}}
.equip-slot{display:flex;align-items:center;gap:6px;padding:8px;border-radius:8px;background:var(--glass2);border:1px solid var(--line);min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.equip-slot.equipped{border-color:var(--accent)}
.equip-slot.equipped:hover{border-color:rgba(94,196,255,.45);background:rgba(94,196,255,.07);box-shadow:0 0 10px rgba(94,196,255,.12)}
.equip-slot.empty{opacity:.5}
.equip-slot.empty:hover{opacity:.65;border-color:rgba(255,255,255,.18)}
.slot-icon{font-size:1.3rem;flex-shrink:0}
.slot-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:.75rem;overflow:hidden}
.slot-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.slot-info .tiny{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.equip-slot .btn{flex-shrink:0}
.equip-inventory{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}
.inv-item{display:flex;align-items:center;gap:8px;padding:6px;background:var(--glass2);border-radius:6px;font-size:.75rem}
.inv-item>span{font-size:1.2rem;flex-shrink:0}
.inv-item>div{flex:1}
.bonus-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.equip-set-bonus-block{margin:8px 0 10px}
.equip-set-list{display:flex;flex-direction:column;gap:6px}
.equip-set-row{padding:8px 10px;border-radius:10px;border:1px solid rgba(255,215,0,.18);background:rgba(0,0,0,.18)}
.equip-set-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px;flex-wrap:wrap}
.equip-set-tier{color:var(--muted);line-height:1.35;padding-left:2px}
.equip-set-tier+.equip-set-tier{margin-top:2px}
.equip-set-bonus-btn-wrap{display:inline-flex;align-items:center;flex-shrink:0;position:relative;z-index:2}
.equip-set-bonus-btn{
  font-size:.68rem!important;padding:5px 10px!important;min-height:30px!important;line-height:1.2!important;
  border:1px solid rgba(255,215,0,.42)!important;background:linear-gradient(180deg,rgba(255,215,0,.16),rgba(255,215,0,.06))!important;
  color:var(--gold)!important;box-shadow:0 2px 8px rgba(0,0,0,.18);touch-action:manipulation;pointer-events:auto!important;
}
.equip-set-bonus-btn:hover,.equip-set-bonus-btn:focus-visible{
  border-color:rgba(255,215,0,.65)!important;background:linear-gradient(180deg,rgba(255,215,0,.24),rgba(255,215,0,.1))!important;color:#fff6cc!important;outline:none;
}
.shop-card-headline .equip-set-bonus-btn-wrap{margin-left:2px}
.shop-card-headline .equip-set-bonus-btn{font-size:.58rem!important;padding:3px 7px!important;min-height:24px!important}
.craft-recipe-name .stat-hover-wrap.equip-set-icon-wrap,
.craft-recipe-name .equip-set-bonus-btn-wrap{display:inline-flex;vertical-align:middle;margin-left:4px}
.craft-recipe-name .chip-more-emoji{font-size:.85rem;line-height:1;padding:2px 4px;border-radius:6px;background:rgba(232,197,71,.12);border:1px solid rgba(232,197,71,.28)}
.shop-aside-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;margin:4px 0}
.shop-card-aside .equip-set-bonus-btn-wrap,.shop-card-aside .equip-set-bonus-btn{max-width:100%}
.craft-recipe-out .equip-set-bonus-btn{font-size:.62rem!important;padding:4px 8px!important;min-height:28px!important}
.craft-ingredient-wrap{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;max-width:100%}
.craft-ingredient-wrap .equip-set-bonus-btn{font-size:.58rem!important;padding:3px 7px!important;min-height:24px!important}
.craft-ingredient-wrap .equip-set-bonus-btn-wrap{flex:0 0 auto}
.equip-set-inline-block{margin:6px 0 2px;display:flex;flex-direction:column;gap:4px}
.equip-set-inline{padding:6px 8px;border-radius:8px;background:rgba(255,215,0,.06);border:1px solid rgba(255,215,0,.14)}
.equip-set-inline-head{display:block;font-size:.68rem;line-height:1.35;color:var(--gold)}
.equip-set-tier-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.equip-set-tier-pill{display:inline-block;font-size:.62rem;line-height:1.3;padding:2px 6px;border-radius:999px;background:rgba(0,0,0,.22);color:rgba(255,255,255,.82)}
.shop-card-main .equip-set-inline-block{margin:4px 0 0}
.craft-recipe-card .equip-set-inline-block{margin:4px 0 6px}
.craft-search-status-chip.is-pending{opacity:.75}
.craft-ingredient-row .equip-set-inline-block{flex:1 1 100%;margin:0 0 4px}
.chip-atk{background:rgba(255,100,100,.12);border-color:#ff6464;color:#ff9999}
.chip-def{background:rgba(100,150,255,.12);border-color:#6496ff;color:#99bbff}
.chip-hp {background:rgba(100,220,100,.12);border-color:#64dc64;color:#99ff99}

/* ══════════════════════════════════════════════════════════════
   MINIGAME REWARD-BANNER
══════════════════════════════════════════════════════════════ */
.minigame-reward-overlay{
  /* Über Arcade-Fullscreen (rpg-wwm-fs ~2147482000), unter Boot-Loading */
  position:fixed;inset:0;z-index:2147482500;display:flex;align-items:center;justify-content:center;
  padding:16px;background:rgba(6,8,18,.55);backdrop-filter:blur(2px);
  animation:rewardOverlayIn .22s ease both;
  pointer-events:auto;
}
.minigame-reward-banner{
  position:relative;top:auto;left:auto;transform:none;
  background:linear-gradient(135deg,#0f0c29ee,#302b63ee);
  border:2px solid var(--gold);border-radius:var(--r-lg);
  padding:24px 32px;text-align:center;z-index:1;max-width:min(92vw,360px);width:100%;
  box-shadow:0 0 32px rgba(251,191,36,.5);
  animation:rewardBannerIn .32s cubic-bezier(.2,1.1,.3,1) both;
}
@keyframes rewardOverlayIn{from{opacity:0}to{opacity:1}}
@keyframes rewardBannerIn{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}
.minigame-reward-banner h3{font-size:1.4rem;color:var(--gold);margin-bottom:8px}
.minigame-reward-items{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:10px 0}
.reward-item-chip{padding:6px 12px;background:var(--glass2);border:1px solid var(--gold-dim);border-radius:99px;font-size:.85rem}
.coin-counter{font-size:1.8rem;font-weight:700;color:var(--gold);animation:coinPop 0.4s ease}
@keyframes coinPop{0%{transform:scale(.7);opacity:.5}60%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}

/* ── Coop Story/Erkundung Tabs ── */
.coop-tabs{display:flex;gap:2px;border-bottom:2px solid var(--line);margin-bottom:8px}
.coop-world-toolbar{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-bottom:8px}
.coop-world-toolbar-title{font-size:.85rem;font-weight:600;color:var(--muted);margin-left:auto}
.coop-tab-btn{flex:1;padding:8px;background:transparent;border:none;color:var(--muted);font-size:.85rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}
.coop-tab-btn.active{color:var(--gold);border-bottom-color:var(--gold)}
.lobby-invite-banner{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;margin-bottom:8px;border:1px solid rgba(232,197,71,.28);background:rgba(232,197,71,.07);color:var(--gold)}
.lobby-invite-banner .hub-invite-line{flex:1 1 180px;font-size:.85rem}

/* ══════════════════════════════════════════════════════════════
   FLIX CLASH TCG — neues Kampfsystem
══════════════════════════════════════════════════════════════ */
.screen-wide{max-width:100%;width:100%}
.tcg-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-radius:16px;background:linear-gradient(135deg,rgba(20,24,48,.9),rgba(77,29,149,.45));border:1px solid rgba(232,197,71,.2);box-shadow:0 10px 26px rgba(0,0,0,.28)}
.tcg-stats{display:flex;gap:6px;flex-wrap:wrap}
.clash-match-area,.clash-lobby-area,.clash-collection-area{padding:8px 0}

/* Clash Karte */
.clash-card{
  position:relative;display:flex;flex-direction:column;width:104px;min-height:168px;
  border-radius:10px;border:2px solid var(--rc,#aaa);
  background:radial-gradient(circle at 50% 18%,var(--el-color,#fff3),transparent 38%),linear-gradient(160deg,#1a1a2e,#101522 65%,#070a12);
  cursor:pointer;transition:transform .15s,box-shadow .15s,opacity .15s,filter .15s;overflow:hidden;user-select:none;
  box-shadow:0 2px 8px rgba(0,0,0,.4),inset 0 0 0 1px rgba(255,255,255,.06);flex-shrink:0;overflow:visible
}
/* ── Karten-Frame-Bilder je Typ ──────────────────────────────────── */
.clash-card.card-type-melee{
  background-image:url('/activity/rpg/icons/card-frame-melee.png');
  background-size:100% 100%;background-repeat:no-repeat;
}
.clash-card.card-type-ranged{
  background-image:url('/activity/rpg/icons/card-frame-ranged.png');
  background-size:100% 100%;background-repeat:no-repeat;
}
.clash-card.card-type-spell{
  background-image:url('/activity/rpg/icons/card-frame-spell.png');
  background-size:100% 100%;background-repeat:no-repeat;
}
.clash-card.card-type-trap{
  background-image:url('/activity/rpg/icons/card-frame-trap.png');
  background-size:100% 100%;background-repeat:no-repeat;
}
/* Seltenheit → Border-Farbe + Glow (wirkt über das Frame-Bild) */
.clash-card.rarity-common   {border-color:#9ca3af}
.clash-card.rarity-uncommon {border-color:#4ade80;box-shadow:0 0 8px rgba(74,222,128,.4),0 2px 8px rgba(0,0,0,.5)}
.clash-card.rarity-rare     {border-color:#60a5fa;box-shadow:0 0 10px rgba(96,165,250,.5),0 2px 8px rgba(0,0,0,.5)}
.clash-card.rarity-epic     {border-color:#c084fc;box-shadow:0 0 14px rgba(192,132,252,.55),0 2px 8px rgba(0,0,0,.5)}
.clash-card.rarity-legendary{
  border-color:#fbbf24;
  box-shadow:0 0 18px rgba(251,191,36,.65),0 0 6px rgba(251,191,36,.4),0 2px 8px rgba(0,0,0,.5);
  animation:legendGlow 2.5s ease-in-out infinite alternate;
}
@keyframes legendGlow{
  from{box-shadow:0 0 14px rgba(251,191,36,.5),0 2px 8px rgba(0,0,0,.5)}
  to  {box-shadow:0 0 26px rgba(251,191,36,.85),0 0 10px rgba(255,140,0,.5),0 2px 8px rgba(0,0,0,.5)}
}
/* Text-Elemente lesbar über dem Frame-Hintergrund halten */
.clash-card.card-type-melee .clash-card-name,
.clash-card.card-type-ranged .clash-card-name,
.clash-card.card-type-spell .clash-card-name,
.clash-card.card-type-trap .clash-card-name{
  background:rgba(0,0,0,.55);border-radius:4px;padding:2px 6px;
}
.clash-card.card-type-melee .clash-card-stats,
.clash-card.card-type-ranged .clash-card-stats,
.clash-card.card-type-spell .clash-card-stats,
.clash-card.card-type-trap .clash-card-stats{
  background:rgba(0,0,0,.5);border-radius:0 0 6px 6px;
}
.clash-card.card-type-melee .clash-card-effect-preview,
.clash-card.card-type-ranged .clash-card-effect-preview,
.clash-card.card-type-spell .clash-card-effect-preview,
.clash-card.card-type-trap .clash-card-effect-preview{
  background:rgba(0,0,0,.42);border-radius:4px;padding:2px 5px;
}
.clash-card:hover,.clash-card.selected,.grid-unit:hover{transform:translateY(-4px) scale(1.03);z-index:20}
.clash-card:hover,.grid-unit:hover{box-shadow:0 10px 24px rgba(0,0,0,.45),0 0 0 1px rgba(94,196,255,.25)}
.tcg-hover-tip{
  position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%) translateY(6px);
  width:max(168px,110%);max-width:240px;padding:12px 14px;border-radius:12px;
  background:linear-gradient(165deg,rgba(16,18,30,.98),rgba(8,10,18,.99));
  border:1px solid rgba(232,197,71,.42);
  box-shadow:0 14px 36px rgba(0,0,0,.72),0 0 0 1px rgba(255,255,255,.04) inset;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .14s ease,transform .14s ease,visibility .14s;z-index:60;text-align:left;
}
.tcg-hover-title{display:block;font-size:.74rem;font-weight:800;color:#fcd34d;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid rgba(232,197,71,.2)}
.tcg-hover-body{margin:0;font-size:.64rem;line-height:1.45;color:rgba(255,255,255,.88)}
.tcg-hover-extra{display:block;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08);font-size:.6rem;color:rgba(180,190,210,.82);font-weight:600}
.clash-card:hover .tcg-hover-tip,.grid-unit:hover .tcg-hover-tip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.clash-hand{overflow:visible;padding-top:28px}
.clash-card.unplayable{opacity:.72;filter:grayscale(.25) saturate(.85);cursor:not-allowed;box-shadow:inset 0 0 0 1px rgba(239,68,68,.35)}
.clash-card.unplayable:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 20px rgba(239,68,68,.25),inset 0 0 0 1px rgba(239,68,68,.45)}
.clash-card.unplayable .clash-card-effect-preview{opacity:.75}
.clash-card-blocked-overlay{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px 6px 8px;background:linear-gradient(180deg,rgba(20,0,0,.12),rgba(80,10,10,.32));pointer-events:none;text-align:center}
.clash-card-blocked-banner{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:flex-start;gap:5px;padding:6px 7px;background:linear-gradient(180deg,rgba(127,29,29,.96),rgba(91,20,20,.92));border-bottom:1px solid rgba(252,165,165,.5);box-shadow:0 4px 14px rgba(0,0,0,.45);pointer-events:none}
.clash-blocked-icon{font-size:1.1rem;line-height:1;flex-shrink:0;filter:drop-shadow(0 0 6px rgba(239,68,68,.55));position:absolute;top:6px;left:50%;transform:translateX(-50%)}
.clash-card-blocked-overlay .clash-blocked-reason{font-size:.58rem;line-height:1.35;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.55);white-space:normal;word-break:break-word;max-width:92%;margin-top:10px;padding:8px 10px;border-radius:8px;background:linear-gradient(180deg,rgba(127,29,29,.96),rgba(91,20,20,.92));border:1px solid rgba(252,165,165,.55);box-shadow:0 4px 14px rgba(0,0,0,.45)}
.clash-card-blocked{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:linear-gradient(180deg,rgba(20,0,0,.15),rgba(80,10,10,.28));pointer-events:none;z-index:3;padding:4px;text-align:center}
.clash-card-shake{animation:tcgCardShake .45s ease}
@keyframes tcgCardShake{0%,100%{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}
.clash-card-trigger{display:inline-block;margin:0 4px 2px;padding:1px 5px;border-radius:999px;font-size:.48rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:#dbeafe;background:rgba(96,165,250,.16);border:1px solid rgba(96,165,250,.28);align-self:center}
.clash-card-effect-preview{padding:2px 5px 0;font-size:.5rem;line-height:1.25;color:rgba(226,232,240,.82);min-height:2.5em;max-height:2.5em;overflow:hidden;text-align:center}
.clash-card-tags{display:flex;flex-wrap:wrap;gap:2px;justify-content:center;padding:0 4px 3px}
.clash-card-tag,.tcg-synergy-tag{font-size:.46rem;font-weight:800;padding:1px 4px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06)}
.clash-card-tag.tone-green,.tcg-synergy-tag.tone-green{color:#86efac;border-color:rgba(74,222,128,.35);background:rgba(74,222,128,.12)}
.clash-card-tag.tone-purple,.tcg-synergy-tag.tone-purple{color:#d8b4fe;border-color:rgba(192,132,252,.35);background:rgba(192,132,252,.12)}
.clash-card-tag.tone-gold,.tcg-synergy-tag.tone-gold{color:#fde68a;border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.12)}
.clash-card-tag.tone-blue,.tcg-synergy-tag.tone-blue{color:#93c5fd;border-color:rgba(96,165,250,.35);background:rgba(96,165,250,.12)}
.clash-card-tag.tone-orange,.tcg-synergy-tag.tone-orange{color:#fdba74;border-color:rgba(251,146,60,.35);background:rgba(251,146,60,.12)}
.clash-cost.over-cost{color:#fca5a5;text-shadow:0 0 6px rgba(239,68,68,.35)}
.tcg-card-inspect{margin:6px 0 8px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(15,23,42,.72),rgba(30,20,60,.42));min-height:84px;transition:box-shadow .25s,border-color .25s}
.tcg-card-inspect.inspect-flash{border-color:rgba(239,68,68,.55);box-shadow:0 0 18px rgba(239,68,68,.22)}
.tcg-inspect-empty{text-align:center;padding:10px 0}
.tcg-inspect-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.tcg-inspect-emoji{font-size:1.6rem;line-height:1}
.tcg-inspect-trigger{display:inline-block;margin-bottom:6px;padding:2px 8px;border-radius:999px;font-size:.58rem;font-weight:800;color:#bfdbfe;background:rgba(59,130,246,.16);border:1px solid rgba(59,130,246,.28)}
.tcg-inspect-effect{font-size:.76rem;line-height:1.45;color:#e2e8f0;margin-bottom:4px}
.tcg-inspect-flavor{font-size:.66rem;line-height:1.35;color:var(--muted);font-style:italic;margin-bottom:6px;padding-left:8px;border-left:2px solid rgba(255,255,255,.12)}
.tcg-inspect-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}
.tcg-inspect-status{display:inline-block;padding:4px 8px;border-radius:8px;font-size:.68rem;font-weight:700}
.tcg-inspect-status.ok{color:#86efac;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.25)}
.tcg-inspect-status.blocked{color:#fca5a5;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.28)}
.clash-card:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 35%,rgba(255,255,255,.12) 45%,transparent 58%);opacity:.35;pointer-events:none}
.clash-card:hover,.clash-card.clash-card-pick:hover{transform:translateY(-6px) scale(1.04);box-shadow:0 8px 20px rgba(0,0,0,.6),0 0 12px var(--el-color,#fff3)}
.clash-card.clash-picked{transform:scale(0.9);opacity:.6}
.clash-card-top{display:flex;justify-content:space-between;padding:3px 5px;font-size:.6rem;font-weight:700}
.clash-card-lv{color:#ccc}
.clash-card-el{font-size:.85rem}
.clash-card-art-wrap{position:relative;height:52px;overflow:hidden;background:radial-gradient(circle,rgba(255,255,255,.12),rgba(255,255,255,.02))}
.clash-card-art{width:100%;height:100%;object-fit:cover}
.clash-card-emoji{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.8rem}
.clash-card-name{padding:2px 4px;font-size:.58rem;font-weight:600;text-align:center;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.clash-card-stats{display:flex;justify-content:space-around;padding:3px 4px;font-size:.6rem;font-weight:700}
.clash-atk{color:#ff6b6b}.clash-def{color:#6bb5ff}
.clash-card-rarity{height:3px;border-radius:0 0 6px 6px;background:var(--rc,#aaa)}
.clash-new-badge{position:absolute;top:4px;right:4px;background:#ff9800;color:#000;font-size:.5rem;font-weight:900;padding:1px 4px;border-radius:3px}

/* HP-Balken im Kampf */
.clash-match-area{border-radius:var(--r-sm);overflow:visible}
.clash-hp-row{display:flex;align-items:center;gap:8px;padding:10px 12px;background:linear-gradient(135deg,rgba(0,0,0,.42),rgba(60,20,100,.18));border:1px solid rgba(255,255,255,.08);border-radius:16px;margin-bottom:8px}
.clash-hp-block{flex:1;display:flex;align-items:center;gap:8px}
.clash-hp-meta{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.clash-avatar,.clash-avatar-fallback{width:36px;height:36px;border-radius:50%;flex-shrink:0;border:2px solid rgba(255,255,255,.25);object-fit:cover;background:rgba(0,0,0,.35)}
.clash-avatar-fallback{display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.clash-hp-lbl{font-size:.7rem;font-weight:700;color:var(--muted)}
.clash-hp-track{height:8px;background:rgba(255,255,255,.1);border-radius:4px;overflow:hidden}
.clash-hp-fill.player{background:linear-gradient(90deg,#ef4444,#ff6b6b);border-radius:4px;transition:width .4s}
.clash-hp-fill.ai{background:linear-gradient(90deg,#6b21a8,#a855f7);border-radius:4px;transition:width .4s}
.clash-hp-val{font-size:.65rem;color:var(--muted)}
.clash-round-badge{font-size:1.1rem;font-weight:700;color:var(--gold);text-align:center;white-space:nowrap}
.clash-log{padding:7px 10px;font-size:.68rem;color:var(--muted);border-radius:14px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.06);max-height:56px;overflow-y:auto}
.clash-log-line{margin:2px 0}
.clash-pick-label{text-align:center;font-size:.75rem;font-weight:600;color:var(--accent);padding:8px 0 4px}
.clash-hand{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:4px 0 8px}
.clash-hand.readonly .clash-card{pointer-events:none;opacity:.85}
.clash-surrender-btn{display:block;margin:0 auto;font-size:.7rem;color:var(--muted)}

/* Clash-Ergebnis */
.clash-result{border-radius:var(--r-sm);padding:8px;margin:6px 0;background:rgba(0,0,0,.25)}
.clash-result.result-win{border-left:3px solid #22c55e}
.clash-result.result-lose{border-left:3px solid #ef4444}
.clash-result.result-tie{border-left:3px solid #f59e0b}
.clash-vs-row{display:flex;align-items:center;gap:8px}
.clash-result-card{flex:1;text-align:center}
.clash-result-name{font-size:.7rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.clash-result-emoji{font-size:1.6rem}
.clash-result-stat{font-size:.68rem;color:var(--muted)}
.clash-result-dmg{font-size:.8rem;font-weight:700;color:var(--muted)}
.clash-result-dmg.dmg-win{color:#ef4444}
.clash-vs-badge{font-size:1.4rem;text-align:center;min-width:32px}

/* Lobby */
.clash-lobby{display:flex;flex-direction:column;align-items:center;gap:14px;padding:12px 0}
.tcg-lobby-hero{width:min(720px,100%);padding:14px;border-radius:18px;background:radial-gradient(circle at 15% 20%,rgba(232,197,71,.22),transparent 35%),linear-gradient(135deg,rgba(15,23,42,.88),rgba(88,28,135,.45));border:1px solid rgba(232,197,71,.22);box-shadow:0 14px 34px rgba(0,0,0,.35)}
.tcg-lobby-title{display:flex;gap:10px;align-items:center;justify-content:center;text-align:left}
.tcg-lobby-title strong{font-size:1.05rem;color:#f8e7a1;text-shadow:0 0 12px rgba(232,197,71,.25)}
.tcg-lobby-title p{margin:2px 0 0}
.tcg-lobby-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#a855f7);color:#111;font-weight:900;box-shadow:0 0 18px rgba(245,158,11,.35)}
.tcg-lobby-metrics{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:10px}
.clash-start-duel{background:linear-gradient(135deg,#f59e0b,#ef4444);color:#000;font-weight:900;font-size:1rem;border:none;border-radius:12px;padding:14px 32px;cursor:pointer;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 4px 16px #f59e0b44}
.clash-start-duel:hover{transform:scale(1.06);box-shadow:0 8px 24px #f59e0b66}
.clash-start-duel.disabled,.clash-start-duel:disabled{opacity:.45;filter:grayscale(.35);cursor:not-allowed;transform:none;box-shadow:none}
.clash-start-duel.disabled:hover,.clash-start-duel:disabled:hover{transform:none;box-shadow:none}
.clash-duel-icon{font-size:1.8rem}
.tcg-lobby-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.clash-booster-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.clash-pack{border-radius:12px;padding:14px 18px;cursor:pointer;text-align:center;transition:transform .15s,box-shadow .15s;min-width:90px;user-select:none;border:2px solid transparent}
.clash-pack:hover{transform:scale(1.08)}
.clash-pack{position:relative;overflow:hidden}
.clash-pack:after{content:"";position:absolute;inset:-40% -70%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent);transform:rotate(25deg);transition:transform .45s}
.clash-pack:hover:after{transform:translateX(80%) rotate(25deg)}
.clash-pack.disabled{opacity:.45;filter:grayscale(.4);cursor:not-allowed}
.starter-pack{background:linear-gradient(135deg,#047857,#34d399);border-color:#34d399;box-shadow:0 4px 14px #34d39944}
.standard-pack{background:linear-gradient(135deg,#1565c0,#42a5f5);border-color:#42a5f5;box-shadow:0 4px 14px #42a5f544}
.epic-pack{background:linear-gradient(135deg,#6a1b9a,#ce93d8);border-color:#ce93d8;box-shadow:0 4px 14px #ce93d844}
.clash-pack-symbol{font-size:2rem}
.clash-pack-name{font-size:.75rem;font-weight:700;margin:3px 0}
.clash-pack-cost{font-size:.7rem;color:rgba(255,255,255,.8)}

/* Sammlung */
.clash-collection-area{margin-top:8px}
.clash-collection-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.clash-mini{width:60px;display:flex;flex-direction:column;align-items:center;gap:2px;border-radius:6px;padding:5px 3px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:.65rem}
.clash-mini span:first-child{font-size:1.3rem}
.clash-mini-name{font-weight:600;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:56px}
.clash-mini-qty{color:var(--muted);font-size:.6rem}
.clash-mini.rarity-epic{border-color:#9c27b0;background:rgba(156,39,176,.12)}
.clash-mini.rarity-legendary{border-color:#ff9800;background:rgba(255,152,0,.12)}
.tcg-collection-summary{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border-radius:16px;margin-bottom:8px;background:linear-gradient(135deg,rgba(15,23,42,.75),rgba(30,41,59,.45));border:1px solid rgba(255,255,255,.08)}
.tcg-deck-overlay{position:fixed;inset:0;z-index:9100;background:radial-gradient(circle at 50% 10%,rgba(168,85,247,.18),transparent 35%),rgba(0,0,0,.78);display:flex;align-items:center;justify-content:center;padding:14px}
.tcg-deck-window{width:min(960px,100%);max-height:92vh;overflow:auto;border-radius:22px;padding:14px;background:linear-gradient(145deg,rgba(9,13,28,.96),rgba(31,18,55,.94));border:1px solid rgba(232,197,71,.22);box-shadow:0 24px 70px rgba(0,0,0,.65)}
.tcg-deck-window-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.tcg-deck-window h3{margin:0;color:#f8e7a1}
.tcg-deck-window p{margin:3px 0 0}
.tcg-deck-builder{padding:10px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06)}
.tcg-builder-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}
.tcg-builder-actions,.tcg-deck-tabs,.tcg-library-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.tcg-deck-grid{display:grid;grid-template-columns:minmax(180px,.8fr) 1.2fr;gap:10px}
.tcg-deck-list,.tcg-library-grid{display:flex;flex-direction:column;gap:6px;max-height:min(52vh,420px);overflow:auto;overscroll-behavior:contain;padding-right:3px}
.tcg-deck-row,.tcg-library-card{border:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.025));border-radius:12px;padding:8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}
.tcg-deck-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:6px;align-items:center;font-size:.72rem}
.tcg-library-card{display:flex;flex-direction:column;gap:5px}
.tcg-library-face{display:flex;align-items:center;gap:8px}
.tcg-library-emoji{font-size:1.35rem}
.tcg-library-trigger{display:inline-block;padding:2px 7px;border-radius:999px;font-size:.56rem;font-weight:800;color:#bfdbfe;background:rgba(59,130,246,.14);border:1px solid rgba(59,130,246,.24);align-self:flex-start}
.tcg-library-effect{font-size:.68rem;line-height:1.4;color:rgba(226,232,240,.86)}
.tcg-library-card.rarity-epic,.tcg-deck-row.rarity-epic{border-color:#9c27b088;background:rgba(156,39,176,.12)}
.tcg-library-card.rarity-legendary,.tcg-deck-row.rarity-legendary{border-color:#ff980088;background:rgba(255,152,0,.12)}

/* Pack-Reveal */
.pack-reveal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:9000;display:flex;align-items:center;justify-content:center;padding:12px}
.pack-reveal-box{padding:16px;border-radius:16px;max-width:380px;width:100%;text-align:center}
.pack-reveal-box h3{margin:0 0 12px;font-size:1.1rem}
.pack-reveal-cards{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:12px}
.pack-reveal-box.pack-single{max-width:460px}
.pack-reveal-stage{display:flex;justify-content:center;align-items:center;min-height:360px}
.pack-reveal-card-big.clash-card{width:230px;min-height:330px;border-radius:16px;border-width:3px;cursor:default;animation:packFlipIn .32s ease-out}
.pack-reveal-card-big .clash-card-top{font-size:.95rem;padding:8px 12px}
.pack-reveal-card-big .clash-card-emoji{font-size:5rem;min-height:130px}
.pack-reveal-card-big .clash-card-name{font-size:1rem;white-space:normal;padding:8px}
.pack-reveal-card-big .clash-card-stats{font-size:1rem}
.pack-reveal-card-big .clash-card-text{font-size:.78rem;max-height:4.5em;padding:0 10px 8px}
.pack-reveal-controls{display:flex;justify-content:center;gap:8px;margin-top:10px}
@keyframes packFlipIn{from{transform:rotateY(80deg) scale(.85);opacity:0}to{transform:rotateY(0) scale(1);opacity:1}}
@media(max-width:700px){.tcg-deck-grid{grid-template-columns:1fr}.pack-reveal-stage{min-height:310px}.pack-reveal-card-big.clash-card{width:200px;min-height:300px}.tcg-deck-window{max-height:94vh}.tcg-deck-window-head,.tcg-collection-summary{flex-direction:column;align-items:stretch}}

/* ══════════════════════════════════════════════════════════════
   MINIGAMES — Würfel, Memory, Angeln, Quiz (Epic Refresh)
══════════════════════════════════════════════════════════════ */
.arcade-hub-hero{
  position:relative;margin:8px 0 12px;padding:12px 14px;border-radius:var(--r-md);overflow:hidden;
  border:1px solid rgba(94,196,255,.22);
  background:linear-gradient(135deg,rgba(15,23,42,.92),rgba(30,58,95,.55) 55%,rgba(76,29,149,.35));
  box-shadow:0 8px 28px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.08)
}
.arcade-hub-glow{
  position:absolute;inset:-30% auto auto -10%;width:70%;height:140%;
  background:radial-gradient(ellipse at 30% 40%,rgba(94,196,255,.22),transparent 68%);
  pointer-events:none
}
.arcade-hub-tagline{margin:0 0 8px;font-size:.82rem;line-height:1.4;color:rgba(226,232,240,.88)}
.arcade-game-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.arcade-game-grid-epic{gap:10px}
.arcade-game-card{
  position:relative;border-radius:var(--r-sm);padding:12px;cursor:pointer;text-align:center;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;overflow:hidden
}
.arcade-game-card-epic{border:1px solid rgba(255,255,255,.1);min-height:132px}
.arcade-game-card:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 22px rgba(0,0,0,.38)}
.arcade-game-card.loading{opacity:.5;pointer-events:none}
.arcade-card-shine{
  position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.08) 50%,transparent 65%);
  transform:translateX(-120%);transition:transform .55s ease;pointer-events:none
}
.arcade-game-card:hover .arcade-card-shine{transform:translateX(120%)}
.arcade-card-fishing{background:linear-gradient(160deg,rgba(6,78,120,.55),rgba(3,40,80,.75))}
.arcade-card-dice{background:linear-gradient(160deg,rgba(120,53,15,.45),rgba(60,20,10,.72))}
.arcade-card-memory{background:linear-gradient(160deg,rgba(49,46,129,.5),rgba(30,27,75,.78))}
.arcade-card-quiz{background:linear-gradient(160deg,rgba(21,94,80,.45),rgba(15,60,50,.75))}
.arcade-card-done{opacity:.72;filter:saturate(.85)}
.arcade-daily-bar{
  height:4px;margin:8px 4px 0;border-radius:99px;background:rgba(0,0,0,.35);overflow:hidden
}
.arcade-daily-bar span{
  display:block;height:100%;border-radius:99px;
  background:linear-gradient(90deg,var(--accent),var(--gold));
  transition:width .35s ease
}
.arcade-game-emoji{font-size:1.9rem;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45))}
.arcade-game-name{font-weight:800;font-size:.88rem;margin:5px 0 2px;letter-spacing:.01em}
.arcade-game-desc{line-height:1.35}
.arcade-game-header{
  display:flex;align-items:center;gap:8px;padding:8px 0 10px;border-bottom:1px solid var(--line);margin-bottom:10px
}
.arcade-game-hdr-emoji{font-size:1.4rem}
.arcade-game-hdr-name{font-weight:700;flex:1}
.arcade-quit-btn{margin-left:auto;white-space:nowrap;font-weight:600}

/* Würfel — Taverne (echtes 3D; Schatten am Wrapper, nie filter am Cube) */


.dice-game-shell{position:relative;z-index:1;overflow:visible;padding-bottom:8px}
.dice-arena{
  position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;
  padding:12px 10px 18px;border-radius:var(--r-md);overflow:hidden;
  background:linear-gradient(180deg,rgba(40,22,8,.75),rgba(18,10,6,.9));
  border:1px solid rgba(251,191,36,.25);box-shadow:inset 0 0 40px rgba(0,0,0,.45);
  perspective:1200px;min-height:210px;touch-action:none;user-select:none;
  transform-style:preserve-3d
}
.dice-arena-epic{margin-bottom:6px}
.dice-arena-photo{min-height:280px;padding:14px 10px 22px;border-color:rgba(251,191,36,.32)}
.dice-tavern-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;
  display:block;z-index:0;pointer-events:none
}
.dice-tavern-veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(20,10,4,.28) 0%,rgba(12,6,2,.08) 32%,rgba(8,4,2,.05) 55%,rgba(6,3,1,.35) 100%),
    radial-gradient(ellipse at 50% 78%,rgba(0,0,0,.08),rgba(0,0,0,.4) 85%)
}
/* Kein Fake-Oval mehr — echter Holztisch aus dem Foto */
.dice-table-surface{
  position:absolute;left:8%;right:8%;bottom:8%;height:38%;z-index:1;pointer-events:none;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:none;
  opacity:0
}
.dice-tavern-glow{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(circle at 50% 16%,rgba(251,191,36,.16),transparent 50%)
}
.dice-impact-ring{
  position:absolute;left:50%;bottom:28%;z-index:3;width:12px;height:12px;
  transform:translate(-50%,50%);border-radius:50%;pointer-events:none;opacity:0;
  background:radial-gradient(circle,rgba(255,230,170,.45),transparent 70%)
}
.dice-table-field{
  position:relative;z-index:4;display:flex;align-items:flex-end;justify-content:center;gap:10px;
  min-height:132px;padding:8px 4px 10px;flex:1
}
.dice-land{text-align:center;flex:1;max-width:150px}
.dice-lbl{
  font-size:.68rem;font-weight:700;color:#fde68a;margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em;
  text-shadow:0 1px 4px rgba(0,0,0,.8)
}
.dice-vs{
  align-self:center;font-size:.85rem;font-weight:800;color:#fde68a;z-index:4;margin-bottom:18px;
  padding:5px 8px;border-radius:999px;border:1px solid rgba(251,191,36,.4);
  background:rgba(20,10,4,.55);backdrop-filter:blur(4px);box-shadow:0 4px 12px rgba(0,0,0,.35)
}
.dice-pair{
  display:flex;gap:8px;justify-content:center;align-items:flex-end;
  perspective:800px;position:relative;min-height:36px
}
.dice-3d{
  --dice-size:28px;
  width:var(--dice-size);height:var(--dice-size);flex-shrink:0;perspective:500px;position:relative;
  filter:drop-shadow(0 6px 4px rgba(0,0,0,.55));
  transform-origin:50% 100%;
  transition:opacity .12s ease;will-change:transform,filter
}
.dice-3d::after{
  content:"";position:absolute;left:50%;bottom:-5px;width:70%;height:7px;
  transform:translateX(-50%) scale(var(--shadow-scale,1));border-radius:50%;
  background:radial-gradient(ellipse,rgba(0,0,0,.5),transparent 72%);
  z-index:-1;pointer-events:none;opacity:var(--shadow-opacity,.9);
  transition:opacity .1s ease,transform .1s ease
}
.dice-3d.dice-cube-hidden{opacity:0;pointer-events:none;filter:none}
.dice-3d.dice-cube-hidden::after{opacity:0}
.dice-spin{width:100%;height:100%;transform-style:preserve-3d}
.dice-spin.is-tumbling{animation:diceCubeTumble .18s linear infinite}
.dice-cube{
  width:100%;height:100%;position:relative;transform-style:preserve-3d;
  transition:transform .38s cubic-bezier(.18,.85,.28,1)
}
.dice-side{
  position:absolute;inset:0;width:100%;height:100%;border-radius:4px;
  display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);
  padding:13%;backface-visibility:hidden;
  background:linear-gradient(145deg,#fff8e8 0%,#efe2c8 48%,#d9c8a4 100%);
  box-shadow:
    inset 0 0 0 1px rgba(90,60,20,.18),
    inset 0 -1px 3px rgba(80,50,10,.12),
    inset 0 1px 2px rgba(255,255,255,.35)
}
.dice-side-1{transform:rotateY(0deg) translateZ(calc(var(--dice-size) / 2))}
.dice-side-2{transform:rotateY(90deg) translateZ(calc(var(--dice-size) / 2))}
.dice-side-3{transform:rotateX(-90deg) translateZ(calc(var(--dice-size) / 2))}
.dice-side-4{transform:rotateX(90deg) translateZ(calc(var(--dice-size) / 2))}
.dice-side-5{transform:rotateY(-90deg) translateZ(calc(var(--dice-size) / 2))}
.dice-side-6{transform:rotateY(180deg) translateZ(calc(var(--dice-size) / 2))}
.dice-pip{width:22%;height:22%;border-radius:50%;align-self:center;justify-self:center;background:transparent}
.dice-pip.on{background:#2a1a0c;box-shadow:inset 0 -1px 0 rgba(0,0,0,.3)}

/* Realistischer Wurf: von unterhalb des Fensters → Bogen → Aufprall → Rollen */
.dice-3d.dice-cube-flying{
  opacity:1;z-index:7;
  animation:diceThrowReal 1.45s cubic-bezier(.2,.55,.2,1) both;
  animation-delay:var(--fly-delay,0ms)
}
.dice-3d.dice-cube-physics{
  opacity:1;z-index:7;animation:none!important;
  will-change:transform,filter
}
.dice-3d.dice-cube-physics .dice-spin{animation:none!important}
.dice-3d.dice-cube-settled{animation:diceSoftSettle .35s cubic-bezier(.2,1.1,.3,1) both}
.dice-phase-rolling .dice-table-surface{animation:diceTableRumbleSoft 1.2s ease-out}
.dice-phase-throw .dice-table-surface{animation:diceTableAwait .2s linear}
.dice-phase-impact{animation:diceArenaKick .38s ease-out}
.dice-phase-impact .dice-table-surface{animation:diceTableHit .38s ease-out}
.dice-phase-impact .dice-impact-ring{animation:diceImpactBloom .45s ease-out forwards}
.dice-reveal-phase .dice-tavern-glow{animation:diceGlowPulse .55s ease}

@keyframes diceThrowReal{
  /* Start: unterhalb des Arena-Fensters, groß (nah) */
  0%{
    transform:translate3d(var(--fly-x,0), 210px, 120px) scale(2.55) rotate(var(--fly-rot,-18deg));
    filter:drop-shadow(0 28px 18px rgba(0,0,0,.28));
    --shadow-opacity:0;--shadow-scale:.4;
    opacity:0
  }
  8%{opacity:1}
  /* Hochfliegen in den Rahmen */
  22%{
    transform:translate3d(calc(var(--fly-x,0) * .55), 40px, 70px) scale(1.85) rotate(calc(var(--fly-rot,0deg) * -.6));
    filter:drop-shadow(0 24px 16px rgba(0,0,0,.35));
    --shadow-opacity:.25;--shadow-scale:.55
  }
  /* Scheitelpunkt */
  38%{
    transform:translate3d(calc(var(--fly-x,0) * .25), -48px, 28px) scale(1.25) rotate(calc(var(--fly-rot,0deg) * .4));
    filter:drop-shadow(0 20px 14px rgba(0,0,0,.42));
    --shadow-opacity:.35;--shadow-scale:.7
  }
  /* Fallen auf Tisch */
  52%{
    transform:translate3d(calc(var(--slide-x,0) * .2), 10px, 4px) scale(.95) rotate(8deg);
    filter:drop-shadow(0 8px 6px rgba(0,0,0,.5));
    --shadow-opacity:.7;--shadow-scale:1.05
  }
  /* 1. Aufprall — Stauchen */
  58%{
    transform:translate3d(calc(var(--slide-x,0) * .35), 9px, 0) scale(1.05, .72) rotate(-6deg);
    filter:drop-shadow(0 2px 2px rgba(0,0,0,.55));
    --shadow-opacity:1;--shadow-scale:1.35
  }
  /* 1. Absprung */
  68%{
    transform:translate3d(calc(var(--slide-x,0) * .55), -14px, 0) scale(.9) rotate(10deg);
    filter:drop-shadow(0 12px 8px rgba(0,0,0,.45));
    --shadow-opacity:.55;--shadow-scale:.85
  }
  /* 2. Aufprall + Rutschen */
  78%{
    transform:translate3d(calc(var(--slide-x,0) * .78), 5px, 0) scale(1.02, .82) rotate(-4deg);
    filter:drop-shadow(0 3px 2px rgba(0,0,0,.5));
    --shadow-opacity:.95;--shadow-scale:1.2
  }
  /* Letzter Mini-Bounce + Ausrollen */
  88%{
    transform:translate3d(calc(var(--slide-x,0) * .92), -4px, 0) scale(.96) rotate(3deg);
    --shadow-opacity:.75;--shadow-scale:1
  }
  100%{
    transform:translate3d(var(--slide-x,0), 0, 0) scale(1) rotate(0deg);
    filter:drop-shadow(0 6px 4px rgba(0,0,0,.55));
    --shadow-opacity:.9;--shadow-scale:1;
    opacity:1
  }
}
@keyframes diceTableSpin{
  0%{transform:rotateX(55deg) rotateY(-120deg) rotateZ(30deg)}
  40%{transform:rotateX(-18deg) rotateY(70deg) rotateZ(-14deg)}
  70%{transform:rotateX(10deg) rotateY(-25deg) rotateZ(8deg)}
  100%{transform:rotateX(0) rotateY(0) rotateZ(0)}
}
@keyframes diceTableSlide{
  0%{transform:translate3d(var(--slide-x,0), 0, 0) rotate(-5deg)}
  30%{transform:translate3d(calc(var(--slide-x,0) * 1.35), -4px, 0) rotate(6deg)}
  58%{transform:translate3d(calc(var(--slide-x,0) * 1.55), 2px, 0) rotate(-3deg)}
  80%{transform:translate3d(calc(var(--slide-x,0) * 1.62), -1px, 0) rotate(2deg)}
  100%{transform:translate3d(calc(var(--slide-x,0) * 1.65), 0, 0) rotate(0deg)}
}
@keyframes diceTableRumbleSoft{
  0%,100%{transform:translateX(0)}
  20%{transform:translateX(-1px)}
  40%{transform:translateX(1.5px)}
  60%{transform:translateX(-1px)}
  80%{transform:translateX(.5px)}
}
@keyframes diceSoftSettle{0%{transform:translateY(-2px) scale(1.04)}100%{transform:translateY(0) scale(1)}}
@keyframes diceTableAwait{to{opacity:1}}
@keyframes diceTableHit{
  0%{transform:scaleY(1) translateY(0)}
  25%{transform:scaleY(.96) translateY(3px)}
  55%{transform:scaleY(1.02) translateY(-1px)}
  100%{transform:scaleY(1) translateY(0)}
}
@keyframes diceArenaKick{
  0%{transform:translateY(0)}
  20%{transform:translateY(4px)}
  45%{transform:translateY(-1px)}
  100%{transform:translateY(0)}
}
@keyframes diceImpactBloom{
  0%{width:16px;height:10px;opacity:0}
  30%{width:110px;height:36px;opacity:.55}
  100%{width:160px;height:48px;opacity:0}
}
@keyframes diceGlowPulse{0%,100%{opacity:.85}50%{opacity:1}}
@keyframes diceCubeTumble{
  0%{transform:rotateX(0deg) rotateY(0deg) rotateZ(0deg)}
  25%{transform:rotateX(120deg) rotateY(170deg) rotateZ(50deg)}
  50%{transform:rotateX(240deg) rotateY(340deg) rotateZ(100deg)}
  75%{transform:rotateX(360deg) rotateY(510deg) rotateZ(150deg)}
  100%{transform:rotateX(480deg) rotateY(680deg) rotateZ(200deg)}
}
@keyframes diceResultPop{0%{transform:translateY(8px) scale(.92);opacity:0}100%{transform:translateY(0) scale(1);opacity:1}}
@keyframes diceBigPop{
  0%{transform:translate(-50%,-42%) scale(.6);opacity:0}
  55%{transform:translate(-50%,-50%) scale(1.08);opacity:1}
  100%{transform:translate(-50%,-50%) scale(1);opacity:1}
}
@keyframes diceDockPeek{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}

.dice-big-result{
  position:absolute;left:50%;top:40%;z-index:10;transform:translate(-50%,-50%) scale(.9);
  text-align:center;pointer-events:none;opacity:0;visibility:hidden;
  padding:12px 18px;border-radius:16px;
  background:linear-gradient(160deg,rgba(20,10,4,.82),rgba(10,5,2,.72));
  border:1px solid rgba(251,191,36,.4);box-shadow:0 12px 32px rgba(0,0,0,.55);
  backdrop-filter:blur(6px);min-width:160px
}
.dice-big-result.is-visible{visibility:visible;animation:diceBigPop .55s cubic-bezier(.2,1.15,.3,1) forwards}
.dice-big-score{
  display:flex;align-items:baseline;justify-content:center;gap:6px;
  font-weight:900;line-height:1;letter-spacing:.02em;
  text-shadow:0 2px 10px rgba(0,0,0,.75)
}
.dice-big-num{font-size:2.75rem;color:#fff8e8}
.dice-big-colon{font-size:2rem;color:#fde68a;opacity:.85}
.dice-big-score.is-win .dice-big-num:first-child{color:#86efac}
.dice-big-score.is-loss .dice-big-num:last-child{color:#fca5a5}
.dice-big-score.is-push .dice-big-num{color:#fde68a}
.dice-big-label{
  margin-top:6px;font-size:.95rem;font-weight:800;color:#fde68a;
  text-transform:uppercase;letter-spacing:.04em
}

/* Swipe-Würfel: am unteren Bildschirmrand, teils außerhalb */
body.dice-swipe-active{padding-bottom:0}
.dice-swipe-dock{
  position:fixed;left:50%;bottom:0;z-index:120;
  transform:translateX(-50%);
  width:min(100vw, 440px);
  padding:0 10px calc(env(safe-area-inset-bottom, 0px) + 2px);
  pointer-events:auto;touch-action:none;cursor:grab;
  -webkit-user-select:none;user-select:none
}
.dice-swipe-dock:active{cursor:grabbing}
.dice-swipe-dock.dice-swipe-armed .dice-swipe-hint{color:#86efac}
.dice-swipe-dock.dice-swipe-thrown{
  opacity:0;pointer-events:none;transform:translateX(-50%) translateY(24px);
  transition:opacity .2s ease,transform .25s ease
}
.dice-swipe-hint{
  text-align:center;font-size:.68rem;font-weight:800;color:#fde68a;
  text-shadow:0 1px 6px rgba(0,0,0,.85);margin-bottom:2px;
  animation:diceDockPeek 1.4s ease-in-out infinite;pointer-events:none
}
.dice-swipe-hand{
  display:flex;justify-content:center;gap:12px;
  /* Großteil unterhalb des sichtbaren Rands */
  --dice-swipe-base:58%;
  transform:translateY(var(--dice-swipe-base));
  padding-bottom:8px;
  transition:transform .08s linear;will-change:transform;
  filter:drop-shadow(0 -4px 12px rgba(0,0,0,.45))
}
.dice-swipe-hand.dice-swipe-pulling{transition:none}
.dice-swipe-dock.dice-swipe-armed .dice-swipe-hand{
  filter:drop-shadow(0 0 14px rgba(134,239,172,.35)) drop-shadow(0 -4px 12px rgba(0,0,0,.45))
}
.dice-swipe-hand .dice-3d{
  --dice-size:44px;
  filter:drop-shadow(0 12px 10px rgba(0,0,0,.55))
}
.dice-swipe-hand .dice-3d:nth-child(1){transform:rotate(-10deg) translateY(6px)}
.dice-swipe-hand .dice-3d:nth-child(2){transform:rotate(5deg) translateY(2px)}
.dice-swipe-hand .dice-3d:nth-child(3){transform:rotate(-4deg) translateY(4px)}
.dice-swipe-hand .dice-3d:nth-child(4){transform:rotate(9deg) translateY(7px)}
body.dice-throwing .dice-swipe-dock{pointer-events:none}

.dice-result-msg{text-align:center;font-size:1rem;font-weight:700;padding:8px;margin-bottom:8px;border-radius:var(--r-sm)}
.dice-result-win{color:#86efac;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.35)}
.dice-result-loss{color:#fca5a5;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3)}
.dice-result-push{color:var(--muted);background:rgba(255,255,255,.05)}
.dice-loot-line{display:block;margin-top:6px;font-size:.78rem;font-weight:600;line-height:1.35;color:var(--text,#e8e4d8);opacity:.95}
.dice-bet{text-align:center;font-size:.8rem;color:var(--muted);margin:8px 0 72px}
.dice-result-reveal{animation:diceResultPop .45s cubic-bezier(.2,1.2,.3,1) both}

/* Memory */
.memory-info{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;padding:4px 0 10px}
.memory-info .chip-warn{color:#fca5a5;border-color:rgba(239,68,68,.45);background:rgba(239,68,68,.12)}
.memory-grid{
  display:grid;
  grid-template-columns:repeat(var(--mem-cols,8),minmax(0,1fr));
  gap:8px;
  padding:6px 0;
  justify-content:center;
  align-content:center;
  justify-items:center;
  width:100%
}
.memory-grid-epic{
  gap:8px;padding:10px;border-radius:var(--r-md);
  background:linear-gradient(160deg,rgba(30,27,75,.55),rgba(15,15,35,.85));
  border:1px solid rgba(167,139,250,.25);box-shadow:inset 0 0 24px rgba(0,0,0,.35)
}
.memory-grid-photos{gap:8px}
.mem-card{
  position:relative;
  width:min(100%,clamp(56px,calc((100vw - 96px) / var(--mem-cols,8) - 8px),110px));
  aspect-ratio:5 / 7;height:auto;max-width:100%;
  cursor:pointer;border-radius:12px;
  transition:transform .2s ease,box-shadow .2s ease;user-select:none;
  box-shadow:0 6px 16px rgba(0,0,0,.35);
  /* Kein 3D-Flip: overflow:auto im Grid bricht preserve-3d — Face via Opacity */
  transform-style:flat;
}
@media(min-width:900px){
  .mem-card{width:min(100%,clamp(64px,calc((100vw - 120px) / var(--mem-cols,8) - 10px),118px))}
}
.mem-card:not(.mem-matched):not(.mem-flipped):hover{
  box-shadow:0 0 16px rgba(212,168,92,.4),0 8px 18px rgba(0,0,0,.4);
  transform:translateY(-2px)
}
.mem-card.mem-busy{pointer-events:none}
.mem-front,.mem-back{
  position:absolute;inset:0;border-radius:12px;
  display:flex;align-items:center;justify-content:center;font-size:1.55rem;overflow:hidden;
  transition:opacity .22s ease,transform .22s ease;
}
/* Zugedeckt: Rückseite sichtbar */
.mem-back{
  background:#0f172a;border:2px solid rgba(212,168,92,.4);
  box-shadow:inset 0 0 12px rgba(0,0,0,.35);
  opacity:1;z-index:2;transform:none;visibility:visible;
}
.mem-front{
  background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.04));
  border:2px solid rgba(255,255,255,.18);
  opacity:0;z-index:1;transform:scale(.96);pointer-events:none;visibility:hidden;
}
/* Aufgedeckt / gefunden: Vorderseite dauerhaft sichtbar (!important gegen FS-Overrides) */
.mem-card.mem-flipped .mem-back,
.mem-card.mem-matched .mem-back,
.mem-card[data-mem-matched="1"] .mem-back{
  opacity:0!important;z-index:1;pointer-events:none;visibility:hidden!important;transform:none;
}
.mem-card.mem-flipped .mem-front,
.mem-card.mem-matched .mem-front,
.mem-card[data-mem-matched="1"] .mem-front{
  opacity:1!important;z-index:3;transform:none;pointer-events:none;visibility:visible!important;
}
.mem-face-img,.mem-back-img{
  width:100%;height:100%;object-fit:cover;object-position:center;display:block;pointer-events:none
}
.mem-face-emoji{font-size:clamp(1.6rem,4vw,2.2rem);line-height:1}
.mem-card.mem-matched{
  box-shadow:0 0 0 2px rgba(34,197,94,.55),0 0 16px rgba(34,197,94,.3);
  cursor:default;
}
.mem-card.mem-matched .mem-front{
  border-color:#22c55e;
  box-shadow:0 0 12px rgba(34,197,94,.35);
  animation:memMatchPop .35s ease
}
.mem-card.mem-matched .mem-face-img{filter:saturate(1.15) brightness(1.05)}
@keyframes memMatchPop{0%{transform:scale(1)}50%{transform:scale(1.06)}100%{transform:scale(1)}}

/* Angeln — mystischer See */
.fishing-reel-game{
  display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:var(--r-md);
  border:1px solid rgba(94,196,255,.18);background:linear-gradient(180deg,rgba(8,20,40,.75),rgba(4,12,28,.92))
}
.fishing-reel-epic{box-shadow:0 10px 32px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.06)}
.fishing-scene{
  position:relative;height:190px;border-radius:var(--r-sm);overflow:hidden;
  border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 -20px 40px rgba(0,0,0,.35)
}
.fishing-scene-epic{height:200px}
.fishing-scene-photo{height:220px;background:#071018}
.fishing-scene-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.fishing-scene-veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(4,12,24,.15) 0%,rgba(4,12,24,.08) 45%,rgba(2,18,36,.55) 100%)
}
.fishing-scene-photo .fishing-bobber{
  position:absolute;left:58%;top:58%;z-index:4;width:14px;height:14px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fecaca,#ef4444 55%,#7f1d1d);
  box-shadow:0 0 0 2px rgba(255,255,255,.35),0 4px 10px rgba(0,0,0,.45);
  transform:translate(-50%,-50%);font-size:0;line-height:0
}
.fishing-scene-photo .fishing-bobber.bobber-wait{animation:bobberBob 1.4s ease-in-out infinite}
.fishing-scene-photo .fishing-bobber.bobber-bite{animation:bobberBite .35s ease-in-out infinite;filter:drop-shadow(0 0 14px #ffd54f)}
.fishing-scene-photo .fishing-fish-shadow{z-index:3;bottom:18%;opacity:.55}
.fishing-stars{
  position:absolute;inset:0 0 55%;z-index:1;pointer-events:none;
  background-image:
    radial-gradient(1px 1px at 12% 22%,rgba(255,255,255,.85),transparent),
    radial-gradient(1px 1px at 28% 38%,rgba(255,255,255,.65),transparent),
    radial-gradient(1.5px 1.5px at 44% 18%,rgba(255,255,255,.9),transparent),
    radial-gradient(1px 1px at 62% 32%,rgba(255,255,255,.7),transparent),
    radial-gradient(1px 1px at 78% 14%,rgba(255,255,255,.8),transparent),
    radial-gradient(1px 1px at 88% 42%,rgba(255,255,255,.55),transparent);
  animation:starTwinkle 4s ease-in-out infinite alternate
}
.fishing-moon{
  position:absolute;top:10px;right:14%;z-index:2;font-size:1.6rem;opacity:.92;
  filter:drop-shadow(0 0 12px rgba(255,236,179,.65));animation:moonFloat 5s ease-in-out infinite
}
.fishing-mountains{
  position:absolute;bottom:42%;left:0;right:0;height:38%;z-index:2;pointer-events:none;
  background:
    linear-gradient(165deg,transparent 40%,rgba(15,23,42,.95) 40%) 0 100%/34% 100% no-repeat,
    linear-gradient(195deg,transparent 35%,rgba(20,30,50,.92) 35%) 28% 100%/38% 100% no-repeat,
    linear-gradient(175deg,transparent 45%,rgba(10,18,35,.98) 45%) 58% 100%/42% 100% no-repeat
}
.fishing-sky{
  position:absolute;inset:0 0 45%;z-index:0;
  background:linear-gradient(180deg,#0a1020 0%,#1a2744 45%,#2d4a7a 100%)
}
.fishing-lake{
  position:absolute;bottom:0;left:0;right:0;height:58%;z-index:3;
  background:linear-gradient(180deg,rgba(14,116,180,.45),rgba(3,59,122,.95) 55%,rgba(2,40,85,.98));
  animation:waveSway 3.5s ease-in-out infinite
}
.fishing-ripple{
  position:absolute;left:50%;top:38%;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;
  border:2px solid rgba(255,255,255,.25);opacity:0;animation:fishRipple 3s ease-out infinite
}
.fishing-ripple.r2{animation-delay:1.4s;width:90px;height:90px;margin:-45px 0 0 -45px}
.fishing-fish-shadow{
  position:absolute;left:18%;bottom:22%;width:48px;height:14px;border-radius:50%;
  background:rgba(0,0,0,.35);transform:scaleX(.8);opacity:0;transition:opacity .3s ease,transform .3s ease
}
.fishing-fish-shadow.fish-shadow-active{opacity:1;animation:fishShadowSwim 2.2s ease-in-out infinite}
.fishing-bobber{
  position:absolute;left:50%;bottom:38%;z-index:5;transform:translateX(-50%);
  font-size:1.9rem;transition:transform .25s ease,filter .25s ease;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.55))
}
.fishing-bobber.bobber-wait{animation:bobberBob 1.2s ease-in-out infinite}
.fishing-bobber.bobber-bite{animation:bobberBite .35s ease-in-out infinite;filter:drop-shadow(0 0 14px #ffd54f)}
.fishing-bobber.bobber-fight{animation:bobberFight .28s ease-in-out infinite;filter:drop-shadow(0 0 16px rgba(56,189,248,.85))}
.fishing-bobber.bobber-catch{animation:fishCatch .45s ease forwards}
.fishing-scene-bite .fishing-lake{filter:brightness(1.12) saturate(1.15)}
.fishing-scene-bite.fishing-scene-photo{animation:fishingBitePulse .7s ease}
.fishing-scene-fight.fishing-scene-photo{box-shadow:inset 0 0 40px rgba(14,165,233,.25)}
.fishing-scene-catch .fishing-scene,.fishing-scene-catch.fishing-scene{animation:catchFlash .5s ease}
.fishing-shake{animation:fishingShake .42s ease}
.fishing-bite-banner{
  position:absolute;left:50%;top:12px;z-index:7;transform:translateX(-50%);
  min-width:min(86%,240px);padding:10px 14px;border-radius:14px;text-align:center;
  background:linear-gradient(165deg,rgba(8,18,32,.88),rgba(4,10,20,.78));
  border:1px solid rgba(125,211,252,.45);box-shadow:0 10px 28px rgba(0,0,0,.45);
  backdrop-filter:blur(8px);animation:fishBiteIn .35s cubic-bezier(.2,1.1,.3,1) both
}
.fishing-bite-banner.fish-rarity-uncommon{border-color:rgba(74,222,128,.55)}
.fishing-bite-banner.fish-rarity-rare{border-color:rgba(96,165,250,.6)}
.fishing-bite-banner.fish-rarity-special{border-color:rgba(192,132,252,.6)}
.fishing-bite-banner.fish-rarity-legendary{border-color:rgba(251,191,36,.7);box-shadow:0 0 22px rgba(251,191,36,.25)}
.fishing-bite-banner.is-caught{border-color:rgba(134,239,172,.7)}
.fishing-bite-title{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7dd3fc}
.fishing-bite-name{font-size:1.05rem;font-weight:900;color:#f8fafc;margin-top:2px;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.fishing-bite-sub{font-size:.68rem;color:#cbd5e1;margin-top:3px;line-height:1.3}
.fishing-fish-preview{
  position:absolute;right:8px;bottom:10px;z-index:6;display:flex;align-items:center;gap:8px;
  padding:7px 11px;border-radius:999px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(6px)
}
.fish-preview-meta{display:flex;flex-direction:column;align-items:flex-start;gap:1px}
.fish-preview-emoji{font-size:1.45rem}
.fish-preview-name{font-size:.72rem;font-weight:800;line-height:1.1}
.fish-preview-rarity{font-size:.62rem;font-weight:600;opacity:.85;text-transform:uppercase;letter-spacing:.04em}
.fish-rarity-common{border-color:rgba(156,163,175,.45)}
.fish-rarity-uncommon{border-color:rgba(74,222,128,.45);box-shadow:0 0 10px rgba(74,222,128,.2)}
.fish-rarity-rare{border-color:rgba(96,165,250,.5);box-shadow:0 0 12px rgba(96,165,250,.25)}
.fish-rarity-special{border-color:rgba(192,132,252,.55);box-shadow:0 0 14px rgba(192,132,252,.3)}
.fish-rarity-legendary{border-color:rgba(251,191,36,.65);box-shadow:0 0 16px rgba(251,191,36,.35);animation:legendGlow 2s ease-in-out infinite alternate}
.fishing-status{min-height:2.6em;text-align:center;font-size:.84rem;font-weight:600;line-height:1.35;padding:0 6px}
.fishing-timing{display:flex;flex-direction:column;gap:6px}
.fishing-bar-track{
  position:relative;height:32px;border-radius:999px;background:rgba(0,0,0,.45);
  border:1px solid rgba(255,255,255,.14);overflow:hidden;box-shadow:inset 0 2px 8px rgba(0,0,0,.35)
}
.fishing-bar-sweet{
  position:absolute;top:4px;bottom:4px;border-radius:999px;
  background:linear-gradient(90deg,rgba(62,207,114,.35),rgba(62,207,114,.85));
  box-shadow:inset 0 0 0 1px rgba(62,207,114,.55),0 0 12px rgba(62,207,114,.35)
}
.fish-sweet-uncommon{background:linear-gradient(90deg,rgba(74,222,128,.3),rgba(34,197,94,.8));box-shadow:inset 0 0 0 1px rgba(74,222,128,.5),0 0 10px rgba(74,222,128,.3)}
.fish-sweet-rare{background:linear-gradient(90deg,rgba(96,165,250,.35),rgba(59,130,246,.85));box-shadow:inset 0 0 0 1px rgba(96,165,250,.55),0 0 12px rgba(96,165,250,.35)}
.fish-sweet-special{background:linear-gradient(90deg,rgba(192,132,252,.35),rgba(168,85,247,.85));box-shadow:inset 0 0 0 1px rgba(192,132,252,.55),0 0 14px rgba(192,132,252,.4)}
.fish-sweet-legendary{background:linear-gradient(90deg,rgba(251,191,36,.35),rgba(245,158,11,.9));box-shadow:inset 0 0 0 1px rgba(251,191,36,.6),0 0 16px rgba(251,191,36,.45)}
.fishing-bar-cursor{
  position:absolute;top:3px;width:7px;height:calc(100% - 6px);margin-left:-3.5px;border-radius:4px;
  background:#fff;box-shadow:0 0 12px rgba(255,255,255,.9),0 0 4px rgba(94,196,255,.8)
}
.fishing-bar-hint{text-align:center}

/* Einhol-Kampf — Wasser-Säule + Rollschnur */
.fishing-scene-splash{
  position:absolute;left:50%;top:52%;z-index:4;width:120px;height:120px;
  transform:translate(-50%,-50%);pointer-events:none;
  background:
    radial-gradient(circle,rgba(125,211,252,.35) 0%,transparent 55%),
    radial-gradient(circle at 40% 60%,rgba(255,255,255,.2),transparent 40%);
  animation:fishSplashPulse 1.1s ease-in-out infinite
}
.fishing-fight{display:flex;flex-direction:column;gap:10px;padding:4px 0 2px}
.fishing-fight-stage{display:flex;align-items:center;justify-content:center;gap:18px}
.fishing-fight-water{
  position:relative;width:72px;height:168px;border-radius:22px;overflow:hidden;
  background:
    linear-gradient(180deg,rgba(56,189,248,.22) 0%,rgba(7,89,133,.55) 42%,rgba(2,28,48,.92) 100%);
  border:1px solid rgba(125,211,252,.4);
  box-shadow:
    inset 0 0 24px rgba(8,47,73,.65),
    inset 0 1px 0 rgba(255,255,255,.18),
    0 12px 28px rgba(0,0,0,.4)
}
.fishing-fight-water.in-zone{
  border-color:rgba(74,222,128,.75);
  box-shadow:
    inset 0 0 28px rgba(34,197,94,.22),
    inset 0 1px 0 rgba(255,255,255,.2),
    0 0 22px rgba(34,197,94,.28)
}
.fishing-fight-caustics{
  position:absolute;inset:-20%;opacity:.35;pointer-events:none;
  background:
    radial-gradient(ellipse at 30% 20%,rgba(255,255,255,.35),transparent 42%),
    radial-gradient(ellipse at 70% 60%,rgba(125,211,252,.3),transparent 45%);
  animation:fishCaustics 3.5s ease-in-out infinite alternate
}
.fishing-fight-bubbles{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.fishing-fight-bubbles span{
  position:absolute;bottom:-8px;width:6px;height:6px;border-radius:50%;
  background:rgba(255,255,255,.35);animation:fishBubble 2.8s linear infinite
}
.fishing-fight-bubbles span:nth-child(1){left:18%;animation-duration:2.4s}
.fishing-fight-bubbles span:nth-child(2){left:42%;width:4px;height:4px;animation-duration:3.1s;animation-delay:.4s}
.fishing-fight-bubbles span:nth-child(3){left:64%;animation-duration:2.7s;animation-delay:.8s}
.fishing-fight-bubbles span:nth-child(4){left:78%;width:5px;height:5px;animation-duration:3.4s;animation-delay:.2s}
.fishing-fight-zone{
  position:absolute;left:5px;right:5px;bottom:36%;height:24%;
  border-radius:14px;z-index:2;
  background:linear-gradient(180deg,rgba(134,239,172,.28),rgba(34,197,94,.55));
  box-shadow:
    inset 0 0 0 1.5px rgba(187,247,208,.65),
    0 0 16px rgba(34,197,94,.35);
  transition:bottom .04s linear
}
.fishing-fight-zone-glow{
  position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.22),transparent 40%);
  pointer-events:none
}
.fishing-fight.is-holding .fishing-fight-zone{
  background:linear-gradient(180deg,rgba(125,211,252,.35),rgba(14,165,233,.62));
  box-shadow:inset 0 0 0 1.5px rgba(186,230,253,.7),0 0 18px rgba(56,189,248,.4)
}
.fishing-fight.is-catching .fishing-fight-zone{
  box-shadow:inset 0 0 0 2px rgba(254,240,138,.8),0 0 20px rgba(250,204,21,.35)
}
.fishing-fight-fish{
  position:absolute;left:50%;bottom:50%;z-index:3;
  transform:translate(-50%,50%);
  filter:drop-shadow(0 3px 5px rgba(0,0,0,.55));
  transition:bottom .05s linear;pointer-events:none
}
.fishing-fight-fish-emoji{display:block;font-size:1.55rem;line-height:1;transition:transform .15s ease}
.fishing-fight-fish.is-left .fishing-fight-fish-emoji{transform:scaleX(-1) rotate(-12deg)}
.fishing-fight-fish.is-right .fishing-fight-fish-emoji{transform:rotate(12deg)}
.fishing-fight-fish-wake{
  position:absolute;left:50%;top:60%;width:28px;height:10px;transform:translate(-50%,0);
  border-radius:50%;background:radial-gradient(ellipse,rgba(255,255,255,.35),transparent 70%);
  opacity:.55;animation:fishWake 0.55s ease-in-out infinite
}
.fishing-fight-line{
  position:absolute;left:50%;width:2px;height:42%;bottom:40%;
  transform:translateX(-50%);z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.15),rgba(226,232,240,.75));
  box-shadow:0 0 6px rgba(255,255,255,.25);opacity:.5;transition:bottom .05s linear,opacity .15s ease
}
.fishing-fight-reel{display:flex;flex-direction:column;align-items:center;gap:6px}
.fishing-fight-reel-ring{position:relative;width:88px;height:88px}
.fishing-fight-reel-svg{width:88px;height:88px;transform:rotate(-90deg)}
.fishing-fight-reel-bg{fill:none;stroke:rgba(255,255,255,.12);stroke-width:7}
.fishing-fight-reel-arc{
  fill:none;stroke:#34d399;stroke-width:7;stroke-linecap:round;
  stroke-dasharray:213.6;stroke-dashoffset:213.6;
  transition:stroke-dashoffset .08s linear;
  filter:drop-shadow(0 0 6px rgba(52,211,153,.45))
}
.fishing-fight.is-catching .fishing-fight-reel-arc{stroke:#fbbf24;filter:drop-shadow(0 0 8px rgba(251,191,36,.5))}
.fishing-fight-reel-core{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  border-radius:50%;background:radial-gradient(circle at 40% 30%,rgba(30,58,80,.9),rgba(8,20,36,.95));
  margin:12px;border:1px solid rgba(125,211,252,.25);box-shadow:inset 0 0 12px rgba(0,0,0,.45)
}
.fishing-fight-pct{font-size:1.05rem;font-weight:900;color:#f8fafc;line-height:1}
.fishing-fight-progress-label{font-size:.58rem;font-weight:800;color:#7dd3fc;text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
.fishing-fight-hint{text-align:center;font-size:.68rem;color:#94a3b8;line-height:1.35;padding:0 6px}
.fishing-action-btn.is-holding{
  transform:scale(.985);
  box-shadow:0 0 0 2px rgba(56,189,248,.5),0 10px 26px rgba(14,165,233,.28)
}
@keyframes fishSplashPulse{0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(1)}50%{opacity:.9;transform:translate(-50%,-50%) scale(1.08)}}
@keyframes fishCaustics{0%{transform:translateY(0) scale(1)}100%{transform:translateY(6%) scale(1.05)}}
@keyframes fishBubble{0%{transform:translateY(0);opacity:0}15%{opacity:.6}100%{transform:translateY(-180px);opacity:0}}
@keyframes fishWake{0%,100%{opacity:.3;transform:translate(-50%,0) scaleX(.8)}50%{opacity:.65;transform:translate(-50%,2px) scaleX(1.15)}}
@keyframes fishBiteIn{0%{transform:translateX(-50%) translateY(-8px) scale(.92);opacity:0}100%{transform:translateX(-50%) translateY(0) scale(1);opacity:1}}
@keyframes fishingBitePulse{0%,100%{filter:none}40%{filter:brightness(1.12) saturate(1.2)}}
@keyframes bobberFight{0%,100%{transform:translateX(-50%) translateY(0) rotate(-6deg)}50%{transform:translateX(-50%) translateY(5px) rotate(8deg)}}
.fishing-action-btn{width:100%}
.fishing-stats{text-align:center;font-size:.75rem;font-weight:700;opacity:.88}
@keyframes bobberBob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-7px)}}
@keyframes bobberBite{0%,100%{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.18) translateY(-5px)}}
@keyframes fishRipple{0%{opacity:.6;transform:scale(.4)}100%{opacity:0;transform:scale(1.6)}}
@keyframes fishShadowSwim{0%,100%{transform:translateX(0) scaleX(.8)}50%{transform:translateX(28px) scaleX(1.1)}}
@keyframes starTwinkle{from{opacity:.65}to{opacity:1}}
@keyframes moonFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes catchFlash{0%{filter:brightness(1.4)}100%{filter:brightness(1)}}
@keyframes fishingShake{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}

/* Quiz */
.quiz-board{
  padding:14px 14px 12px;border-radius:14px;display:flex;flex-direction:column;gap:12px;
  border:1px solid rgba(250,204,21,.22);
  background:linear-gradient(165deg,rgba(28,22,12,.92),rgba(10,14,24,.94));
  box-shadow:0 12px 28px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05)
}
.quiz-progress{display:flex;flex-direction:column;gap:5px}
.quiz-progress-top{display:flex;justify-content:space-between;font-size:.68rem;opacity:.85}
.quiz-progress-bar{height:6px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.quiz-progress-bar > span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#fbbf24,#f59e0b)}
.quiz-meta{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.quiz-cat,.quiz-diff{
  display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;
  font-size:.62rem;font-weight:700;letter-spacing:.02em
}
.quiz-cat{background:rgba(59,130,246,.18);border:1px solid rgba(96,165,250,.35);color:#bfdbfe}
.quiz-diff{background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.35);color:#fde68a}
.quiz-question{
  padding:14px 12px;border-radius:12px;font-size:.95rem;font-weight:700;text-align:center;line-height:1.45;
  background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.08)
}
.quiz-answers{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.btn-quiz{
  display:flex;align-items:flex-start;gap:8px;text-align:left;min-height:48px;padding:10px 10px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:var(--txt);
  border-radius:11px;cursor:pointer;transition:background .15s,border-color .15s,transform .12s;font-size:.82rem;line-height:1.3
}
.btn-quiz:hover{background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.45);transform:translateY(-1px)}
.btn-quiz.is-picked{border-color:rgba(96,165,250,.55);background:rgba(59,130,246,.18)}
.btn-quiz:disabled{opacity:.72;cursor:default;transform:none}
.quiz-ans-key{
  flex-shrink:0;width:22px;height:22px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;
  font-size:.68rem;font-weight:800;background:rgba(251,191,36,.18);color:#fde68a;border:1px solid rgba(251,191,36,.3)
}
.quiz-ans-text{flex:1;min-width:0}
@media(max-width:420px){.quiz-answers{grid-template-columns:1fr}}

/* ── Wöchentlicher Albtraum-Raid (Dungeon-Panel) ── */
.weekly-nightmare-card{
  position:relative;margin:0 0 12px;border-radius:14px;overflow:hidden;
  border:1px solid rgba(168,85,247,.35);
  background:linear-gradient(135deg,rgba(76,29,149,.42) 0%,rgba(15,10,28,.88) 48%,rgba(30,20,50,.92) 100%);
  box-shadow:0 4px 24px rgba(88,28,135,.25),inset 0 1px 0 rgba(255,255,255,.08)
}
.weekly-nightmare-card.is-ready{border-color:rgba(192,132,252,.5);box-shadow:0 6px 28px rgba(124,58,237,.32),inset 0 1px 0 rgba(255,255,255,.1)}
.weekly-nightmare-card.is-done{
  border-color:rgba(62,207,114,.35);
  background:linear-gradient(135deg,rgba(20,60,40,.35),rgba(15,10,28,.85));
  box-shadow:0 4px 20px rgba(34,197,94,.12)
}
.wn-card-glow{
  position:absolute;inset:-40% -20% auto auto;width:55%;height:120%;
  background:radial-gradient(ellipse at 70% 30%,rgba(168,85,247,.28),transparent 68%);
  pointer-events:none
}
.weekly-nightmare-card.is-done .wn-card-glow{
  background:radial-gradient(ellipse at 70% 30%,rgba(62,207,114,.18),transparent 70%)
}
.wn-card-inner{
  position:relative;z-index:1;display:flex;align-items:stretch;gap:12px;padding:12px 14px
}
.wn-boss-portrait{
  position:relative;flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center
}
.wn-boss-ring{
  position:absolute;inset:0;border-radius:50%;
  border:2px solid rgba(192,132,252,.45);
  background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.12),rgba(0,0,0,.45));
  box-shadow:0 0 18px rgba(147,51,234,.35)
}
.weekly-nightmare-card.is-ready .wn-boss-ring{animation:wn-pulse 2.4s ease-in-out infinite}
@keyframes wn-pulse{0%,100%{box-shadow:0 0 14px rgba(147,51,234,.3)}50%{box-shadow:0 0 22px rgba(192,132,252,.55)}}
.wn-boss-emoji{
  position:relative;z-index:1;font-size:1.85rem;line-height:1;
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.5))
}
.wn-card-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.wn-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.wn-title-block{display:flex;flex-direction:column;gap:1px}
.wn-kicker{
  font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(216,180,254,.85)
}
.wn-title{
  margin:0;font-size:.95rem;font-weight:800;line-height:1.2;
  color:#f5e6ff;text-shadow:0 1px 12px rgba(147,51,234,.35)
}
.wn-week-badge{
  flex-shrink:0;padding:3px 8px;border-radius:999px;font-size:.6rem;font-weight:700;
  color:rgba(233,213,255,.9);background:rgba(0,0,0,.35);border:1px solid rgba(168,85,247,.35)
}
.wn-boss-name{margin:0;font-size:.8rem;font-weight:700;color:var(--gold);line-height:1.25}
.wn-rewards{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}
.wn-reward-chip{
  padding:3px 8px;border-radius:999px;font-size:.62rem;font-weight:600;line-height:1.3;
  color:rgba(255,255,255,.92);background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1)
}
.wn-done-hint{margin:2px 0 0;font-size:.62rem;color:var(--muted);line-height:1.35}
.wn-card-action{
  flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:108px
}
.wn-start-btn{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  min-height:56px;padding:8px 12px;border-radius:12px;font-size:.7rem;font-weight:800;line-height:1.2;
  border:1px solid rgba(147,51,234,.55);
  background:linear-gradient(180deg,rgba(147,51,234,.85),rgba(88,28,135,.95));
  color:#fff;box-shadow:0 4px 14px rgba(88,28,135,.45)
}
.wn-start-btn:not(:disabled):hover{
  border-color:rgba(216,180,254,.7);
  box-shadow:0 6px 18px rgba(124,58,237,.5)
}
.wn-start-btn:disabled{opacity:.45;filter:grayscale(.25)}
.wn-start-icon{font-size:1.15rem;line-height:1}
.wn-status-done{
  display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 10px;
  border-radius:12px;font-size:.68rem;font-weight:700;color:rgba(134,239,172,.95);
  background:rgba(22,101,52,.25);border:1px solid rgba(62,207,114,.35)
}
.wn-status-icon{font-size:1.2rem;line-height:1}
@media (max-width:380px){
  .wn-card-inner{flex-wrap:wrap}
  .wn-card-action{width:100%;min-width:0}
  .wn-start-btn,.wn-status-done{width:100%;min-height:44px;flex-direction:row;gap:8px}
}

/* ── Dungeon-Börse: echtes Viewport-Fullscreen (aus der 520px-App-Spalte) ── */
html.rpg-dungeon-market-fs,
html body.rpg-dungeon-market-fs,
html body.screen-panel.rpg-dungeon-market-fs,
html body.screen-panel:has(#panel-card.panel-dungeon),
html.flix-rpg-web body.screen-panel:has(#panel-card.panel-dungeon),
html.abenteuer-app body.screen-panel:has(#panel-card.panel-dungeon),
html.flix-rpg-mobile body.screen-panel:has(#panel-card.panel-dungeon){
  overflow:hidden!important;
}
html body.rpg-dungeon-market-fs #app,
html body.screen-panel.rpg-dungeon-market-fs #app,
html.flix-rpg-web body.rpg-dungeon-market-fs #app,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app) body.rpg-dungeon-market-fs #app,
html.abenteuer-app body.rpg-dungeon-market-fs #app,
html.abenteuer-app.abenteuer-touch-ui body.rpg-dungeon-market-fs #app,
html.flix-rpg-mobile body.rpg-dungeon-market-fs #app,
html[data-desktop-web="1"] body.rpg-dungeon-market-fs #app,
html body.screen-panel:has(#panel-card.panel-dungeon) #app,
html.flix-rpg-web body.screen-panel:has(#panel-card.panel-dungeon) #app,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app) body.screen-panel:has(#panel-card.panel-dungeon) #app,
html.abenteuer-app body.screen-panel:has(#panel-card.panel-dungeon) #app,
html.abenteuer-app.abenteuer-touch-ui body.screen-panel:has(#panel-card.panel-dungeon) #app,
html.flix-rpg-mobile body.screen-panel:has(#panel-card.panel-dungeon) #app,
html[data-desktop-web="1"] body.screen-panel:has(#panel-card.panel-dungeon) #app{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  padding-left:0!important;
  padding-right:0!important;
  min-height:100dvh!important;
  height:100dvh!important;
  overflow:hidden!important;
}
html body.rpg-dungeon-market-fs #top-bar,
html body.screen-panel:has(#panel-card.panel-dungeon) #top-bar,
html.flix-rpg-web body.screen-panel:has(#panel-card.panel-dungeon) #top-bar,
html.abenteuer-app body.screen-panel:has(#panel-card.panel-dungeon) #top-bar{
  display:none!important;
}
html body.rpg-dungeon-market-fs #screen-panel,
html body.screen-panel.rpg-dungeon-market-fs #screen-panel,
html.flix-rpg-web body.rpg-dungeon-market-fs #screen-panel,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app) body.rpg-dungeon-market-fs #screen-panel,
html.abenteuer-app body.rpg-dungeon-market-fs #screen-panel,
html.abenteuer-app.abenteuer-touch-ui body.rpg-dungeon-market-fs #screen-panel,
html.abenteuer-app.abenteuer-touch-ui body.screen-panel.rpg-dungeon-market-fs #screen-panel,
html.flix-rpg-mobile body.rpg-dungeon-market-fs #screen-panel,
html[data-desktop-web="1"] body.rpg-dungeon-market-fs #screen-panel,
html body.screen-panel:has(#panel-card.panel-dungeon) #screen-panel,
html.flix-rpg-web body.screen-panel:has(#panel-card.panel-dungeon) #screen-panel,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app) body.screen-panel:has(#panel-card.panel-dungeon) #screen-panel,
html.abenteuer-app body.screen-panel:has(#panel-card.panel-dungeon) #screen-panel,
html.abenteuer-app.abenteuer-touch-ui body.screen-panel:has(#panel-card.panel-dungeon) #screen-panel,
html.flix-rpg-mobile body.screen-panel:has(#panel-card.panel-dungeon) #screen-panel,
html[data-desktop-web="1"] body.screen-panel:has(#panel-card.panel-dungeon) #screen-panel{
  position:fixed!important;
  inset:0!important;
  left:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  z-index:12000!important;
  width:auto!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  flex:none!important;
  background:linear-gradient(168deg,#0e0a1a,#06040c)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
html body.rpg-dungeon-market-fs #panel-card.panel-dungeon,
html body.screen-panel.rpg-dungeon-market-fs #panel-card.panel-dungeon,
html.flix-rpg-web body.rpg-dungeon-market-fs #panel-card.panel-dungeon,
html.abenteuer-app body.rpg-dungeon-market-fs #panel-card.panel-dungeon,
html.abenteuer-app.abenteuer-touch-ui body.rpg-dungeon-market-fs #panel-card.panel-dungeon,
html.flix-rpg-mobile body.rpg-dungeon-market-fs #panel-card.panel-dungeon,
html body.screen-panel:has(#panel-card.panel-dungeon) #panel-card.panel-dungeon,
html.flix-rpg-web body.screen-panel:has(#panel-card.panel-dungeon) #panel-card.panel-dungeon,
html.abenteuer-app body.screen-panel:has(#panel-card.panel-dungeon) #panel-card.panel-dungeon,
html.abenteuer-app.abenteuer-touch-ui body.screen-panel:has(#panel-card.panel-dungeon) #panel-card.panel-dungeon,
html.flix-rpg-mobile body.screen-panel:has(#panel-card.panel-dungeon) #panel-card.panel-dungeon{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  max-height:none!important;
  min-height:0!important;
  margin:0!important;
  padding:max(8px,env(safe-area-inset-top,0px)) 0 max(8px,env(safe-area-inset-bottom,0px))!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  position:relative!important;
}
#panel-card.panel-dungeon.glass::before,
#panel-card.panel-dungeon.glass::after,
.dng-market-panel.glass::before,
.dng-market-panel.glass::after{
  pointer-events:none!important;
}
#panel-card.panel-dungeon .dng-market-shell--solo{
  flex:1 1 0%;
  min-height:0;
  height:0;
  width:100%;
  max-width:none;
  margin:0;
  padding:0 6px;
  overflow-y:scroll;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding-bottom:max(96px,calc(env(safe-area-inset-bottom,0px) + 80px));
  box-sizing:border-box;
  scrollbar-gutter:stable;
}
#panel-card.panel-dungeon .dng-market-shell--solo > *{
  flex-shrink:0;
}
#panel-card.panel-dungeon .dng-market-shell--solo .dng-market-bottom{
  flex:0 0 auto;
  min-height:0;
  height:auto;
  align-items:start;
}
#screen-coop-world .dng-market-shell--coop{
  flex:none!important;
  min-height:0;
  width:100%;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  touch-action:pan-y;
  padding-bottom:12px;
  box-sizing:border-box;
}
#screen-coop-world .dng-market-shell--coop .dng-market-gallery,
#screen-coop-world .dng-market-shell--coop #cw-dungeon-gallery{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  touch-action:pan-x;
  pointer-events:auto;
  z-index:4;
}
#panel-card.panel-dungeon .panel-dungeon-head{font-size:1.08rem;letter-spacing:.02em}
#panel-card.panel-dungeon .panel-dungeon-head{flex-shrink:0;margin-bottom:0}
#panel-card.panel-dungeon .panel-dungeon-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding-right:4px;
  margin-top:6px;
  scrollbar-width:thin;
}
.dungeon-panel-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px;padding-bottom:12px}
.dungeon-panel-card{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 10px}
.dungeon-panel-actions{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0;min-width:88px}
.member-avatar-img,.strip-member .member-avatar-img,.member-grid .member-avatar-img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid rgba(94,196,255,.35);box-shadow:0 2px 8px rgba(0,0,0,.35);image-rendering:auto}
.dungeon-panel-card.locked{opacity:.55}
.dungeon-panel-emoji{font-size:2rem;min-width:42px;text-align:center}
.dungeon-panel-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.chip.chip-phase{
  background:linear-gradient(135deg,rgba(232,197,71,.18),rgba(124,92,255,.16));
  border:1px solid rgba(232,197,71,.35);color:#f6e7b0;font-weight:700
}
.dng-phase-legend{margin:8px 0 0;line-height:1.35;opacity:.82}
.dng-phase-block{display:flex;flex-direction:column;gap:4px;margin:4px 0 2px}
.dng-phase-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.dng-phase-chip{
  display:inline-flex;align-items:center;gap:4px;
  padding:2px 8px;border-radius:999px;font-size:.62rem;font-weight:800;letter-spacing:.02em;
  color:#f3e7c0;background:rgba(232,197,71,.12);border:1px solid rgba(232,197,71,.32);
  max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.dng-phase-best{
  font-size:.58rem;font-weight:700;color:#9ad7ff;opacity:.9;
  padding:1px 6px;border-radius:999px;background:rgba(94,196,255,.1);border:1px solid rgba(94,196,255,.22)
}
.dng-phase-track{display:flex;align-items:center;gap:3px;width:100%;max-width:220px;height:8px}
.dng-phase-dot{
  flex:1 1 0;min-width:0;height:5px;border-radius:999px;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.08);
  transition:background .15s,box-shadow .15s,transform .15s
}
.dng-phase-dot.is-cleared{
  background:linear-gradient(90deg,#e8c547,#f0a030);border-color:rgba(232,197,71,.55);
  box-shadow:0 0 6px rgba(232,197,71,.25)
}
.dng-phase-dot.is-current,.dng-phase-dot.is-next{
  background:linear-gradient(90deg,#7c5cff,#5ec4ff);border-color:rgba(124,92,255,.55);
  box-shadow:0 0 8px rgba(124,92,255,.35);transform:scaleY(1.35)
}
.dng-phase-status{font-size:.58rem!important;line-height:1.3;opacity:.78}
.dungeon-panel-card.active-run .dng-phase-chip{
  background:rgba(46,204,113,.14);border-color:rgba(46,204,113,.4);color:#b8f5cf
}

/* ── Pet Panel (scrollbar + Layout) ── */
body.screen-panel:has(#panel-card.panel-pet) #screen-panel{
  flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;
}
body.screen-panel:has(#panel-card.panel-pet) #app{max-width:min(560px,100vw)}
#panel-card.panel-pet{
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;
  max-height:calc(100dvh - 88px);overflow:hidden;width:100%;max-width:100%;
  padding:12px 14px;box-sizing:border-box;
  background:linear-gradient(165deg,rgba(56,189,248,.05) 0%,rgba(10,12,20,.98) 38%,rgba(6,8,14,.99) 100%);
  border-color:rgba(56,189,248,.18);
}
#panel-card.panel-pet .panel-pet-head{flex-shrink:0;margin-bottom:2px;font-size:.95rem}
#panel-card.panel-pet .pet-panel-sticky-head{
  flex-shrink:0;position:sticky;top:0;z-index:6;
  margin:-2px -2px 6px;padding:2px 2px 6px;
  background:linear-gradient(180deg,rgba(6,8,14,.98) 70%,rgba(6,8,14,0));
  backdrop-filter:blur(8px);
}
#panel-card.panel-pet .pet-panel-msg{flex-shrink:0;margin-bottom:4px}
#panel-card.panel-pet .panel-pet-scroll{
  flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding-right:4px;padding-bottom:16px;scrollbar-width:thin;
}

.pet-view-switcher{
    display:flex;
    flex-wrap:nowrap;
    gap:8px;
    overflow-x:auto;
    padding:4px 2px 8px;
    margin:0 0 8px;
    -webkit-overflow-scrolling:touch;
    overflow-anchor:none;
    scroll-behavior:auto;
}
.pet-view-btn{
    display:flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(0,0,0,.22);
    color:inherit;
    border-radius:12px;
    padding:8px 10px;
    cursor:pointer;
    text-align:left;
}
.pet-view-btn.active{
    border-color:rgba(74,222,128,.55);
    box-shadow:0 0 0 1px rgba(74,222,128,.25) inset;
}
.pet-view-emoji{font-size:1.25rem;line-height:1}
.pet-view-thumb{
  position:relative;width:2.1rem;height:2.1rem;border-radius:999px;overflow:hidden;flex-shrink:0;
  border:1px solid rgba(212,175,55,.32);background:rgba(0,0,0,.35);
}
.pet-view-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center center;padding:4%}
.pet-view-thumb .pet-view-emoji{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.05rem;opacity:.55;
}
.pet-view-meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.pet-view-meta strong{font-size:.9rem;white-space:nowrap}
.pet-view-hint{margin:0 0 10px}
.pet-gear-section .equip-inventory .inv-item{align-items:flex-start}
.pet-panel-tabs{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;flex-shrink:0;
  margin:4px 0 0;padding:3px;
  background:rgba(0,0,0,.32);border-radius:12px;border:1px solid rgba(255,255,255,.08);
}
.pet-tab-btn{
  min-width:0;padding:7px 4px;border:0;border-radius:9px;
  background:transparent;color:var(--muted);font-size:.66rem;font-weight:700;cursor:pointer;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  transition:background .15s,color .15s;
}
.pet-tab-btn.active{
  background:linear-gradient(135deg,rgba(56,189,248,.35),rgba(14,165,233,.22));
  color:var(--txt);box-shadow:inset 0 0 0 1px rgba(56,189,248,.35);
}
.pet-tab-badge{
  display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;
  margin-left:2px;padding:0 3px;border-radius:999px;background:rgba(251,191,36,.9);color:#111;font-size:.58rem;font-weight:800;
}
.pet-hero-card{
  padding:10px 12px;border-radius:14px;margin-bottom:10px;
  background:linear-gradient(145deg,rgba(56,189,248,.06),rgba(0,0,0,.32));
  border:1px solid rgba(56,189,248,.18);
}
.pet-hero-card .pet-showcase{margin:0 0 10px;width:100%}
.pet-showcase-hero .pet-showcase-frame{
  width:100%;max-width:100%;height:min(52vw,240px);margin:0;
  border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.45);
}
.pet-showcase-vignette{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.05) 35%,rgba(0,0,0,.55) 100%);
}
.pet-hero-showcase-meta{display:flex;flex-direction:column;gap:6px}
.pet-hero-showcase-meta .pet-hero-chips{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}
.pet-hero-showcase-meta .pet-hero-stat-row{justify-content:center}
.pet-hero-body-full{margin-top:0}
.pet-hero-layout{display:flex;gap:10px;align-items:flex-start}
.pet-hero-portrait{
  position:relative;width:76px;height:76px;flex-shrink:0;border-radius:12px;overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.55));
}
.pet-hero-portrait-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center center;z-index:1;padding:4%}
.pet-hero-portrait-emoji{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:2rem;opacity:.4;z-index:0;
}
.pet-hero-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.pet-hero-head{display:flex;flex-direction:column;gap:5px}
.pet-hero-title-block{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pet-hero-name{margin:0;font-size:.92rem;line-height:1.15;font-weight:800}
.pet-hero-chips{display:flex;flex-wrap:wrap;gap:3px}
.pet-hero-stat-row{display:flex;flex-wrap:wrap;gap:5px}
.pet-stat-chip{
  display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:999px;
  font-size:.72rem;font-weight:700;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1);color:#fcd34d;
}
.pet-hero-bars{display:flex;flex-direction:column;gap:4px}
.pet-bar-row .bar-lbl{min-width:22px;flex-shrink:0}
.pet-bar-row .bar-val{font-size:.66rem;min-width:3.2rem;text-align:right;flex-shrink:0}
.pet-hero-foot{margin-top:8px}
.pet-evolve-btn{width:100%}
.pet-evo-hint{margin:6px 0 0;line-height:1.35;text-align:center}
.pet-care-compact{
  margin-top:10px;padding:8px;border-radius:10px;
  background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.08);
}
.pet-care-compact-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.pet-care-compact-hint{margin-left:auto;opacity:.75}
.pet-care-compact-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.pet-care-compact-row.pet-care-stroke-row{grid-template-columns:1fr}
.pet-care-compact-item{display:flex;flex-direction:column;align-items:stretch;gap:4px}
.pet-care-compact-item .btn{width:100%;padding:6px 8px;font-size:.72rem}
.pet-care-compact-item .pet-qty-picker{justify-content:center}
.pet-care-stroke-only .pet-care-toolbar{grid-template-columns:1fr}
.pet-care-stroke-item .btn{max-width:none}
.pet-stroke-overlay{
  position:fixed;inset:0;z-index:30120;display:flex;align-items:center;justify-content:center;
  padding:16px;background:rgba(0,0,0,.55)
}
.pet-stroke-sheet{
  width:min(420px,100%);padding:14px 16px 16px;display:flex;flex-direction:column;gap:12px;color:var(--txt)
}
.pet-stroke-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pet-stroke-title{font-weight:800;font-size:1.05rem}
.pet-stroke-scene{text-align:center}
.pet-stroke-pet{font-size:3.2rem;line-height:1;animation:pet-stroke-bob 1.1s ease-in-out infinite}
.pet-stroke-name{font-weight:700;margin-top:4px}
.pet-stroke-hint{margin:6px 0 0}
.pet-stroke-timing{padding:4px 0}
.pet-stroke-bar-track{
  position:relative;height:28px;border-radius:999px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);overflow:hidden
}
.pet-stroke-bar-sweet{
  position:absolute;top:3px;bottom:3px;border-radius:999px;
  background:linear-gradient(90deg,rgba(244,114,182,.45),rgba(251,113,133,.65));
  box-shadow:0 0 12px rgba(244,114,182,.35)
}
.pet-stroke-bar-perfect{
  position:absolute;top:4px;bottom:4px;border-radius:999px;z-index:1;
  background:linear-gradient(90deg,#fbbf24,#f59e0b 55%,#fde68a);
  box-shadow:0 0 14px rgba(251,191,36,.75),inset 0 0 6px rgba(255,255,255,.35)
}
.pet-stroke-bar-cursor{
  position:absolute;top:2px;bottom:2px;width:4px;margin-left:-2px;border-radius:3px;z-index:2;
  background:#fff;box-shadow:0 0 8px rgba(255,255,255,.7)
}
.pet-stroke-legend{display:flex;justify-content:center;gap:6px;margin-top:6px}
.pet-stroke-leg-good{color:#f9a8d4}
.pet-stroke-leg-perfect{color:#fbbf24;font-weight:800}
@keyframes pet-stroke-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.pet-stroke-hit-btn{width:100%;padding:12px;font-size:1rem;font-weight:800}

/* Dietrich-Minispiel (Truhenschloss) */
.lockpick-overlay{
  position:fixed;inset:0;z-index:30450;display:flex;align-items:center;justify-content:center;
  padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));
  background:rgba(0,0,0,.72);
  touch-action:none;-webkit-user-select:none;user-select:none;
  overscroll-behavior:none;
}
body.lockpick-open,html.lockpick-open{overflow:hidden!important;touch-action:none!important}
.lockpick-sheet{
  width:min(420px,100%);max-height:min(92dvh,720px);overflow:auto;
  padding:14px 16px 16px;display:flex;flex-direction:column;gap:12px;color:var(--txt);
  touch-action:manipulation;-webkit-overflow-scrolling:touch;
}
.lockpick-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.lockpick-title{font-weight:800;font-size:1.05rem}
.lockpick-scene{text-align:center}
.lockpick-icon{font-size:3rem;line-height:1}
.lockpick-meta{font-weight:700;margin-top:4px;text-transform:capitalize}
.lockpick-hint{margin:6px 0 0}
.lockpick-timing{padding:4px 0}
.lockpick-bar-track{
  position:relative;height:28px;border-radius:999px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);overflow:hidden
}
.lockpick-bar-sweet{
  position:absolute;top:3px;bottom:3px;border-radius:999px;
  background:linear-gradient(90deg,rgba(56,189,248,.45),rgba(96,165,250,.65));
  box-shadow:0 0 12px rgba(56,189,248,.35)
}
.lockpick-bar-perfect{
  position:absolute;top:4px;bottom:4px;border-radius:999px;z-index:1;
  background:linear-gradient(90deg,#fbbf24,#f59e0b 55%,#fde68a);
  box-shadow:0 0 14px rgba(251,191,36,.75)
}
.lockpick-bar-cursor{
  position:absolute;top:2px;bottom:2px;width:4px;margin-left:-2px;border-radius:3px;z-index:2;
  background:#fff;box-shadow:0 0 8px rgba(255,255,255,.7)
}
.lockpick-legend{display:flex;justify-content:center;gap:6px;margin-top:6px}
.lockpick-leg-good{color:#7dd3fc}
.lockpick-leg-perfect{color:#fbbf24;font-weight:800}
.lockpick-hit-btn{width:100%;padding:12px;font-size:1rem;font-weight:800}

/* Anime-Schloss (Oblivion-Mechanik + generierte Sprites) */
.lockpick-sheet--tumbler{
  width:min(560px,100%);padding:12px 14px 14px;
  background:
    radial-gradient(ellipse 80% 60% at 20% 0%,rgba(255,170,210,.18),transparent 55%),
    radial-gradient(ellipse 70% 50% at 90% 10%,rgba(120,200,255,.16),transparent 50%),
    linear-gradient(165deg,#2a1f3a 0%,#141828 55%,#0e1220 100%);
  border:1px solid rgba(255,196,140,.4);border-radius:20px;
  box-shadow:0 22px 64px rgba(20,10,40,.7), inset 0 1px 0 rgba(255,255,255,.12);
  color:#fff4e8;
}
.lockpick-sheet--anime .lockpick-title{
  background:linear-gradient(90deg,#ffe7a8,#ffb4d4 55%,#a8e0ff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-weight:900;letter-spacing:.02em;
}
.lp-oblivion,.lp-anime{
  position:relative;margin:2px auto 0;padding:10px 8px 12px;
  border-radius:16px;
  background:
    radial-gradient(ellipse at 50% 20%,rgba(255,200,140,.12),transparent 55%),
    linear-gradient(180deg,rgba(30,24,48,.55),rgba(10,12,22,.75));
  border:1px solid rgba(255,180,140,.22);
  touch-action:none;user-select:none;
}
.lp-lock-body{
  position:relative;
  width:min(100%,440px);margin:0 auto;
  aspect-ratio:16/11;
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(255,220,180,.08),transparent 40%),
    var(--lp-body) center/cover no-repeat,
    linear-gradient(180deg,#5a4a3a,#2a221c);
  border:2px solid rgba(255,210,150,.35);
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.2),
    0 12px 32px rgba(0,0,0,.5),
    0 0 40px rgba(255,160,120,.12);
  overflow:hidden;
}
.lp-sweet-flash{
  position:absolute;inset:0;pointer-events:none;z-index:4;opacity:0;
  background:radial-gradient(ellipse at 50% 45%,rgba(255,230,140,.35),transparent 55%);
  transition:opacity .15s ease;
}
.lp-sweet-flash.is-on{opacity:1}
.lp-chambers{
  position:absolute;left:14%;right:14%;top:18%;height:52%;
  display:grid;grid-template-columns:repeat(var(--lp-pins,5),minmax(0,1fr));
  gap:clamp(6px,1.4vw,12px);z-index:2;
}
.lp-chamber{
  position:relative;appearance:none;border:0;padding:0;margin:0;cursor:pointer;
  background:linear-gradient(180deg,rgba(20,14,28,.55),rgba(8,8,16,.35));
  border-radius:10px;
  box-shadow:inset 0 0 0 1px rgba(255,200,140,.12), inset 0 10px 16px rgba(0,0,0,.35);
  touch-action:none;
}
.lp-chamber-bore{
  position:absolute;inset:6% 26% 10%;
  border-radius:6px;
  background:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,.12));
  pointer-events:none;
}
.lp-pin{
  --lp-lift:6%;
  position:absolute;left:12%;right:12%;bottom:4%;
  height:58%;width:auto;max-width:none;object-fit:contain;object-position:bottom center;
  transform:translateY(calc(-1 * var(--lp-lift) * 0.72));
  filter:drop-shadow(0 3px 4px rgba(0,0,0,.45));
  transition:transform .04s linear, filter .12s ease;
  pointer-events:none;user-select:none;
}
.lp-chamber.is-active{
  box-shadow:inset 0 0 0 2px rgba(255,196,120,.7), inset 0 10px 16px rgba(0,0,0,.35),
    0 0 16px rgba(255,180,100,.35);
  background:linear-gradient(180deg,rgba(80,40,20,.35),rgba(8,8,16,.3));
}
.lp-chamber.is-near .lp-pin{
  filter:brightness(1.12) drop-shadow(0 0 8px rgba(255,200,100,.55));
}
.lp-chamber.is-sweet .lp-pin,
.lp-chamber.is-tick .lp-pin{
  filter:brightness(1.28) drop-shadow(0 0 12px rgba(255,220,120,.9));
  animation:lp-pin-buzz .12s ease-in-out infinite;
}
.lp-chamber.is-set .lp-pin{
  filter:brightness(1.05) drop-shadow(0 0 8px rgba(120,255,180,.7)) hue-rotate(70deg);
  animation:none;
}
.lp-chamber.is-tick{animation:lockpick-tick .16s ease}
.lp-chamber.is-shake{animation:lockpick-shake .28s ease}
@keyframes lp-pin-buzz{
  0%,100%{transform:translateY(calc(-1 * var(--lp-lift) * 0.72)) translateX(0)}
  50%{transform:translateY(calc(-1 * var(--lp-lift) * 0.72)) translateX(1.5px)}
}
@keyframes lockpick-tick{
  0%{transform:translateY(0)}
  35%{transform:translateY(-2px)}
  100%{transform:translateY(0)}
}
@keyframes lockpick-shake{
  0%,100%{transform:translateX(0)}
  25%{transform:translateX(-3px)}
  75%{transform:translateX(3px)}
}
.lp-pick-rail{
  position:absolute;left:0;right:0;top:64%;height:22%;z-index:3;pointer-events:none;
}
.lp-pick{
  --lp-pick-x:10%;
  position:absolute;left:0;top:10%;
  width:min(78%,300px);height:auto;max-height:100%;
  object-fit:contain;object-position:right center;
  transform:translateX(calc(var(--lp-pick-x) - 88%));
  transition:transform .16s cubic-bezier(.2,.8,.2,1), filter .12s ease;
  filter:drop-shadow(0 3px 4px rgba(0,0,0,.5));
  user-select:none;
}
.lp-pick.is-snap{animation:lp-pick-snap .36s ease}
@keyframes lp-pick-snap{
  0%{filter:drop-shadow(0 3px 4px rgba(0,0,0,.5))}
  35%{transform:translateX(calc(var(--lp-pick-x) - 88%)) rotate(-8deg) scale(.96);opacity:.65}
  100%{transform:translateX(calc(var(--lp-pick-x) - 88%));opacity:1}
}
.lp-oblivion.is-raising .lp-pick{filter:brightness(1.15) drop-shadow(0 0 8px rgba(180,220,255,.45))}
.lp-oblivion.is-sweet .lp-pick{filter:brightness(1.25) drop-shadow(0 0 12px rgba(255,220,120,.7))}
.lp-oblivion-actions{display:grid;grid-template-columns:auto 1fr auto;gap:8px}
.lp-oblivion-actions [data-lp-set]{grid-column:1 / -1}
.lp-oblivion-actions [data-lp-turn]{grid-column:1 / -1}
.lp-oblivion-actions [data-lp-turn].is-ready{
  animation:lp-turn-pulse 1.1s ease-in-out infinite;
  box-shadow:0 0 18px rgba(120,255,180,.35);
}
@keyframes lp-turn-pulse{
  0%,100%{filter:brightness(1)}
  50%{filter:brightness(1.15)}
}
.lockpick-actions{display:flex;gap:8px;flex-wrap:wrap}
.lockpick-actions .btn{flex:1 1 140px;min-height:44px;touch-action:manipulation}
.lockpick-tumbler-meta{
  display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;
  color:#fff0d8;font-size:.78rem;font-weight:700;
}
.lockpick-tumbler-meta [data-lp-feel]{
  flex:1;text-align:center;color:#ffe08a;font-size:.8rem;
  text-shadow:0 0 10px rgba(255,200,100,.35);
}
.lp-oblivion.is-sweet [data-lp-feel]{color:#fff6c0;animation:lp-feel-pulse .5s ease-in-out infinite}
@keyframes lp-feel-pulse{
  0%,100%{opacity:1}
  50%{opacity:.75}
}
.lockpick-tumbler-hint{margin:8px 0 0;color:rgba(255,240,220,.72);font-size:.72rem;text-align:center}
.lockpick-set-btn{width:100%}
@media (max-width:720px){
  .lp-lock-body{aspect-ratio:16/12;width:100%}
  .lp-chambers{left:10%;right:10%;top:16%}
  .lp-pin{left:8%;right:8%}
}

/* Karusselle: horizontales Wischen auf Mobile erlauben */
#hub-menu-viewport,
.hub-menu-track,
.quest-hall-carousel-stage,
.arcade-machine,
.char-select-swipe-zone,
.hero-setup-swipe-zone,
.char-select-carousel-viewport,
.hero-carousel-fullbleed{
  touch-action:pan-y;
}

/* Shop-Truhen-Loot (Inventar-Look, Drag → Bag, Fenster verschiebbar) */
.shop-chest-loot-layer{
  position:fixed;inset:0;z-index:32100;pointer-events:none;
  display:flex;align-items:flex-start;justify-content:flex-start;
  padding:max(56px,env(safe-area-inset-top)) 12px 12px;
}
.shop-chest-loot-win{
  position:relative;left:auto;top:auto;
  width:min(360px,calc(100vw - 72px));
  max-height:min(70dvh,520px);
  pointer-events:auto;display:flex;flex-direction:column;gap:8px;
  padding:12px 14px 14px;border-radius:16px;
  border:1px solid rgba(232,197,71,.35);
  background:
    radial-gradient(ellipse 70% 50% at 20% 0%,rgba(232,197,71,.12),transparent 55%),
    rgba(10,14,24,.96);
  box-shadow:0 18px 48px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.06);
  color:var(--txt);
  overflow:auto;
}
.shop-chest-loot-win.is-placed{
  position:fixed;margin:0;z-index:32101;
}
@media (max-width:720px){
  .shop-chest-loot-layer{justify-content:center;padding-top:max(64px,env(safe-area-inset-top))}
  .shop-chest-loot-win{width:min(420px,calc(100vw - 24px))}
}
.shop-chest-loot-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  cursor:grab;touch-action:none;user-select:none;
  padding:2px 0 4px;margin:-2px 0 0;
}
.shop-chest-loot-head.is-dragging,
body.shop-chest-dragging .shop-chest-loot-head{cursor:grabbing}
.shop-chest-loot-title{font-weight:800;font-size:1.05rem;color:#f0e2c0;pointer-events:none}
.shop-chest-loot-hint{margin:0;font-size:.82rem;opacity:.85;line-height:1.35}
.shop-chest-loot-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;
  min-height:96px;
}
.shop-chest-loot-grid .bag-slot{
  min-height:68px;border:1px solid rgba(255,255,255,.14);
  border-radius:12px;background:rgba(0,0,0,.35);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  color:inherit;cursor:grab;
}
.shop-chest-loot-grid .bag-slot .bag-slot-emoji{font-size:1.45rem;line-height:1}
.shop-chest-loot-grid .bag-slot .bag-slot-qty{font-size:.72rem;font-weight:800;opacity:.9}
.shop-chest-loot-empty{grid-column:1/-1;text-align:center;padding:18px 8px;opacity:.7;font-size:.8rem}

.raid-chest-showcase.is-locked .raid-chest-img{filter:grayscale(.15) brightness(.85);opacity:.92}
.raid-chest-showcase .chip{margin-top:6px}
.pet-stroke-leg-perfect{color:#fbbf24;font-weight:700}
.pet-stroke-hit-btn{width:100%}
@keyframes pet-stroke-bob{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}
.pet-owned-grid-nice{grid-template-columns:1fr;gap:6px}
.pet-owned-section{margin-top:8px}
.pet-owned-section .pet-section-title{font-size:.72rem;margin-bottom:6px}
.pet-owned-card{padding:8px 10px;border-radius:11px}
.pet-owned-thumb{width:52px;height:52px}
.pet-tab-empty{
  display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 16px;text-align:center;border-radius:14px;
}
.pet-tab-empty-icon{font-size:2.4rem;opacity:.85}
.pet-tab-showcase{margin-bottom:10px}
.pet-tab-showcase .pet-showcase-sm .pet-showcase-frame{height:min(36vw,140px);max-width:100%}
.pet-skills-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;margin-bottom:10px;border-radius:12px;
  border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.22);
}
.pet-skills-sp-val{font-size:1.4rem;color:#fcd34d;line-height:1}
.pet-skill-list{display:flex;flex-direction:column;gap:8px}
.pet-skill-card{
  display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;
  border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.18);
}
.pet-skill-card.unlocked{border-color:rgba(62,207,114,.35);background:rgba(62,207,114,.08)}
.pet-skill-card.equipped{border-color:rgba(251,191,36,.45);background:rgba(251,191,36,.1)}
.pet-skill-card.ready{border-color:rgba(56,189,248,.35)}
.pet-skill-card.locked{opacity:.82}
.pet-skill-icon{font-size:1.6rem;line-height:1}
.pet-skill-main{min-width:0}
.pet-skill-title{font-weight:800;font-size:.84rem;display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.pet-skill-desc{line-height:1.35;margin-top:2px}
.pet-skill-preview{color:#fcd34d;margin-top:3px;line-height:1.3}
.pet-skill-req{color:var(--muted);margin-top:2px}
.pet-skill-rank{margin-left:4px;vertical-align:middle;color:#fcd34d}
.pet-skill-loadout{padding:10px 12px;margin-bottom:10px;border-radius:12px}
.pet-skill-loadout-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.pet-skill-loadout-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.pet-skill-slot{
  position:relative;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  min-height:68px;padding:8px 6px;border-radius:10px;border:1px dashed rgba(255,255,255,.18);text-align:center;
}
.pet-skill-slot-unequip{
    position:absolute;top:4px;right:4px;z-index:2;
    min-width:22px;width:22px;height:22px;padding:0;line-height:1;
    font-size:.72rem;border-radius:999px;opacity:.85
}
.pet-skill-slot-unequip:hover{opacity:1;background:rgba(239,68,68,.18);color:#fca5a5}
.pet-skill-slot.filled{border-style:solid;border-color:rgba(251,191,36,.35);background:rgba(251,191,36,.08)}
.pet-skill-slot.empty{opacity:.72}
.pet-skill-slot-emoji{font-size:1.35rem;line-height:1}
.pet-skill-slot-name{font-size:.68rem;font-weight:700;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pet-skill-slot-empty-label{font-size:.68rem;color:var(--muted)}
.pet-skill-slot-tip{line-height:0;margin-top:2px}
.pet-skill-loadout-hint{margin:8px 0 0;line-height:1.35}
.pet-skill-action{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}
.pet-skill-action .btn-xs{min-width:74px}
.combat-pet-skill-wrap{position:relative;display:inline-flex;align-items:center;gap:2px}
.combat-pet-skill-tip{line-height:0;flex-shrink:0}
.pet-owned-tip{align-self:flex-end;line-height:0}
.pet-egg-card{position:relative}
.pet-egg-tip{position:absolute;top:6px;right:6px;line-height:0;z-index:2}
.pet-hero-stat-row .pet-stat-chip{display:inline-flex;align-items:center;gap:2px}
.pet-combat-bonus-row .chip{display:inline-flex;align-items:center;gap:3px}
.pet-stats-section{margin-bottom:14px}
.pet-stats-section-title{margin:0 0 8px;font-size:.78rem;font-weight:800;color:var(--muted);letter-spacing:.02em}
.pet-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.pet-stat-card{
  display:flex;align-items:center;gap:8px;padding:10px;border-radius:11px;
  border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.22);
}
.pet-stat-emoji{font-size:1.2rem;line-height:1}
.pet-stat-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.pet-stat-label{font-size:.68rem;color:var(--muted);line-height:1.2}
.pet-stat-value{font-size:.92rem;color:#fcd34d;line-height:1.1}
.pet-resist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}
.pet-resist-chip{
  display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:10px;font-size:.74rem;
}
.pet-resist-chip strong{color:#86efac}
.pet-combat-bonus-row,.pet-training-row{display:flex;flex-wrap:wrap;gap:6px}
.pet-spec-desc{margin-top:8px;line-height:1.45}
/* ── Shop-Panel (innerer Scroll wie Inventar) ── */
body.screen-panel:has(#panel-card.panel-shop) #screen-panel{
  flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;
}
html:not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-shop) #app{max-width:100vw!important;width:100%!important}
#panel-card.panel-shop{
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;
  max-height:none;height:100%;overflow:hidden;width:100%;max-width:100%;
  padding:0;box-sizing:border-box;
}
html.flix-rpg-pc-scale #panel-card.panel-shop{
  max-height:none!important;padding:0!important;
}
#panel-card.panel-shop .shop-workshop{
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;
}
#panel-card.panel-shop .shop-workshop-header,
#panel-card.panel-shop .shop-wave,
#panel-card.panel-shop .inv-chips,
#panel-card.panel-shop .shop-category-tabs,
#panel-card.panel-shop .shop-reroll-row{flex-shrink:0}
#panel-card.panel-shop .shop-scroll-wrap{
  flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding-right:12px;padding-bottom:14px;scrollbar-width:thin;
  scrollbar-gutter:stable;
}
.shop-tag-class{color:#93c5fd;border-color:rgba(147,197,253,.35);background:rgba(59,130,246,.1)}
.pet-section{margin-top:14px}
.pet-section-title{
  margin:0 0 8px;font-size:.66rem;font-weight:800;color:var(--gold);
  text-transform:uppercase;letter-spacing:.05em;
}
.pet-section-empty{margin:0;padding:10px 12px;border-radius:10px;background:rgba(0,0,0,.2);border:1px dashed rgba(255,255,255,.1)}
.pet-empty-hero{
  display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 14px;text-align:center;
  border-radius:12px;border:1px dashed rgba(255,255,255,.14);
}
.pet-empty-icon{font-size:2.2rem;line-height:1;filter:drop-shadow(0 0 10px rgba(255,255,255,.2))}
.pet-active-stats{margin:10px 0}
.pet-active-extra-btns{margin-top:8px}
.pet-active-extra-btns .btn.full{flex:1 1 100%}
.pet-stats-care-wrap{margin-top:10px;padding:0 4px 8px}
.pet-stats-care-wrap .pet-care-toolbar{margin-top:0}
.pet-evo-hint{margin-top:8px}
.pet-starter-hint{margin:0 0 10px;line-height:1.4}

/* ── Pet Eier & Sammlung ── */
.pet-egg-grid,.pet-owned-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.pet-egg-card{
  border-radius:12px;padding:12px 10px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.22);
}
.pet-egg-emoji{font-size:2rem;filter:drop-shadow(0 0 8px rgba(255,255,255,.25))}
.pet-egg-art{position:relative;width:88px;height:88px;margin:0 auto 4px;display:grid;place-items:center}
.pet-egg-img{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45))}
.pet-egg-art .pet-egg-emoji.hidden,.pet-egg-img.hidden{display:none}
.rpg-pet-hatch-overlay{
  position:fixed;inset:0;z-index:12000;
  display:flex;align-items:center;justify-content:center;
  background:#05060c;
  --hatch-glow:rgba(255,220,140,.22);
  --hatch-veil:rgba(2,4,10,.34);
  padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));
}
.rpg-pet-hatch-overlay[data-quality="common"]{--hatch-glow:rgba(210,218,228,.26);--hatch-veil:rgba(8,10,14,.32)}
.rpg-pet-hatch-overlay[data-quality="uncommon"]{--hatch-glow:rgba(74,222,128,.32);--hatch-veil:rgba(4,16,10,.28)}
.rpg-pet-hatch-overlay[data-quality="rare"]{--hatch-glow:rgba(96,165,250,.34);--hatch-veil:rgba(4,10,22,.28)}
.rpg-pet-hatch-overlay[data-quality="epic"]{--hatch-glow:rgba(192,132,252,.36);--hatch-veil:rgba(12,6,22,.28)}
.rpg-pet-hatch-overlay[data-quality="legendary"]{--hatch-glow:rgba(251,191,36,.38);--hatch-veil:rgba(16,10,4,.24)}
.rpg-pet-hatch-overlay.hidden{display:none!important}
.rpg-pet-hatch-bg{
  position:absolute;inset:0;pointer-events:none;z-index:0;
  background-size:cover;background-position:center 52%;background-repeat:no-repeat;
  filter:saturate(1.12) brightness(.76) contrast(1.05);
  transform:scale(1.06);
  animation:rpgHatchBgDrift 16s ease-in-out infinite alternate;
}
@keyframes rpgHatchBgDrift{
  from{transform:scale(1.06) translate3d(0,0,0)}
  to{transform:scale(1.1) translate3d(0,-1.2%,0)}
}
.rpg-pet-hatch-stage{
  position:absolute;inset:0;pointer-events:none;z-index:1;
  background:
    radial-gradient(circle at 50% 58%,var(--hatch-glow),transparent 46%),
    radial-gradient(ellipse at 50% 48%,rgba(0,0,0,.08),var(--hatch-veil) 78%);
  opacity:.92;animation:rpgHatchAura 4.5s ease-in-out infinite alternate;
}
.rpg-pet-hatch-glow{
  position:absolute;width:min(92vw,520px);height:min(92vw,520px);border-radius:50%;
  background:radial-gradient(circle,var(--hatch-glow),transparent 68%);
  filter:blur(8px);pointer-events:none;opacity:.55;z-index:1;
  transition:opacity .5s ease,transform .6s ease,background .4s ease;
}
.rpg-pet-hatch-ambient{
  position:absolute;left:50%;top:42%;width:min(88vw,560px);height:min(88vw,560px);
  transform:translate(-50%,-50%);
  opacity:0;pointer-events:none;z-index:1;mix-blend-mode:screen;
  transition:opacity .6s ease,filter .4s ease;
  animation:none;
}
.rpg-pet-hatch-overlay[data-quality="common"] .rpg-pet-hatch-ambient{filter:saturate(.55) brightness(1.05)}
.rpg-pet-hatch-overlay[data-quality="uncommon"] .rpg-pet-hatch-ambient{filter:hue-rotate(78deg) saturate(1.15)}
.rpg-pet-hatch-overlay[data-quality="rare"] .rpg-pet-hatch-ambient{filter:hue-rotate(185deg) saturate(1.2)}
.rpg-pet-hatch-overlay[data-quality="epic"] .rpg-pet-hatch-ambient{filter:hue-rotate(248deg) saturate(1.25)}
.rpg-pet-hatch-overlay[data-quality="legendary"] .rpg-pet-hatch-ambient{filter:hue-rotate(-8deg) saturate(1.28) brightness(1.08)}
.rpg-pet-hatch-ambient.is-on{
  opacity:.48;
  animation:rpgHatchAmbientDrift 5.5s ease-in-out infinite alternate;
}
@keyframes rpgHatchAmbientDrift{
  from{transform:translate(-50%,-50%) scale(.96) rotate(-4deg);opacity:.4}
  to{transform:translate(-50%,-52%) scale(1.05) rotate(5deg);opacity:.65}
}
.rpg-pet-hatch-flash{
  position:absolute;inset:0;pointer-events:none;z-index:2;
  background:radial-gradient(circle at 50% 45%,rgba(255,248,220,.92),rgba(255,230,160,.35) 38%,transparent 68%);
  opacity:0;transition:opacity .18s ease-out;
}
.rpg-pet-hatch-flash.is-on{opacity:1;transition:opacity .08s ease-in}
.rpg-pet-hatch-overlay[data-phase="break"] .rpg-pet-hatch-glow,
.rpg-pet-hatch-overlay[data-phase="glow"] .rpg-pet-hatch-glow{
  opacity:.85;transform:scale(1.08);
}
.rpg-pet-hatch-overlay[data-phase="shadow"] .rpg-pet-hatch-glow{
  opacity:.35;transform:scale(.92);filter:blur(14px);
  background:radial-gradient(circle,rgba(20,18,28,.45),transparent 70%);
}
.rpg-pet-hatch-overlay[data-phase="sparkle"] .rpg-pet-hatch-glow,
.rpg-pet-hatch-overlay[data-phase="pet"] .rpg-pet-hatch-glow,
.rpg-pet-hatch-overlay[data-phase="done"] .rpg-pet-hatch-glow{
  opacity:.55;transform:scale(1.08);
  background:radial-gradient(circle,rgba(255,230,150,.28),rgba(180,140,255,.1) 48%,transparent 70%);
}
.rpg-pet-hatch-overlay[data-phase="shadow"] .rpg-pet-hatch-glow{
  opacity:.28;transform:scale(.94);
  background:radial-gradient(circle,rgba(20,16,28,.5),transparent 70%);
}
.rpg-pet-hatch-overlay[data-phase="flash"] .rpg-pet-hatch-glow{
  opacity:.9;transform:scale(1.2);
  background:radial-gradient(circle,rgba(255,245,200,.55),transparent 65%);
}
.rpg-pet-hatch-card{
  position:relative;z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:18px;
  width:min(96vw,560px);text-align:center;
}
/* Kein Rahmen ums Ei — nur das Bild / die Frame-Animation */
.rpg-pet-hatch-art,
.rpg-pet-hatch-frame{
  position:relative;
  width:min(88vw,440px);height:min(88vw,440px);
  display:grid;place-items:center;
  border-radius:0;
  background:transparent !important;
  border:none;
  box-shadow:none;
  overflow:visible;
}
.rpg-pet-hatch-canvas{
  width:100%;height:100%;
  display:block;
  background:transparent !important;
  filter:drop-shadow(0 18px 36px rgba(0,0,0,.55));
  pointer-events:none;
}
.rpg-pet-hatch-canvas.hidden{display:none!important}
.rpg-pet-hatch-img-pet{
  position:absolute;inset:0;margin:auto;
  width:88%;height:88%;object-fit:contain;
  background:transparent !important;
  filter:drop-shadow(0 18px 36px rgba(0,0,0,.55));
  pointer-events:none;
}
.rpg-pet-hatch-img-pet.hidden{display:none!important}
.rpg-pet-hatch-img-pet.is-visible{opacity:1}
/* Durchgehende Bewegung kaschiert Einzelbilder */
.rpg-pet-hatch-art.rpg-pet-hatch-morph{
  animation:rpgHatchMorphPulse 1.6s ease-in-out infinite;
}
.rpg-pet-hatch-art.rpg-pet-hatch-morph.is-cracking{
  animation:rpgHatchMorphCrack 0.42s ease-in-out infinite;
}
.rpg-pet-hatch-art.rpg-pet-hatch-morph.is-breaking{
  animation:rpgHatchMorphBreak 0.32s ease-in-out infinite;
}
@keyframes rpgHatchMorphPulse{
  0%,100%{transform:scale(1) translateY(0)}
  50%{transform:scale(1.025) translateY(-3px)}
}
@keyframes rpgHatchMorphCrack{
  0%,100%{transform:translate(0,0) rotate(0deg) scale(1.02)}
  25%{transform:translate(-2px,1px) rotate(-0.8deg) scale(1.03)}
  50%{transform:translate(2px,-1px) rotate(0.9deg) scale(1.04)}
  75%{transform:translate(-1px,2px) rotate(-0.5deg) scale(1.03)}
}
@keyframes rpgHatchMorphBreak{
  0%,100%{transform:translate(0,0) rotate(0deg) scale(1.05)}
  30%{transform:translate(-3px,-2px) rotate(-1.4deg) scale(1.07)}
  60%{transform:translate(3px,1px) rotate(1.2deg) scale(1.08)}
}
.rpg-pet-hatch-overlay[data-phase="sparkle"] .rpg-pet-hatch-art::before,
.rpg-pet-hatch-overlay[data-phase="done"] .rpg-pet-hatch-art::before{
  content:none;
  display:none;
}
.rpg-pet-hatch-overlay[data-phase="sparkle"] .rpg-pet-hatch-art::after,
.rpg-pet-hatch-overlay[data-phase="done"] .rpg-pet-hatch-art::after{
  content:none;
  display:none;
}
.rpg-pet-hatch-img{
  position:absolute;inset:0;margin:auto;
  width:100%;height:100%;object-fit:contain;
  background:transparent !important;
  filter:drop-shadow(0 18px 36px rgba(0,0,0,.55));
  opacity:0;
  transform:scale(1.01);
  transition:opacity .18s ease-out, filter .18s ease-out, transform .3s ease-out;
  will-change:filter,opacity,transform;
  z-index:1;
  pointer-events:none;
}
.rpg-pet-hatch-img.is-visible{
  opacity:1;
  z-index:2;
  transform:scale(1);
}
.rpg-pet-hatch-img.is-fading:not(.is-visible){
  opacity:0;
  filter:drop-shadow(0 18px 36px rgba(0,0,0,.55)) blur(1.2px) brightness(1.08);
  transform:scale(1.03);
}
.rpg-pet-hatch-img.is-fading.is-visible{
  filter:drop-shadow(0 18px 36px rgba(0,0,0,.55)) blur(0.35px) brightness(1.04);
}
.rpg-pet-hatch-img.is-pet{border-radius:18px;width:88%;height:88%;object-fit:contain;position:relative;background:transparent !important}
.rpg-pet-hatch-img-pet.is-pet{border-radius:18px;width:88%;height:88%;object-fit:contain;background:transparent !important}
.rpg-pet-hatch-frame.rpg-pet-hatch-swap .rpg-pet-hatch-img{animation:none}
.rpg-pet-hatch-img.rpg-pet-hatch-shake{animation:none}
.rpg-pet-hatch-img.rpg-pet-hatch-burst{animation:none}
.rpg-pet-hatch-img.rpg-pet-hatch-reveal,
.rpg-pet-hatch-img-pet.rpg-pet-hatch-reveal{animation:rpgHatchReveal .72s cubic-bezier(.16,1,.3,1) both}
.rpg-pet-hatch-img.rpg-pet-hatch-shadow,
.rpg-pet-hatch-img-pet.rpg-pet-hatch-shadow{
  animation:rpgHatchShadowRise .48s cubic-bezier(.22,.6,.2,1) both;
}
.rpg-pet-hatch-img.rpg-pet-hatch-sparkle,
.rpg-pet-hatch-img-pet.rpg-pet-hatch-sparkle{
  animation:rpgHatchSparkleReveal .62s cubic-bezier(.16,1,.3,1) both;
}
.rpg-pet-hatch-label{
  margin:0;font-size:clamp(1.15rem,4.2vw,1.55rem);font-weight:800;letter-spacing:.01em;
  color:#f7f1e6;text-shadow:0 2px 16px rgba(0,0,0,.75);
}
.rpg-pet-hatch-sub{margin:0;opacity:.75;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}
.rpg-pet-hatch-actions{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;
  margin-top:4px;min-height:44px;
}
.rpg-pet-hatch-skip,.rpg-pet-hatch-continue{min-width:140px}
.rpg-pet-hatch-skip.hidden,.rpg-pet-hatch-continue.hidden{display:none!important}
body.rpg-pet-hatch-open{overflow:hidden}
@keyframes rpgHatchAura{from{opacity:.7;transform:scale(1)}to{opacity:1;transform:scale(1.04)}}
@keyframes rpgHatchSwap{
  0%{opacity:0;transform:scale(.88) translateY(12px)}
  60%{opacity:1;transform:scale(1.03) translateY(0)}
  100%{opacity:1;transform:scale(1)}
}
@keyframes rpgHatchShake{
  0%,100%{transform:translate(0,0) rotate(0)}
  20%{transform:translate(-7px,2px) rotate(-2deg)}
  40%{transform:translate(8px,-2px) rotate(2.5deg)}
  60%{transform:translate(-5px,3px) rotate(-1.5deg)}
  80%{transform:translate(5px,-1px) rotate(1deg)}
}
@keyframes rpgHatchBurst{
  0%{transform:scale(1);filter:drop-shadow(0 18px 36px rgba(0,0,0,.55)) brightness(1)}
  35%{transform:scale(1.18);filter:drop-shadow(0 0 28px rgba(255,220,140,.75)) brightness(1.35)}
  100%{transform:scale(1);filter:drop-shadow(0 18px 36px rgba(0,0,0,.55)) brightness(1)}
}
@keyframes rpgHatchReveal{
  0%{opacity:0;transform:scale(.82);filter:drop-shadow(0 0 0 transparent) brightness(1.25)}
  55%{opacity:1;transform:scale(1.04);filter:drop-shadow(0 0 28px rgba(255,210,120,.5)) brightness(1.08)}
  100%{opacity:1;transform:scale(1);filter:drop-shadow(0 18px 36px rgba(0,0,0,.55)) brightness(1)}
}
@keyframes rpgHatchShadowRise{
  0%{
    opacity:0;transform:scale(.88) translateY(10px);
    filter:brightness(0) contrast(1.2) drop-shadow(0 0 0 transparent);
  }
  40%{
    opacity:.85;transform:scale(.98) translateY(2px);
    filter:brightness(0) contrast(1.2) drop-shadow(0 10px 20px rgba(0,0,0,.55));
  }
  100%{
    opacity:1;transform:scale(1);
    filter:brightness(.28) saturate(.25) contrast(1.05) drop-shadow(0 14px 24px rgba(0,0,0,.5));
  }
}
@keyframes rpgHatchSparkleReveal{
  0%{
    opacity:1;transform:scale(1);
    filter:brightness(.28) saturate(.25) drop-shadow(0 14px 24px rgba(0,0,0,.5));
  }
  45%{
    transform:scale(1.05);
    filter:brightness(1.25) saturate(1.15) drop-shadow(0 0 32px rgba(255,230,160,.75));
  }
  100%{
    opacity:1;transform:scale(1);
    filter:brightness(1) saturate(1) drop-shadow(0 18px 36px rgba(0,0,0,.55)) drop-shadow(0 0 18px rgba(255,220,150,.35));
  }
}
@keyframes rpgHatchSparkleDust{
  0%,100%{opacity:.55;transform:scale(1) rotate(0deg)}
  50%{opacity:1;transform:scale(1.06) rotate(4deg)}
}
@keyframes rpgHatchSparkleRing{
  from{opacity:.45;transform:scale(.92)}
  to{opacity:.9;transform:scale(1.08)}
}
.raid-foe-showcase,.raid-chest-showcase{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  margin:10px auto 12px;padding:12px 10px;max-width:280px;
  border-radius:16px;border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(165deg,rgba(255,255,255,.06),rgba(0,0,0,.28));
}
.raid-boss-showcase{max-width:320px;border-color:rgba(255,160,90,.35);box-shadow:0 0 24px rgba(255,120,60,.12)}
.raid-foe-img,.raid-chest-img{
  width:min(62vw,220px);height:min(78vw,280px);object-fit:cover;object-position:center top;
  border-radius:14px;border:1px solid rgba(255,255,255,.14);
  box-shadow:0 12px 28px rgba(0,0,0,.4);
}
.raid-chest-img{height:auto;max-height:220px;object-fit:contain;background:transparent;border:0;box-shadow:none}
.raid-foe-fallback{font-size:3.2rem;line-height:1}
.raid-foe-meta,.raid-chest-label{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}
.raid-foe-img.hidden,.raid-foe-fallback.hidden,.raid-chest-img.hidden{display:none!important}
.pet-egg-name{font-size:.74rem;line-height:1.25;display:inline-flex;align-items:center;justify-content:center;gap:4px}
.pet-egg-hint{line-height:1.3;max-height:2.6em;overflow:hidden}
.pet-egg-card .egg-track{width:100%;margin:2px 0}
.pet-owned-card{
  border-radius:12px;padding:10px;text-align:left;
  display:flex;flex-direction:column;align-items:stretch;gap:8px;
  border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.2);
  transition:border-color .15s ease;
}
.pet-owned-card:hover{border-color:rgba(255,255,255,.22)}
.pet-owned-card.active{border-color:rgba(62,207,114,.55);background:rgba(62,207,114,.12)}
.pet-owned-main{display:flex;align-items:center;gap:10px;min-width:0}
.pet-owned-thumb{position:relative;width:52px;height:52px;border-radius:999px;overflow:hidden;flex-shrink:0;border:1px solid rgba(212,175,55,.38);background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.55));box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.pet-owned-img,
.pet-owned-img.pet-realistic-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain!important;object-position:center center!important;
  z-index:1;border-radius:999px;background:transparent;padding:4%;
  filter:none!important;
}
.pet-owned-emoji{position:absolute;inset:0;display:grid;place-items:center;margin:0;z-index:0;font-size:1.35rem;opacity:.55;pointer-events:none}
.pet-view-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center center;padding:4%}
.pet-hero-portrait-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center center;z-index:1;padding:4%}
.pet-showcase-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center center;image-rendering:auto;z-index:1;padding:4%}
.pet-realistic-portrait,.pet-owned-realistic{width:100%;height:100%;object-fit:contain;image-rendering:auto}
.pet-realistic-img.pet-sprite-lg{width:100%;height:100%;max-height:220px;object-fit:contain;border-radius:12px}
.pet-owned-realistic{width:42px;height:52px;border-radius:8px;object-fit:contain;flex-shrink:0}
.pet-owned-emoji{font-size:1.45rem;line-height:1;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:0;opacity:.55;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}
.pet-owned-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.pet-owned-name{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;font-weight:800;font-size:.82rem;line-height:1.2;color:var(--txt)}
.pet-owned-stats{line-height:1.3}
.pet-owned-activate{align-self:flex-start}
.pet-owned-tip{margin-top:2px}

/* ── Saga Refresh ── */
.saga-chapter-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.saga-chapter-summary{padding:2px 6px 8px;line-height:1.35}
.saga-active-card{border-radius:var(--r-sm);padding:12px;margin:0 0 12px;border-left:3px solid var(--gold)}
.saga-active-card h3{margin:4px 0;font-size:1rem}
.saga-active-card p{font-size:.78rem;line-height:1.4;color:var(--muted);margin:6px 0}
.saga-active-type{font-size:.72rem;color:var(--accent);font-weight:700}
.saga-active-footer{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}

/* ── Grid-Kartenkampf ── */
.tcg-grid-board{display:grid;grid-template-rows:auto auto auto;gap:6px;margin:8px 0;padding:8px;border-radius:var(--r-sm);background:radial-gradient(circle at center,rgba(94,196,255,.12),rgba(0,0,0,.28))}
.tcg-grid-mid{padding:4px 0;line-height:1.3}
.tcg-grid-side{display:flex;flex-direction:column;gap:6px}
.tcg-grid-row{display:flex;flex-direction:column;gap:4px}
.tcg-grid-row-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.tcg-grid-side-label{font-size:.62rem;text-align:center;color:var(--muted);margin:2px 0;font-weight:700;letter-spacing:.04em}
.tcg-grid-mid{text-align:center;font-size:.65rem;font-weight:900;color:var(--muted);letter-spacing:.2em}
.grid-unit.cross-target{outline:2px dashed rgba(245,158,11,.85);box-shadow:0 0 14px rgba(245,158,11,.28);cursor:pointer}
.grid-card-slot{height:74px;border:1px dashed rgba(255,255,255,.18);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--muted);background:rgba(255,255,255,.03)}
.grid-unit{position:relative;min-height:78px;border-radius:8px;overflow:visible;border:2px solid var(--rc,#aaa);background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(0,0,0,.35));box-shadow:0 2px 8px rgba(0,0,0,.3);transition:transform .15s,box-shadow .15s}
.grid-unit.card-type-melee  {background-image:url('/activity/rpg/icons/card-frame-melee.png');background-size:100% 100%;background-repeat:no-repeat}
.grid-unit.card-type-ranged {background-image:url('/activity/rpg/icons/card-frame-ranged.png');background-size:100% 100%;background-repeat:no-repeat}
.grid-unit.card-type-trap   {background-image:url('/activity/rpg/icons/card-frame-trap.png');background-size:100% 100%;background-repeat:no-repeat}
.grid-unit.rarity-uncommon  {border-color:#4ade80;box-shadow:0 0 8px rgba(74,222,128,.4),0 2px 8px rgba(0,0,0,.4)}
.grid-unit.rarity-rare      {border-color:#60a5fa;box-shadow:0 0 10px rgba(96,165,250,.5),0 2px 8px rgba(0,0,0,.4)}
.grid-unit.rarity-epic      {border-color:#c084fc;box-shadow:0 0 14px rgba(192,132,252,.55),0 2px 8px rgba(0,0,0,.4)}
.grid-unit.rarity-legendary {border-color:#fbbf24;animation:legendGlow 2.5s ease-in-out infinite alternate}
.tcg-grid-side{overflow:visible}
.tcg-grid-board{overflow:visible}
.grid-unit-art{height:42px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border-radius:6px 6px 0 0}
.grid-unit-art span{font-size:1.6rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.45))}
.grid-unit-sprite{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
.grid-unit-name{font-size:.56rem;font-weight:700;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 3px}
.grid-unit-bars{display:flex;justify-content:center;gap:4px;font-size:.54rem;font-weight:700;color:var(--muted)}
.grid-unit-rarity{height:3px;position:absolute;bottom:0;left:0;right:0}
.grid-link-btn{margin:2px auto 3px;display:block;padding:3px 6px;border-radius:6px;border:1px solid rgba(120,200,255,.4);background:rgba(80,160,255,.1);color:#9fd4ff;font-size:.52rem;font-weight:800;cursor:pointer}
.grid-unit.resonating{box-shadow:0 0 10px rgba(255,215,0,calc(.15 + var(--res,0)*.08))}
.grid-unit.linked{outline:1px dashed rgba(120,200,255,.55)}
.grid-unit.trap.facedown{background:linear-gradient(160deg,rgba(80,40,120,.35),rgba(0,0,0,.5));border-style:dashed;border-color:rgba(180,126,255,.45)}
.grid-unit.trap.revealed{border-color:rgba(245,158,11,.55)}
.grid-unit.spell-active{background:linear-gradient(160deg,rgba(40,80,140,.45),rgba(20,40,80,.55));border-color:rgba(120,200,255,.55)}
.grid-unit.spell-active.spell-triggered{border-color:rgba(100,220,160,.6);box-shadow:0 0 8px rgba(100,220,160,.25)}
.grid-unit .spell-face{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px;text-align:center}
.grid-card-slot.trap-pick{cursor:pointer;border-color:rgba(180,126,255,.7);background:rgba(120,60,180,.2);animation:tcgPulse 1s infinite}
.tcg-meta-strip{display:flex;flex-wrap:wrap;gap:4px;padding:6px 8px;margin-bottom:6px}
.tcg-meta-chip{font-size:.58rem;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.tcg-campaign-preview,.tcg-build-preview{margin-top:8px;padding:8px 10px;border-radius:var(--r);background:rgba(0,0,0,.2)}
.tcg-campaign-preview strong{display:block;margin-bottom:4px}
@keyframes tcgPulse{0%,100%{opacity:.7}50%{opacity:1}}
.grid-ability-btn{margin:3px auto 4px;display:block;padding:3px 6px;border-radius:6px;border:1px solid rgba(255,215,0,.45);background:rgba(255,215,0,.12);color:var(--gold);font-size:.52rem;font-weight:800;cursor:pointer}
.grid-ability-btn:active{transform:scale(.96)}
.clash-card.spell-card,.clash-card.trap-card{border-color:rgba(180,126,255,.45)}
.clash-cost,.clash-type{font-size:.58rem;font-weight:700}
.clash-card-art-wrap{background:radial-gradient(circle at 50% 30%,var(--el-color,#fff5),rgba(0,0,0,.25) 70%)}
.clash-card.rarity-rare{box-shadow:0 0 12px rgba(33,150,243,.22)}
.clash-card.rarity-epic{box-shadow:0 0 14px rgba(156,39,176,.35)}
.clash-card.rarity-legendary{box-shadow:0 0 16px rgba(255,152,0,.45)}

/* ── Nicht blockierende Arcade-Meldungen ── */
.arcade-inline-result{font-size:.78rem;padding:8px;border-radius:var(--r-sm);margin:0 0 8px;color:var(--txt)}
.arcade-inline-reward{text-align:center;font-weight:800;color:var(--gold);margin:4px 0 8px;animation:coinPop .35s ease}
.egg-track{height:7px;width:100%;margin:3px 0}
.tcg-phase-hint{text-align:center;font-weight:800;color:var(--accent);margin:6px 0;font-size:.8rem}
.tcg-phase-hint.waiting{color:var(--gold)}
.tcg-ai-wait{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;border-radius:var(--r-sm);margin:8px 0}
.tcg-relic-pick{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:var(--r-sm);margin:8px 0}
.tcg-relic-grid{display:flex;flex-direction:column;gap:6px}
.tcg-relic-btn{text-align:left;line-height:1.35;padding:10px 12px}
.tcg-help-overlay{position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;padding:18px}
.tcg-help-box{max-width:520px;border-radius:var(--r-md);padding:18px;color:var(--txt)}
.tcg-help-box h3{margin:0 0 8px}
.tcg-help-box p,.tcg-help-box li{font-size:.86rem;line-height:1.45;color:var(--muted)}
.tcg-help-box ul{padding-left:18px}
.clash-log-line.latest{color:#f8e7a1;font-weight:700;animation:logPulse .45s ease}
@keyframes logPulse{0%{opacity:.4;transform:translateY(4px)}100%{opacity:1;transform:none}}
.tcg-relic-pick{padding:12px;border-radius:var(--r-sm);margin:8px 0;text-align:center}
.tcg-relic-pick h4{margin:0 0 6px}
.tcg-relic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px;margin-top:10px}
.tcg-relic-card-btn{
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;
  padding:14px 12px 12px;min-height:118px;border-radius:14px;cursor:pointer;text-align:center;
  border:1px solid rgba(232,197,71,.28);background:linear-gradient(165deg,rgba(124,92,255,.18),rgba(8,12,28,.92));
  color:var(--txt);transition:transform .15s,border-color .15s,box-shadow .15s;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 4px 14px rgba(0,0,0,.35);
}
.tcg-relic-card-btn:hover,.tcg-relic-card-btn:focus-visible{
  transform:translateY(-2px);border-color:var(--gold);
  box-shadow:0 0 20px rgba(232,197,71,.22),inset 0 0 24px rgba(232,197,71,.06);
}
.tcg-relic-card-btn:active{transform:scale(.98)}
.tcg-relic-card-emoji{font-size:1.85rem;line-height:1;filter:drop-shadow(0 4px 8px rgba(0,0,0,.45))}
.tcg-relic-card-name{
  font-size:.78rem;font-weight:800;letter-spacing:.03em;line-height:1.25;
  color:var(--gold);text-shadow:0 1px 6px rgba(0,0,0,.5);width:100%;
}
.tcg-relic-card-desc{
  font-size:.62rem;line-height:1.35;color:rgba(226,232,240,.88);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;width:100%;
}
.tcg-relic-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:var(--r-sm);cursor:pointer;text-align:center;background:rgba(255,255,255,.04);color:var(--txt)}
.tcg-relic-card:hover{border-color:var(--gold);background:rgba(248,231,161,.08)}
.tcg-relic-emoji{font-size:1.6rem}
/* Quest-Suche — Icons über ganze Activity, ohne Text-Overlap */
#screen-zone{position:relative}
.quest-search-viewport-layer{
  position:fixed;inset:0;z-index:21000;pointer-events:none;
  padding:max(72px,14vh) 8px max(88px,16vh);
  box-sizing:border-box;
}
.quest-search-viewport-layer.hidden{display:none!important}
.quest-search-viewport-inner{
  position:relative;width:100%;height:100%;pointer-events:none;
}
.quest-search-viewport-layer .quest-search-spot{z-index:2}
.quest-investigate-overlay{z-index:15030}
.quest-investigate-modal{max-width:min(100%,400px)}
.quest-investigate-cancel{width:100%;margin-top:10px}
.quest-search-float-hint{
  position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:2;pointer-events:none;
  padding:7px 16px;border-radius:999px;font-size:.7rem;line-height:1.35;text-align:center;
  max-width:min(92%,340px);color:var(--muted);border:1px solid rgba(232,197,71,.25);
  background:rgba(6,8,16,.82);backdrop-filter:blur(6px);
}
.quest-search-scatter-inline{
  position:relative;min-height:min(36vh,240px);margin:10px 0 14px;border-radius:12px;
  background:rgba(0,0,0,.12);overflow:hidden;
}
.quest-search-scatter-inline .quest-search-float-hint{top:8px;max-width:min(88%,300px)}
.quest-search-scatter-inline .quest-search-spot{z-index:2}
.quest-search-panel-block{margin:0 0 12px;padding:12px;display:flex;flex-direction:column;gap:10px}
.quest-search-panel-head{display:flex;flex-direction:column;gap:4px}
.quest-search-inline-list{display:flex;flex-wrap:wrap;gap:8px}
.quest-search-inline-btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 12px;border:1px solid rgba(232,197,71,.35);background:rgba(232,197,71,.1);color:var(--txt);border-radius:12px;font-weight:700}
.quest-search-inline-btn:hover{border-color:rgba(232,197,71,.65);background:rgba(232,197,71,.18)}
.quest-search-inline-emoji{font-size:1.2rem;line-height:1}
.panel-skills .quest-search-scatter-inline{min-height:min(28vh,200px);margin:0;flex-shrink:0}
.raid-quest-search-host{margin:0 0 10px}
.raid-quest-search-host .quest-search-scatter-inline{min-height:min(34vh,220px);margin:0}
.quest-search-complete{
  margin:10px 0;padding:10px 14px;border-radius:10px;font-size:.74rem;text-align:center;
}
.quest-search-spot{
  position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:50%;border:none;
  background:transparent;color:var(--gold);cursor:pointer;pointer-events:auto;
  animation:searchPulse 2.2s ease-in-out infinite;padding:0;
}
.quest-search-spot.found{
  animation:none;color:var(--green);opacity:.55;cursor:default;
}
.quest-search-spot-glow{
  font-size:1.45rem;line-height:1;
  filter:drop-shadow(0 0 6px rgba(232,197,71,.65)) drop-shadow(0 2px 4px rgba(0,0,0,.75));
}
.quest-search-spot.found .quest-search-spot-glow{filter:drop-shadow(0 0 4px rgba(46,204,113,.5))}
@keyframes searchPulse{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.12)}}
.quest-search-spot.quest-search-vanish{animation:questSpotVanish .45s ease forwards;pointer-events:none}
@keyframes questSpotVanish{to{opacity:0;transform:translate(-50%,-50%) scale(0);visibility:hidden}}
#quest-toast-layer,#push-toast-layer{
  position:fixed;top:max(10px,env(safe-area-inset-top,0px));left:50%;right:auto;bottom:auto;
  transform:translateX(-50%);
  z-index:20250;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;
  pointer-events:none;
  width:260px!important;min-width:260px!important;max-width:min(92vw,320px)!important;
  height:auto;max-height:none;margin:0;
  background:transparent!important;box-shadow:none!important;border:none!important;
  box-sizing:border-box;
}
body.rpg-fixed-topbar #quest-toast-layer,
body.rpg-fixed-topbar #push-toast-layer{
  top:calc(54px + max(8px,env(safe-area-inset-top,0px)));
}
/* APK / Mobile / PC-Scale: Topbar oft retired — Toasts am Viewport-Oberrand (Safe-Area), nie mittig/unten */
html.flix-rpg-pc-scale body.rpg-fixed-topbar #quest-toast-layer,
html.flix-rpg-pc-scale body.rpg-fixed-topbar #push-toast-layer,
html[data-abenteuer-apk="1"] body.rpg-fixed-topbar #quest-toast-layer,
html[data-abenteuer-apk="1"] body.rpg-fixed-topbar #push-toast-layer,
html[data-mobile-shell="1"] body.rpg-fixed-topbar #quest-toast-layer,
html[data-mobile-shell="1"] body.rpg-fixed-topbar #push-toast-layer,
html.flix-rpg-mobile body.rpg-fixed-topbar #quest-toast-layer,
html.flix-rpg-mobile body.rpg-fixed-topbar #push-toast-layer{
  top:max(8px,env(safe-area-inset-top,0px))!important;
  bottom:auto!important;
}
.push-toast-clickable{cursor:pointer;touch-action:manipulation}
.push-toast-clickable:hover{filter:brightness(1.05)}
.push-toast-clickable:active{transform:translateY(1px)}
.quest-toast,.push-toast{
  position:relative;display:flex;flex-direction:column;align-items:stretch;
  padding:0;border:none;border-radius:0;gap:0;
  background:transparent!important;box-shadow:none!important;color:#f6efe2;
  opacity:0;transform:translateY(-8px) scale(.98);
  transition:opacity .13s ease,transform .13s ease;
  font-size:.68rem;line-height:1.3;
  width:260px!important;
  min-width:260px!important;
  max-width:260px!important;
  flex:0 0 auto;
  align-self:center;
  min-height:0;
  height:auto;
  pointer-events:auto;box-sizing:border-box;
  overflow:visible;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  font-family:Georgia,'Iowan Old Style','Palatino Linotype',Palatino,serif;
  font-variant-emoji:text;
  text-rendering:optimizeLegibility;
  text-align:center;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:manual;
  writing-mode:horizontal-tb!important;
  direction:ltr!important;
}
.push-toast-banner{
  isolation:isolate;
  background:transparent!important;
  box-shadow:none!important;
  border:none!important;
  outline:none;
  width:260px!important;
  min-width:260px!important;
  max-width:260px!important;
}
/* Banner-Art: absolute Layer — bestimmt NIEMALS Flex-Breite (kein <img> im Flow) */
.push-toast-banner-img,
.push-toast-banner-bg{
  position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important;
  width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  margin:0!important;padding:0!important;
  background-color:transparent!important;
  background-position:center!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  border:none!important;outline:none;
  object-fit:fill;
  opacity:.92;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.38));
}
.push-toast-banner-bg{
  display:block!important;
}
/* Safe-Area: volle Box-Breite, nur px-Padding */
.push-toast-safe{
  position:relative;z-index:1;
  display:flex;flex-direction:column;align-items:stretch;justify-content:center;
  box-sizing:border-box;width:100%!important;min-width:0;max-width:100%!important;
  flex:1 1 auto;
  padding:10px 16px 9px!important;
  text-align:center;
  overflow:visible;
  max-height:none;
}
.push-toast-banner > .push-toast-row,
.push-toast-banner > .push-toast-body,
.push-toast-banner > .push-toast-safe,
.push-toast-banner > .push-toast-actions{position:relative;z-index:1}
.push-toast-row{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;width:100%}
.push-toast-reward-body,
.push-toast-simple-body{
  display:flex;flex-direction:column;align-items:stretch;justify-content:center;
  gap:2px;min-width:0;width:100%;max-width:100%;
  text-align:center;overflow:visible;
}
.push-toast-reward-slim{gap:1px}
.push-toast-rule{
  display:none;
}
.push-toast-items{
  display:flex;flex-direction:column;align-items:stretch;gap:1px;
  min-width:0;width:100%;max-width:100%;
  max-height:none;
  overflow:visible;
  pointer-events:none;
}
.push-toast-items-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:6px;
  row-gap:1px;
  align-items:start;
}
.push-toast-item-row{
  display:grid;
  grid-template-columns:1.05rem minmax(0,1fr) auto;
  align-items:center;
  column-gap:5px;
  min-width:0;width:100%;
  padding:1px 0;
  border-bottom:none;
}
.push-toast-items-grid .push-toast-item-row{
  border-bottom:none;
  padding:1px 0;
}
.push-toast-item-row:last-child{border-bottom:none}
.push-toast-item-name{
  min-width:0;max-width:100%;
  font-weight:650;font-size:.62rem;line-height:1.25;color:#f3ead8;
  text-shadow:0 1px 2px rgba(0,0,0,.75);
  text-align:left;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:manual;
  display:block;
  letter-spacing:.01em;
}
.push-toast-item-qty{
  flex-shrink:0;
  font-weight:800;font-size:.62rem;line-height:1.25;
  color:#f0d078;
  text-shadow:0 1px 2px rgba(0,0,0,.75);
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
  padding-left:2px;
  padding-top:0;
  align-self:center;
  white-space:nowrap;
}
.push-toast-simple{width:260px!important;min-width:260px!important;max-width:260px!important;min-height:0}
.push-toast-simple .push-toast-safe{padding:9px 15px 8px!important}
.push-toast-compact{width:260px!important;min-width:260px!important;max-width:260px!important;min-height:0}
.push-toast-compact .push-toast-safe{padding:8px 15px 7px!important}
.push-toast-compact .push-toast-title{font-size:.52rem;letter-spacing:.08em;margin-bottom:0;opacity:.88}
.push-toast-compact .push-toast-msg{font-size:.66rem}
.push-toast-compact .push-toast-items{max-height:none}
.push-toast-compact .push-toast-icon{width:1rem;height:1rem}
.push-toast-compact .push-toast-icon img.rpg-ei,
.push-toast-compact .push-toast-icon img.rpg-ei-toast,
.push-toast-compact .push-toast-icon img.item-ico{width:.92rem;height:.92rem}
.push-toast-compact .push-toast-item-row{grid-template-columns:1rem minmax(0,1fr) auto;padding:0}
.push-toast-multi{width:280px!important;min-width:260px!important;max-width:280px!important;min-height:0}
.push-toast-multi .push-toast-safe{padding:9px 15px 8px!important}
.push-toast-multi .push-toast-title{font-size:.52rem;letter-spacing:.08em}
.push-toast-multi .push-toast-items{max-height:none}
.push-toast-dense{min-height:0}
.push-toast-dense .push-toast-safe{padding:6px 12px 5px}
.push-toast-dense .push-toast-item-name,
.push-toast-dense .push-toast-item-qty{font-size:.58rem}
.push-toast-dense .push-toast-icon{width:.95rem;height:.95rem}
.push-toast-dense .push-toast-icon img.rpg-ei,
.push-toast-dense .push-toast-icon img.rpg-ei-toast,
.push-toast-dense .push-toast-icon img.item-ico{width:.88rem;height:.88rem}
.push-toast-dense .push-toast-item-row{grid-template-columns:.95rem minmax(0,1fr) auto;column-gap:4px}
.push-toast-actions{
  display:flex;flex-wrap:wrap;gap:4px;justify-content:center;
  padding-top:4px;width:100%;max-width:100%;
}
.push-toast-action{min-height:22px;padding:2px 6px;font-size:.52rem;touch-action:manipulation}
.push-toast-sticky .push-toast-banner-img,
.push-toast-sticky .push-toast-banner-bg{filter:drop-shadow(0 4px 8px rgba(0,0,0,.4)) drop-shadow(0 0 5px rgba(94,196,255,.18))}
.quest-toast.show,.push-toast.show{opacity:1;transform:translateY(0) scale(1)}
.push-toast-exit{opacity:0!important;transform:translateY(-8px) scale(.98)!important}
.push-toast-bump{animation:pushToastBump .22s ease}
@keyframes pushToastBump{
  0%{transform:translateY(0) scale(1)}
  40%{transform:translateY(0) scale(1.04)}
  100%{transform:translateY(0) scale(1)}
}
.push-toast-body{flex:0 1 auto;min-width:0;width:100%;max-width:100%;overflow:visible}
.push-toast-title{
  font-weight:750;font-size:.5rem;margin:0 0 2px;color:#f0d078;
  letter-spacing:.1em;text-transform:uppercase;
  text-shadow:0 1px 2px rgba(0,0,0,.75);
  font-family:Georgia,'Times New Roman',serif;
  text-align:center;width:100%;max-width:100%;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  line-height:1.2;
  opacity:.9;
}
.push-toast-icon{
  display:flex;align-items:center;justify-content:center;
  width:1.15rem;height:1.15rem;flex-shrink:0;line-height:1;
  margin-top:0;
  background:transparent!important;font-size:0!important;
  color:transparent!important;
}
.push-toast-icon.is-empty{
  width:1.15rem;height:1.15rem;
  border-radius:3px;
  background:rgba(240,208,120,.1)!important;
  box-shadow:inset 0 0 0 1px rgba(240,208,120,.22);
}
.push-toast-icon img.rpg-ei,
.push-toast-icon img.rpg-ei-toast,
.push-toast-icon img.item-ico{
  width:1.05rem;height:1.05rem;margin:0;display:block;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.4));
  background:transparent!important;
  object-fit:contain;
}
img.rpg-ei.rpg-ei-toast{width:1.05rem;height:1.05rem;margin:0;vertical-align:middle;background:transparent!important}
.push-toast-msg img.rpg-ei,
.quest-toast-msg img.rpg-ei{display:none!important}
.quest-toast-msg,.push-toast-msg{
  flex:0 1 auto;font-weight:600;white-space:pre-line;min-width:0;width:100%;max-width:100%;
  font-size:.66rem;line-height:1.35;color:#ebe2d0;
  text-shadow:0 1px 3px rgba(0,0,0,.7);
  letter-spacing:.015em;
  text-align:center;
  overflow:visible;
  overflow-wrap:break-word;word-break:normal;hyphens:manual;
  max-height:none;
}
.push-toast-notes{
  margin-top:3px;padding-top:2px;
  border-top:1px solid rgba(240,208,120,.14);
  font-size:.58rem;color:rgba(240,208,120,.92);
  max-height:none;
  overflow:visible;
}
.push-toast-line{
  min-width:0;width:100%;text-align:center;
  overflow:visible;overflow-wrap:break-word;word-break:normal;hyphens:manual;
  display:block;white-space:normal;
}
.push-toast-line-main{font-weight:700;color:#f7f0e4}
.push-toast-line-sub{
  margin-top:1px;font-weight:600;font-size:.6rem;color:rgba(240,208,120,.92);
  letter-spacing:.02em;
}
.push-toast-warn .push-toast-title,
.push-toast-error .push-toast-title{color:#ffb4a8}
.push-toast-victory .push-toast-title{color:#8dffb0}
.push-toast-craft .push-toast-title{color:#f0c57a}
.push-toast-heal .push-toast-title{color:#9de8b8}
.push-toast-loot .push-toast-title,
.push-toast-reward .push-toast-title{color:#f0d078}

/* APK/Mobile/PC-Scale: feste 260px — keine %-Kollaps / kein width:100% auf schmalem Layer */
html[data-abenteuer-apk="1"] #push-toast-layer,
html[data-abenteuer-apk="1"] #quest-toast-layer,
html[data-mobile-shell="1"] #push-toast-layer,
html[data-mobile-shell="1"] #quest-toast-layer,
html.flix-rpg-mobile #push-toast-layer,
html.flix-rpg-mobile #quest-toast-layer,
html.flix-rpg-pc-scale #push-toast-layer,
html.flix-rpg-pc-scale #quest-toast-layer{
  position:fixed!important;
  top:max(8px,env(safe-area-inset-top,0px))!important;
  bottom:auto!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  height:auto!important;
  max-height:none!important;
  width:260px!important;
  min-width:260px!important;
  max-width:min(92vw,320px)!important;
  gap:0!important;
  font-size:12px!important;
  z-index:50050!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  pointer-events:none!important;
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
html[data-abenteuer-apk="1"] #push-toast-layer .push-toast,
html[data-abenteuer-apk="1"] #push-toast-layer .quest-toast,
html[data-abenteuer-apk="1"] #quest-toast-layer .quest-toast,
html[data-mobile-shell="1"] #push-toast-layer .push-toast,
html[data-mobile-shell="1"] #push-toast-layer .quest-toast,
html[data-mobile-shell="1"] #quest-toast-layer .quest-toast,
html.flix-rpg-mobile #push-toast-layer .push-toast,
html.flix-rpg-mobile #push-toast-layer .quest-toast,
html.flix-rpg-mobile #quest-toast-layer .quest-toast,
html.flix-rpg-pc-scale #push-toast-layer .push-toast,
html.flix-rpg-pc-scale #push-toast-layer .quest-toast,
html.flix-rpg-pc-scale #quest-toast-layer .quest-toast{
  font-size:11px!important;
  line-height:1.3!important;
  padding:0!important;
  gap:0!important;
  border:none!important;
  background:transparent!important;
  box-shadow:none!important;
  width:260px!important;
  min-width:260px!important;
  max-width:260px!important;
  min-height:0!important;
  height:auto!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  text-align:center!important;
  font-family:Georgia,'Times New Roman',serif!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  writing-mode:horizontal-tb!important;
}
html[data-abenteuer-apk="1"] #push-toast-layer .push-toast-safe,
html[data-mobile-shell="1"] #push-toast-layer .push-toast-safe,
html.flix-rpg-mobile #push-toast-layer .push-toast-safe,
html.flix-rpg-pc-scale #push-toast-layer .push-toast-safe{
  padding:9px 15px 8px!important;
  text-align:center!important;
  overflow:visible!important;
  max-height:none!important;
  width:100%!important;
  min-width:0!important;
  align-items:stretch!important;
}
html[data-abenteuer-apk="1"] #push-toast-layer .push-toast-compact,
html[data-mobile-shell="1"] #push-toast-layer .push-toast-compact,
html.flix-rpg-mobile #push-toast-layer .push-toast-compact,
html.flix-rpg-pc-scale #push-toast-layer .push-toast-compact,
html[data-abenteuer-apk="1"] #push-toast-layer .push-toast-simple,
html[data-mobile-shell="1"] #push-toast-layer .push-toast-simple,
html.flix-rpg-mobile #push-toast-layer .push-toast-simple,
html.flix-rpg-pc-scale #push-toast-layer .push-toast-simple{
  width:260px!important;min-width:260px!important;max-width:260px!important;padding:0!important;min-height:0!important;
}
html[data-abenteuer-apk="1"] #push-toast-layer .push-toast-compact .push-toast-safe,
html[data-mobile-shell="1"] #push-toast-layer .push-toast-compact .push-toast-safe,
html.flix-rpg-mobile #push-toast-layer .push-toast-compact .push-toast-safe,
html.flix-rpg-pc-scale #push-toast-layer .push-toast-compact .push-toast-safe,
html[data-abenteuer-apk="1"] #push-toast-layer .push-toast-simple .push-toast-safe,
html[data-mobile-shell="1"] #push-toast-layer .push-toast-simple .push-toast-safe,
html.flix-rpg-mobile #push-toast-layer .push-toast-simple .push-toast-safe,
html.flix-rpg-pc-scale #push-toast-layer .push-toast-simple .push-toast-safe{
  padding:8px 15px 7px!important;
}
html[data-abenteuer-apk="1"] #push-toast-layer .push-toast-multi,
html[data-mobile-shell="1"] #push-toast-layer .push-toast-multi,
html.flix-rpg-mobile #push-toast-layer .push-toast-multi,
html.flix-rpg-pc-scale #push-toast-layer .push-toast-multi{
  width:280px!important;min-width:260px!important;max-width:280px!important;padding:0!important;min-height:0!important;
}
html[data-abenteuer-apk="1"] #push-toast-layer .push-toast-multi .push-toast-safe,
html[data-mobile-shell="1"] #push-toast-layer .push-toast-multi .push-toast-safe,
html.flix-rpg-mobile #push-toast-layer .push-toast-multi .push-toast-safe,
html.flix-rpg-pc-scale #push-toast-layer .push-toast-multi .push-toast-safe{
  padding:9px 15px 8px!important;
}
html[data-abenteuer-apk="1"] #push-toast-layer .push-toast-dense,
html[data-mobile-shell="1"] #push-toast-layer .push-toast-dense,
html.flix-rpg-mobile #push-toast-layer .push-toast-dense,
html.flix-rpg-pc-scale #push-toast-layer .push-toast-dense{
  min-height:0!important;
}
html[data-abenteuer-apk="1"] #push-toast-layer .push-toast-items,
html[data-mobile-shell="1"] #push-toast-layer .push-toast-items,
html.flix-rpg-mobile #push-toast-layer .push-toast-items,
html.flix-rpg-pc-scale #push-toast-layer .push-toast-items{
  max-height:none!important;
  overflow:visible!important;
}
html[data-abenteuer-apk="1"] .push-toast-title,
html[data-mobile-shell="1"] .push-toast-title,
html.flix-rpg-mobile .push-toast-title,
html.flix-rpg-pc-scale .push-toast-title{
  font-size:9px!important;margin-bottom:1px!important;letter-spacing:.08em!important;
  text-align:center!important;white-space:nowrap!important;
}
html[data-abenteuer-apk="1"] .push-toast-msg,
html[data-abenteuer-apk="1"] .quest-toast-msg,
html[data-mobile-shell="1"] .push-toast-msg,
html[data-mobile-shell="1"] .quest-toast-msg,
html.flix-rpg-mobile .push-toast-msg,
html.flix-rpg-mobile .quest-toast-msg,
html.flix-rpg-pc-scale .push-toast-msg,
html.flix-rpg-pc-scale .quest-toast-msg,
html[data-abenteuer-apk="1"] .push-toast-item-name,
html[data-mobile-shell="1"] .push-toast-item-name,
html.flix-rpg-mobile .push-toast-item-name,
html.flix-rpg-pc-scale .push-toast-item-name,
html[data-abenteuer-apk="1"] .push-toast-line,
html[data-mobile-shell="1"] .push-toast-line,
html.flix-rpg-mobile .push-toast-line,
html.flix-rpg-pc-scale .push-toast-line{
  font-size:11px!important;font-weight:600!important;
  max-height:none!important;overflow:visible!important;white-space:normal!important;
  text-overflow:clip!important;overflow-wrap:break-word!important;word-break:normal!important;
  hyphens:manual!important;writing-mode:horizontal-tb!important;
}
html[data-abenteuer-apk="1"] .push-toast-item-qty,
html[data-mobile-shell="1"] .push-toast-item-qty,
html.flix-rpg-mobile .push-toast-item-qty,
html.flix-rpg-pc-scale .push-toast-item-qty{
  font-size:11px!important;font-weight:800!important;color:#f0d078!important;
}
html[data-abenteuer-apk="1"] .push-toast-icon,
html[data-abenteuer-apk="1"] .quest-toast-emoji,
html[data-mobile-shell="1"] .push-toast-icon,
html[data-mobile-shell="1"] .quest-toast-emoji,
html.flix-rpg-mobile .push-toast-icon,
html.flix-rpg-mobile .quest-toast-emoji,
html.flix-rpg-pc-scale .push-toast-icon,
html.flix-rpg-pc-scale .quest-toast-emoji{
  width:18px!important;height:18px!important;display:flex!important;
}
html[data-abenteuer-apk="1"] .push-toast-icon img,
html[data-mobile-shell="1"] .push-toast-icon img,
html.flix-rpg-mobile .push-toast-icon img,
html.flix-rpg-pc-scale .push-toast-icon img{
  width:16px!important;height:16px!important;
}
html[data-abenteuer-apk="1"] .push-toast-row,
html[data-mobile-shell="1"] .push-toast-row,
html.flix-rpg-mobile .push-toast-row,
html.flix-rpg-pc-scale .push-toast-row{
  gap:5px!important;
}
html[data-abenteuer-apk="1"] .push-toast-action,
html[data-mobile-shell="1"] .push-toast-action,
html.flix-rpg-mobile .push-toast-action,
html.flix-rpg-pc-scale .push-toast-action{
  min-height:22px!important;padding:2px 6px!important;font-size:9px!important;
}
/* RPG Achievements / Erfolge */
.ach-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 10px}
.ach-summary-stat{
  display:flex;flex-direction:column;gap:2px;padding:10px 10px 8px;border-radius:14px;
  background:linear-gradient(165deg,rgba(18,16,10,.72),rgba(8,10,14,.78));
  border:1px solid rgba(250,204,21,.18);
  box-shadow:inset 0 1px 0 rgba(255,244,220,.06),0 8px 18px rgba(0,0,0,.22);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.ach-summary-stat--glow{
  border-color:rgba(74,222,128,.45);
  background:linear-gradient(165deg,rgba(20,40,24,.75),rgba(8,12,10,.8));
  box-shadow:0 0 18px rgba(74,222,128,.12), inset 0 1px 0 rgba(187,247,208,.1);
}
.ach-summary-label{font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:rgba(250,240,210,.62)}
.ach-summary-stat strong{font-size:.95rem;font-weight:800;color:#fff7d6;line-height:1.15}
.ach-summary-sub{font-size:.62rem;color:rgba(230,220,190,.55)}
.ach-grid,.ach-list{display:flex;flex-direction:column;gap:10px;padding-right:2px}
.ach-card{
  padding:12px 14px;border-radius:16px;
  border:1px solid rgba(250,204,21,.16);
  background:
    linear-gradient(155deg,rgba(22,18,10,.78),rgba(8,10,14,.82)),
    rgba(0,0,0,.28);
  display:flex;flex-direction:column;gap:10px;
  box-shadow:0 10px 22px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,244,220,.05);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.ach-card.ach-unlocked{border-color:rgba(212,175,55,.4);background:linear-gradient(155deg,rgba(40,32,12,.72),rgba(10,12,16,.8))}
.ach-card.ach-claimable{
  border-color:rgba(74,222,128,.55);
  background:linear-gradient(180deg,rgba(74,222,128,.16),rgba(8,12,10,.78));
  box-shadow:0 0 18px rgba(74,222,128,.16), inset 0 1px 0 rgba(187,247,208,.12);
}
.ach-card.ach-claimed{border-color:rgba(62,207,114,.28);opacity:.88}
.ach-card.ach-locked{opacity:.92}
.ach-card-main{display:flex;align-items:flex-start;gap:12px}
.ach-emoji-wrap{
  flex:0 0 auto;width:48px;height:48px;border-radius:14px;
  display:grid;place-items:center;
  background:radial-gradient(circle at 40% 30%,rgba(255,230,160,.16),rgba(0,0,0,.35));
  border:1px solid rgba(250,204,21,.28);
  box-shadow:inset 0 1px 0 rgba(255,244,220,.1);
}
.ach-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.ach-card-actions{display:flex;justify-content:flex-end}
.ach-claim-btn{margin:0;font-weight:800;letter-spacing:.02em}
.ach-claim-all-wrap{display:flex;justify-content:stretch;margin:0 0 10px}
.ach-claim-all-btn{
  width:100%;font-weight:800;min-height:42px;border-radius:999px;
  border:1px solid rgba(74,222,128,.45)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.28),0 0 18px rgba(74,222,128,.12);
}
.ach-claimed-badge{
  display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;
  font-size:.72rem;font-weight:700;color:#86efac;
  border:1px solid rgba(74,222,128,.28);background:rgba(20,40,28,.45);
}
.ach-head{display:flex;align-items:flex-start;gap:10px}
.ach-emoji{font-size:1.35rem;line-height:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
.ach-name{flex:1;margin:0;font-weight:800;font-size:.92rem;line-height:1.25;color:#fff8e7;word-break:break-word}
.ach-desc{margin:0;font-size:.76rem;line-height:1.4;color:rgba(230,220,190,.68)}
.ach-gems{font-size:.78rem;color:#fde68a;font-weight:800;white-space:nowrap;padding-top:2px}
.ach-progress{margin:2px 0 0}
.ach-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ach-tier-pill,.ach-cat-pill,.ach-status{
  display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;
  font-size:.62rem;font-weight:700;line-height:1.3;
  border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.28);color:rgba(230,220,190,.72);
}
.ach-status{color:#fff4dc}
.ach-tier-legendary .ach-gems,.ach-tier-legendary .ach-tier-pill{color:#ff8a65;border-color:rgba(255,138,101,.35)}
.ach-tier-epic .ach-gems,.ach-tier-epic .ach-tier-pill{color:#ce93d8;border-color:rgba(206,147,216,.35)}
.ach-tier-hard .ach-gems,.ach-tier-hard .ach-tier-pill{color:#81d4fa;border-color:rgba(129,212,250,.35)}
.ach-tier-medium .ach-tier-pill{color:#ffe082;border-color:rgba(255,224,130,.3)}
.ach-category-tabs{
  display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin;
  padding:4px 2px 10px;margin:0 0 6px;
}
.ach-cat-tab{
  flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  min-width:96px;padding:9px 12px;border-radius:14px;
  border:1px solid rgba(250,204,21,.14);
  background:rgba(8,10,14,.55);color:rgba(230,220,190,.7);
  cursor:pointer;touch-action:manipulation;text-align:left;
  transition:border-color .15s,background .15s,color .15s,transform .12s;
}
.ach-cat-tab:hover{background:rgba(255,255,255,.06);border-color:rgba(232,197,71,.35);color:#fff4dc}
.ach-cat-tab.active{
  border-color:rgba(250,204,21,.55);color:#fde68a;
  background:linear-gradient(165deg,rgba(60,48,16,.72),rgba(20,16,8,.8));
  box-shadow:0 0 16px rgba(250,204,21,.12);
}
.ach-cat-emoji{font-size:1rem;line-height:1}
.ach-cat-label{font-size:.7rem;font-weight:800;line-height:1.2;white-space:nowrap}
.ach-cat-count{font-size:.6rem;font-weight:700;opacity:.8}
.ach-tier-legend{
  display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;
}
.ach-tier-legend span{
  display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;
  font-size:.62rem;font-weight:700;color:rgba(230,220,190,.7);
  border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.28);
}
.ach-subtitle{margin:0 0 10px;line-height:1.4;color:rgba(230,220,190,.68)}
.ach-empty{text-align:center;padding:28px 12px}
.ach-open-btn{width:100%;margin-top:10px}
#panel-card.panel-achievements{
  min-height:0;height:100%;max-height:none;
  display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;
  border:none!important;background:transparent!important;box-shadow:none!important;
}
#panel-card.panel-achievements .ach-workshop{
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;
}
#panel-card.panel-achievements .ach-workshop-header,
#panel-card.panel-achievements .ach-hero,
#panel-card.panel-achievements .ach-bench > :not(.ach-scroll-wrap){flex-shrink:0}
#panel-card.panel-achievements .ach-scroll-wrap{
  flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding-right:8px;padding-bottom:14px;scrollbar-width:thin;
}
@media (max-width:520px){
  .ach-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ach-emoji{font-size:1.2rem}
  .ach-emoji-wrap{width:42px;height:42px;border-radius:12px}
  .ach-name{font-size:.86rem}
}
/* Crafting-Werkstatt */
.craft-workshop-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.craft-header-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.craft-only-btn{cursor:pointer;border:1px solid var(--line);background:rgba(255,255,255,.04)}
.craft-only-btn.active{border-color:rgba(74,222,128,.55);color:#86efac;background:rgba(34,197,94,.14)}
.craft-class-tabs{
  display:flex;gap:6px;overflow-x:auto;padding:0 0 8px;margin-bottom:4px;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin
}
.craft-class-tab{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;
  padding:5px 10px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.04);color:var(--txt);font-size:.78rem;cursor:pointer;white-space:nowrap
}
.craft-class-tab:hover{background:rgba(255,255,255,.08);border-color:rgba(232,197,71,.3)}
.craft-class-tab.active{border-color:var(--gold);color:var(--gold);background:var(--gold-dim)}
.craft-search-row{margin-bottom:10px}
.craft-search-input{
  width:100%;box-sizing:border-box;padding:10px 12px;border-radius:10px;
  border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.25);color:inherit;
  font-size:.88rem;outline:none
}
.craft-search-input:focus{border-color:rgba(232,197,71,.45);box-shadow:0 0 0 2px rgba(232,197,71,.12)}
.craft-category-tabs{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px;margin-bottom:10px;max-width:100%}
.inv-category-tabs{
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;
  margin:0;max-width:100%;padding:8px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.22);
}
.bag-slot-section{
  margin-top:10px;padding-top:10px;
  border-top:1px solid rgba(226,192,122,.28);
}
.bag-slot-section-label{
  font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(226,192,122,.85);margin:0 0 8px;padding:0 2px;
}
/* Kategorie-Tabs: ganze Kachel als visuelle Fläche, ohne Emoji */
.craft-cat-tab,
.shop-cat-tab{
  --cat-glow:rgba(226,192,122,.28);
  --cat-fill-a:rgba(255,255,255,.08);
  --cat-fill-b:rgba(0,0,0,.35);
  appearance:none;-webkit-appearance:none;
  position:relative;overflow:visible;
  padding:10px 8px 10px;border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(120% 90% at 20% 0%,rgba(255,255,255,.14),transparent 55%),
    linear-gradient(165deg,var(--cat-fill-a),var(--cat-fill-b));
  color:rgba(246,238,226,.82);
  font-size:.62rem;font-weight:780;letter-spacing:.02em;
  cursor:pointer;touch-action:manipulation;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  line-height:1.15;text-align:center;min-height:2.85rem;
  box-sizing:border-box;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 12px transparent;
  transition:border-color .14s ease, transform .14s ease, box-shadow .14s ease, color .14s ease, filter .14s ease;
}
.craft-cat-tab .cat-emoji,
.shop-cat-tab .cat-emoji,
.inv-cat-tab .cat-emoji,
.inv-cat-ico{display:none!important}
.craft-cat-tab .craft-cat-label,
.shop-cat-tab .craft-cat-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.craft-cat-tab:hover,
.shop-cat-tab:hover{
  transform:translateY(-1px);
  border-color:rgba(226,192,122,.4);
  color:#fff8ee;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 6px 14px rgba(0,0,0,.28),0 0 14px var(--cat-glow);
}
.craft-cat-tab.active,
.shop-cat-tab.active{
  border-color:rgba(226,192,122,.72);
  color:#fff8ee;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 0 1px rgba(226,192,122,.2),0 8px 18px rgba(0,0,0,.3),0 0 18px var(--cat-glow);
  filter:saturate(1.15) brightness(1.06);
}
.craft-cat-tab .cat-count{font-size:.58rem;opacity:.72;font-weight:700}
.craft-cat-tone-gold,.inv-cat-tone-gold,.shop-cat-tab.craft-cat-tone-gold{--cat-glow:rgba(226,192,122,.42);--cat-fill-a:rgba(226,192,122,.32);--cat-fill-b:rgba(20,14,6,.62)}
.craft-cat-tone-amber,.inv-cat-tone-amber{--cat-glow:rgba(251,191,36,.4);--cat-fill-a:rgba(245,158,11,.3);--cat-fill-b:rgba(30,18,4,.6)}
.craft-cat-tone-steel,.inv-cat-tone-steel{--cat-glow:rgba(148,163,184,.38);--cat-fill-a:rgba(100,116,139,.32);--cat-fill-b:rgba(10,14,20,.62)}
.craft-cat-tone-teal,.inv-cat-tone-teal{--cat-glow:rgba(45,212,191,.42);--cat-fill-a:rgba(20,184,166,.32);--cat-fill-b:rgba(4,20,18,.6)}
.craft-cat-tone-copper,.inv-cat-tone-copper{--cat-glow:rgba(251,146,60,.4);--cat-fill-a:rgba(234,88,12,.3);--cat-fill-b:rgba(28,12,4,.6)}
.craft-cat-tone-violet,.inv-cat-tone-violet{--cat-glow:rgba(167,139,250,.4);--cat-fill-a:rgba(124,58,237,.3);--cat-fill-b:rgba(16,8,28,.62)}
.craft-cat-tone-ember,.inv-cat-tone-ember{--cat-glow:rgba(248,113,113,.42);--cat-fill-a:rgba(239,68,68,.3);--cat-fill-b:rgba(28,8,8,.6)}
.craft-cat-tone-parchment,.inv-cat-tone-parchment{--cat-glow:rgba(214,184,120,.4);--cat-fill-a:rgba(180,140,70,.3);--cat-fill-b:rgba(22,16,8,.6)}
.craft-cat-tone-slate,.inv-cat-tone-slate{--cat-glow:rgba(148,163,184,.32);--cat-fill-a:rgba(71,85,105,.3);--cat-fill-b:rgba(10,12,16,.6)}
.craft-cat-tone-blade,.inv-cat-tone-blade{--cat-glow:rgba(148,163,184,.45);--cat-fill-a:rgba(71,85,105,.36);--cat-fill-b:rgba(12,16,22,.64)}
.craft-cat-tone-rose{--cat-glow:rgba(251,113,133,.42);--cat-fill-a:rgba(244,63,94,.3);--cat-fill-b:rgba(28,8,14,.6)}
.craft-cat-tone-azure{--cat-glow:rgba(96,165,250,.42);--cat-fill-a:rgba(59,130,246,.3);--cat-fill-b:rgba(8,14,28,.62)}
/* Inventar/Lager-Kategorien — volle farbige Kachel */
.inv-category-tabs .inv-cat-tab{
  --cat-glow:rgba(226,192,122,.35);
  --cat-fill-a:rgba(255,255,255,.08);
  --cat-fill-b:rgba(0,0,0,.28);
  appearance:none;-webkit-appearance:none;
  position:relative;overflow:hidden;
  padding:8px 12px;border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(120% 100% at 15% 0%,rgba(255,255,255,.16),transparent 50%),
    linear-gradient(165deg,var(--cat-fill-a),var(--cat-fill-b));
  color:rgba(246,238,226,.86);
  font-size:.62rem;font-weight:780;letter-spacing:.01em;
  cursor:pointer;touch-action:manipulation;
  display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:0;
  line-height:1.1;text-align:center;flex:0 0 auto;min-height:2rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 10px transparent;
  transition:border-color .14s ease, transform .14s ease, box-shadow .14s ease, color .14s ease, filter .14s ease;
}
.inv-category-tabs .inv-cat-tab:hover{
  transform:translateY(-1px);
  border-color:rgba(226,192,122,.4);
  color:#fff8ee;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 6px 14px rgba(0,0,0,.25),0 0 12px var(--cat-glow);
}
.inv-category-tabs .inv-cat-tab.active{
  border-color:rgba(226,192,122,.72);
  color:#fff8ee;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 0 1px rgba(226,192,122,.18),0 6px 16px rgba(0,0,0,.28),0 0 16px var(--cat-glow);
  filter:saturate(1.12) brightness(1.05);
}
.inv-category-tabs .inv-cat-label{
  max-width:8.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.gemshop-tab-emoji,.ach-cat-emoji,.hub-mythic-crown,.hub-mythic-sparkle,.hub-meta-pts-ico{display:none!important}
.ach-cat-tab{
  display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(165deg,rgba(255,255,255,.07),rgba(0,0,0,.28));
}
/* Skills/Beruf-Modal */
.rpg-hub-tree-modal{
  position:fixed;inset:0;z-index:32100;display:flex;align-items:center;justify-content:center;
  padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));
  background:rgba(3,5,10,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.rpg-hub-tree-modal.hidden{display:none!important}
.rpg-hub-tree-shell{
  width:min(720px,100%);height:min(860px,92dvh);max-height:92dvh;
  display:flex;flex-direction:column;border-radius:18px;overflow:hidden;
  border:1px solid rgba(226,192,122,.35);
  background:linear-gradient(165deg,rgba(16,18,24,.97),rgba(6,8,12,.98));
  box-shadow:0 24px 60px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.4);
}
/* Handy/Landscape: Modal muss in den Viewport, Inhalt scrollt */
@media (max-height:560px),(max-width:900px){
  .rpg-hub-tree-modal{padding:max(6px,env(safe-area-inset-top)) 6px max(6px,env(safe-area-inset-bottom));align-items:stretch}
  .rpg-hub-tree-shell{
    width:100%!important;height:100%!important;max-height:100%!important;
    border-radius:12px;margin:0;
  }
  .rpg-hub-tree-head{padding:8px 10px}
  .rpg-hub-tree-head strong{font-size:.9rem}
  .rpg-hub-tree-body{padding:8px 10px 12px}
  .rpg-hub-tree-body .tree-node{width:42px!important;height:42px!important}
  .rpg-hub-tree-body .tree-node-icon{font-size:1.05rem!important}
  .rpg-hub-tree-body .tree-node-label{font-size:.62rem!important}
}
.rpg-hub-tree-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 14px;flex-shrink:0;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.rpg-hub-tree-head strong{font-size:1rem;font-weight:900;color:#fff8ee}
.rpg-hub-tree-head .tiny{margin:2px 0 0;color:rgba(246,238,226,.6)}
.rpg-hub-tree-body{
  flex:1;min-height:0;overflow:auto;padding:12px 14px 16px;
  overscroll-behavior:contain;
}
.rpg-hub-tree-body .panel-title{margin-top:0}
body.hub-tree-modal-open{overflow:hidden}
.inv-category-tabs .inv-cat-tone-gold{--cat-glow:rgba(226,192,122,.42)}
.inv-category-tabs .inv-cat-tone-amber{--cat-glow:rgba(251,191,36,.4)}
.inv-category-tabs .inv-cat-tone-steel{--cat-glow:rgba(148,163,184,.38)}
.inv-category-tabs .inv-cat-tone-teal{--cat-glow:rgba(45,212,191,.42)}
.inv-category-tabs .inv-cat-tone-copper{--cat-glow:rgba(251,146,60,.4)}
.inv-category-tabs .inv-cat-tone-violet{--cat-glow:rgba(167,139,250,.38)}
.inv-category-tabs .inv-cat-tone-ember{--cat-glow:rgba(248,113,113,.4)}
.inv-category-tabs .inv-cat-tone-parchment{--cat-glow:rgba(214,184,120,.4)}
.inv-category-tabs .inv-cat-tone-slate{--cat-glow:rgba(148,163,184,.32)}
.inv-category-tabs .inv-cat-tone-blade{--cat-glow:rgba(148,163,184,.45)}
.bag-float-wh-head{margin:0 0 8px;padding:2px 2px 0}
.bag-float-wh-kicker{
  font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(226,192,122,.85);margin-bottom:2px;
}
.bag-float-wh-sub{font-size:.7rem;color:rgba(246,238,226,.55);line-height:1.3}
.craft-load-more-row{display:flex;justify-content:center;padding:12px 0 4px;flex-shrink:0}
.craft-load-more-btn{min-width:min(100%,220px)}
.craft-recipe-scroll-wrap{
  flex:1 1 auto;min-height:0;
  overflow-y:auto;overflow-x:hidden;
  padding-right:4px;
}
.craft-recipe-empty{
  display:flex;align-items:center;justify-content:center;
  min-height:100%;padding:20px;text-align:center;margin:0;
}
.craft-recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.panel-craft .craft-recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.craft-recipe-card{
  padding:12px 12px 11px;border-radius:14px;border:1px solid rgba(255,255,255,.1);
  display:flex;flex-direction:column;gap:9px;overflow:visible;position:relative;
  min-height:0;background:linear-gradient(165deg,rgba(255,255,255,.05),rgba(0,0,0,.18));
}
.craft-recipe-card.can-craft{border-color:rgba(46,204,113,.4);box-shadow:inset 0 0 0 1px rgba(46,204,113,.08)}
.craft-recipe-card.locked{opacity:.9}
.craft-card-top{
  display:flex;align-items:flex-start;gap:10px;min-width:0;
}
.craft-recipe-emoji{
  width:2.4rem;height:2.4rem;flex-shrink:0;margin:0;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:1.35rem;line-height:1;border-radius:10px;
  background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1);
  position:relative;overflow:hidden;
}
.craft-card-heading{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.craft-recipe-name{
  font-weight:800;font-size:.86rem;line-height:1.3;word-break:break-word;
  color:#f1f5f9;margin:0;
}
.craft-recipe-meta{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;margin:0;
}
.craft-recipe-meta .craft-card-art,
.craft-recipe-meta .craft-anvil-socket,
.craft-recipe-meta .craft-recipe-emoji{
  flex:0 0 auto;
}
/* Recipe-Art: Frame immer Flex-Center (auch ohne #panel-card / OW-Host). */
.craft-card-art,
.craft-anvil-socket{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  overflow:hidden;text-align:center;
}
.craft-card-art > img,
.craft-card-art .craft-card-art-img,
.craft-card-art .item-ico,
.craft-card-art .craft-ui-ico,
.craft-anvil-socket > img,
.craft-anvil-socket .item-ico,
.craft-anvil-socket .craft-ui-ico{
  width:100%!important;height:100%!important;max-width:100%;max-height:100%;
  object-fit:contain!important;object-position:center center!important;
  display:block!important;margin:0 auto!important;
  align-self:center;
}
.craft-meta-chip{
  display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;
  font-size:.56rem;font-weight:800;line-height:1.3;
  background:rgba(148,163,184,.12);border:1px solid rgba(148,163,184,.3);color:#cbd5e1;
}
.craft-meta-chip.locked{
  background:rgba(248,113,113,.14);border-color:rgba(248,113,113,.42);color:#fecaca;
}
.craft-meta-chip.ok,.craft-meta-chip.craft-class-chip.ok{
  background:rgba(52,211,153,.12);border-color:rgba(52,211,153,.38);color:#a7f3d0;
}
.craft-class-lock{
  margin:0;padding:5px 9px;font-size:.66rem;font-weight:800;line-height:1.3;
  color:#fecaca;border-radius:8px;
  background:rgba(127,29,29,.32);border:1px solid rgba(248,113,113,.3);
}
.craft-class-hint{
  margin:0;padding:4px 8px;font-size:.62rem;font-weight:650;line-height:1.3;
  color:#cbd5e1;border-radius:8px;
  background:rgba(148,163,184,.1);border:1px solid rgba(148,163,184,.22);
}
.craft-card-body{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr);
  gap:8px;align-items:stretch;min-width:0;
}
.craft-card-mats{
  display:flex;flex-wrap:wrap;align-content:flex-start;gap:5px;
  padding:8px;border-radius:10px;min-width:0;
  background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.06);
}
.craft-card-result{
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;
  padding:8px 9px;border-radius:10px;min-width:0;
  background:rgba(232,197,71,.06);border:1px solid rgba(232,197,71,.18);
}
.craft-recipe-out{
  display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;
  justify-content:flex-start;gap:5px;font-size:.78rem;color:var(--gold);margin:0;
}
.craft-out-emoji{font-size:1.05rem;line-height:1}
.craft-out-qty{font-weight:800;letter-spacing:.01em}
.craft-result-stats{
  font-size:.62rem;font-weight:700;color:#cbd5e1;line-height:1.3;
}
.craft-result-xp{
  font-size:.58rem;font-weight:700;color:#86efac;opacity:.9;line-height:1.3;
}
.craft-recipe-btn{margin-top:0}
.craft-info-btn{
    display:inline-flex;align-items:center;justify-content:center;
    width:17px;height:17px;padding:0;border-radius:4px;
    border:1px solid rgba(147,197,253,.52);
    background:linear-gradient(180deg,#3b82f6 0%,#2563eb 100%);
    color:#fff;font-size:.62rem;font-weight:900;line-height:1;cursor:help;
    font-family:Georgia,"Times New Roman",serif;font-style:italic;
    box-shadow:0 1px 5px rgba(37,99,235,.35),inset 0 1px 0 rgba(255,255,255,.22);
    flex-shrink:0;
}
.craft-info-btn:hover,.craft-info-btn:focus-visible{
    transform:scale(1.08);filter:brightness(1.08);
    border-color:rgba(191,219,254,.75);outline:none;
}
.craft-ingredient-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.craft-ingredient,.craft-ingredient.stat-hover-wrap{
  font-size:.66rem;padding:5px 8px;border-radius:8px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  position:relative;cursor:help;display:inline-flex;align-items:center;gap:5px;
}
.craft-ingredient-qty{font-variant-numeric:tabular-nums;font-weight:700}
.craft-ingredient .stat-hover-trigger,.craft-ingredient-trigger{display:inline;background:transparent;border:none;padding:0;color:inherit;font:inherit;cursor:help;line-height:inherit}
.craft-ingredient .stat-hover-tip{display:none}
.craft-recipe-out .stat-hover-wrap{align-self:center}
#craft-ingredient-tooltip{z-index:140000;max-width:min(300px,calc(100vw - 24px))}
#craft-ingredient-tip-desc{white-space:pre-wrap;line-height:1.4}
#stat-hover-tooltip{z-index:140000}
.cos-image-preview{width:100%;height:68px;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.35)}
.cos-image-preview-rich{height:80px}
.cos-image-preview img{width:100%;height:100%;object-fit:cover;display:block}
.craft-ingredient.ok{border-color:rgba(46,204,113,.4);background:rgba(46,204,113,.08)}
.craft-ingredient.missing{border-color:rgba(239,68,68,.4);color:#fca5a5;background:rgba(239,68,68,.06)}
.craft-recipe-btn{width:100%;margin-top:2px}
.craft-card-foot .craft-recipe-btn{width:auto;margin-top:0}
@media (max-width:520px){
  .craft-card-body{grid-template-columns:1fr}
}
.craft-qty-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.craft-qty-label{flex:1 0 100%;margin-bottom:-2px}
.craft-qty-btn{width:28px;height:28px;padding:0;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:var(--txt);font-weight:800;cursor:pointer;line-height:1}
.craft-qty-btn:hover{background:rgba(255,255,255,.12)}
.craft-qty-input{width:52px;height:28px;text-align:center;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.25);color:var(--txt);font-weight:700;font-size:.78rem;-moz-appearance:textfield}
.craft-qty-input::-webkit-outer-spin-button,.craft-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.craft-qty-max{margin-left:auto}
.pet-supplies-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:6px 8px;border-radius:8px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.06)}
.pet-supplies-hint{margin-left:auto;opacity:.75}
.pet-care-actions{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.pet-care-block{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pet-care-footer{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}
.pet-showcase-after{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.pet-stats-showcase-wrap{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.pet-care-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;border-radius:var(--r-sm);background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.08)}
.pet-care-toolbar-item{display:flex;flex-direction:column;align-items:center;gap:6px}
.pet-care-toolbar-item .btn{width:100%;max-width:140px}
.pet-care-status-row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px;justify-content:center}
.pet-care-debuff-chip{font-size:.68rem;letter-spacing:.01em}
.pet-stats-care-wrap .pet-care-status-row{justify-content:flex-start;margin-bottom:8px}

/* Pet-Pflege Ergebnis */
.pet-care-result{padding:10px 12px;margin:0 0 10px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.1);animation:petCarePop .35s ease}
.pet-care-result.success{border-color:rgba(34,197,94,.35);background:linear-gradient(135deg,rgba(34,197,94,.12),rgba(0,0,0,.25))}
.pet-care-result.warn{border-color:rgba(245,158,11,.35);background:linear-gradient(135deg,rgba(245,158,11,.12),rgba(0,0,0,.25))}
.pet-care-result-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:.9rem}
.pet-care-result-icon{font-size:1.15rem;line-height:1}
.pet-care-result-note{margin:0 0 8px;font-size:.75rem;color:var(--muted)}
.pet-care-result-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid rgba(255,255,255,.06)}
.pet-care-result-row:first-of-type{border-top:none;padding-top:0}
.pet-care-result-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);flex-shrink:0;min-width:52px}
.pet-care-result-gains,.pet-care-result-totals{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.pet-stat-delta,.pet-stat-total{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:999px;font-size:.78rem;font-weight:700;background:rgba(0,0,0,.28)}
.pet-stat-delta.atk,.pet-stat-total.atk{color:#fca5a5}
.pet-stat-delta.def,.pet-stat-total.def{color:#93c5fd}
.pet-stat-delta.hp,.pet-stat-total.hp{color:#f9a8d4}
.pet-stat-delta{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
@keyframes petCarePop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.pet-showcase-ability{margin:6px 2px 0;text-align:center;line-height:1.35}
.pet-qty-picker{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.25)}
.pet-qty-label{font-size:.62rem;color:var(--muted);margin-right:2px}
.pet-qty-val{min-width:1.2rem;text-align:center;font-weight:800;font-size:.78rem}
.pet-qty-input{width:2.5rem;height:24px;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.35);color:var(--txt);font:inherit;font-size:.78rem;font-weight:800;text-align:center;padding:0 2px;-moz-appearance:textfield;appearance:textfield;user-select:text;-webkit-user-select:text}
.pet-qty-input::-webkit-outer-spin-button,.pet-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pet-qty-btn{width:24px;height:24px;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:var(--txt);font:inherit;font-size:.9rem;line-height:1;cursor:pointer;padding:0}
.pet-qty-btn:active{transform:scale(.94)}
@media(max-width:520px){.craft-recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tcg-ext-actions{display:flex;flex-wrap:wrap;gap:6px;padding:8px;margin:6px 0;justify-content:center}
.tcg-fusion-btn.active,.tcg-fusion-btn.active:hover{border-color:#c084fc;background:rgba(192,132,252,.15)}
.tcg-intel-panel{padding:8px 10px;margin:6px 0;border-radius:var(--r-sm);border-left:3px solid rgba(255,255,255,.2)}
.tcg-intel-panel.threat-high{border-left-color:#ef4444}
.tcg-intel-panel.threat-mid{border-left-color:#f59e0b}
.tcg-intel-panel.threat-low{border-left-color:#22c55e}
.tcg-intel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.tcg-intel-hand{display:flex;gap:4px;align-items:center;margin-top:4px;flex-wrap:wrap}
.tcg-intel-card{font-size:1.1rem;padding:2px 6px;border-radius:6px;background:rgba(0,0,0,.25)}
.tcg-intel-card.hidden{opacity:.5}
.tcg-season-block,.tcg-ach-block{padding:8px 10px;margin:6px 0;border-radius:var(--r-sm)}
.tcg-season-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.tcg-ach-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.tcg-ach-chip{font-size:.58rem;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);opacity:.55}
.tcg-ach-chip.unlocked{opacity:1;border-color:rgba(248,231,161,.35);background:rgba(248,231,161,.08)}
.grid-unit-attrs{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;margin:2px 0 4px}
.grid-unit-attr{font-size:.48rem;padding:1px 4px;border-radius:3px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12);line-height:1.2}
.grid-unit-attr.el{font-weight:700}
.grid-unit-attr.ability{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.grid-unit.effect-selected{outline:2px solid #38bdf8;box-shadow:0 0 10px rgba(56,189,248,.35)}
.tcg-place-mode-overlay{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.55);padding:16px}
.tcg-place-mode-box{max-width:320px;width:100%;padding:16px;text-align:center}
.tcg-place-mode-btns{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px}
.tcg-active-relic{margin-right:4px}
.tcg-top-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px}
.grid-unit.evolved .grid-unit-name{color:#f8e7a1}

/* ── Dungeon Co-op / Party ── */
.dungeon-party-strip{margin:10px 0;padding:10px 12px;border-radius:var(--r-sm)}
.dungeon-party-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.party-member-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.dungeon-party-actions{display:flex;flex-wrap:wrap;gap:6px}
.dungeon-panel-card.active-run{border-color:rgba(46,204,113,.45);box-shadow:0 0 0 1px rgba(46,204,113,.25)}
.dungeon-panel-card.blocked-run{opacity:.62}
.raid-choice-btn,.raid-action-btn{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.raid-choices .raid-choice-btn{width:100%}

@keyframes waveSway{0%,100%{transform:skewX(0)}50%{transform:skewX(1deg)}}
@keyframes fishCatch{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0) translateY(-20px)}}

/* Hub-Tiles: „Mehr“-Balken unnötig (Seiten/Dots) — wie am PC versteckt */
#btn-hub-more,#screen-hub #btn-hub-more{display:none!important;visibility:hidden!important;pointer-events:none!important}
html.flix-rpg-mobile body.screen-hub #hub-nav-grid,html[data-mobile-shell="1"] body.screen-hub #hub-nav-grid,html[data-abenteuer-apk="1"] body.screen-hub #hub-nav-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  margin-top:8px!important;
}
html.flix-rpg-mobile .hub-grid-btn.locked,html[data-mobile-shell="1"] .hub-grid-btn.locked,html[data-abenteuer-apk="1"] .hub-grid-btn.locked{
  display:flex!important;opacity:.42;filter:grayscale(.7);cursor:not-allowed;
}
html.flix-rpg-mobile .hub-grid-btn.locked .hub-grid-soon,html[data-mobile-shell="1"] .hub-grid-btn.locked .hub-grid-soon,html[data-abenteuer-apk="1"] .hub-grid-btn.locked .hub-grid-soon{
  opacity:0;transform:translateX(-50%) translateY(6px);
}
html.flix-rpg-mobile .hub-grid-btn.locked.hub-grid-soon-open .hub-grid-soon,html[data-mobile-shell="1"] .hub-grid-btn.locked.hub-grid-soon-open .hub-grid-soon,html[data-abenteuer-apk="1"] .hub-grid-btn.locked.hub-grid-soon-open .hub-grid-soon{
  opacity:1;transform:translateX(-50%) translateY(0);
}

/* Scroll: Hub & Activity-Shell */
#flix-app-rpg.active{
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;
  touch-action:pan-y;
}
html.abenteuer-app.abenteuer-touch-ui #app{
  overflow:visible;
  touch-action:pan-y;
}
html.abenteuer-app:not(.abenteuer-touch-ui) #app{
  overflow-y:visible;
  overflow-x:hidden;
  touch-action:pan-y;
}
#app{overflow:visible;flex:1 0 auto}
#screen-hub{overflow:visible;flex:1 0 auto;padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}

/* Mobile: Menü & Safe-Area */
@media (max-width:700px){
  #app{
    padding-left:max(8px,env(safe-area-inset-left,0px));
    padding-right:max(8px,env(safe-area-inset-right,0px));
    padding-top:max(22px,calc(env(safe-area-inset-top,0px) + 14px));
    padding-bottom:max(28px,calc(env(safe-area-inset-bottom,0px) + 12px));
    max-width:100vw;
    overflow-x:hidden;
  }
  #screen-panel,#panel-card,.panel-card,.inv-list,.inv-row,.inv-summary,.trade-start-row{max-width:100%;min-width:0}
  body.screen-panel:has(#panel-card.panel-profil) #screen-panel,
  body.screen-panel:has(#panel-card.panel-profil) #app{padding-bottom:max(24px,calc(env(safe-area-inset-bottom,0px) + 20px))}
  body.screen-panel:has(#panel-card.panel-statistik) #app{max-width:100vw}
  body.screen-panel:has(#panel-card.panel-admin) #app{max-width:100vw}
  .inv-row-actions{justify-content:flex-start;grid-template-columns:repeat(2,minmax(0,1fr))}
  .inv-row-actions .btn{font-size:.58rem;padding:5px 6px}
  .top-bar{margin-top:max(10px,env(safe-area-inset-top,0px))}
  html[data-abenteuer-apk="1"] .top-bar{margin-top:0!important}
  html[data-abenteuer-apk="1"] #app{padding-top:calc(env(safe-area-inset-top,0px) + 44px)!important}
  #screen-hub{padding-top:8px}
  html[data-abenteuer-apk="1"] #screen-hub{padding-top:0!important}
  html.flix-rpg-mobile #hub-nav-grid,html[data-mobile-shell="1"] #hub-nav-grid,html[data-abenteuer-apk="1"] #hub-nav-grid{margin-top:8px!important}
  html:not(.flix-rpg-mobile):not([data-mobile-shell="1"]):not([data-abenteuer-apk="1"]) #hub-nav-grid{margin-top:22px}
  #hub-more-overlay .overlay-sheet{padding-bottom:max(18px,env(safe-area-inset-bottom,0px))}
  .hub-char-card{margin-top:4px}
}

/* ── TCG: Grid-Karten Highlight ─────────────────────────────────────────────── */
@keyframes tcgSelectedPulse{0%,100%{box-shadow:0 0 0 2px #facc15,0 0 12px 4px rgba(250,204,21,.45)}50%{box-shadow:0 0 0 3px #fde047,0 0 20px 8px rgba(250,204,21,.7)}}
@keyframes tcgTargetPulse{0%,100%{box-shadow:0 0 0 2px #f87171,0 0 10px 3px rgba(248,113,113,.4)}50%{box-shadow:0 0 0 3px #ef4444,0 0 18px 7px rgba(239,68,68,.65)}}
@keyframes tcgCrossPulse{0%,100%{box-shadow:0 0 0 2px #fb923c,0 0 8px 3px rgba(251,146,60,.35)}50%{box-shadow:0 0 0 2px #f97316,0 0 14px 6px rgba(249,115,22,.55)}}
.grid-unit.selected{animation:tcgSelectedPulse 1s ease-in-out infinite;border-color:#facc15!important;z-index:2}
.grid-unit.targetable{animation:tcgTargetPulse 1s ease-in-out infinite;cursor:crosshair}
.grid-unit.cross-target{animation:tcgCrossPulse 1.1s ease-in-out infinite;cursor:crosshair}

/* ── TCG: Attack-Preview Box ─────────────────────────────────────────────────── */
#tcg-attack-preview{
  position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);
  background:rgba(10,10,20,.93);border:1px solid rgba(250,204,21,.35);
  border-radius:14px;padding:16px 20px;min-width:200px;max-width:320px;
  z-index:9000;box-shadow:0 8px 40px rgba(0,0,0,.7);backdrop-filter:blur(10px);
  animation:tcgApIn .22s ease;pointer-events:none
}
@keyframes tcgApIn{from{opacity:0;transform:translate(-50%,-48%) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.tcg-ap-title{font-weight:700;font-size:.92rem;color:#facc15;margin-bottom:8px}
.tcg-ap-section{font-size:.78rem;margin-bottom:6px;color:#e2e8f0;line-height:1.5}
.tcg-ap-section .tap-row{padding:2px 0}
.tcg-ap-hint{font-size:.68rem;margin-top:8px;text-align:center}

/* ── TCG: Damage Flash ───────────────────────────────────────────────────────── */
@keyframes tcgFlashIn{from{opacity:0;transform:translate(-50%,-40%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes tcgFlashOut{from{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-60%) scale(1.1)}}
#tcg-dmg-flash{
  position:fixed;top:48%;left:50%;transform:translate(-50%,-50%);
  z-index:9100;pointer-events:none;text-align:center;
  animation:tcgFlashIn .18s cubic-bezier(.2,.8,.3,1.3) forwards
}
#tcg-dmg-flash.tcg-flash-out{animation:tcgFlashOut .6s ease forwards}
.tcg-flash-icon{font-size:2.8rem;line-height:1;filter:drop-shadow(0 2px 8px rgba(0,0,0,.6))}
.tcg-flash-label{
  font-size:1.2rem;font-weight:900;letter-spacing:.08em;
  text-shadow:0 2px 12px rgba(0,0,0,.8);margin-top:2px
}
.tcg-flash-damage{
  font-size:2rem;font-weight:900;letter-spacing:.04em;
  text-shadow:0 0 20px currentColor,0 2px 8px rgba(0,0,0,.7)
}
.tcg-flash-dice{font-size:.82rem;color:rgba(255,255,255,.7);margin-top:4px}
.tcg-flash-actors{font-size:.72rem;color:rgba(255,255,255,.55);margin-top:2px}
#tcg-dmg-flash.tcg-dmg-hit   .tcg-flash-label{color:#f87171}
#tcg-dmg-flash.tcg-dmg-hit   .tcg-flash-damage{color:#fca5a5}
#tcg-dmg-flash.tcg-dmg-crit  .tcg-flash-label{color:#fb923c;text-shadow:0 0 18px #f97316,0 2px 8px #000}
#tcg-dmg-flash.tcg-dmg-crit  .tcg-flash-damage{color:#fdba74;font-size:2.6rem}
#tcg-dmg-flash.tcg-dmg-miss  .tcg-flash-label{color:#94a3b8}
#tcg-dmg-flash.tcg-dmg-miss  .tcg-flash-damage{color:#cbd5e1}
#tcg-dmg-flash.tcg-dmg-direct .tcg-flash-label{color:#a78bfa}
#tcg-dmg-flash.tcg-dmg-direct .tcg-flash-damage{color:#c4b5fd}
#tcg-dmg-flash.tcg-dmg-heal  .tcg-flash-label{color:#4ade80}
#tcg-dmg-flash.tcg-dmg-heal  .tcg-flash-damage{color:#86efac}

/* ── Realistische Pet-Portraits ── */
/* Pet-Showcase: kleines Bild, Text/Buttons als Overlay */
.pet-showcase{margin:0 auto}
.pet-showcase-frame{position:relative;width:100%;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.55))}
.pet-showcase-lg .pet-showcase-frame{max-width:min(100%,320px);height:min(42vw,260px);margin:0 auto}
.pet-active-showcase{margin:0 auto 12px;max-width:340px}
.pet-showcase-md .pet-showcase-frame{height:160px}
.pet-showcase-sm .pet-showcase-frame{height:118px}
.pet-showcase-hero .pet-showcase-frame{height:min(52vw,240px)}
.pet-showcase-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center center;image-rendering:auto;z-index:1;padding:4%}
.pet-showcase-hero .pet-showcase-img{object-position:center center}
.pet-showcase-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:3.2rem;z-index:0;opacity:.35}
.pet-showcase-sm .pet-showcase-fallback{font-size:2rem}
.pet-showcase-top{position:absolute;top:0;left:0;right:0;z-index:3;padding:8px 8px 0;display:flex;justify-content:center}
.pet-name-banner{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:0 0 10px 10px;background:linear-gradient(180deg,rgba(15,18,28,.92),rgba(15,18,28,.75));border:1px solid rgba(255,255,255,.18);border-top:none;font-weight:800;font-size:.78rem;text-align:center;box-shadow:0 6px 16px rgba(0,0,0,.35);max-width:95%;white-space:nowrap}
.pet-name-banner-text{min-width:0;overflow:hidden;text-overflow:ellipsis}
.pet-name-banner .pet-gender-beside{flex-shrink:0;margin-left:0}
.pet-name-banner-rarity{flex-shrink:0;display:inline-flex;align-items:center;line-height:1}
.pet-quality-badge{
  display:inline-flex;align-items:center;flex-shrink:0;
  font-size:.58rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  padding:3px 8px;border-radius:999px;border:1px solid rgba(232,192,122,.28);
  background:rgba(12,8,6,.42);color:#e8d4b0;line-height:1.2;vertical-align:middle;
}
.pet-quality-badge.quality-common{color:#d7dde6;border-color:rgba(168,176,188,.4);background:rgba(40,44,52,.4)}
.pet-quality-badge.quality-uncommon{color:#bbf7d0;border-color:rgba(74,222,128,.45);background:rgba(16,48,28,.45)}
.pet-quality-badge.quality-rare{color:#bfdbfe;border-color:rgba(96,165,250,.5);background:rgba(20,40,72,.45)}
.pet-quality-badge.quality-epic{color:#e9d5ff;border-color:rgba(192,132,252,.5);background:rgba(48,24,72,.45)}
.pet-quality-badge.quality-legendary{color:#fde68a;border-color:rgba(251,191,36,.55);background:rgba(64,40,8,.48)}
.pet-banner-lv{font-weight:600;opacity:.85;margin-left:4px}
.pet-showcase-bottom{position:absolute;left:6px;right:6px;bottom:6px;z-index:3;padding:8px 10px;border-radius:10px;background:rgba(10,12,20,.82);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(6px)}
.pet-showcase-desc{margin:0 0 6px;color:var(--muted);line-height:1.3;max-height:2.6em;overflow:hidden}
.pet-showcase-actions{margin:0!important;flex-wrap:wrap;gap:4px;justify-content:center}
.pet-showcase-actions .btn{flex:1 1 auto;min-width:0;padding:5px 8px;font-size:.68rem}
.pet-meta-chips{margin:8px 0 6px;justify-content:center}
.pet-owned-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.craft-recipe-card.level-locked{opacity:.72;border-color:rgba(255,255,255,.06)}
/* Audio-Einstellungen */
.audio-settings{padding:12px;margin-bottom:12px;display:flex;flex-direction:column;gap:10px}
.audio-row{display:grid;grid-template-columns:minmax(52px,auto) 1fr auto auto;align-items:center;gap:8px}
.audio-row label{font-size:.72rem;font-weight:700;color:var(--muted)}
.audio-row input[type=range]{width:100%;accent-color:var(--gold)}
.audio-val{font-size:.68rem;color:var(--muted);min-width:34px;text-align:right}
.audio-mute-btn{min-width:34px;padding:4px 6px}
.audio-actions{display:flex;gap:8px;flex-wrap:wrap}
.audio-hint{margin:0;line-height:1.4}
.audio-preview{padding:12px;margin-top:10px;display:flex;flex-direction:column;gap:10px}
.audio-preview-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.audio-preview-cat{display:flex;flex-direction:column;gap:6px}
.audio-preview-cat-title{font-size:.72rem;font-weight:700;color:var(--gold)}
.audio-preview-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:var(--r);background:rgba(255,255,255,.04)}
.audio-preview-meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.admin-cat-block,.admin-unused{padding:10px;margin-bottom:8px;display:flex;flex-direction:column;gap:8px}
.admin-cat-details{padding:0;margin-bottom:8px;border-radius:var(--r,10px);overflow:hidden}
.admin-cat-details > summary{list-style:none;cursor:pointer;padding:10px 12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;user-select:none}
.admin-cat-details > summary::-webkit-details-marker{display:none}
.admin-cat-details[open] > summary{border-bottom:1px solid var(--line,rgba(255,255,255,.08))}
.admin-cat-chevron{display:inline-block;width:1em;text-align:center;transition:transform .15s ease;color:var(--accent,#a78bfa);flex-shrink:0}
.admin-cat-details:not([open]) .admin-cat-chevron{transform:rotate(-90deg)}
.admin-cat-summary-title{font-weight:700}
.admin-cat-summary-meta{margin-left:auto}
.admin-cat-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px}
.admin-music-studio{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.admin-music-studio-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;position:sticky;top:0;z-index:3;padding:4px 0;background:linear-gradient(180deg,rgba(12,10,22,.98) 70%,rgba(12,10,22,0))}
.admin-music-studio-body{display:grid;grid-template-columns:minmax(168px,220px) minmax(0,1fr);gap:10px;align-items:start}
.admin-music-nav{display:flex;flex-direction:column;gap:6px;padding:8px;position:sticky;top:44px;max-height:min(68vh,520px);overflow:auto}
.admin-music-nav-search{flex-shrink:0}
.admin-music-nav-list{display:flex;flex-direction:column;gap:4px}
.admin-music-nav-label{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--gold,#e8c547);padding:6px 4px 2px}
.admin-music-nav-item{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:9px;border:1px solid transparent;background:rgba(255,255,255,.04);cursor:pointer;text-align:left;color:inherit;font:inherit;line-height:1.25}
.admin-music-nav-item:hover{background:rgba(255,255,255,.07)}
.admin-music-nav-item.is-active{border-color:rgba(124,92,255,.55);background:rgba(124,92,255,.16)}
.admin-music-nav-item-title{font-size:.78rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-music-nav-badge{flex-shrink:0;font-size:.62rem;font-weight:700;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.1)}
.admin-music-panel{min-width:0;display:flex;flex-direction:column;gap:8px}
.admin-music-cat-panel{padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.admin-music-cat-panel[hidden]{display:none!important}
.admin-music-panel-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px}
.admin-music-panel-title{display:block;font-size:.95rem;margin-bottom:2px}
.admin-music-panel-rename{min-width:min(100%,200px)}
.admin-music-upload-compact{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;flex:1;min-width:min(100%,240px)}
.admin-audio-upload-row{display:flex;flex-wrap:wrap;gap:8px;flex:1;min-width:min(100%,280px)}
.admin-upload-kind{font-size:.72rem;font-weight:800;flex-shrink:0;opacity:.85}
.admin-sfx-upload-compact{min-width:min(100%,260px)}
.admin-sfx-slot-header{display:grid;grid-template-columns:minmax(120px,1fr) minmax(140px,1.2fr) auto;gap:8px;padding:0 8px 2px}
.admin-music-upload-divider{opacity:.35;padding:0 2px}
.admin-music-url-input{flex:1;min-width:120px;max-width:280px}
@media (max-width:760px){
  .admin-music-studio-body{grid-template-columns:1fr}
  .admin-music-nav{position:relative;top:0;max-height:none;padding:6px}
  .admin-music-nav-list{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  .admin-music-nav-label{display:none}
  .admin-music-nav-item{flex:0 0 auto;max-width:11rem}
  .admin-music-nav-search{margin-bottom:2px}
}
.admin-music-zone-group{margin-top:4px}
.admin-music-group{margin-bottom:8px}
.admin-music-group-body{display:flex;flex-direction:column;gap:6px;padding-top:4px}
.admin-music-group-body > .admin-cat-block{margin:0}
.admin-music-group-hint{margin:0 0 4px 2px}
.admin-music-upload-wrap,.admin-sfx-upload-wrap{margin-bottom:8px}
.admin-pool-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}
.admin-pool-insert-unused,
.admin-pool-insert-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:6px;flex:1;min-width:min(100%,280px)}
.admin-pool-insert-wrap .admin-pool-insert-search{flex:1;min-width:120px;max-width:200px}
.admin-pool-insert-wrap .admin-pool-unused-select,
.admin-pool-insert-unused .admin-pool-unused-select{flex:1;min-width:140px;max-width:320px}
.admin-audio-file-select{min-width:0;max-width:100%;cursor:pointer}
.admin-music-zone-group .admin-cat-block{margin-left:8px;border-left:2px solid rgba(124,92,255,.35)}
.admin-music-zone-hint{margin:0 0 8px 4px}
.admin-music-zone-body{padding:0 8px 8px}
.admin-cat-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.admin-cat-label{flex:1;min-width:140px;max-width:240px}
.admin-track-row,.admin-update-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:6px;align-items:start;padding:8px}
.admin-track-row--builtin{opacity:.92;border:1px dashed rgba(167,139,250,.35)}
.admin-input--readonly{display:block;padding:8px 10px;border-radius:8px;background:rgba(0,0,0,.18);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-music-builtin-banner{margin:0 0 12px;padding:12px 14px;border:1px solid rgba(251,191,36,.28);background:rgba(251,191,36,.08)}
.admin-pool-source{display:block;margin:0 0 6px 2px}
.admin-track-badge{align-self:center;padding:0 4px}
.admin-track-actions,.admin-update-actions{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.admin-update-row{grid-template-columns:56px 1fr auto;grid-template-rows:auto auto}
.admin-update-row textarea{grid-column:1/-1}
.admin-music-toolbar,.admin-updates-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}
.admin-music-zone-head{padding:10px 12px;margin:12px 0 8px;border-left:3px solid var(--accent,#7c5cff)}
.admin-unused-list{display:flex;flex-direction:column;gap:4px}
.admin-unused-bulk-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.admin-unused-pick{display:inline-flex;align-items:center;margin:0;padding:0 4px 0 0}
.admin-unused-track-row{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto}
.admin-pool-empty-hint{margin:4px 0 0}
.admin-unused-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0}
.admin-sfx-list{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.admin-sfx-group-head{padding:6px 8px 2px;font-weight:600;opacity:.85}
.admin-sfx-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(140px,1.2fr) auto auto;gap:8px;align-items:center;padding:8px}
.admin-sfx-row .admin-sfx-meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.admin-unused-sfx-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;margin-bottom:6px}
.admin-unused-sfx-row .admin-unused-actions{flex-wrap:wrap;justify-content:flex-end}
.admin-unused-sfx-list{display:flex;flex-direction:column;gap:4px}
.admin-track-test.is-playing,.admin-unused-test.is-playing{color:var(--accent,#a78bfa)}
.admin-sfx-section{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.inv-prof-chip{
  display:inline-flex;align-items:center;gap:3px;margin-left:0;padding:1px 7px;border-radius:999px;
  font-size:.58rem;font-weight:800;line-height:1.3;
  background:rgba(232,197,71,.14);border:1px solid rgba(232,197,71,.35);color:#fde68a;
}
.inv-prof-chip.locked{
  background:rgba(248,113,113,.12);border-color:rgba(248,113,113,.4);color:#fecaca;
}
.inv-req-chip{
  display:inline-flex;align-items:center;gap:3px;margin-left:4px;padding:1px 7px;border-radius:999px;
  font-size:.58rem;font-weight:800;line-height:1.3;
  background:rgba(148,163,184,.12);border:1px solid rgba(148,163,184,.35);color:#cbd5e1;
}
.inv-class-chip{
  background:rgba(59,130,246,.12);border-color:rgba(147,197,253,.4);color:#93c5fd;
}
.inv-qual-chip{
  background:rgba(167,139,250,.12);border-color:rgba(167,139,250,.4);color:#c4b5fd;
}
.inv-req-chip.locked,
.inv-class-chip.locked,
.inv-lvl-chip.locked{
  background:rgba(248,113,113,.12);border-color:rgba(248,113,113,.4);color:#fecaca;
}
.inv-row.inv-req-locked{opacity:.78}
.shop-tag.locked{
  background:rgba(248,113,113,.12)!important;border-color:rgba(248,113,113,.4)!important;color:#fecaca!important;
}
.inv-list-other-profession .inv-row{opacity:.72;filter:saturate(.75)}
.admin-item-quick-section-label{
  font-size:.58rem;font-weight:800;color:var(--gold);letter-spacing:.04em;
  text-transform:uppercase;margin:0 0 6px;
}
.admin-players-editor{display:flex;flex-direction:column;gap:12px;min-width:0;width:100%;padding-bottom:8px}
.admin-card{
  display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:14px;
  border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.28);min-width:0;
}
.admin-card-title{
  font-size:.72rem;font-weight:800;color:#f8fafc;letter-spacing:.02em;
  padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.08);
}
.admin-card-subtitle{font-size:.6rem;font-weight:800;color:var(--gold);text-transform:uppercase;letter-spacing:.04em;margin-top:4px}
.admin-card-pets .admin-pet-grant{padding:0;margin:0;border:0;background:transparent}
.admin-grant-footer{
  position:sticky;bottom:10px;z-index:40;
  display:flex;flex-direction:column;gap:6px;
  margin-top:4px;padding:10px 12px;border-radius:14px;
  border:1px solid rgba(232,197,71,.38);
  background:rgba(12,16,28,.94);
  box-shadow:0 10px 28px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.admin-grant-footer .admin-grant-fab{width:100%;min-height:42px;font-weight:800}
.admin-grant-footer .admin-grant-result{min-height:1.1em}
.admin-mailbox-mode{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.18)}
.admin-mailbox-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.admin-mailbox-fields .admin-field-span2{grid-column:1/-1}
.admin-grant-block{display:flex;flex-direction:column;gap:8px;min-width:0}
.admin-grant-search-row{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:8px;align-items:end}
.admin-grant-qty-field input{width:100%;max-width:none;text-align:center}
.admin-equip-quick-panel{display:flex;flex-direction:column;gap:8px;margin:0}
.admin-equip-quick-group{
  margin:0;padding:0;border-radius:12px;overflow:hidden;
  border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.22);
}
.admin-equip-quick-summary{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:10px 12px;cursor:pointer;list-style:none;font-size:.68rem;font-weight:800;color:#e5e7eb;
  background:rgba(255,255,255,.03);user-select:none;
}
.admin-equip-quick-summary::-webkit-details-marker{display:none}
.admin-equip-quick-summary::before{content:'▸';color:var(--gold);margin-right:6px}
.admin-equip-quick-group[open] .admin-equip-quick-summary::before{content:'▾'}
.admin-equip-quick-count{
  font-size:.58rem;font-weight:800;color:var(--gold);padding:2px 8px;border-radius:999px;
  background:rgba(232,197,71,.12);border:1px solid rgba(232,197,71,.28);
}
.admin-equip-quick-group .admin-item-quick-row{padding:10px 12px;margin:0;max-height:150px}
.admin-pet-evolve{
  display:flex;flex-direction:column;gap:8px;margin:0;padding:12px;
  border-radius:12px;border:1px solid rgba(167,139,250,.28);background:rgba(76,29,149,.14);
}
.admin-pet-evolve-head{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;justify-content:space-between}
.admin-pet-evolve-actions{display:flex;flex-wrap:wrap;gap:6px}
.admin-pet-evolve-list{
  display:flex;flex-direction:column;gap:4px;max-height:180px;overflow-y:auto;
  padding:6px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.28);
}
.admin-pet-evolve-pick{
  display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:8px;
  border:1px solid transparent;background:rgba(255,255,255,.03);color:#f3f4f6;font:inherit;font-size:.68rem;
  text-align:left;cursor:pointer;
}
.admin-pet-evolve-pick:hover{background:rgba(167,139,250,.14);border-color:rgba(167,139,250,.28)}
.admin-pet-evolve-pick.active{background:rgba(167,139,250,.22);border-color:rgba(167,139,250,.45);color:#ede9fe}
.admin-pet-evolve-pick[disabled]{opacity:.45;cursor:not-allowed}
@media (max-width:640px){
  .admin-mailbox-fields{grid-template-columns:1fr}
  .admin-grant-search-row{grid-template-columns:minmax(0,1fr) 64px}
  .admin-pet-evolve-head{flex-direction:column}
}
.admin-reset-wrap{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.admin-reset-section{padding:12px;display:flex;flex-direction:column;gap:8px}
.admin-ban-list{display:flex;flex-direction:column;gap:8px;max-height:min(42vh,420px);overflow-y:auto;padding-right:4px}
.admin-ban-row{padding:10px 12px;display:flex;flex-direction:column;gap:6px;border:1px solid rgba(231,76,60,.22)}
.admin-ban-row-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.admin-ban-options{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:8px 0}
.admin-backup-list{
  display:flex;flex-direction:column;gap:10px;
  max-height:min(56vh,480px);overflow-y:auto;overflow-x:visible;
  margin-top:8px;padding:2px 6px 8px 2px;
  -webkit-overflow-scrolling:touch;
}
.admin-backup-card{
  display:flex;flex-direction:column;gap:10px;
  padding:14px 14px 12px;border-radius:14px;
  border:1px solid rgba(124,92,255,.28);
  background:linear-gradient(165deg,rgba(22,18,36,.98),rgba(10,12,24,.99));
  box-shadow:0 8px 24px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.06);
  overflow:visible;flex-shrink:0;min-height:0;
}
.admin-backup-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.admin-backup-title{margin:0;font-size:.9rem;font-weight:800;color:#fff;line-height:1.3;word-break:break-word}
.admin-backup-latest{
  font-size:.58rem;font-weight:800;color:var(--gold);text-transform:uppercase;letter-spacing:.05em;
  padding:3px 9px;border-radius:999px;background:rgba(232,197,71,.14);border:1px solid rgba(232,197,71,.32);flex-shrink:0;
}
.admin-backup-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.admin-backup-stat{
  display:flex;flex-direction:column;gap:4px;padding:9px 10px;border-radius:10px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);min-width:0;
}
.admin-backup-stat-lbl{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--gold);line-height:1.2}
.admin-backup-stat-val{font-size:.76rem;font-weight:700;color:#f3f4f6;line-height:1.35;word-break:break-word}
.admin-backup-chips{display:flex;flex-wrap:wrap;gap:6px}
.admin-backup-chip{
  font-size:.64rem;font-weight:700;color:#e5e7eb;
  padding:4px 9px;border-radius:999px;
  background:rgba(124,92,255,.14);border:1px solid rgba(124,92,255,.28);line-height:1.35;
}
.admin-backup-chip-warn{color:#fde68a;border-color:rgba(252,211,77,.4);background:rgba(252,211,77,.12)}
.admin-backup-path{
  font-size:.68rem;color:#cbd5e1;word-break:break-all;line-height:1.45;
  padding:8px 10px;border-radius:9px;
  background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08);
}
.admin-backup-checks{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.admin-backup-progress{
  margin-top:10px;display:flex;flex-direction:column;gap:8px;
  padding:12px 14px;border-radius:12px;
  border:1px solid rgba(124,92,255,.32);
  background:linear-gradient(180deg,rgba(18,12,36,.92),rgba(8,8,20,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.admin-backup-progress-head{
  display:flex;justify-content:space-between;align-items:baseline;gap:10px;
}
.admin-backup-progress-phase{
  font-size:.72rem;font-weight:800;color:#e9d5ff;letter-spacing:.02em;
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.admin-backup-progress-pct{
  font-size:.78rem;font-weight:800;color:var(--gold);font-variant-numeric:tabular-nums;flex-shrink:0;
}
.admin-backup-progress-track{
  position:relative;height:18px;border-radius:999px;overflow:hidden;
  background:rgba(36,22,68,.95);
  border:1px solid rgba(167,139,250,.3);
  box-shadow:inset 0 1px 5px rgba(0,0,0,.5);
}
.admin-backup-progress-fill{
  height:100%;width:0%;
  background:linear-gradient(90deg,#6d28d9 0%,#a78bfa 42%,#e8c547 100%);
  box-shadow:0 0 14px rgba(232,197,71,.4);
  transition:width .35s ease;
  position:relative;
}
.admin-backup-progress.is-active .admin-backup-progress-fill::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);
  animation:admin-backup-shimmer 1.35s linear infinite;
}
.admin-backup-progress.is-done .admin-backup-progress-fill{
  background:linear-gradient(90deg,#16a34a,#86efac);
  box-shadow:0 0 12px rgba(74,222,128,.35);
}
.admin-backup-progress.is-error .admin-backup-progress-phase{color:#fca5a5}
.admin-backup-progress-meta{
  display:flex;justify-content:space-between;gap:10px;
  font-size:.62rem;color:#94a3b8;min-height:1.15em;
}
.admin-backup-progress-file{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;
}
.admin-backup-progress-bytes{flex-shrink:0;font-variant-numeric:tabular-nums;color:#cbd5e1}
@keyframes admin-backup-shimmer{
  from{transform:translateX(-100%)}
  to{transform:translateX(100%)}
}
@media (prefers-reduced-motion:reduce){
  .admin-backup-progress.is-active .admin-backup-progress-fill::after{animation:none}
  .admin-backup-progress-fill{transition:none}
}
.admin-backup-restore-row{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap;margin-top:2px}
.admin-backup-restore-mode{flex:1 1 180px;min-width:0;font-size:.72rem;padding:8px 10px;min-height:36px}
.admin-backup-delete{
    flex:0 0 auto;min-height:36px;padding:8px 12px;font-size:.72rem;
    background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#fca5a5
}
.admin-backup-delete:hover:not(:disabled){background:rgba(239,68,68,.22);border-color:rgba(239,68,68,.55);color:#fff}
.admin-backup-restore{
  flex:1 1 120px;min-height:36px;font-size:.72rem;font-weight:700;
  color:#fecaca;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.38);
}
.admin-backup-restore:hover:not(:disabled){background:rgba(239,68,68,.22);border-color:rgba(239,68,68,.55);color:#fff}
.admin-reset-scopes{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px}
.admin-reset-scope-item{
  display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:8px;
  border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.18);
  font-size:.72rem;line-height:1.35;cursor:pointer;
}
.admin-reset-scope-item input{margin-top:2px;accent-color:var(--gold);flex-shrink:0}
.admin-reset-all-wrap{
  display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:8px;
  border:1px solid rgba(239,68,68,.35);background:rgba(127,29,29,.22);cursor:pointer;
}
.admin-reset-all-label{font-size:.74rem;font-weight:700;color:#fca5a5;line-height:1.35}
.admin-reset-all-scope{grid-column:1/-1;border-color:rgba(232,197,71,.35)}
.admin-reset-neustart-scope{grid-column:1/-1;border-color:rgba(248,113,113,.45);background:rgba(248,113,113,.06)}
.admin-reset-neustart-scope span{color:#fca5a5}
.admin-track-list,.admin-updates-list{display:flex;flex-direction:column;gap:6px}
.admin-updates-preview{padding:10px;margin-bottom:8px}
.admin-updates-preview-body{white-space:pre-wrap;font:inherit;font-size:.68rem;color:var(--muted);max-height:200px;overflow:auto;margin:0;padding:0;background:transparent;border:0}
.admin-input,.admin-textarea{width:100%;padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:rgba(0,0,0,.25);color:var(--txt);font:inherit;font-size:.72rem}
.admin-input-sm{max-width:56px}
.admin-input-xs{max-width:52px;padding:6px 4px;text-align:center}
.admin-file-input{flex:1;min-width:0;font-size:.68rem}
.admin-upload{padding:10px;margin-bottom:8px;display:flex;flex-direction:column;gap:8px}
.admin-upload-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.admin-assign-select{min-width:88px;max-width:110px;padding:4px 6px;font-size:.65rem}
.admin-unused-track-row .admin-track-actions{flex-wrap:wrap;justify-content:flex-end}
.admin-game-list{display:flex;flex-direction:column;gap:8px;margin:8px 0;max-height:none;overflow:visible}
.admin-game-row{
  display:grid;grid-template-columns:minmax(56px,72px) minmax(0,1fr);
  gap:8px;align-items:start;padding:10px;
  border-radius:var(--r-sm);border:1px solid var(--line);
  background:rgba(0,0,0,.22);overflow:visible;
}
.admin-game-row textarea{grid-column:1/-1}
.admin-game-row .admin-input,
.admin-game-row .admin-textarea,
.admin-game-row select.admin-input{
  display:block;min-height:32px;position:relative;z-index:2;
}
.admin-game-id{grid-column:1/-1}
.admin-game-stats{display:flex;flex-wrap:wrap;gap:4px;grid-column:1/-1}
.admin-catalog-v2{display:flex;flex-direction:column;gap:10px;min-height:0}
.admin-catalog-v2-toolbar{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;
  border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.22)
}
.admin-catalog-filter-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.admin-catalog-v2-body{
  display:grid;grid-template-columns:minmax(200px,.9fr) minmax(0,1.35fr);gap:10px;align-items:stretch;min-height:min(62vh,560px)
}
.admin-catalog-master,.admin-catalog-detail{
  min-height:0;overflow:auto;padding:10px;border-radius:12px;
  border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.2)
}
.admin-catalog-master{display:flex;flex-direction:column;gap:4px;max-height:min(62vh,560px)}
.admin-catalog-master-item{
  display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 10px;
  border-radius:10px;border:1px solid transparent;background:transparent;color:inherit;cursor:pointer;font:inherit
}
.admin-catalog-master-item:hover{background:rgba(255,255,255,.06)}
.admin-catalog-master-item.active{border-color:rgba(96,165,250,.45);background:rgba(59,130,246,.14)}
.admin-catalog-master-emoji{font-size:1.1rem;flex-shrink:0}
.admin-catalog-master-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.admin-catalog-master-text strong{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-catalog-master-badges{display:flex;flex-wrap:wrap;gap:3px;justify-content:flex-end}
.admin-catalog-detail-form{display:flex;flex-direction:column;gap:8px}
.admin-catalog-detail-form .admin-field-group{width:100%}
.admin-catalog-section-title{
  margin:6px 0 2px;padding-top:6px;border-top:1px solid rgba(255,255,255,.08);
  font-size:.68rem;font-weight:750;letter-spacing:.02em;opacity:.85
}
.admin-catalog-inline-2,.admin-catalog-inline-3,.admin-catalog-inline-4{display:flex;flex-wrap:wrap;gap:6px}
.admin-catalog-inline-2 > *,.admin-catalog-inline-3 > *,.admin-catalog-inline-4 > *{flex:1 1 72px;min-width:0}
.admin-catalog-v2-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.admin-catalog-v2-actions .btn{
  min-height:34px;padding:7px 12px;border-radius:10px;font-size:.72rem;font-weight:700;
  border:1px solid rgba(255,255,255,.12)
}
.admin-catalog-v2-actions .btn-primary{
  background:linear-gradient(135deg,rgba(59,130,246,.95),rgba(37,99,235,.9));
  border-color:rgba(147,197,253,.35);color:#fff
}
.admin-catalog-v2-actions .btn-ghost{
  background:rgba(255,255,255,.06);color:rgba(248,250,252,.92)
}
.admin-catalog-v2-actions .btn-danger-text{
  background:rgba(239,68,68,.12);border-color:rgba(248,113,113,.35);color:#fecaca
}
.admin-source-chip-wrap{display:flex;flex-direction:column;gap:8px;width:100%}
.admin-source-chips{display:flex;flex-wrap:wrap;gap:6px}
.admin-source-chip{
  display:inline-flex;align-items:center;gap:6px;
  border:1px solid rgba(148,163,184,.28);background:rgba(15,23,42,.55);color:#e2e8f0;
  border-radius:999px;padding:6px 10px;font-size:.68rem;font-weight:650;cursor:pointer;
  transition:background .15s,border-color .15s,transform .12s
}
.admin-source-chip:hover{background:rgba(30,41,59,.8);border-color:rgba(148,163,184,.45)}
.admin-source-chip.active{
  border-color:rgba(96,165,250,.55);background:rgba(37,99,235,.28);color:#dbeafe;
  box-shadow:0 0 0 1px rgba(59,130,246,.2)
}
.admin-source-add-row{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}
.admin-source-add-row .admin-studio-picker{flex:1 1 180px;min-width:0}
.admin-craft-inputs{display:flex;flex-direction:column;gap:8px;width:100%}
.admin-craft-input-row{
  display:grid;grid-template-columns:minmax(0,1fr) 72px auto;gap:8px;align-items:center;
  padding:8px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.18)
}
.admin-craft-input-row .btn{min-height:34px;border-radius:10px}
@media (max-width:520px){.admin-craft-input-row{grid-template-columns:1fr auto}}

/* Studio-Picker (Klasse, Slot, Material …) */
.admin-studio-picker{display:block;width:100%;min-width:0}
.admin-studio-picker-trigger{
  display:flex;align-items:center;gap:8px;width:100%;min-height:38px;padding:7px 10px;
  border-radius:11px;border:1px solid rgba(148,163,184,.28);
  background:linear-gradient(180deg,rgba(30,41,59,.92),rgba(15,23,42,.95));
  color:#f1f5f9;cursor:pointer;text-align:left;font:inherit;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)
}
.admin-studio-picker-trigger:hover{
  border-color:rgba(96,165,250,.45);background:linear-gradient(180deg,rgba(37,55,82,.95),rgba(15,23,42,.98))
}
.admin-studio-picker.is-compact .admin-studio-picker-trigger{min-height:36px;padding:6px 9px}
.admin-studio-picker-swatch{
  width:8px;height:22px;border-radius:999px;flex-shrink:0;
  background:var(--sp-color,#60a5fa);box-shadow:0 0 10px color-mix(in srgb, var(--sp-color,#60a5fa) 45%, transparent)
}
.admin-studio-picker-emoji{font-size:1rem;line-height:1;flex-shrink:0}
.admin-studio-picker-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.admin-studio-picker-value{font-size:.78rem;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-studio-picker-hint{font-size:.58rem;opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-studio-picker-chevron{opacity:.65;font-size:.75rem;flex-shrink:0}
.admin-studio-picker-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.admin-studio-picker-portal{
  position:fixed;inset:0;z-index:190000;display:flex;align-items:center;justify-content:center;padding:16px
}
.admin-studio-picker-portal.hidden{display:none!important}
.admin-studio-picker-backdrop{position:absolute;inset:0;background:rgba(2,6,14,.62);backdrop-filter:blur(2px)}
.admin-studio-picker-dialog{
  position:relative;z-index:1;width:min(520px,100%);max-height:min(78vh,640px);
  display:flex;flex-direction:column;gap:10px;padding:14px;
  border-radius:16px;border:1px solid rgba(148,163,184,.22);
  background:linear-gradient(165deg,rgba(22,32,48,.98),rgba(8,12,20,.98));
  box-shadow:0 22px 60px rgba(0,0,0,.5)
}
.admin-studio-picker-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.admin-studio-picker-dialog-head strong{font-size:.9rem}
.admin-studio-picker-dialog-toolbar{display:flex}
.admin-studio-picker-search{width:100%}
.admin-studio-picker-grid-wrap{overflow:auto;min-height:0;flex:1;max-height:min(56vh,480px)}
.admin-studio-picker-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px
}
.admin-studio-picker-card{
  display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:72px;
  padding:10px;border-radius:12px;border:1px solid rgba(148,163,184,.2);
  background:rgba(15,23,42,.72);color:#e2e8f0;cursor:pointer;text-align:left;font:inherit;
  position:relative;overflow:hidden
}
.admin-studio-picker-card:hover{border-color:rgba(96,165,250,.45);background:rgba(30,41,59,.9)}
.admin-studio-picker-card.active{border-color:rgba(96,165,250,.65);background:rgba(37,99,235,.22)}
.admin-studio-picker-card-bar{position:absolute;left:0;top:0;bottom:0;width:3px}
.admin-studio-picker-card-emoji{font-size:1.05rem}
.admin-studio-picker-card-label{font-size:.72rem;font-weight:750;line-height:1.25}
.admin-studio-picker-card-hint{font-size:.56rem;opacity:.7}
.admin-studio-picker-empty{margin:12px;text-align:center}

/* Gilden-Suche mit Vorschlägen */
.admin-guild-combobox{position:relative;width:100%;z-index:5}
.admin-guild-suggest{
  position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:200500;
  max-height:min(42vh,280px);overflow:auto;padding:6px;border-radius:12px;
  border:1px solid rgba(148,163,184,.28);background:rgba(8,12,20,.98);
  box-shadow:0 12px 28px rgba(0,0,0,.4)
}
.admin-guild-suggest.is-fixed{
  position:fixed!important;
  right:auto!important;
  max-width:min(520px,calc(100vw - 24px));
}
.admin-guild-suggest.hidden{display:none!important}
#panel-card.panel-admin .admin-reset-section,
#panel-card.panel-admin .admin-field-group,
#panel-card.panel-admin .admin-guild-combobox{
  overflow:visible!important;
}
.admin-guild-suggest-item{
  display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;
  padding:8px 10px;border:0;border-radius:8px;background:transparent;color:inherit;cursor:pointer;font:inherit
}
.admin-guild-suggest-item:hover,.admin-guild-suggest-item.active{background:rgba(59,130,246,.18)}
.admin-guild-suggest-item strong{font-size:.78rem}
.admin-guild-suggest-item span{font-size:.62rem;opacity:.75}

.admin-catalog-modal-overlay{
  position:fixed;inset:0;z-index:180000;display:flex;align-items:center;justify-content:center;
  padding:16px;background:rgba(0,0,0,.55)
}
.admin-catalog-modal{width:min(420px,100%);padding:14px 16px;border-radius:14px;display:flex;flex-direction:column;gap:10px}
.admin-catalog-modal-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.admin-catalog-modal-foot{display:flex;justify-content:flex-end;gap:8px}
@media (max-width:720px){.admin-catalog-v2-body{grid-template-columns:1fr;min-height:0}.admin-catalog-master{max-height:220px}}
.login-updates-modal-overlay{
  position:fixed;inset:0;z-index:175000;display:flex;align-items:center;justify-content:center;
  padding:max(14px,env(safe-area-inset-top,0px)) 14px max(14px,env(safe-area-inset-bottom,0px));
  background:rgba(3,6,12,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)
}
.login-updates-modal-overlay.hidden{display:none!important}
.login-updates-modal-backdrop{position:absolute;inset:0;border:0;padding:0;cursor:pointer;background:transparent}
.login-updates-modal{
  position:relative;z-index:1;width:min(420px,100%);max-height:min(82vh,680px);
  display:flex;flex-direction:column;overflow:hidden;padding:0;
  border-radius:20px;border:1px solid rgba(232,197,71,.32);
  background:
    radial-gradient(120% 80% at 50% -10%,rgba(232,197,71,.16),transparent 55%),
    linear-gradient(165deg,rgba(26,22,16,.98),rgba(10,12,18,.99) 48%,rgba(6,8,14,.99));
  box-shadow:0 28px 64px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.07);
  text-align:left;animation:login-updates-in .28s ease-out
}
@keyframes login-updates-in{
  from{opacity:0;transform:translateY(12px) scale(.97)}
  to{opacity:1;transform:none}
}
.login-updates-close{
  position:absolute;top:12px;right:12px;z-index:2;width:34px;height:34px;border:0;border-radius:999px;
  background:rgba(255,255,255,.08);color:rgba(255,255,255,.88);cursor:pointer;
  font-size:.85rem;line-height:1;transition:background .12s,transform .12s
}
.login-updates-close:hover{background:rgba(255,255,255,.16);transform:scale(1.04)}
.login-updates-head{
  flex-shrink:0;padding:20px 48px 12px 20px;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:linear-gradient(180deg,rgba(232,197,71,.1),transparent)
}
.login-updates-kicker{
  display:inline-block;margin:0 0 6px;font-size:.62rem;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase;color:rgba(253,230,138,.78)
}
.login-updates-title{
  margin:0 0 6px;font-size:1.18rem;font-weight:850;line-height:1.25;color:#fff;text-align:left
}
.login-updates-version{
  display:inline-flex;align-items:center;margin:0;padding:3px 10px;border-radius:999px;
  font-size:.68rem;font-weight:700;letter-spacing:.02em;color:rgba(253,230,138,.9);
  background:rgba(232,197,71,.12);border:1px solid rgba(232,197,71,.28)
}
.login-updates-version.hidden{display:none!important}
.login-updates-overview{
  flex-shrink:0;margin:0;padding:12px 20px 0;font-size:.78rem;line-height:1.45;
  color:rgba(238,241,255,.78);text-align:left
}
.login-updates-overview.hidden{display:none}
.login-updates-scroll{
  flex:1;min-height:0;overflow:auto;padding:12px 14px 8px;
  scrollbar-width:thin;scrollbar-color:rgba(232,197,71,.35) transparent
}
.login-updates-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.login-updates-item{
  display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:start;
  padding:12px 12px;border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(0,0,0,.22));
  text-align:left;transition:border-color .12s,background .12s
}
.login-updates-item:hover{
  border-color:rgba(232,197,71,.28);
  background:linear-gradient(135deg,rgba(232,197,71,.08),rgba(0,0,0,.26))
}
.login-updates-emoji{
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:14px;font-size:1.25rem;line-height:1;
  background:rgba(232,197,71,.12);border:1px solid rgba(232,197,71,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)
}
.login-updates-item-body{min-width:0;display:flex;flex-direction:column;gap:3px;padding-top:2px}
.login-updates-item-body strong{
  display:block;font-size:.84rem;font-weight:800;color:#fff;line-height:1.3;text-align:left
}
.login-updates-item-body span{
  display:block;font-size:.72rem;line-height:1.4;color:rgba(238,241,255,.72);text-align:left
}
.login-updates-empty{padding:18px 12px;text-align:center;list-style:none}
.login-updates-foot{
  flex-shrink:0;padding:12px 16px 16px;border-top:1px solid rgba(255,255,255,.07);
  background:linear-gradient(0deg,rgba(0,0,0,.28),transparent)
}
.login-updates-ack{width:100%;justify-content:center;min-height:42px;font-weight:800;border-radius:12px}

/* ── Visual-Novel Dialog (Seitenportrait + Antwort-Modal) ── */
.rpg-vn-overlay{
  position:fixed;inset:0;z-index:160000;display:flex;align-items:stretch;justify-content:center;
  padding:0;background:#05070c;pointer-events:auto;
  --rpg-vn-modal-h: 120px
}
.rpg-vn-overlay.hidden{display:none!important;pointer-events:none!important;visibility:hidden!important}
/* Sandro / Hub-Dialog: Hub bleibt sichtbar, Portrait ohne eigenen BG */
.rpg-vn-overlay.rpg-vn-hub-see-through{
  background:transparent;
}
.rpg-vn-overlay.rpg-vn-hub-see-through .rpg-vn-backdrop{
  background:linear-gradient(180deg,rgba(5,7,12,.18) 0%,rgba(5,7,12,.08) 42%,rgba(5,7,12,.45) 100%);
}
.rpg-vn-overlay.rpg-vn-hub-see-through .rpg-vn-ambient,
.rpg-vn-overlay.rpg-vn-hub-see-through .rpg-vn-ambient-img,
.rpg-vn-overlay.rpg-vn-hub-see-through .rpg-vn-ambient-veil{
  display:none!important;
}
.rpg-vn-overlay.rpg-vn-no-portrait-bg .rpg-vn-portrait-bg,
.rpg-vn-overlay.rpg-vn-hub-see-through .rpg-vn-portrait-bg{
  display:none!important;
}
.rpg-vn-overlay.rpg-vn-hub-see-through .rpg-vn-portrait-glow{
  background:radial-gradient(ellipse,rgba(232,197,71,.10),rgba(80,120,200,.04) 45%,transparent 72%);
}
/* Fängt den Click ab, der nach Okay noch „durchschlägt“ */
.rpg-vn-click-shield{
  position:fixed;inset:0;z-index:160050;pointer-events:auto;
  background:transparent;touch-action:none;-webkit-tap-highlight-color:transparent
}
.rpg-vn-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.25)}
.rpg-vn-frame{
  position:relative;z-index:1;width:100%;height:100%;max-width:none;max-height:none;
  display:block;pointer-events:none
}
.rpg-vn-frame > *{pointer-events:auto}
.rpg-vn-stage{position:absolute;inset:0;display:block;overflow:hidden;min-height:0}
/* Portrait nie seitlich croppen: Stack begrenzt sich selbst, Bild immer contain */
.rpg-vn-ambient{
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden
}
.rpg-vn-ambient-img{
  position:absolute;inset:0;
  background-position:center center;background-size:cover;background-repeat:no-repeat;
  filter:saturate(.92) brightness(.72);transform:scale(1.04);
  animation:rpg-vn-ambient-drift 28s ease-in-out infinite alternate
}
.rpg-vn-ambient-veil{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 52% 78% at 50% 42%,rgba(5,7,12,.08) 0%,rgba(5,7,12,.45) 55%,rgba(5,7,12,.82) 100%),
    linear-gradient(90deg,rgba(5,7,12,.55) 0%,transparent 18%,transparent 82%,rgba(5,7,12,.55) 100%),
    linear-gradient(180deg,rgba(5,7,12,.35) 0%,transparent 22%,transparent 70%,rgba(5,7,12,.5) 100%)
}
@keyframes rpg-vn-ambient-drift{
  from{transform:scale(1.03) translate3d(-1.2%,0,0)}
  to{transform:scale(1.06) translate3d(1.2%,0,0)}
}
@media (prefers-reduced-motion:reduce){
  .rpg-vn-ambient-img{animation:none;transform:scale(1.04)}
}
.rpg-vn-portrait-col{
  position:absolute;left:0;right:0;top:0;
  bottom:calc(var(--rpg-vn-modal-h) + var(--rpg-vn-speech-lift, 0px));
  display:flex;align-items:flex-end;justify-content:center;
  min-height:0;padding:10px clamp(8px,2.5vw,24px) 8px;
  overflow:visible!important;background:transparent;z-index:1
}
.rpg-vn-portrait-bg{
  position:absolute;inset:0;z-index:0;width:100%;height:100%;
  object-fit:cover;object-position:center center;
  pointer-events:none;user-select:none
}
.rpg-vn-portrait-glow{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:70%;height:80%;border-radius:50%;
  background:radial-gradient(ellipse,rgba(232,197,71,.14),rgba(80,120,200,.06) 45%,transparent 72%);
  filter:blur(22px);pointer-events:none;z-index:1
}
.rpg-vn-portrait-stack{
  position:relative;z-index:2;
  /* Breite zuerst limitieren → Höhe folgt dem Aspekt → Arme bleiben im Frame */
  width:min(100%,720px,calc((100% - 0px) * 0.92));
  height:auto;
  max-height:100%;
  aspect-ratio:2 / 3;
  display:flex;align-items:flex-end;justify-content:center;
  flex:0 1 auto;pointer-events:none;overflow:visible!important;
  transform-origin:center bottom
}
.rpg-vn-overlay.rpg-vn-approach .rpg-vn-portrait-stack{
  animation:rpg-vn-approach-in .95s cubic-bezier(.22,.7,.2,1) both
}
.rpg-vn-overlay .rpg-vn-portrait,
.rpg-vn-overlay .rpg-vn-portrait-layer,
.rpg-vn-portrait,
.rpg-vn-portrait-layer{
  position:relative;z-index:2;display:block;
  width:100%;height:100%;
  max-width:100%;max-height:100%;
  flex:0 0 auto;
  object-fit:contain!important;object-position:center bottom!important;
  overflow:visible;
  border-radius:0;filter:drop-shadow(0 18px 28px rgba(0,0,0,.35));
  -webkit-mask-image:none!important;mask-image:none!important;
  opacity:1;transition:opacity .3s ease
}
.rpg-vn-portrait-layer.is-front{position:relative;z-index:2}
.rpg-vn-portrait-layer.is-exit,
.rpg-vn-portrait-layer.is-hidden{
  position:absolute;left:0;right:0;bottom:0;top:auto;
  width:100%;height:100%;max-width:100%;max-height:100%;
  transform:none;z-index:1;pointer-events:none
}
.rpg-vn-portrait-layer.is-hidden{opacity:0;visibility:hidden}
.rpg-vn-portrait-layer.is-exit{opacity:0}
.rpg-vn-portrait-layer.is-enter{animation:rpg-vn-expr-in .3s ease-out}
/* Weicher Hüft-Fade in die Dialogbox — gilt für ALLE VN-Sprecher, kein Rechteck-Schnitt */
.rpg-vn-portrait-col::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:18%;z-index:3;pointer-events:none;
  background:linear-gradient(to top,rgba(5,7,12,.42) 0%,rgba(5,7,12,.16) 42%,transparent 100%)
}
@keyframes rpg-vn-portrait-in{
  from{opacity:0}
  to{opacity:1}
}
@keyframes rpg-vn-expr-in{
  from{opacity:0}
  to{opacity:1}
}
@keyframes rpg-vn-approach-in{
  0%{
    opacity:0;
    transform:translate(-48px,10px) scale(.94);
    filter:brightness(0) contrast(1.15) blur(10px)
  }
  38%{
    opacity:.92;
    transform:translate(-14px,4px) scale(.98);
    filter:brightness(0) contrast(1.1) blur(4px)
  }
  62%{
    opacity:1;
    transform:translate(-4px,1px) scale(1);
    filter:brightness(.35) contrast(1.05) blur(1.5px)
  }
  100%{
    opacity:1;
    transform:none;
    filter:none
  }
}
.rpg-vn-quest-title{
  position:absolute;z-index:6;left:max(12px,env(safe-area-inset-left));
  right:auto;max-width:min(92%,420px);
  top:max(6px,env(safe-area-inset-top,0px));
  margin:0;padding:8px 12px 10px;text-align:left;
  font-family:Georgia,"Times New Roman",Palatino,serif;
  font-size:clamp(1.05rem,3.6vw,1.35rem);font-weight:700;font-style:italic;
  letter-spacing:.03em;line-height:1.25;color:#f8f1df;
  text-shadow:0 2px 14px rgba(0,0,0,.85),0 1px 0 rgba(0,0,0,.55);
  pointer-events:none;
  background:linear-gradient(135deg,rgba(5,7,12,.82),rgba(5,7,12,.35));
  border-radius:0 0 14px 0;
  border-bottom:1px solid rgba(232,197,71,.35);
  box-shadow:0 8px 24px rgba(0,0,0,.35)
}
.rpg-vn-quest-title.hidden{display:none!important}
.rpg-vn-quest-title::after{display:none}
.rpg-vn-nameplate{
  position:absolute;z-index:6;left:max(14px,env(safe-area-inset-left));
  top:max(14px,calc(env(safe-area-inset-top,0px) + 10px));
  bottom:auto;margin:0;display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px;border-radius:999px;
  border:1px solid rgba(232,197,71,.4);
  background:linear-gradient(135deg,rgba(20,16,12,.88),rgba(8,10,16,.9));
  box-shadow:0 10px 28px rgba(0,0,0,.45);backdrop-filter:blur(6px);
  transition:box-shadow .25s ease,border-color .25s ease,top .15s ease
}
.rpg-vn-overlay.rpg-vn-speaking .rpg-vn-nameplate{
  border-color:rgba(232,197,71,.7);
  box-shadow:0 0 0 1px rgba(232,197,71,.25),0 10px 28px rgba(0,0,0,.45)
}
.rpg-vn-talk-dots{
  display:none;align-items:center;gap:3px;margin-left:2px
}
.rpg-vn-overlay.rpg-vn-speaking .rpg-vn-talk-dots{display:inline-flex}
.rpg-vn-talk-dots i{
  width:4px;height:4px;border-radius:50%;background:rgba(253,230,138,.9);
  animation:rpg-vn-dot 1s ease-in-out infinite
}
.rpg-vn-talk-dots i:nth-child(2){animation-delay:.15s}
.rpg-vn-talk-dots i:nth-child(3){animation-delay:.3s}
@keyframes rpg-vn-dot{
  0%,80%,100%{opacity:.25;transform:translateY(0)}
  40%{opacity:1;transform:translateY(-2px)}
}
/* Mit Questtitel: Name unter Titel — Fallback groß genug für 2 Zeilen */
.rpg-vn-overlay.rpg-vn-has-quest-title .rpg-vn-nameplate{
  top:calc(
    max(6px, env(safe-area-inset-top, 0px))
    + max(var(--rpg-vn-title-h, 0px), 4.75rem)
    + 14px
  )
}
.rpg-vn-emoji{font-size:1.15rem;line-height:1}
.rpg-vn-emoji:empty{display:none}
.rpg-vn-name{font-size:1rem;font-weight:850;color:#fff}
.rpg-vn-speech{
  position:absolute;z-index:4;left:max(12px,env(safe-area-inset-left));
  right:max(12px,env(safe-area-inset-right));
  bottom:calc(22% + 8px);
  padding:16px 18px;border-radius:16px;min-height:0;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(165deg,rgba(12,14,22,.88),rgba(6,8,14,.92));
  box-shadow:0 16px 40px rgba(0,0,0,.5);backdrop-filter:blur(10px)
}
.rpg-vn-text{
  margin:0;font-size:clamp(1.02rem,2.6vw,1.2rem);line-height:1.55;color:rgba(238,241,255,.97);
  white-space:pre-line;font-weight:600;letter-spacing:.01em;
  max-height:28vh;overflow:auto;min-height:1.55em
}
.rpg-vn-text-hint{
  display:block;margin-top:8px;font-size:.68rem;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:rgba(253,230,138,.55)
}
.rpg-vn-text-hint.hidden{display:none!important}
.rpg-vn-choices-modal{
  position:absolute;z-index:5;left:0;right:0;bottom:0;flex-shrink:0;
  padding:14px 14px calc(14px + env(safe-area-inset-bottom,0px));
  border-radius:18px 18px 0 0;border:1px solid rgba(232,197,71,.28);border-bottom:none;
  background:linear-gradient(180deg,rgba(22,18,14,.97),rgba(8,10,16,.99));
  box-shadow:0 -12px 40px rgba(0,0,0,.55);animation:rpg-vn-choices-in .28s ease-out
}
.rpg-vn-choices-modal.hidden{display:none!important}
@keyframes rpg-vn-choices-in{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:none}
}
.rpg-vn-choices-kicker{
  margin:0 0 10px;font-size:.68rem;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(253,230,138,.78)
}
.rpg-vn-choices{display:flex;flex-direction:column;gap:8px;max-height:34vh;overflow:auto}
.rpg-vn-choice-btn{
  display:flex;align-items:center;gap:12px;width:100%;text-align:left;
  min-height:52px;padding:12px 14px;border-radius:14px;cursor:pointer;font:inherit;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(0,0,0,.28));
  color:var(--txt,#eef1ff);transition:border-color .12s,background .12s,transform .12s
}
.rpg-vn-choice-btn:hover{
  border-color:rgba(232,197,71,.45);
  background:linear-gradient(135deg,rgba(232,197,71,.14),rgba(0,0,0,.28));
  transform:translateY(-1px)
}
.rpg-vn-choice-btn:disabled{opacity:.55;cursor:default;transform:none}
.rpg-vn-choice-idx{
  flex-shrink:0;width:28px;height:28px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;
  font-size:.78rem;font-weight:850;color:rgba(253,230,138,.95);
  background:rgba(232,197,71,.14);border:1px solid rgba(232,197,71,.3)
}
.rpg-vn-choice-label{flex:1;font-size:clamp(.88rem,2.2vw,1.02rem);font-weight:750;line-height:1.35}
.rpg-vn-continue-wrap{
  position:absolute;z-index:5;left:0;right:0;bottom:0;flex-shrink:0;
  display:flex;justify-content:center;
  padding:14px 14px calc(16px + env(safe-area-inset-bottom,0px));
  background:linear-gradient(to top,rgba(5,7,12,.92),transparent)
}
.rpg-vn-continue-wrap.hidden{display:none!important}
.rpg-vn-continue-btn{min-width:min(320px,92%);min-height:50px;font-weight:850;border-radius:14px}
.rpg-vn-overlay.rpg-vn-has-choices .rpg-vn-speech{bottom:calc(var(--rpg-vn-modal-h) + 10px)}
.rpg-vn-overlay:not(.rpg-vn-has-choices) .rpg-vn-speech{bottom:calc(var(--rpg-vn-modal-h) + 10px)}
/* Quest: Titel oben links, NPC-Name darunter, Dialog über dem Auswahl-Modal */
.rpg-vn-overlay.rpg-vn-has-quest-title.rpg-vn-has-choices .rpg-vn-speech{
  bottom:calc(var(--rpg-vn-modal-h) + 10px)
}
.rpg-vn-overlay.rpg-vn-has-quest-title:not(.rpg-vn-has-choices) .rpg-vn-speech{
  bottom:calc(var(--rpg-vn-modal-h) + 10px)
}
.rpg-vn-overlay.rpg-vn-has-quest-title .rpg-vn-text{max-height:18vh}

.raid-vn-teaser{
  display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;
  border:1px solid rgba(232,197,71,.22);background:rgba(0,0,0,.22)
}
.raid-vn-teaser-emoji{font-size:1.6rem;line-height:1}
.raid-vn-teaser strong{display:block;font-size:.9rem}
body.rpg-vn-open{overflow:hidden}
.rpg-vn-portrait-fx{position:absolute;inset:0;pointer-events:none;z-index:0;border-radius:18px}
.rpg-vn-overlay.rpg-vn-fx-tremble .rpg-vn-portrait-stack{
  animation:rpg-vn-tremble .45s ease-in-out 0s 2
}
.rpg-vn-overlay.rpg-vn-fx-impact .rpg-vn-portrait-stack{
  animation:rpg-vn-impact .55s cubic-bezier(.2,.8,.2,1)
}
.rpg-vn-overlay.rpg-vn-fx-impact .rpg-vn-speech{
  animation:rpg-vn-flash .45s ease-out
}
.rpg-vn-overlay.rpg-vn-fx-glow .rpg-vn-portrait-glow{
  animation:rpg-vn-glow-pulse 1.1s ease-in-out
}
.rpg-vn-overlay.rpg-vn-fx-glow .rpg-vn-nameplate{
  box-shadow:0 0 22px rgba(232,197,71,.45),0 8px 24px rgba(0,0,0,.35)
}
.rpg-vn-overlay.rpg-vn-fx-pulse .rpg-vn-portrait-fx{
  background:radial-gradient(circle at 50% 40%,rgba(148,163,255,.35),transparent 62%);
  animation:rpg-vn-pulse-ring 1.2s ease-out
}
.rpg-vn-overlay.rpg-vn-fx-dim{
  background:rgba(2,4,10,.82)
}
.rpg-vn-overlay.rpg-vn-fx-dim .rpg-vn-portrait-layer.is-front{
  filter:drop-shadow(0 18px 28px rgba(0,0,0,.55)) saturate(.75) brightness(.88)
}
.rpg-vn-overlay.rpg-vn-fx-sway .rpg-vn-portrait-stack{
  animation:rpg-vn-sway 1.4s ease-in-out
}
.rpg-vn-overlay.rpg-vn-fx-zoom .rpg-vn-portrait-stack{
  animation:rpg-vn-zoom .55s ease-out
}
@keyframes rpg-vn-tremble{
  0%,100%{transform:translate(0,0)}
  20%{transform:translate(-5px,2px) rotate(-.6deg)}
  40%{transform:translate(5px,-2px) rotate(.6deg)}
  60%{transform:translate(-4px,-1px) rotate(-.4deg)}
  80%{transform:translate(3px,2px) rotate(.3deg)}
}
@keyframes rpg-vn-impact{
  0%{transform:scale(1)}
  35%{transform:scale(1.06) translateY(-6px)}
  100%{transform:scale(1)}
}
@keyframes rpg-vn-flash{
  0%{filter:brightness(1)}
  30%{filter:brightness(1.35)}
  100%{filter:brightness(1)}
}
@keyframes rpg-vn-glow-pulse{
  0%,100%{opacity:.55;transform:translateX(-50%) scale(1)}
  50%{opacity:1;transform:translateX(-50%) scale(1.18)}
}
@keyframes rpg-vn-pulse-ring{
  0%{opacity:0;transform:scale(.8)}
  40%{opacity:.9}
  100%{opacity:0;transform:scale(1.25)}
}
@keyframes rpg-vn-sway{
  0%,100%{transform:translateX(0)}
  50%{transform:translateX(6px)}
}
@keyframes rpg-vn-zoom{
  0%{transform:scale(.92);opacity:.7}
  100%{transform:scale(1);opacity:1}
}
@media (max-width:720px){
  .rpg-vn-nameplate{padding:7px 12px}
  .rpg-vn-overlay.rpg-vn-has-quest-title .rpg-vn-nameplate{
    top:calc(
      max(4px, env(safe-area-inset-top, 0px))
      + max(var(--rpg-vn-title-h, 0px), 4.5rem)
      + 12px
    )
  }
  .rpg-vn-speech{padding:14px 14px}
  .rpg-vn-text{font-size:clamp(.95rem,3.2vw,1.08rem);max-height:24vh}
  .rpg-vn-choices{max-height:32vh}
  .rpg-vn-choice-btn{min-height:48px}
  .rpg-vn-portrait-col{padding:8px 6px 6px}
  .rpg-vn-quest-title{
    top:max(4px,env(safe-area-inset-top,0px));
    left:max(8px,env(safe-area-inset-left));
    max-width:min(88%,340px);
    font-size:clamp(.98rem,3.8vw,1.18rem);padding:6px 10px 8px
  }
  .rpg-vn-overlay.rpg-vn-has-quest-title .rpg-vn-text{max-height:16vh}
}
.admin-player-quick{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.admin-guild-quick .admin-guild-pick{display:flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:100%;text-align:left;height:auto;padding:6px 8px}
.admin-guild-pick-meta{display:block;opacity:.85;line-height:1.25}
.admin-admin-row{display:flex;align-items:center;gap:8px;margin:4px 0}
.admin-admins-layout{display:flex;flex-direction:column;gap:10px}
.admin-admins-cat{padding:12px}
.admin-admins-cat-hint{margin:4px 0 10px;line-height:1.35}
.admin-person-list{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}
.admin-person-row{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:8px 10px;border-radius:10px;
  border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.22)
}
.admin-person-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.admin-person-name{font-size:.8rem;font-weight:800;color:var(--txt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-person-meta{font-size:.62rem;line-height:1.25}
.admin-admin-pick.is-admin-active{opacity:.55;border-color:rgba(74,222,128,.35)!important}
.admin-admin-pick.hidden{display:none!important}
.admin-admin-row--manual .admin-admin-id{flex:1}
.admin-online-strip{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  width:100%;margin:8px 0 10px;padding:10px 12px;border-radius:12px;
  border:1px solid rgba(74,222,128,.28);
  background:linear-gradient(135deg,rgba(34,197,94,.12),rgba(0,0,0,.28));
  color:var(--txt);cursor:pointer;text-align:left;font:inherit
}
.admin-online-strip:hover{border-color:rgba(74,222,128,.45);background:linear-gradient(135deg,rgba(34,197,94,.18),rgba(0,0,0,.32))}
.admin-online-chip{pointer-events:none}
.admin-online-strip-live{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;white-space:nowrap}
.admin-online-strip-chips{display:flex;flex-wrap:wrap;gap:5px;flex:1;min-width:0}
.admin-online-chip{
  display:inline-flex;align-items:center;max-width:9rem;padding:2px 8px;border-radius:999px;
  font-size:.62rem;font-weight:700;color:#bbf7d0;
  background:rgba(0,0,0,.28);border:1px solid rgba(74,222,128,.22);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.admin-online-chip-more{color:rgba(255,255,255,.55);font-weight:600}
.admin-online-strip-open{margin-left:auto;white-space:nowrap}
.admin-online-pulse{
  width:8px;height:8px;border-radius:50%;background:#4ade80;flex-shrink:0;
  box-shadow:0 0 0 0 rgba(74,222,128,.55);
  animation:admin-online-pulse 1.8s ease-out infinite
}
@keyframes admin-online-pulse{
  0%{box-shadow:0 0 0 0 rgba(74,222,128,.55)}
  70%{box-shadow:0 0 0 8px rgba(74,222,128,0)}
  100%{box-shadow:0 0 0 0 rgba(74,222,128,0)}
}
.admin-online-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  margin-bottom:10px;padding:8px 10px;border-radius:10px;
  border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.18)
}
.admin-online-toolbar-live{display:inline-flex;align-items:center;gap:8px}
.admin-online-toolbar-actions{display:inline-flex;align-items:center;gap:8px}
.admin-online-row{
  display:flex;align-items:flex-start;gap:10px;
  padding:9px 11px;border-radius:10px;
  border:1px solid rgba(74,222,128,.16);background:rgba(0,0,0,.22)
}
.admin-online-row .admin-online-pulse{margin-top:5px}
.admin-online-empty{
  display:flex;flex-direction:column;align-items:flex-start;gap:6px;
  padding:18px 16px;border-radius:12px;border:1px dashed rgba(255,255,255,.14)
}
.admin-online-empty-dot{
  width:10px;height:10px;border-radius:50%;background:#6b7280;opacity:.8
}
.admin-maint-known-head{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.admin-maint-player-search{margin:0}
.admin-maint-pick.hidden{display:none!important}
.admin-maint-bypass-label{flex:1 1 auto;font-size:.74rem;font-weight:600;color:var(--txt);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-maint-bypass-row--manual .admin-maint-bypass-id{flex:1 1 auto}
.admin-player-pick{font-size:.62rem!important;max-width:100%;white-space:normal;text-align:left;line-height:1.35}
.admin-field-label{display:block;font-size:.58rem;font-weight:700;color:var(--gold);letter-spacing:.03em;margin-bottom:3px;text-transform:uppercase}
.admin-field-group{display:flex;flex-direction:column;gap:2px;min-width:0}
.admin-field-group.admin-field-grow{flex:1}
.admin-field-group.admin-field-full{grid-column:1/-1}
.admin-field-inline{display:flex;flex-direction:column;gap:4px;flex:1;min-width:140px}
.admin-tab-hint{margin:0 0 8px;line-height:1.35}
.admin-pet-grant{display:flex;flex-direction:column;gap:8px}
.admin-pet-grant-row{
  display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:10px;align-items:center;
  padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.2);
}
.admin-pet-grant-row--egg{
  grid-template-columns:96px minmax(120px,1fr) 88px auto auto;
  align-items:end;
}
.admin-pet-grant-row--egg .admin-pet-egg-ready{
  margin:0;padding-bottom:6px;white-space:nowrap;font-size:.68rem;
}
.admin-pet-grant-row--egg #admin-grant-egg-btn{justify-self:end;min-width:96px;align-self:center}
.admin-pet-grant-label{font-size:.72rem;font-weight:700;color:#e5e7eb;min-width:0}
.admin-pet-qty-field{justify-self:start;max-width:88px}
.admin-pet-qty-input{
  width:72px!important;max-width:72px;text-align:center;
  -moz-appearance:textfield;appearance:textfield;
}
.admin-pet-qty-input::-webkit-outer-spin-button,
.admin-pet-qty-input::-webkit-inner-spin-button{-webkit-appearance:none!important;margin:0!important;display:none!important}
.admin-pet-grant-btn{justify-self:end;min-width:84px}
.admin-players-editor .admin-qty-btn,
.admin-players-editor .admin-qty-stepper{display:none!important}
.admin-item-quick-row{
  display:flex;flex-wrap:wrap;gap:6px;margin:0;align-content:flex-start;
  max-height:140px;overflow-y:auto;overflow-x:hidden;padding:2px;
}
.admin-item-quick-row--compact{max-height:none;overflow:visible}
.admin-item-quick-btn,
.admin-equip-quick-btn{
  appearance:none!important;-webkit-appearance:none!important;
  forced-color-adjust:none;
  display:inline-flex!important;align-items:center;justify-content:flex-start;gap:6px;
  position:relative;z-index:1;float:none!important;box-sizing:border-box;
  max-width:100%;min-height:34px;padding:7px 12px 7px 10px;border-radius:10px;
  border:1px solid rgba(148,163,184,.35)!important;
  border-left:3px solid #e8c547!important;
  background:#0f141f!important;
  background-color:#0f141f!important;
  background-image:linear-gradient(180deg,rgba(255,255,255,.06),transparent 55%)!important;
  color:#f8fafc!important;color-scheme:only dark;
  font:inherit;font-size:.68rem!important;font-weight:800;line-height:1.25;cursor:pointer;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 1px 3px rgba(0,0,0,.45);
  text-shadow:0 1px 2px rgba(0,0,0,.75);
}
.admin-item-quick-emoji,.admin-item-quick-label{
  color:#f8fafc!important;flex-shrink:0;text-shadow:0 1px 2px rgba(0,0,0,.8);
}
.admin-item-quick-emoji{font-size:1rem;line-height:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}
.admin-item-quick-label{min-width:0;flex-shrink:1;overflow:hidden;text-overflow:ellipsis}
.admin-item-quick-btn:hover,
.admin-equip-quick-btn:hover{
  background:#1c2436!important;background-color:#1c2436!important;
  border-color:rgba(232,197,71,.65)!important;color:#fff7d6!important;
  filter:brightness(1.08);
}
.admin-item-quick-btn:hover .admin-item-quick-label,
.admin-item-quick-btn:hover .admin-item-quick-emoji,
.admin-equip-quick-btn:hover .admin-item-quick-label,
.admin-equip-quick-btn:hover .admin-item-quick-emoji{color:#fff7d6!important}
.admin-item-quick-btn.active,
.admin-equip-quick-btn.active{
  background:#2a2212!important;background-color:#2a2212!important;
  border-color:#e8c547!important;color:#ffe08a!important;
  box-shadow:inset 0 0 0 1px rgba(232,197,71,.35),0 0 0 2px rgba(232,197,71,.18);
}
.admin-item-quick-btn.active .admin-item-quick-label,
.admin-item-quick-btn.active .admin-item-quick-emoji,
.admin-equip-quick-btn.active .admin-item-quick-label,
.admin-equip-quick-btn.active .admin-item-quick-emoji{color:#ffe08a!important}
.admin-quick-tone-torch{border-left-color:#f59e0b!important;background:#1a140c!important;background-color:#1a140c!important}
.admin-quick-tone-weapon{border-left-color:#a78bfa!important;background:#161222!important;background-color:#161222!important}
.admin-quick-tone-armor{border-left-color:#60a5fa!important;background:#0f1724!important;background-color:#0f1724!important}
.admin-quick-tone-heal{border-left-color:#4ade80!important;background:#0f1a14!important;background-color:#0f1a14!important}
.admin-quick-tone-mana{border-left-color:#38bdf8!important;background:#0c1824!important;background-color:#0c1824!important}
.admin-quick-tone-ultimate{border-left-color:#f59e0b!important;background:#1a140c!important;background-color:#1a140c!important;color:#fde68a!important}
.admin-quick-tone-ultimate .admin-item-quick-label{color:#fde68a!important}
.admin-quick-tone-paragon{border-left-color:#c084fc!important;background:#1a1230!important;background-color:#1a1230!important;color:#e9d5ff!important}
.admin-quick-tone-paragon .admin-item-quick-label{color:#e9d5ff!important}
.admin-quick-tone-boss{border-left-color:#f87171!important;background:#1a1012!important;background-color:#1a1012!important;color:#fecaca!important}
.admin-quick-tone-boss .admin-item-quick-label{color:#fecaca!important}
.admin-quick-tone-gear{border-left-color:#94a3b8!important}
.admin-item-pick-list{
  display:flex;flex-direction:column;gap:3px;margin:0;max-height:min(48vh,420px);overflow-y:auto;
  border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(0,0,0,.35);padding:6px 4px 6px 6px;
  scrollbar-gutter:stable;scrollbar-width:thin;
  scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);
}
.admin-item-pick-list::-webkit-scrollbar{width:var(--scrollbar-size)}
.admin-item-pick-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:8px}
.admin-item-pick{
  display:flex;align-items:center;gap:8px;width:100%;padding:7px 9px;border:1px solid transparent;
  border-radius:8px;background:rgba(255,255,255,.03);color:#f3f4f6;font:inherit;font-size:.66rem;
  text-align:left;cursor:pointer;line-height:1.3;box-sizing:border-box;flex-shrink:0;
}
.admin-item-pick:hover{background:rgba(124,92,255,.18);border-color:rgba(124,92,255,.28)}
.admin-item-pick.active{background:rgba(124,92,255,.28);border-color:rgba(124,92,255,.5)}
.admin-item-pick-emoji{flex-shrink:0;width:1.2em;text-align:center}
.admin-item-pick-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f8fafc}
.admin-item-pick-id{flex-shrink:0;font-size:.55rem;color:#94a3b8;opacity:.9;max-width:36%;overflow:hidden;text-overflow:ellipsis}
.admin-item-pick-empty,.admin-item-pick-meta{padding:8px 8px 6px;margin:0;color:#94a3b8;flex-shrink:0}
.admin-item-pick-meta{border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:4px}
.admin-item-pick-kind{font-size:.55rem;color:#fbbf24;opacity:.95;margin-left:.35em;font-weight:600}
.admin-grant-ok{color:#86efac!important}
.admin-grant-err{color:#fca5a5!important}
.admin-players-editor .admin-game-stats{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;grid-column:auto;
}
.admin-players-editor .admin-player-quick{max-height:120px;overflow-y:auto;padding-right:2px}
@media (max-width:640px){
  .admin-pet-grant-row{grid-template-columns:1fr;gap:8px}
  .admin-pet-grant-row--egg{grid-template-columns:1fr;gap:8px}
  .admin-pet-grant-btn,
  .admin-pet-grant-row--egg #admin-grant-egg-btn{justify-self:stretch}
  .admin-item-quick-row{max-height:160px}
}
.admin-track-header{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:6px;padding:0 8px 4px}
.admin-textarea{resize:vertical;min-height:48px}
@media (max-width:520px){.admin-track-row{grid-template-columns:1fr auto}.admin-track-row input[data-field="credit"],.admin-track-row input[data-field="label"]{grid-column:1/-2}.admin-track-actions{grid-column:2;grid-row:1/span 3}.admin-unused-track-row{grid-template-columns:1fr}.admin-game-row{grid-template-columns:minmax(44px,56px) minmax(0,1fr)}}
.craft-ingredient.locked{opacity:.55}
.pet-starter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px}
.pet-starter-card{
  display:flex;flex-direction:column;padding:0;overflow:hidden;border-radius:12px;
  border:1px solid rgba(255,255,255,.12);transition:border-color .15s ease,transform .12s ease;
}
.pet-starter-card:hover{border-color:rgba(56,189,248,.4);transform:translateY(-2px)}
.pet-starter-card .pet-showcase{margin:0;width:100%}
.pet-starter-card .pet-showcase-sm .pet-showcase-frame{
  height:96px;max-width:100%;margin:0;border-radius:0;border:none;border-bottom:1px solid rgba(255,255,255,.08);
}
.pet-starter-card .pet-showcase-ability{
  margin:0;padding:8px 10px;text-align:center;font-size:.62rem;line-height:1.35;
  border-bottom:1px solid rgba(255,255,255,.06);min-height:2.8em;
}
.pet-starter-foot{padding:8px 10px 10px;margin-top:auto}
.pet-starter-foot .btn{width:100%;min-height:34px}
.pet-stats-showcase-wrap{margin:0 auto 10px;max-width:300px}
.pet-portrait-wrap{position:relative;width:88px;height:110px;border-radius:12px;overflow:hidden;flex-shrink:0;border:1px solid rgba(255,255,255,.12)}
.pet-realistic-portrait,.pet-owned-realistic{width:100%;height:100%;object-fit:contain;image-rendering:auto}
.pet-realistic-img.pet-sprite-lg{width:100%;height:100%;max-height:220px;object-fit:contain;border-radius:12px}
.pet-owned-realistic{width:42px;height:52px;border-radius:8px;object-fit:contain!important;flex-shrink:0}
.quality-tag{font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.58rem}
.inv-item.quality-common{border-color:#9ca3af55}
.inv-item.quality-uncommon{border-color:#22c55e88}
.inv-item.quality-rare{border-color:#3b82f688}
.inv-item.quality-legendary{border-color:#a855f788;box-shadow:0 0 12px rgba(168,85,247,.2)}
.inv-item.quality-ultimate{border-color:#f59e0b99;box-shadow:0 0 14px rgba(245,158,11,.28)}
.inv-class-mismatch{color:#f87171}
.inv-block-reason,
.inv-row .inv-block-reason,
.inv-row-text .inv-block-reason,
.inv-row-main .inv-block-reason,
#panel-card .inv-block-reason,
.inv-workshop .inv-block-reason{
  display:flex;align-items:center;gap:6px;
  color:#fecaca!important;
  font-weight:750!important;
  margin:4px 0 0;
  line-height:1.3;
  font-size:.62rem!important;
  padding:5px 9px;
  border-radius:8px;
  background:linear-gradient(90deg,rgba(127,29,29,.35),rgba(127,29,29,.12));
  border:1px solid rgba(248,113,113,.32);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.inv-item-actions{width:100%;margin-top:4px}
.inv-item-actions .panel-btns{display:flex;flex-direction:row;flex-wrap:wrap;gap:4px;width:100%;margin-top:4px!important;justify-content:flex-end}
.inv-item-actions .panel-btns .btn{flex:0 1 auto;width:auto;min-width:0;font-size:.62rem;padding:4px 7px}
.inv-sell-btn{border-color:rgba(232,197,71,.5)!important;background:rgba(232,197,71,.14)!important;color:var(--gold)!important}
.inv-sell-qty-wrap{margin-bottom:6px}
.inv-dismantle-btn{border-color:rgba(148,163,184,.45)!important;background:rgba(148,163,184,.12)!important;color:#e2e8f0!important}
.trade-columns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0 0;flex-shrink:0;max-height:min(34vh,220px);overflow:hidden;isolation:isolate}
.trade-status-bar{
  display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;
  padding:10px 12px;margin-bottom:10px;font-size:.72rem;line-height:1.45;
  flex-shrink:0;overflow:visible;
}
.trade-status-chip{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;
  padding:6px 10px;border-radius:10px;background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.08);min-width:0;flex:1 1 140px;
}
.trade-status-label{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.trade-status-count{font-size:.62rem;color:var(--muted);font-variant-numeric:tabular-nums}
.trade-status-hint{flex:1 1 100%;padding:0 2px}
.trade-status-open{color:#fbbf24}
.trade-status-ready{color:#4ade80}
.trade-col{padding:8px;border-radius:10px;min-width:0;display:flex;flex-direction:column;min-height:0;overflow:hidden;gap:6px}
.trade-coin-offer{
  display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;flex-shrink:0;
  border:1px solid rgba(232,197,71,.22);background:rgba(232,197,71,.08);
}
.trade-coin-offer-empty{border-color:rgba(255,255,255,.1);background:rgba(0,0,0,.18)}
.trade-coin-offer-filled{border-color:rgba(232,197,71,.35);background:rgba(232,197,71,.12)}
.trade-coin-offer-label{font-size:.62rem;font-weight:800;color:#fde68a;white-space:nowrap}
.trade-coin-offer-val{font-size:.68rem;font-weight:700;font-variant-numeric:tabular-nums;flex:1;min-width:0;text-align:right}
.trade-coin-remove{
  flex-shrink:0;min-width:20px;min-height:20px;padding:0 4px;line-height:1;font-size:.58rem;
  border-radius:6px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.35);
  color:var(--muted);cursor:pointer;
}
.trade-coin-remove:hover{color:#fca5a5;border-color:rgba(252,165,165,.35);background:rgba(127,29,29,.25)}
.trade-coin-pick{padding:8px 10px;margin-bottom:8px}
.trade-coin-pick-head{margin-bottom:6px}
.trade-coin-pick-bar{align-items:center;flex-wrap:wrap;gap:6px}
.trade-coin-pick-status{margin-top:6px}
.trade-col h4{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:.7rem;margin:0 0 6px;line-height:1.3;flex-shrink:0}
.trade-col-status{font-size:.58rem;font-weight:800;padding:2px 5px;border-radius:999px;background:rgba(255,255,255,.06);white-space:nowrap}
.trade-col-status.trade-status-ready{color:#4ade80;border:1px solid rgba(74,222,128,.35)}
.trade-col-status.trade-status-open{color:#fbbf24;border:1px solid rgba(251,191,36,.35)}
.trade-offer-list{
  list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:4px;
  min-height:0;flex:1 1 auto;overflow-y:auto;align-content:start;
}
.trade-offer-slot{
  border-radius:8px;border:1px dashed rgba(255,255,255,.12);
  background:rgba(0,0,0,.18);min-height:44px;max-height:52px;display:flex;align-items:stretch;
  position:relative;overflow:hidden;
}
.trade-offer-slot-filled{border-style:solid;border-color:rgba(255,255,255,.1);background:rgba(0,0,0,.24)}
.trade-offer-slot-empty{
  flex-direction:column;align-items:center;justify-content:center;gap:1px;
  color:rgba(255,255,255,.35);font-size:.62rem;padding:2px;
}
.trade-slot-item,
.trade-slot-item.stat-hover-wrap{
  display:flex;align-items:center;gap:5px;width:100%;min-width:0;height:100%;
  padding:4px 5px;box-sizing:border-box;border-radius:7px;
  border-left:3px solid var(--trade-slot-accent,rgba(255,255,255,.14));
}
.trade-slot-item .stat-hover-trigger.trade-slot-trigger{
  display:flex;align-items:center;gap:5px;width:100%;min-width:0;flex:1;
  background:transparent;border:none;border-radius:0;padding:0;margin:0;
  min-height:0;line-height:1;cursor:help;
}
.trade-slot-item .stat-hover-trigger.trade-slot-trigger:focus-visible{
  outline:2px solid rgba(232,197,71,.45);outline-offset:-2px;
}
.trade-slot-emoji{font-size:1.05rem;flex-shrink:0;line-height:1;width:1.35rem;height:1.35rem;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}
.trade-slot-emoji .item-ico{width:100%;height:100%;object-fit:contain;display:block}
.trade-slot-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:1px}
.trade-slot-name{
  font-size:.62rem;line-height:1.15;font-weight:700;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.trade-slot-qty{font-size:.56rem;color:var(--muted);font-variant-numeric:tabular-nums;line-height:1}
.trade-offer-remove{
  flex-shrink:0;align-self:flex-start;
  min-width:20px;min-height:20px;padding:0 4px;line-height:1;font-size:.58rem;
  border-radius:6px;border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.35);color:var(--muted);cursor:pointer;
}
.trade-offer-remove:hover{color:#fca5a5;border-color:rgba(252,165,165,.35);background:rgba(127,29,29,.25)}
.trade-slot-empty-icon{font-size:.72rem;line-height:1;opacity:.5}
.trade-slot-empty-label{font-size:.58rem;line-height:1.1}
.trade-pick-head{flex-shrink:0;margin:0 0 8px;padding:0}
.trade-footer-actions{flex-shrink:0;margin-top:6px;padding-top:4px}
.trade-pick-grid .trade-pick-btn.in-offer{opacity:.45;cursor:not-allowed}
.trade-pick-grid .trade-pick-btn.selected{border-color:var(--gold)!important;box-shadow:0 0 0 1px rgba(232,197,71,.35)}
.trade-qty-panel{margin:8px 0;padding:10px}
.trade-qty-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:.74rem}
.trade-qty-controls{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.trade-qty-input{width:56px;padding:6px 8px;text-align:center;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.35);color:var(--txt)}
.trade-action-btns{margin-top:10px;flex-wrap:wrap}
.trade-active-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px;margin:0 0 8px;font-size:.72rem}
.trade-offer-list .trade-pick-btn{cursor:pointer;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.2)}
.trade-pick-grid .trade-pick-btn:hover{border-color:var(--gold)}
.trade-start-row{display:flex;gap:8px;align-items:center;padding:10px;margin:8px 0 4px}
.trade-mention-wrap{position:relative;flex:1;min-width:0}
.trade-name-input{width:100%;min-width:0;padding:8px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.35);color:var(--txt);font-size:.82rem;box-sizing:border-box}
.trade-name-input:focus{outline:none;border-color:var(--gold)}
.trade-mention-dropdown{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;max-height:180px;overflow-y:auto;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:rgba(18,18,28,.98);box-shadow:0 8px 24px rgba(0,0,0,.45)}
.trade-mention-dropdown.hidden{display:none}
.trade-mention-item{display:block;width:100%;text-align:left;padding:8px 12px;border:none;background:transparent;color:var(--txt);font-size:.82rem;cursor:pointer}
.trade-mention-item:hover,.trade-mention-item:focus{background:rgba(232,197,71,.15);outline:none}
.inv-cost-line{margin-top:0;line-height:1.35}
.inv-cost-line .cost-ok,.inv-mat-chip.cost-ok{color:#86efac}
.inv-cost-line .cost-missing,.inv-mat-chip.cost-missing{color:#fca5a5;font-weight:700}
.trade-hint{margin:0 0 8px;padding:0 4px}
.trade-online-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.trade-online-chip{cursor:pointer;border:1px solid rgba(255,255,255,.12)!important;background:rgba(0,0,0,.25)!important}
.trade-online-chip:hover{border-color:var(--gold)!important;background:rgba(232,197,71,.12)!important}

/* ════════════════════════════════════════════════════════════════════════ */
/* ERKUNDEN-MENÜ — klickbare Gebäude-Weltkarte                              */
/* ════════════════════════════════════════════════════════════════════════ */
/* Immersive Weltkarte: Topbar + Titel + Edge-Rail aus */
html body.world-map-immersive #top-bar,
html body.world-map-immersive .top-bar,
html.flix-rpg-web body.world-map-immersive .top-bar,
html[data-desktop-web="1"] body.world-map-immersive .top-bar{
  display:none!important;visibility:hidden!important;pointer-events:none!important;
}
html body.world-map-immersive .rpg-bag-edge-rail{
  display:none!important;
}
html body.world-map-immersive #screen-world > .screen-title,
html body.world-map-immersive #screen-world > .screen-sub,
html body.world-map-immersive #screen-coop-world .screen-title,
html body.world-map-immersive #screen-coop-world .screen-sub{
  display:none!important;
}
html body.world-map-immersive #app{
  max-width:none!important;padding:0!important;margin:0!important;
  min-height:100dvh!important;
}
html body.world-map-immersive #screen-world,
html body.world-map-immersive #screen-coop-world{
  position:fixed!important;inset:0!important;z-index:120!important;
  margin:0!important;padding:0!important;max-height:none!important;
  overflow:hidden!important;background:#05060c!important;
}
/* Co-op Regionen: Karte full-bleed hinter Toolbar/Tabs/Gruppe */
html body.world-map-immersive #screen-coop-world{
  display:flex!important;flex-direction:column!important;
}
html body.world-map-immersive #screen-coop-world .coop-world-toolbar,
html body.world-map-immersive #screen-coop-world .coop-tabs,
html body.world-map-immersive #screen-coop-world .coop-world-members{
  position:relative;z-index:6;margin-bottom:0;
  background:rgba(6,8,16,.62);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-color:rgba(232,197,71,.18);
}
html body.world-map-immersive #screen-coop-world .coop-world-toolbar.glass,
html body.world-map-immersive #screen-coop-world .coop-world-members{
  border-radius:0;
}
html body.world-map-immersive #screen-coop-world #cw-explore-wrap,
html body.world-map-immersive #screen-coop-world #cw-regions-panel,
html body.world-map-immersive #screen-coop-world #cw-region-grid.world-map-host{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  z-index:0!important;flex:none!important;
  overflow:hidden!important;padding:0!important;margin:0!important;
  min-height:0!important;max-height:none!important;
  background:transparent!important;
}
.world-map-host.region-grid{
  display:block!important;padding:0!important;gap:0!important;
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
}
.world-map.world-map-fs{
  position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;
  border-radius:0;overflow:hidden;border:none;box-shadow:none;background:#05060c;
  display:block;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;
  /* Stage-Größe relativ zum Karten-Viewport (nicht Viewport-Einheiten — bricht unter PC-Scale/APK) */
  container-type:size;
  container-name:world-map;
}
.world-map.world-map-fs.is-panning{cursor:grabbing}
.world-map.world-map-fs.is-panning .world-map-hotspot,
.world-map.is-panning .world-map-hotspot{pointer-events:none!important}
/* Cover-Vollbild (3:2-Asset): Stage größer als Viewport → schiebbar, Pins bleiben korrekt */
.world-map-stage{
  position:absolute;left:50%;top:50%;
  --wm-pan-x:0px;--wm-pan-y:0px;
  transform:translate(calc(-50% + var(--wm-pan-x)), calc(-50% + var(--wm-pan-y)));
  /* Fallback ohne Container-Queries */
  width:max(125vw, calc(125dvh * 3 / 2));
  height:max(125dvh, calc(125vw * 2 / 3));
  max-width:none;max-height:none;
  will-change:transform;
}
@supports (width:1cqw){
  .world-map-stage{
    width:max(125cqw, calc(125cqh * 3 / 2));
    height:max(125cqh, calc(125cqw * 2 / 3));
  }
}
/* Immersive: Screen füllt die skalierte Stage (nicht position:fixed auf dem Handy-Viewport) */
html.flix-rpg-pc-scale body.world-map-immersive #screen-world,
html.flix-rpg-pc-scale body.world-map-immersive #screen-coop-world,
html[data-abenteuer-apk="1"] body.world-map-immersive #screen-world,
html[data-abenteuer-apk="1"] body.world-map-immersive #screen-coop-world{
  position:absolute!important;inset:0!important;z-index:120!important;
  width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  min-width:0!important;min-height:0!important;
  margin:0!important;padding:0!important;overflow:hidden!important;
  background:#05060c!important;
}
html.flix-rpg-pc-scale body.world-map-immersive #app,
html[data-abenteuer-apk="1"] body.world-map-immersive #app{
  padding:0!important;gap:0!important;
}
.world-map-img{
  display:block!important;width:100%!important;height:100%!important;
  object-fit:fill!important;vertical-align:middle;pointer-events:none;
  min-height:0!important;max-height:none!important;
}
.world-map-hotspots{position:absolute;inset:0;z-index:2;pointer-events:none}
.world-map-hotspot{
  /* Anker = Podest-Zentrum (--pin-x/--pin-y); Pin steht darauf */
  position:absolute;left:var(--pin-x,50%);top:var(--pin-y,50%);
  width:max(72px,12%);height:max(72px,14%);
  transform:translate(-50%,-78%);
  padding:0;margin:0;border:0;background:transparent;
  cursor:pointer;appearance:none;-webkit-appearance:none;
  display:flex;align-items:flex-end;justify-content:center;
  touch-action:manipulation;z-index:3;pointer-events:auto;
}
.world-map-hotspot.world-map-hub{
  width:max(88px,14%);height:max(88px,16%);
  transform:translate(-50%,-55%);
  z-index:4;
}
.world-map-pin{
  display:flex;flex-direction:column;align-items:center;gap:2px;
  min-width:0;max-width:100%;padding:4px 6px 6px;
  transform:translateY(0);transition:transform .15s ease, filter .15s ease;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.85));
  pointer-events:none;
}
.world-map-pin--hub{
  padding:6px 10px 8px;
  border-radius:16px;
  background:radial-gradient(circle at 50% 30%, rgba(120,230,255,.28), rgba(4,16,36,.55) 70%);
  border:1px solid rgba(126,249,255,.45);
  box-shadow:0 0 18px rgba(0,200,255,.35), inset 0 0 12px rgba(80,220,255,.15);
}
.world-map-pin--hub .world-map-pin-emoji{
  font-size:clamp(1.35rem,3.8vw,1.85rem);
  filter:drop-shadow(0 0 8px rgba(80,230,255,.75));
}
.world-map-pin--hub .world-map-pin-name{
  color:#9ef6ff;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 12px rgba(0,220,255,.55);
}
.world-map-pin--lobby .world-map-pin-name{
  text-transform:none;
  letter-spacing:.04em;
}
.world-map-hotspot:hover .world-map-pin,
.world-map-hotspot:focus-visible .world-map-pin{
  transform:translateY(-3px) scale(1.04);
  filter:drop-shadow(0 0 10px rgba(0,240,255,.45)) drop-shadow(0 3px 8px rgba(0,0,0,.9));
}
.world-map-hotspot.world-map-hub:hover .world-map-pin--hub,
.world-map-hotspot.world-map-hub:focus-visible .world-map-pin--hub{
  transform:translateY(-4px) scale(1.06);
  border-color:rgba(160,250,255,.8);
  box-shadow:0 0 28px rgba(0,220,255,.55), inset 0 0 14px rgba(100,230,255,.22);
}
.world-map-pin-emoji{font-size:clamp(1.1rem,3.2vw,1.55rem);line-height:1}
.world-map-pin-name{
  font-family:"Cinzel",ui-serif,Georgia,serif;font-weight:700;
  font-size:clamp(.58rem,1.8vw,.78rem);letter-spacing:.04em;
  color:#e8fbff;text-align:center;line-height:1.15;
  text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 8px rgba(0,200,255,.35);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;
}
.world-map-pin-lock,.world-map-pin-active,.world-map-pin-quest{
  font-size:.55rem;font-weight:700;letter-spacing:.03em;
  padding:1px 6px;border-radius:999px;line-height:1.3;
}
.world-map-pin-lock{background:rgba(0,0,0,.65);color:#ffb4b4;border:1px solid rgba(255,120,120,.35)}
.world-map-pin-active{background:rgba(0,180,120,.35);color:#b8ffe0;border:1px solid rgba(80,255,180,.4)}
.world-map-pin-quest{background:rgba(140,40,180,.45);color:#f0d0ff;border:1px solid rgba(200,120,255,.4)}
.world-map-hotspot.locked{cursor:not-allowed;opacity:.78}
.world-map-hotspot.locked .world-map-pin{filter:grayscale(.35) drop-shadow(0 2px 6px rgba(0,0,0,.85))}
.world-map-hotspot.current .world-map-pin-name{color:#7efcff}
.world-map-hotspot.is-pressed .world-map-pin,
.world-map-hotspot.is-activating .world-map-pin{
  transform:translateY(2px) scale(.96);
  filter:drop-shadow(0 0 10px rgba(126,252,255,.55)) drop-shadow(0 2px 6px rgba(0,0,0,.85));
}
.world-map-hotspot.is-activating{
  z-index:6;
}
.world-map-hotspot.is-activating .world-map-pin-name{color:#b8fff8}
.world-map-hotspot.mythic-zone .world-map-pin-name{color:#ffc978}
.world-map-skeleton{
  width:100%;min-height:min(52vh,420px);border-radius:14px;
}
.world-map-loading{padding:0;text-align:center}
.world-map-loading-lbl{margin:8px 0 4px}
@media (max-width:520px){
  .world-map-pin-name{font-size:.55rem;letter-spacing:.02em}
  .world-map-pin-emoji{font-size:1.15rem}
  .world-map-hotspot.world-map-hub{width:max(78px,16%);height:max(78px,18%)}
}

/* Admin: Weltkarten-Pin-Editor */
.admin-worldmap-pin-host{margin-top:8px}
.wm-pin-editor{
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,0.9fr);
  gap:12px;align-items:start;
}
.wm-pin-editor-stage-wrap{min-width:0}
.wm-pin-editor-stage{
  position:relative;width:100%;aspect-ratio:3/2;
  border-radius:14px;overflow:hidden;
  border:1px solid rgba(126,249,255,.28);
  background:#070b14;
  box-shadow:0 12px 32px rgba(0,0,0,.45), inset 0 0 0 1px rgba(255,255,255,.04);
}
.wm-pin-editor-map{
  display:block;width:100%;height:100%;object-fit:fill;
  pointer-events:none;user-select:none;
}
.wm-pin-editor-overlay{position:absolute;inset:0}
.wm-pin-editor-hint{margin:8px 2px 0}
.wm-pin-editor-status{margin:6px 0 0;min-height:1.2em;color:rgba(200,210,230,.78)}
.wm-pin-editor-status.is-ok{color:#7dffb0}
.wm-pin-editor-status.is-error{color:#ff8f8f}
.wm-pin-emoji-row{display:flex;gap:6px;align-items:center}
.wm-pin-emoji-row input{flex:1;min-width:0}
.wm-pin-dot.is-blank span{opacity:.55;font-weight:700}
.world-map-pin--no-emoji .world-map-pin-name{margin-top:0}
.world-map-pin-emoji:empty{display:none!important}
.wm-pin-dot{
  position:absolute;transform:translate(-50%,-50%);
  width:34px;height:34px;border-radius:50%;
  border:2px solid rgba(255,255,255,.85);
  background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.35),rgba(8,18,36,.92));
  color:#fff;cursor:grab;padding:0;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 14px rgba(0,0,0,.55),0 0 0 3px rgba(0,200,255,.2);
  z-index:2;
}
.wm-pin-dot span{font-size:1rem;line-height:1;pointer-events:none}
.wm-pin-dot--hub{
  width:42px;height:42px;
  border-color:rgba(140,240,255,.95);
  box-shadow:0 4px 18px rgba(0,0,0,.55),0 0 16px rgba(0,220,255,.45);
}
.wm-pin-dot.is-selected{
  z-index:3;
  box-shadow:0 0 0 3px rgba(255,210,80,.9),0 6px 18px rgba(0,0,0,.6);
}
.wm-pin-editor-side{
  display:flex;flex-direction:column;gap:10px;min-width:0;
}
.wm-pin-editor-toolbar{display:flex;flex-wrap:wrap;gap:6px}
.wm-pin-editor-list{
  display:flex;flex-direction:column;gap:4px;
  max-height:220px;overflow:auto;padding:4px;
  border-radius:12px;border:1px solid rgba(126,249,255,.18);
  background:rgba(4,10,20,.55);
}
.wm-pin-row{
  display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;
  width:100%;text-align:left;padding:8px 10px;border-radius:10px;
  border:1px solid transparent;background:transparent;color:#e8fbff;cursor:pointer;
}
.wm-pin-row:hover{background:rgba(0,180,255,.08);border-color:rgba(126,249,255,.2)}
.wm-pin-row.is-selected{
  background:rgba(0,180,255,.14);border-color:rgba(126,249,255,.45);
}
.wm-pin-row-emoji{font-size:1.05rem}
.wm-pin-row-label{font-weight:700;font-size:.82rem}
.wm-pin-row-meta{font-size:.68rem;color:rgba(200,230,240,.7);white-space:nowrap}
.wm-pin-form-card{
  padding:12px;border-radius:14px;
  border:1px solid rgba(126,249,255,.22);
  background:linear-gradient(180deg,rgba(10,22,40,.88),rgba(4,10,20,.94));
  display:flex;flex-direction:column;gap:8px;
}
.wm-pin-form-title{
  font-family:"Cinzel",ui-serif,Georgia,serif;font-weight:700;
  letter-spacing:.06em;color:#9ef6ff;font-size:.92rem;
}
.wm-pin-field{display:flex;flex-direction:column;gap:4px;font-size:.72rem;color:rgba(210,235,245,.8)}
.wm-pin-field input,.wm-pin-field select{
  border-radius:10px;border:1px solid rgba(126,249,255,.28);
  background:rgba(0,0,0,.35);color:#e8fbff;padding:8px 10px;font-size:.85rem;
}
.wm-pin-xy{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.wm-pin-field.hidden{display:none}
@media (max-width:860px){
  .wm-pin-editor{grid-template-columns:1fr}
}

body.screen-world #bg-overlay,
body.screen-coop-world #bg-overlay {
  /* leichte Lesbarkeit für Titel, Karte bleibt dominant */
  background: linear-gradient(
    180deg,
    rgba(6,8,16,.35) 0%,
    rgba(6,8,16,.12) 28%,
    rgba(6,8,16,.18) 70%,
    rgba(6,8,16,.45) 100%
  ) !important;
}

/* Immersive Zone: Vollbild-Landschaft wie Weltkarte */
html body.zone-immersive #top-bar,
html body.zone-immersive .top-bar,
html.flix-rpg-web body.zone-immersive .top-bar,
html[data-desktop-web="1"] body.zone-immersive .top-bar{
  display:none!important;visibility:hidden!important;pointer-events:none!important;
}
html body.zone-immersive .rpg-bag-edge-rail{
  display:none!important;
}
html body.zone-immersive #app{
  max-width:none!important;padding:0!important;margin:0!important;
  min-height:100dvh!important;
}
html body.zone-immersive #screen-zone,
html.abenteuer-app.abenteuer-touch-ui body.zone-immersive #screen-zone{
  position:fixed!important;inset:0!important;z-index:120!important;
  margin:0!important;padding:0!important;max-height:none!important;height:100%!important;
  overflow:hidden!important;background:#05060c!important;
  display:block!important;flex:none!important;
}
html body.zone-immersive #screen-coop-world.coop-in-zone,
html body.zone-immersive.coop-layout-zone #screen-coop-world,
html.abenteuer-app.abenteuer-touch-ui body.zone-immersive #screen-coop-world.coop-in-zone,
html.abenteuer-app.abenteuer-touch-ui body.zone-immersive.coop-layout-zone #screen-coop-world{
  position:fixed!important;inset:0!important;z-index:120!important;
  margin:0!important;padding:0!important;max-height:none!important;height:100%!important;
  overflow:hidden!important;background:#05060c!important;
  display:block!important;flex:none!important;
}
html body.zone-immersive #screen-coop-world.coop-in-zone .coop-world-toolbar,
html body.zone-immersive #screen-coop-world.coop-in-zone .coop-tabs,
html body.zone-immersive #screen-coop-world.coop-in-zone .coop-world-members,
html body.zone-immersive #screen-coop-world.coop-in-zone .log-card{
  display:none!important;visibility:hidden!important;pointer-events:none!important;
}
html body.zone-immersive #screen-coop-world.coop-in-zone #cw-explore-wrap,
html body.zone-immersive #screen-coop-world.coop-in-zone #cw-zone-panel.zone-stage,
html.abenteuer-app.abenteuer-touch-ui body.zone-immersive.coop-layout-zone #screen-coop-world.coop-in-zone #cw-explore-wrap,
html.abenteuer-app.abenteuer-touch-ui body.zone-immersive.coop-layout-zone #screen-coop-world.coop-in-zone #cw-zone-panel.zone-stage{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  margin:0!important;padding:0!important;gap:0!important;
  overflow:hidden!important;background:transparent!important;
  display:block!important;flex:none!important;min-height:0!important;max-height:none!important;
  z-index:0;
}
html body.zone-immersive #screen-coop-world.coop-in-zone #cwz-zone-header.zone-stage-ui{
  position:absolute!important;inset:0!important;z-index:2;
  padding:
    max(10px, env(safe-area-inset-top, 0px))
    max(12px, env(safe-area-inset-right, 0px))
    max(12px, env(safe-area-inset-bottom, 0px))
    max(12px, env(safe-area-inset-left, 0px)) !important;
}
html body.zone-immersive #screen-coop-world.coop-in-zone #cwz-zone-banner.zone-stage-art{
  position:absolute!important;inset:0!important;z-index:0;
  min-height:0!important;height:100%!important;width:100%!important;
}
html body.zone-immersive #screen-coop-world.coop-in-zone #cwz-zone-players{
  margin:0;border:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;
  box-shadow:none;display:flex;flex-wrap:wrap;gap:6px;
}
html body.zone-immersive #screen-coop-world.coop-in-zone .coop-zone-footer{
  margin:0!important;padding:0!important;background:transparent!important;
  border:0!important;border-radius:0!important;flex:1 1 auto;min-height:0;
  display:flex;flex-direction:column;gap:6px;position:relative;z-index:2;
}
html body.zone-immersive #screen-coop-world.coop-in-zone .coop-zone-actions{
  display:grid!important;
  grid-template-columns:1.3fr 1fr 1fr!important;
  grid-template-rows:1fr 1fr;
  gap:6px;
  width:96%;max-width:100%;margin:0 auto;
  min-height:min(46vh,320px);flex:1 1 auto;
}
html body.zone-immersive #screen-coop-world.coop-in-zone .coop-zone-actions .zone-hub-card{
  min-height:64px!important;height:100%!important;
}
html body.zone-immersive #bg-overlay{
  background:linear-gradient(180deg,rgba(6,8,16,.18) 0%,rgba(6,8,16,.05) 40%,rgba(6,8,16,.2) 100%)!important;
}
html body.zone-immersive #bg-a,
html body.zone-immersive #bg-b{
  opacity:.18!important;filter:saturate(.9) brightness(.75);
}
.zone-stage{
  position:absolute;inset:0;width:100%;height:100%;
  margin:0;border:0;border-radius:0;box-shadow:none;overflow:hidden;
  background:#05060c;
}
.zone-stage-art.zone-banner,
body.zone-immersive .zone-stage-art.zone-banner{
  position:absolute!important;inset:0!important;
  min-height:0!important;height:100%!important;width:100%!important;
  padding:0!important;margin:0!important;
  border-radius:0!important;justify-content:stretch!important;
  background-size:cover!important;background-position:center center!important;
  z-index:0;
}
.zone-stage-veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(ellipse 90% 55% at 50% 0%, rgba(255,255,255,.06), transparent 55%),
    linear-gradient(180deg, rgba(4,8,14,.42) 0%, rgba(4,8,14,.08) 22%, rgba(4,8,14,.12) 48%, rgba(4,8,14,.72) 78%, rgba(4,6,12,.92) 100%);
}
.zone-stage-ui{
  position:absolute;inset:0;z-index:2;
  display:flex;flex-direction:column;gap:10px;
  padding:
    max(10px, env(safe-area-inset-top, 0px))
    max(12px, env(safe-area-inset-right, 0px))
    max(12px, env(safe-area-inset-bottom, 0px))
    max(12px, env(safe-area-inset-left, 0px));
  box-sizing:border-box;pointer-events:none;
}
.zone-stage-ui > *{pointer-events:auto}
.zone-stage-top{
  display:flex;align-items:flex-start;gap:10px;flex-shrink:0;
}
.zone-stage-top--slim{
  display:none!important;
  height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;
}
.zone-stage-back{
  display:none!important;
}
.zone-stage-back--inline{
  display:none!important;
  flex:0 0 auto;
  align-self:center;
  width:36px;height:36px;min-width:36px;min-height:36px;
  padding:0;margin:0 2px 0 0;
  border-radius:10px;
  font-size:1.05rem;line-height:1;
  background:rgba(10,14,24,.72)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 4px 12px rgba(0,0,0,.35);
  -webkit-tap-highlight-color:transparent;
}
.zone-stage-identity{
  flex:1 1 auto;min-width:0;
  padding:0;
  border-radius:0;
  background:transparent;
  border:0;
  backdrop-filter:none;-webkit-backdrop-filter:none;
  box-shadow:none;
  text-align:center;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.zone-stage-identity .zone-badge-label{
  font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:clamp(.92rem,2.4vw,1.18rem);
  letter-spacing:.06em;margin:0;padding:0;font-weight:800;line-height:1.1;
  color:#f3e6c0;
  text-shadow:0 2px 12px rgba(0,0,0,.75),0 0 18px rgba(232,197,71,.22);
}
.zone-stage-identity .zone-story-text{
  margin-top:2px;max-width:36ch;
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
  font-size:.68rem;font-weight:600;letter-spacing:.01em;line-height:1.2;
  color:rgba(230,238,250,.82);text-shadow:0 1px 8px rgba(0,0,0,.65);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
/* Name links | Zone-Titel zentriert daneben | FC rechts */
.zone-player-head--split{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:12px;
  width:100%;
  margin-bottom:6px;
}
.zone-player-head-main{
  flex:0 0 auto;min-width:0;max-width:42%;
  display:flex;flex-direction:column;gap:3px;
}
.zone-player-head--split .zone-stage-identity{
  flex:1 1 auto;min-width:0;
}
.zone-coins-inline{
  position:static!important;top:auto!important;right:auto!important;
  flex:0 0 auto;align-self:center;margin:0 0 0 auto;
  font-size:.68rem;padding:3px 8px;white-space:nowrap;
  box-shadow:0 4px 12px rgba(0,0,0,.3);
}
.zone-stage-top .zone-coins-chip,
.zone-stage-top .zone-coins-top{
  position:static;top:auto;right:auto;align-self:flex-start;margin-top:2px;
  box-shadow:0 8px 18px rgba(0,0,0,.4);
}
.zone-stage-scroll{
  flex:1 1 auto;min-height:0;overflow:hidden;
  display:flex;flex-direction:column;gap:6px;
}
.zone-stage-dock{
  flex-shrink:0;display:flex;flex-direction:column;gap:8px;
}
.zone-stage-dock--party{flex-shrink:0}
.zone-stage-fields{
  flex:0 0 auto;min-height:0;overflow:visible;margin:0;
}
/* Immersive: neues HUD-Plaque + Intel-Icon-Leiste */
body.zone-immersive .zone-stage-fields{
  display:block!important;
  flex:0 0 auto;
  margin:0;
}
/* Immersive: kompaktes HUD + gleiche Funde/Gefahr */
body.zone-immersive .zone-stage-ui{
  gap:6px;
  padding-top:max(8px, env(safe-area-inset-top, 0px));
}
body.zone-immersive .zone-stage-top--slim{display:none!important}
body.zone-immersive .zone-stage-identity{
  padding:0;
  border-radius:0;
  background:transparent;border:0;box-shadow:none;
  text-align:center;
  align-items:center;
}
body.zone-immersive .zone-stage-identity .zone-badge-label{
  font-size:clamp(.88rem,2.6vw,1.08rem);
  line-height:1.1;
}
body.zone-immersive .zone-stage-identity .zone-story-text{
  margin-top:1px;
  font-size:.64rem;
  line-height:1.15;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
body.zone-immersive .zone-stage-back:not(.zone-stage-back--inline){
  display:none!important;
}
body.zone-immersive .zone-stage-back--inline{
  display:inline-flex!important;
  align-items:center;justify-content:center;
}
body.zone-immersive .zone-coins-inline{
  font-size:.64rem;padding:3px 7px;
}
body.zone-immersive .zone-player-head--split{
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
}
/* Schwebendes Chrome-Zurück in der Zone aus */
body.zone-immersive #rpg-chrome-back-dock{
  display:none!important;visibility:hidden!important;pointer-events:none!important;
}
/* Regionen-Weltkarte: kein Zurück oben links */
body.world-map-immersive #rpg-chrome-back-dock,
body.screen-world #rpg-chrome-back-dock,
body.screen-coop-world #rpg-chrome-back-dock{
  display:none!important;visibility:hidden!important;pointer-events:none!important;
}

body.zone-immersive .zone-party-panel.zone-hud,
body.zone-immersive .zone-party-panel{
  margin:0;
  padding:5px 7px 5px;
  border-radius:12px;
  height:auto!important;
  min-height:0!important;
  max-height:none;
  background:rgba(6,10,18,.58);
  border:1px solid rgba(255,255,255,.11);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 6px 16px rgba(0,0,0,.32);
}
body.zone-immersive .zone-player-strip{
  align-items:center;
  gap:7px;
}
body.zone-immersive .zone-player-stats{
  justify-content:flex-start!important;
  align-self:center!important;
  gap:2px;
  min-width:0;
}
body.zone-immersive .zone-player-strip .zone-avatar-wrap{
  width:42px;height:42px;border-radius:11px;
  border-width:2px;
  box-shadow:0 4px 10px rgba(0,0,0,.35);
}
body.zone-immersive .zone-player-name{
  font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:.82rem;font-weight:800;letter-spacing:.02em;
  text-shadow:0 1px 6px rgba(0,0,0,.55);
}
body.zone-immersive .zone-player-head{margin-bottom:1px;gap:1px}
body.zone-immersive .zone-party-panel .hub-meta-chip{
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
  font-size:.58rem;font-weight:700;padding:1px 6px;letter-spacing:.01em;
}
body.zone-immersive .zone-player-meta{gap:2px}
body.zone-immersive .zone-char-meta .hub-char-meta-row{gap:3px!important}

/* Vitals: eine kompakte Zeile → weniger Höhe */
body.zone-immersive .zone-vitals-stack,
body.zone-immersive .zone-vitals-stack.zone-vital-grid,
body.zone-immersive .zone-vital-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:4px!important;
  width:100%;
  flex:0 0 auto;
}
body.zone-immersive .zone-vital{
  padding:3px 5px 4px;
  border-radius:8px;
  gap:4px;
}
body.zone-immersive .zone-vital .zone-vital-ico,
body.zone-immersive .zone-vital .bar-lbl{font-size:.72rem}
body.zone-immersive .zone-vital-body{gap:1px}
body.zone-immersive .zone-vital .zone-vital-val,
body.zone-immersive .zone-vital .bar-val,
body.zone-immersive .zone-party-panel .zone-vital .bar-val{
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
  font-size:.62rem;font-weight:700;letter-spacing:.01em;
}
body.zone-immersive .zone-vital .bar-track,
body.zone-immersive .zone-party-panel .zone-vital .bar-track{height:5px}
body.zone-immersive .zone-combat-footer{
  margin-top:2px;padding-top:2px;
}
body.zone-immersive .zone-party-panel .combat-stat-compact{
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
  font-size:.6rem;font-weight:600;
}
/* Pet: eine schmale Zeile */
body.zone-immersive .zone-pet-strip{
  gap:6px;padding:3px 0 0;margin-top:3px;
  border-top:1px solid rgba(255,255,255,.07);
  align-items:center;
}
body.zone-immersive .zone-pet-strip .zone-pet-avatar-wrap{
  width:28px;height:28px;border-radius:8px;
}
body.zone-immersive .zone-pet-head{
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
  font-size:.64rem;font-weight:700;margin-bottom:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
body.zone-immersive .zone-pet-vitals-block{
  display:flex;flex-direction:row;align-items:center;gap:6px;width:100%;
}
body.zone-immersive .zone-pet-bars.zone-vital-grid,
body.zone-immersive .zone-vital-grid--pet{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  max-width:none;width:100%;flex:1;gap:4px!important;
}
body.zone-immersive .zone-pet-strip .zone-vital{padding:2px 4px 3px}
body.zone-immersive .zone-pet-strip .zone-vital .bar-track{height:4px}
body.zone-immersive .zone-pet-combat-stats{display:none!important}

/* Funde / Gefahr: gleich groß + kompakt */
body.zone-immersive .zone-intel,
body.zone-immersive .zone-hub-fields.zone-intel{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:6px;
  align-items:stretch;
  width:100%;
}
body.zone-immersive .zone-intel > .zone-intel-rail{
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  flex:none;
  height:auto;
  min-height:0;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  border-radius:11px;
  box-shadow:0 5px 14px rgba(0,0,0,.3);
  overflow:hidden;
}
body.zone-immersive .zone-intel-panel{
  min-height:0!important;
  max-height:none;
  padding:5px 6px 6px;
  gap:4px;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
}
body.zone-immersive .zone-intel-kicker{
  font-size:.62rem;letter-spacing:.08em;line-height:1.1;
}
body.zone-immersive .zone-intel-hint{
  display:inline!important;
  font-size:.55rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(232,197,71,.72);
  opacity:.95;
}
body.zone-immersive .zone-hub-card .rest-cost{
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
  font-weight:700;letter-spacing:.02em;
  color:#f6d889;
}
body.zone-immersive .zone-intel-tiles{
  display:grid!important;
  gap:5px;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-content:start;
  flex:0 0 auto;
}
body.zone-immersive .zone-intel-rail--loot .zone-intel-tiles{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
body.zone-immersive .zone-intel-rail--threat .zone-intel-tiles{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
body.zone-immersive .zone-intel-tile{
  min-width:0;max-width:none;padding:0;border-radius:9px;
}
body.zone-immersive .zone-intel-art{
  aspect-ratio:1 / 1;
  max-height:68px;
  height:68px;
  background-size:contain;
  background-position:center center;
  background-color:rgba(8,12,20,.45);
}
body.zone-immersive .zone-intel-rail--threat .zone-intel-art,
body.zone-immersive .zone-intel-art--enemy{
  background-size:contain!important;
  background-position:center 70%!important;
  background-color:rgba(10,14,22,.55)!important;
  filter:brightness(1.18) contrast(1.08) saturate(1.12)!important;
}
body.zone-immersive .zone-intel-rail--loot .zone-intel-art{
  background-size:contain;
  background-position:center 60%;
  filter:brightness(1.08) saturate(1.05);
}
body.zone-immersive .zone-intel-caption{padding:14px 3px 3px}
body.zone-immersive .zone-intel-name{font-size:.62rem;line-height:1.1;font-weight:700}
body.zone-immersive .zone-intel-qty{font-size:.52rem;line-height:1}
body.zone-immersive .zone-field-meta,
body.zone-immersive .zone-intel-meta{
  gap:3px;margin-top:0;padding:0 1px;
}
body.zone-immersive .zone-field-chip{
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
  font-size:.54rem;font-weight:700;padding:1px 6px;letter-spacing:.01em;
}

/* Scroll + mehr Platz für Aktionen */
body.zone-immersive .zone-stage-scroll{
  flex:1 1 auto;min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  gap:5px;
  padding-bottom:2px;
}
body.zone-immersive .zone-stage-dock--party,
body.zone-immersive .zone-stage-fields{
  flex:0 0 auto;
}

body.zone-immersive .zone-actions--fields,
body.zone-immersive .zone-hub-actions{
  flex:1 1 auto;
  min-height:min(46vh,320px);
  width:96%;
  max-width:100%;
  margin:0 auto;
  padding:0;
  display:grid!important;
  grid-template-columns:1.3fr 1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:6px;
  height:auto;
  max-height:none;
}
body.zone-immersive .zone-hub-actions .zone-hub-card,
body.zone-immersive .zone-actions--fields .zone-hub-card{
  min-height:64px!important;height:100%!important;width:100%;
  aspect-ratio:auto!important;padding:0!important;
  backdrop-filter:none;-webkit-backdrop-filter:none;
}
body.zone-immersive .zone-hub-card[data-act="explore"]{
  grid-column:1;grid-row:1 / span 2;
}
body.zone-immersive .zone-hub-card[data-act="gather"]{grid-column:2;grid-row:1}
body.zone-immersive .zone-hub-card[data-act="fight"]{grid-column:3;grid-row:1}
body.zone-immersive #btn-zone-potion-toggle.zone-hub-card{grid-column:2;grid-row:2}
body.zone-immersive .zone-hub-card[data-act="rest"]{grid-column:3;grid-row:2}
body.zone-immersive .zone-hub-card .hub-grid-label{
  font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:clamp(.86rem,2.6vw,1.05rem);
  font-weight:800;letter-spacing:.04em;
  text-shadow:0 2px 10px rgba(0,0,0,.75);
}
body.zone-immersive .zone-hub-card .hub-grid-desc{
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
  font-size:clamp(.64rem,2vw,.76rem);
  font-weight:600;letter-spacing:.02em;
  opacity:.92;
}

@media(max-width:420px){
  body.zone-immersive .zone-hub-actions,
  body.zone-immersive .zone-actions--fields{
    grid-template-columns:1fr 1fr;
    grid-template-rows:minmax(68px,1.12fr) minmax(58px,1fr) minmax(58px,1fr);
    min-height:min(40vh,270px);
    width:97%;
  }
  body.zone-immersive .zone-hub-card[data-act="explore"]{grid-column:1 / span 2;grid-row:1}
  body.zone-immersive .zone-hub-card[data-act="gather"]{grid-column:1;grid-row:2}
  body.zone-immersive .zone-hub-card[data-act="fight"]{grid-column:2;grid-row:2}
  body.zone-immersive #btn-zone-potion-toggle.zone-hub-card{grid-column:1;grid-row:3}
  body.zone-immersive .zone-hub-card[data-act="rest"]{grid-column:2;grid-row:3}
  body.zone-immersive .zone-intel,
  body.zone-immersive .zone-hub-fields.zone-intel{
    grid-template-columns:1fr 1fr!important;
  }
  body.zone-immersive .zone-vital-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.zone-immersive .zone-intel-art{height:58px;max-height:58px}
  body.zone-immersive .zone-player-strip .zone-avatar-wrap{width:38px;height:38px}
}
@media(max-height:700px){
  body.zone-immersive .zone-stage-ui{gap:4px}
  body.zone-immersive .zone-intel-art{height:54px;max-height:54px}
  body.zone-immersive .zone-actions--fields,
  body.zone-immersive .zone-hub-actions{
    min-height:min(42vh,250px);
  }
  body.zone-immersive .zone-hub-actions .zone-hub-card,
  body.zone-immersive .zone-actions--fields .zone-hub-card{
    min-height:54px!important;
  }
}
@media(max-width:420px){
  body.zone-immersive .zone-stage-fields .zone-fields{grid-template-columns:1fr 1fr}
  body.zone-immersive .zone-actions--fields{grid-template-columns:1fr 1fr}
}

body.zone-immersive #zone-result{
  position:absolute;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));
  z-index:8;margin:0;max-height:32vh;overflow:auto;
  border-radius:14px;
  background:rgba(6,10,18,.88)!important;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 14px 36px rgba(0,0,0,.5);
}
body.zone-immersive #zone-potions-overlay{z-index:30}
body.zone-immersive .zone-banner-deco{
  top:auto;bottom:18%;right:4%;font-size:clamp(3.5rem,14vw,7rem);opacity:.16;
}
@media(max-width:420px){
  body.zone-immersive .zone-stage-fields .zone-fields{grid-template-columns:1fr}
  body.zone-immersive .zone-actions--fields{grid-template-columns:1fr 1fr}
}
body.screen-world #bg-a,
body.screen-world #bg-b,
body.screen-coop-world #bg-a,
body.screen-coop-world #bg-b{
  background-size:cover!important;
  background-position:center center!important;
}

#screen-world,
#screen-coop-world {
  position: relative;
  background: transparent !important;
  min-height: 100%;
}
#screen-world::before,
#screen-coop-world::before {
  display: none !important;
}
#screen-world > *,
#screen-coop-world > * {
  position: relative;
  z-index: 1;
}

#screen-world #region-grid,
#screen-coop-world #cw-explore-wrap,
#screen-coop-world #cw-regions-panel,
#screen-coop-world #cw-region-grid,
#screen-world .region-grid,
#screen-coop-world .region-grid {
  background: transparent !important;
  background-color: transparent !important;
}

#screen-world .region-grid,
#screen-coop-world #cw-regions-panel .region-grid {
  gap: 0 !important;
  padding: 0 2px 8px;
}

#screen-world .region-card,
#screen-coop-world .region-card {
  background: transparent !important;
  background-color: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  -webkit-appearance: none;
  appearance: none;
  box-shadow: 0 4px 16px rgba(0,0,0,0.35);
}
#screen-world .region-card:not(:last-child),
#screen-coop-world .region-card:not(:last-child) {
  margin-bottom: 12px;
}

#screen-world .screen-title,
#screen-coop-world .screen-title {
  text-shadow:
    0 2px 8px rgba(0,0,0,0.9),
    0 4px 20px rgba(0,0,0,0.6),
    0 0 30px rgba(232,197,71,0.3);
  font-size: 1.6rem;
  letter-spacing: 0.02em;
}
#screen-world .screen-sub,
#screen-coop-world .screen-sub {
  text-shadow:
    0 1px 4px rgba(0,0,0,0.9),
    0 2px 8px rgba(0,0,0,0.6);
  font-weight: 500;
  opacity: 0.95;
}
#screen-world .region-grid {
  position: relative;
  z-index: 1;
}
#screen-world .zone-card {
  background: rgba(20,24,35,0.85);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow:
    0 4px 16px rgba(0,0,0,0.4),
    0 0 0 1px rgba(232,197,71,0.1);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
#screen-world .zone-card:hover {
  transform: translateY(-3px);
  border-color: rgba(232,197,71,0.35);
  box-shadow:
    0 8px 28px rgba(0,0,0,0.5),
    0 0 20px rgba(232,197,71,0.15);
}
#screen-coop-world .region-card.current,
#screen-world .region-card.current {
  box-shadow: 0 0 18px rgba(232,197,71,0.22), 0 4px 16px rgba(0,0,0,0.35);
}

/* ══════════════════════════════════════════
   PARAGON-SKILLTREE + Hub-Paragon-Button
   ══════════════════════════════════════════ */
body.screen-skill-tree #app{
  max-width:min(680px,100vw);
  padding:0 6px 12px;
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
}
body.screen-skill-tree #screen-skill-tree{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  max-height:var(--rpg-menu-scroll-max);
  height:var(--rpg-menu-scroll-max);
  overflow:hidden;
}
#screen-skill-tree{display:flex;flex-direction:column;flex:1;min-height:0;gap:0}
.skill-tree-wrap{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;gap:8px}
.skill-tree-header{display:flex;flex-direction:column;gap:8px;padding:6px 4px 4px}
.skill-tree-header-top{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}
.skill-tree-back{flex-shrink:0;padding:8px 12px;font-size:.72rem}
.skill-tree-head-main{flex:1;min-width:120px}
.skill-tree-title{font-size:1.05rem;font-weight:800;color:var(--gold);line-height:1.2}
.skill-tree-meta{font-size:.72rem;margin-top:2px}
.skill-tree-pts-compact{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:.72rem}
.skill-pts-avail{font-weight:800;color:var(--gold);font-size:.88rem}
.skill-tree-intro{display:none}
.skill-tree-header-actions{display:flex;gap:8px;flex-wrap:wrap}
.skill-tree-legend{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font-size:.68rem;padding:4px 2px 6px}
.skill-legend-dot{display:inline-flex;align-items:center;gap:4px;font-weight:700}
.skill-pan-hint{font-size:.62rem}
.skill-tree-viewport{position:relative;flex:1 1 auto;min-height:0;max-height:none;height:auto;overflow:hidden;border-radius:var(--r);border:1px solid var(--line);touch-action:none!important;cursor:grab;background:var(--bg-paragon-viewport,#0d0a18) center/cover no-repeat;box-shadow:inset 0 0 40px rgba(0,0,0,.45);-webkit-user-select:none;user-select:none}
.skill-tree-viewport.dragging{cursor:grabbing}
.skill-tree-viewport .skill-tree-map,
.skill-tree-viewport .skill-tree-svg{touch-action:none;pointer-events:auto}
.skill-tree-viewport .skill-node{touch-action:manipulation}
.skill-tree-zoom{position:absolute;top:8px;right:8px;z-index:12;display:flex;align-items:center;gap:4px;padding:4px;border-radius:10px;background:rgba(10,12,20,.88);border:1px solid var(--line);backdrop-filter:blur(8px)}
.skill-tree-zoom button{width:28px;height:28px;padding:0;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:var(--txt);font-weight:800;font-size:.9rem;line-height:1}
.skill-zoom-label{min-width:38px;text-align:center;font-size:.62rem;color:var(--muted);font-weight:700}
.skill-tree-map{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}
.skill-tree-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.skill-node{position:absolute;transform:translate(-50%,-50%);width:var(--skill-size,36px);height:var(--skill-size,36px);padding:0;border-radius:50%;border:2px solid rgba(255,255,255,.2);background:radial-gradient(circle at 35% 30%,rgba(40,40,60,.95),rgba(12,10,22,.98));color:var(--txt);cursor:pointer;z-index:4;display:flex;align-items:center;justify-content:center;transition:transform .15s,box-shadow .15s,border-color .15s;--skill-accent:#c8a84b}
.skill-node:active{transform:translate(-50%,-50%) scale(.94)}
.skill-node.unlocked{border-color:var(--skill-accent);box-shadow:0 0 14px color-mix(in srgb,var(--skill-accent) 55%,transparent)}
.skill-node.can-unlock{border-color:var(--gold);animation:skillPulse 1.8s ease infinite}
.skill-node.locked{opacity:.55;filter:grayscale(.25)}
.skill-node.selected{transform:translate(-50%,-50%) scale(1.08);z-index:6;box-shadow:0 0 0 3px rgba(232,197,71,.35),0 0 18px var(--skill-accent)}
.skill-node-cap,.skill-node-keystone,.skill-node-mega{border-width:3px}
.skill-node-mega{--skill-size:76px!important}
.skill-node-keystone{--skill-size:68px!important}
.skill-node-micro{--skill-size:28px!important;opacity:.85}
.skill-node-ring{position:absolute;inset:-4px;border-radius:50%;border:1px solid color-mix(in srgb,var(--skill-accent) 40%,transparent);pointer-events:none}
.skill-icon{font-size:calc(var(--skill-size,36px) * .38);line-height:1;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}
.skill-cost{position:absolute;bottom:-2px;right:-2px;min-width:14px;height:14px;padding:0 3px;border-radius:99px;background:rgba(0,0,0,.75);border:1px solid var(--gold);color:var(--gold);font-size:.52rem;font-weight:800;line-height:12px}
@keyframes skillPulse{0%,100%{box-shadow:0 0 0 0 rgba(232,197,71,.35)}50%{box-shadow:0 0 0 6px rgba(232,197,71,0)}}
.skill-tree-tip,
.skill-tree-tip-modal{
  position:fixed;inset:0;z-index:11050;display:flex;align-items:flex-end;justify-content:center;
  padding:max(12px,env(safe-area-inset-bottom,0px)) 12px 16px;pointer-events:auto;
}
.skill-tree-tip.hidden,
.skill-tree-tip-modal.hidden{display:none!important}
.skill-tree-tip-backdrop{
  position:absolute;inset:0;background:rgba(4,6,14,.55);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.skill-tree-tip.glass,
.skill-tree-tip-modal > .skill-tree-tip,
.skill-tree-tip-modal > .glass{
  position:relative;z-index:1;width:min(440px,100%);
  padding:14px 40px 14px 14px;border-radius:16px;
  background:rgba(12,14,24,.96);border:1px solid rgba(232,197,71,.35);
  box-shadow:0 16px 40px rgba(0,0,0,.5);
}
.skill-tip-close{
  position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:8px;
  border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--muted);
  font-size:.8rem;line-height:1;cursor:pointer;z-index:2
}
.skill-tip{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.skill-tip-main{display:flex;align-items:flex-start;gap:8px;min-width:0;flex:1}
.skill-tip-ico{font-size:1.15rem;line-height:1.2;flex-shrink:0}
.skill-tip-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.skill-tip-name{font-size:.82rem;color:var(--gold);line-height:1.2}
.skill-tip-bonus{font-size:.7rem;font-weight:700;color:var(--txt);line-height:1.3}
.skill-tip-meta{font-size:.62rem;line-height:1.25}
.skill-tip-path{font-weight:800}
.skill-tip-drop{color:var(--gold)}
.skill-tip-action{flex-shrink:0;display:flex;align-items:center}
.skill-tip-action .skill-unlock-btn{min-height:32px;padding:6px 12px;font-weight:800}
.skill-tip-ok{font-size:.72rem;font-weight:800;color:#4ade80}
.skill-tip-warn{font-size:.68rem;font-weight:700;color:#fbbf24;max-width:11rem;text-align:right;line-height:1.25}
.skill-tip-muted{font-size:.68rem;color:var(--muted);font-weight:700}
.skill-tree-detail{display:none!important}

/* Lv.100 / Paragon-Milestone — Vollbild-Modal überall (über Kampf/Hub/Top-Bar) */
.milestone-celebration-layer{
  position:fixed;inset:0;z-index:160000;display:none;
  align-items:center;justify-content:center;padding:16px;
  pointer-events:none;
}
.milestone-celebration-layer.visible{display:flex;pointer-events:auto}
.milestone-celebration-backdrop{
  position:absolute;inset:0;background:rgba(4,6,14,.72);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.milestone-celebration{
  position:relative;z-index:1;width:min(420px,100%);
  padding:22px 20px 18px;border-radius:18px;text-align:center;
  border:1px solid rgba(232,197,71,.4);
  background:linear-gradient(165deg,rgba(28,22,40,.97),rgba(12,14,24,.98));
  box-shadow:0 20px 50px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.04);
  animation:milestone-pop .28s cubic-bezier(.22,1,.36,1) both;
}
@keyframes milestone-pop{
  from{opacity:0;transform:translateY(12px) scale(.96)}
  to{opacity:1;transform:none}
}
.milestone-celebration-emoji{font-size:2.4rem;line-height:1;margin-bottom:8px;filter:drop-shadow(0 4px 12px rgba(232,197,71,.35))}
.milestone-celebration-title{font-size:1.15rem;font-weight:800;color:var(--gold,#e8c547);margin:0 0 8px;line-height:1.25}
.milestone-celebration-msg{margin:0 0 14px;font-size:.88rem;line-height:1.45;color:rgba(238,241,255,.88)}
.milestone-celebration-rewards{
  list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:6px;text-align:left;
}
.milestone-celebration-rewards li{
  padding:8px 10px;border-radius:10px;font-size:.8rem;font-weight:700;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
}
.milestone-celebration #btn-milestone-close{min-width:140px;font-weight:800}
.paragon-credits-layer{
  position:fixed;inset:0;z-index:160000;display:none;
  background:rgba(4,6,14,.88);align-items:stretch;justify-content:center;
}
.paragon-credits-layer.visible{display:flex}
.paragon-credits-scroll{flex:1;overflow:auto;padding:24px 16px 72px}
.paragon-credits-skip{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:2}

.hub-mythic-actions{display:flex;width:100%;margin:8px 0 4px}
.hub-mythic-actions:not(.hidden){display:flex}
#hub-skill-tree-btn.btn-mythic{width:100%;padding:13px 16px;font-size:.84rem;font-weight:800;border-color:rgba(168,85,247,.45);background:linear-gradient(135deg,rgba(168,85,247,.22),rgba(232,197,71,.1));color:var(--gold);box-shadow:0 4px 16px rgba(0,0,0,.25)}
#hub-skill-tree-btn.btn-mythic:not(:disabled):hover{border-color:rgba(232,197,71,.5);box-shadow:0 6px 20px rgba(168,85,247,.2)}
body.screen-panel:has(#panel-card.panel-achievements) #app{max-width:min(640px,100vw)}
.panel-achievements .ach-tier-legend{margin-bottom:8px;line-height:1.35}

/* ══ Hall of Fame — epische Ruhmeshalle ══ */
#screen-hall-of-fame.screen:not(.hidden){
  display:flex;flex-direction:column;padding:8px 10px 16px;min-height:0;gap:0;
  max-height:var(--rpg-menu-scroll-max,calc(100dvh - 96px));
  overflow:hidden;
}
.hof-screen-wrap{
  flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;
  padding:0 2px 20px;border:none;background:transparent;box-shadow:none;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;
  scrollbar-gutter:stable;
}
.hof-screen-content{width:100%;max-width:680px;margin:0 auto;overflow:visible;touch-action:pan-y}
/* Scrollen auch über Podium/Listenfelder (nicht nur am Rand) */
.hof-panel,.hof-stage,.hof-podium,.hof-podium-slot,.hof-rest,.hof-list,.hof-row{
  touch-action:pan-y;
}

.hof-panel{
  position:relative;overflow:visible;padding:0;border-radius:0;
  background:transparent;border:none;box-shadow:none;
  animation:hof-panel-in .45s cubic-bezier(.22,.9,.3,1) both;
  isolation:auto;
}
.hof-panel--epic{padding:0}
.hof-panel-bg,.hof-panel-veil{display:none}
@keyframes hof-panel-in{
  from{opacity:0;transform:translateY(14px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

/* Stage / Halle — Seite zeigt bereits hof-hall-bg; Stage etwas transparenter */
.hof-stage{
  position:relative;overflow:hidden;border-radius:22px;min-height:380px;
  border:1px solid rgba(232,197,71,.5);
  box-shadow:
    0 0 0 1px rgba(0,0,0,.45),
    0 0 48px rgba(232,197,71,.16),
    0 18px 40px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,245,200,.12);
  background-color:rgba(8,6,4,.42);
  background-image:var(--hof-hall-bg);
  background-size:cover;
  background-position:center 42%;
}
.hof-stage-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;
  opacity:.78;pointer-events:none;z-index:0;filter:saturate(1.1) contrast(1.06) brightness(1.05);
}
.hof-stage-veil{
  position:absolute;inset:0;pointer-events:none;z-index:1;
  background:
    linear-gradient(180deg,rgba(8,5,3,.22) 0%,rgba(8,5,3,.05) 34%,rgba(8,5,3,.28) 64%,rgba(4,3,2,.72) 100%),
    radial-gradient(75% 48% at 50% 12%,rgba(255,210,90,.14),transparent 68%);
}
.hof-stage-glow{
  position:absolute;left:8%;right:8%;top:4%;height:46%;pointer-events:none;z-index:1;
  background:radial-gradient(ellipse at center,rgba(255,220,120,.26),transparent 72%);
  animation:hof-stage-pulse 4.5s ease-in-out infinite;
}
.hof-stage-frame{
  position:absolute;inset:8px;border-radius:16px;pointer-events:none;z-index:2;
  border:1px solid rgba(232,197,71,.18);
  box-shadow:inset 0 0 30px rgba(0,0,0,.25);
}
@keyframes hof-stage-pulse{0%,100%{opacity:.5}50%{opacity:1}}

/* Header */
.hof-header{
  position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;
  gap:12px;margin:0;padding:24px 18px 14px;border-bottom:none;
}
.hof-header--onstage{padding-top:28px}
.hof-header-top{
  position:relative;width:100%;display:flex;align-items:center;justify-content:center;min-height:2.2rem;
}
.hof-header-crown{
  font-size:2.05rem;line-height:1;
  filter:drop-shadow(0 0 14px rgba(255,215,120,.85));
  animation:hof-crown-glow 2.8s ease-in-out infinite;
}
@keyframes hof-crown-glow{
  0%,100%{filter:drop-shadow(0 0 10px rgba(255,215,120,.55));transform:translateY(0) scale(1)}
  50%{filter:drop-shadow(0 0 20px rgba(255,215,120,1));transform:translateY(-2px) scale(1.04)}
}
.hof-header-text{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}
.hof-kicker{
  margin:0;font-size:.58rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,230,160,.92);text-shadow:0 0 12px rgba(232,197,71,.35);
}
.hof-title{
  margin:0;font-size:clamp(1.2rem,4.5vw,1.45rem);font-weight:900;letter-spacing:.08em;
  background:linear-gradient(100deg,#fff8e0 0%,#ffe08a 28%,#e8c547 52%,#fff0b0 78%,#e8c547 100%);
  background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:hof-title-shine 5s ease-in-out infinite;
  text-shadow:none;
  filter:drop-shadow(0 2px 10px rgba(0,0,0,.55));
}
@keyframes hof-title-shine{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.hof-header-ornament{
  position:relative;width:min(220px,70%);height:1px;margin:4px 0 2px;
  background:linear-gradient(90deg,transparent,rgba(232,197,71,.75),transparent);
}
.hof-header-ornament::before,.hof-header-ornament::after{
  content:"";position:absolute;top:50%;width:7px;height:7px;border-radius:50%;
  background:rgba(255,220,120,.9);transform:translateY(-50%);
  box-shadow:0 0 10px rgba(232,197,71,.7);
}
.hof-header-ornament::before{left:0}
.hof-header-ornament::after{right:0}
.hof-subtitle{
  margin:0;font-size:.72rem;font-weight:650;color:rgba(220,205,170,.9);letter-spacing:.04em;
  text-align:center;line-height:1.35;max-width:22rem;
}
.hof-header-meta{
  display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:2px;
}
.hof-count,.hof-count-hint{
  margin:0;padding:4px 12px;border-radius:999px;font-size:.62rem;font-weight:800;letter-spacing:.06em;
}
.hof-count{
  color:#ffe08a;
  background:linear-gradient(135deg,rgba(232,197,71,.22),rgba(0,0,0,.35));
  border:1px solid rgba(232,197,71,.45);
  box-shadow:0 0 14px rgba(232,197,71,.15),inset 0 1px 0 rgba(255,255,255,.08);
}
.hof-count-hint{
  color:rgba(210,195,160,.85);background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.1);
}
.hof-count-sep{color:rgba(232,197,71,.45);font-weight:800}

/* Info button */
.hof-info-btn{
  position:absolute;top:0;right:4px;
  width:2rem;height:2rem;border-radius:999px;padding:0;
  display:inline-flex;align-items:center;justify-content:center;
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background:rgba(0,0,0,.45)!important;
  border:1px solid rgba(232,197,71,.5)!important;
  color:#ffe08a!important;
  box-shadow:0 0 12px rgba(232,197,71,.15);
  transition:transform .15s,background .15s,box-shadow .15s;
}
.hof-info-btn:hover,.hof-info-btn:focus-visible,.hof-info-btn.is-tip-open{
  transform:scale(1.06);
  background:rgba(232,197,71,.18)!important;
  box-shadow:0 0 18px rgba(232,197,71,.3);
}
.hof-info-btn-ico{font-size:.95rem;font-weight:900;line-height:1}
.hof-info-btn .hof-epic-tip{left:auto;right:0;transform:translateY(6px);translate:0;width:min(240px,72vw)}
.hof-info-btn:hover .hof-epic-tip,
.hof-info-btn:focus-visible .hof-epic-tip,
.hof-info-btn.is-tip-open .hof-epic-tip{transform:translateY(0)}

/* Podium */
.hof-podium-wrap{position:relative;z-index:3;padding:12px 14px 22px}
.hof-podium{
  display:grid;grid-template-columns:1fr 1.28fr 1fr;align-items:end;gap:18px;
  margin:0;min-height:0;overflow:visible;
}
.hof-podium-slot{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;
  padding:18px 12px 0;border-radius:18px 18px 14px 14px;text-align:center;min-width:0;
  background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.12);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s;
  overflow:visible;cursor:default;
  box-shadow:0 8px 20px rgba(0,0,0,.35);
  backdrop-filter:blur(2px);
}
.hof-podium-aura{
  position:absolute;inset:-10% -14% auto;height:58%;pointer-events:none;opacity:.6;
  background:radial-gradient(ellipse at center,rgba(232,197,71,.28),transparent 70%);
}
.hof-podium-medal-wrap{
  display:flex;align-items:center;justify-content:center;
  width:2.6rem;height:2.6rem;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.18),rgba(0,0,0,.35));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 0 16px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.12);
}
.hof-podium-medal{font-size:1.45rem;line-height:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.hof-podium-slot--1 .hof-podium-medal-wrap{
  width:3.15rem;height:3.15rem;
  border-color:rgba(232,197,71,.55);
  box-shadow:0 0 22px rgba(232,197,71,.4),inset 0 1px 0 rgba(255,255,255,.2);
}
.hof-podium-slot--1 .hof-podium-medal{font-size:1.85rem}
.hof-podium-slot--empty:not(.hof-podium-slot--ghost){visibility:hidden;pointer-events:none;min-height:4rem}

.hof-podium-slot--1{
  padding-top:22px;
  background:
    linear-gradient(165deg,rgba(255,220,120,.38),rgba(40,28,8,.55) 55%,rgba(0,0,0,.55)),
    rgba(0,0,0,.45);
  border-color:rgba(232,197,71,.7);
  box-shadow:0 0 36px rgba(232,197,71,.32),0 12px 28px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.16);
  transform:translateY(-18px);z-index:3;
}
.hof-podium-slot--2{
  background:linear-gradient(165deg,rgba(200,210,230,.26),rgba(0,0,0,.52) 68%);
  border-color:rgba(190,205,225,.5);
  transform:translateY(-6px);z-index:2;
}
.hof-podium-slot--3{
  background:linear-gradient(165deg,rgba(220,140,60,.28),rgba(0,0,0,.52) 68%);
  border-color:rgba(210,145,75,.52);
  z-index:1;
}

/* Sockel ohne Ziffern-Blöcke — schmale, ornamentale Plinthe */
.hof-podium-plinth{
  margin-top:14px;width:100%;height:14px;flex-shrink:0;
  border-radius:0 0 14px 14px;
  background:
    linear-gradient(180deg,rgba(255,245,210,.14),transparent 40%),
    linear-gradient(180deg,rgba(40,32,18,.55),rgba(8,6,4,.85));
  border-top:1px solid rgba(232,197,71,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 6px 14px rgba(0,0,0,.35);
  position:relative;
}
.hof-podium-plinth::before{
  content:"";position:absolute;left:18%;right:18%;top:4px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,230,160,.55),transparent);
}
.hof-podium-slot--1 .hof-podium-plinth{
  height:18px;
  border-top-color:rgba(232,197,71,.55);
  background:
    linear-gradient(180deg,rgba(255,220,120,.28),transparent 45%),
    linear-gradient(180deg,rgba(90,65,18,.65),rgba(20,14,6,.9));
  box-shadow:inset 0 1px 0 rgba(255,245,200,.18),0 8px 18px rgba(232,197,71,.18);
}
.hof-podium-slot--2 .hof-podium-plinth{
  height:12px;
  border-top-color:rgba(190,205,225,.4);
  background:
    linear-gradient(180deg,rgba(200,215,235,.18),transparent 45%),
    linear-gradient(180deg,rgba(48,56,70,.6),rgba(10,12,16,.88));
}
.hof-podium-slot--3 .hof-podium-plinth{
  height:10px;
  border-top-color:rgba(210,145,75,.42);
  background:
    linear-gradient(180deg,rgba(220,150,70,.2),transparent 45%),
    linear-gradient(180deg,rgba(70,42,18,.6),rgba(14,8,4,.88));
}
.hof-podium-rank{
  font-size:.58rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(210,195,160,.85);
}
.hof-podium-slot--1 .hof-podium-rank{color:rgba(255,230,160,.95)}
.hof-podium-name{width:100%;font-size:.82rem;font-weight:800;line-height:1.25;padding:0 2px}
.hof-podium-slot--1 .hof-podium-name{font-size:.9rem}
.hof-podium-name .hof-name,.hof-podium-name .cos-name-text{
  display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;
}
.hof-podium-slot .hof-legend-badge{font-size:.52rem;padding:2px 7px;margin-top:1px}
.hof-podium-slot .hof-chips{justify-content:center;max-width:100%;gap:4px}

/* Ghost / empty podium */
.hof-podium-slot--ghost{
  opacity:.95;border-style:dashed;border-color:rgba(232,197,71,.4);
  background:linear-gradient(165deg,rgba(232,197,71,.1),rgba(0,0,0,.58) 70%);
  backdrop-filter:blur(8px);
}
.hof-podium-slot--ghost .hof-podium-name{color:rgba(255,230,170,.78)!important}
.hof-podium-slot--ghost .hof-chip--wait{
  background:rgba(232,197,71,.1);border-color:rgba(232,197,71,.28);color:rgba(255,230,170,.88);
}
.hof-podium-slot--ghost.hof-podium-slot--1{transform:translateY(-18px)}

/* Rest list */
.hof-rest{
  margin-top:20px;padding:18px 14px 16px;border-radius:18px;
  background:
    radial-gradient(90% 50% at 50% 0%,rgba(232,197,71,.12),transparent 55%),
    linear-gradient(168deg,rgba(18,14,10,.96),rgba(8,6,4,.98));
  border:1px solid rgba(232,197,71,.32);
  box-shadow:0 12px 28px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.05);
  display:flex;flex-direction:column;gap:14px;
}
.hof-rest-head{
  display:flex;align-items:center;justify-content:center;gap:12px;padding:0 4px 4px;
}
.hof-rest-label{
  margin:0;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,230,170,.92);white-space:nowrap;
}
.hof-rest-ornament{
  flex:1;height:1px;max-width:72px;
  background:linear-gradient(90deg,transparent,rgba(232,197,71,.55));
}
.hof-rest-ornament--flip{background:linear-gradient(90deg,rgba(232,197,71,.55),transparent)}
.hof-list{
  display:flex;flex-direction:column;gap:10px;
  overflow:visible;padding-right:2px;padding-bottom:8px;
}
.hof-row{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px 12px;
  padding:12px 14px;border-radius:14px;
  background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.1);
  transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;
  cursor:help;overflow:visible;text-align:left;
  touch-action:pan-y;
}
.hof-row--empty{
  cursor:default;opacity:.72;border-style:dashed;border-color:rgba(255,255,255,.12);
  background:rgba(0,0,0,.22);
}
.hof-row--empty:hover{transform:none;box-shadow:none;border-color:rgba(255,255,255,.12);background:rgba(0,0,0,.22)}
.hof-row:hover,.hof-row.is-tip-open{
  border-color:rgba(232,197,71,.42);background:rgba(232,197,71,.1);
  transform:translateX(3px);z-index:4;
  box-shadow:0 6px 18px rgba(0,0,0,.3);
}
.hof-row.hof-legend{
  border-color:rgba(232,197,71,.42);
  background:linear-gradient(105deg,rgba(232,197,71,.16),rgba(0,0,0,.38));
}
.hof-rank-wrap{display:flex;align-items:center;justify-content:center;width:2.45rem;height:2.45rem;flex-shrink:0}
.hof-rank-num{
  display:flex;align-items:center;justify-content:center;width:100%;height:100%;
  border-radius:12px;font-size:.8rem;font-weight:900;
  background:linear-gradient(145deg,rgba(232,197,71,.18),rgba(0,0,0,.35));
  border:1px solid rgba(232,197,71,.35);color:#ffe08a;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.hof-body{min-width:0;display:flex;flex-direction:column;gap:5px}
.hof-name-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}
.hof-name{
  font-size:.9rem;font-weight:800;color:var(--txt);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;
  display:inline-flex;align-items:center;min-width:0;
}
.hof-legend-badge{
  display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:999px;
  font-size:.58rem;font-weight:800;color:#ffe08a;
  background:linear-gradient(135deg,rgba(232,197,71,.28),rgba(0,0,0,.28));
  border:1px solid rgba(232,197,71,.45);white-space:nowrap;
  box-shadow:0 0 10px rgba(232,197,71,.12);
}
.hof-chips{display:flex;flex-wrap:wrap;gap:5px}
.hof-chip{
  display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:999px;
  font-size:.62rem;font-weight:750;
  background:rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.12);
}
.hof-chip--lvl{color:var(--gold);border-color:rgba(232,197,71,.35);background:rgba(232,197,71,.1)}
.hof-chip--para{color:#f0d78a;border-color:rgba(232,197,71,.3)}
.hof-chip--time{color:#fbbf24;border-color:rgba(251,191,36,.32)}
.hof-row-side{display:flex;align-items:center;justify-content:flex-end}
.hof-date{
  font-size:.62rem;font-weight:650;color:rgba(200,190,165,.85);white-space:nowrap;
  padding:4px 8px;border-radius:8px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.06);
}
.hof-date--empty{opacity:.4}

.hof-interactive{
  appearance:none;-webkit-appearance:none;font:inherit;color:inherit;text-align:inherit;width:100%;
  touch-action:pan-y;
}
.hof-interactive:focus-visible{
  outline:2px solid rgba(232,197,71,.7);outline-offset:2px;
}

/* Tips — nur Info/Liste, nie Top-3-Podium */
.hof-epic-tip{
  position:absolute;left:50%;bottom:calc(100% + 12px);transform:translateX(-50%) translateY(6px);
  width:min(240px,80vw);padding:12px 13px;border-radius:14px;text-align:left;
  background:rgba(10,8,12,.98);border:1px solid rgba(232,197,71,.55);
  box-shadow:0 18px 40px rgba(0,0,0,.6),0 0 24px rgba(232,197,71,.14);
  opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;z-index:30;
}
.hof-epic-tip-kicker{font-size:.58rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(232,197,71,.95);margin-bottom:3px}
.hof-epic-tip-name{font-size:.88rem;font-weight:900;color:#fff6d4;margin-bottom:7px;min-width:0}
.hof-epic-tip-banner{
  margin:0 0 8px;padding:6px 8px;border-radius:9px;text-align:center;font-size:.62rem;font-weight:800;color:#ffe08a;
  background:rgba(232,197,71,.16);border:1px solid rgba(232,197,71,.4);
}
.hof-epic-tip-grid{display:flex;flex-direction:column;gap:4px}
.hof-epic-tip-grid > div{display:flex;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.045);font-size:.68rem}
.hof-epic-tip-grid span{color:var(--muted);font-weight:650}
.hof-epic-tip-grid strong{color:#fff6d4;font-weight:850;text-align:right}
.hof-epic-tip-steps{margin:6px 0 8px;padding:0 0 0 1.1rem;font-size:.7rem;line-height:1.5;color:rgba(220,225,235,.95)}
.hof-epic-tip-note{margin:0;font-size:.62rem;color:var(--muted);line-height:1.4}
.hof-row.hof-interactive:hover .hof-epic-tip,
.hof-row.hof-interactive:focus-visible .hof-epic-tip,
.hof-row.hof-interactive.is-tip-open .hof-epic-tip,
.hof-guide-chip:hover .hof-epic-tip,
.hof-guide-chip:focus-visible .hof-epic-tip,
.hof-guide-chip.is-tip-open .hof-epic-tip,
.hof-info-btn:hover .hof-epic-tip,
.hof-info-btn:focus-visible .hof-epic-tip,
.hof-info-btn.is-tip-open .hof-epic-tip{
  opacity:1;transform:translateX(-50%) translateY(0);
}
.hof-row .hof-epic-tip{left:auto;right:8px;bottom:calc(100% + 8px);transform:translateY(6px);translate:0}
.hof-row:hover .hof-epic-tip,
.hof-row:focus-visible .hof-epic-tip,
.hof-row.is-tip-open .hof-epic-tip{transform:translateY(0)}
.hof-info-btn,.hof-guide-chip{position:relative}
.hof-guide-chip{overflow:visible}

/* Empty CTA + buttons */
.hof-panel--empty{display:flex;flex-direction:column;gap:14px}
.hof-empty-cta{
  position:relative;margin:0;padding:22px 18px 18px;border-radius:18px;text-align:center;
  background:
    radial-gradient(80% 60% at 50% 0%,rgba(232,197,71,.18),transparent 60%),
    linear-gradient(168deg,rgba(20,16,10,.97),rgba(8,6,4,.99));
  border:1px solid rgba(232,197,71,.4);
  box-shadow:0 14px 32px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06);
}
.hof-empty-badge{
  display:inline-flex;align-items:center;justify-content:center;
  width:2.4rem;height:2.4rem;margin:0 auto 8px;border-radius:50%;
  font-size:1.1rem;color:#ffe08a;
  background:rgba(232,197,71,.15);border:1px solid rgba(232,197,71,.4);
  box-shadow:0 0 18px rgba(232,197,71,.2);
}
.hof-empty-title{
  margin:0 0 6px;font-size:1.12rem;font-weight:900;letter-spacing:.05em;
  background:linear-gradient(90deg,#fff6d4,#e8c547,#ffe08a);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hof-empty-text{
  margin:0 auto;font-size:.78rem;color:rgba(220,205,175,.9);line-height:1.55;max-width:22rem;
}
.hof-empty-actions{
  display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:16px;
}
.hof-btn{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  min-width:150px;padding:10px 16px;border-radius:12px;
  font:inherit;font-size:.78rem;font-weight:800;letter-spacing:.02em;
  transition:transform .12s,box-shadow .15s,filter .15s,border-color .15s;
}
.hof-btn:hover{transform:translateY(-1px);filter:brightness(1.08)}
.hof-btn:active{transform:translateY(0)}
.hof-btn--gold{
  color:#1a1206;
  background:linear-gradient(145deg,#ffe08a,#e8c547 45%,#c9a227);
  border:1px solid rgba(255,230,150,.7);
  box-shadow:0 0 18px rgba(232,197,71,.35),0 6px 16px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.35);
}
.hof-btn--ghost{
  color:#ffe08a;
  background:rgba(0,0,0,.4);
  border:1px solid rgba(232,197,71,.45);
  box-shadow:0 4px 14px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.06);
}
.hof-btn--ghost:hover{background:rgba(232,197,71,.12);border-color:rgba(232,197,71,.65)}

/* Hub entry */
.hub-hof-link{
  border-color:rgba(232,197,71,.4)!important;
  background:linear-gradient(145deg,rgba(232,197,71,.16),rgba(0,0,0,.2))!important;
  color:#ffe08a!important;
  font-weight:800!important;
  box-shadow:0 0 12px rgba(232,197,71,.12);
}
.hub-hof-link:hover{
  border-color:rgba(232,197,71,.65)!important;
  background:linear-gradient(145deg,rgba(232,197,71,.24),rgba(0,0,0,.18))!important;
  filter:brightness(1.06);
}

@media (max-width:420px){
  .hof-podium{gap:12px}
  .hof-podium-wrap{padding:8px 8px 16px}
  .hof-podium-slot{padding:14px 8px 0;gap:6px}
  .hof-podium-name{font-size:.7rem}
  .hof-podium-slot--1 .hof-podium-name{font-size:.76rem}
  .hof-podium-slot--1{transform:translateY(-10px)}
  .hof-podium-slot--ghost.hof-podium-slot--1{transform:translateY(-10px)}
  .hof-header{padding:18px 12px 12px}
  .hof-empty-actions .hof-btn{min-width:0;flex:1 1 140px}
}
@media (max-width:380px){
  .hof-row{grid-template-columns:auto 1fr;gap:8px}
  .hof-row-side{grid-column:2;justify-content:flex-start}
  .hof-date{text-align:left}
}

.saga-event-chapter-hook{margin:0 0 8px;line-height:1.45;font-style:italic;opacity:.85}
.saga-event-story{margin-bottom:10px;line-height:1.5}
.saga-event-story + .saga-event-story{margin-top:8px}
.saga-node-preview-story{margin:4px 0 10px}
.saga-node-preview-story p{margin:0 0 8px}
.saga-node-preview-story p:last-child{margin-bottom:0}
#saga-story-overlay .quest-objective,
#saga-node-preview-overlay .quest-objective{
  padding:10px 12px;border-radius:12px;
  background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);
  border-left:3px solid rgba(232,197,71,.45);
}
.saga-event-prompt{margin-top:4px;color:rgba(200,220,255,.92);font-weight:600}



/* Namensfarben — global für alle Stacks / Chat / Coop (keine Inputs: background-clip bricht dort) */
.cos-namecolor-owner .cos-name-text:not(input):not(textarea),
.player-name-stack.cos-namecolor-owner .cos-name-text:not(input):not(textarea),
.chat-row-name .cos-namecolor-owner .cos-name-text:not(input):not(textarea),
.coop-zone-player-name.cos-namecolor-owner .cos-name-text:not(input):not(textarea),
.duel-name.cos-namecolor-owner .cos-name-text:not(input):not(textarea){
  display:inline-block;
  background:linear-gradient(90deg,#fff3c0,#ffd76a 40%,#e8a820 70%,#ffef9a);
  -webkit-background-clip:text;background-clip:text;
  color:transparent!important;-webkit-text-fill-color:transparent!important;
  text-shadow:none!important;
  filter:none;
  font-weight:800;
}
.cos-namecolor-owner,
.player-name-stack.cos-namecolor-owner,
.coop-zone-player-name.cos-namecolor-owner,
.duel-name.cos-namecolor-owner{
  filter:drop-shadow(0 0 6px rgba(255,200,60,.4));
}
.cos-namecolor-admin .cos-name-text,
.player-name-stack.cos-namecolor-admin .cos-name-text,
.chat-row-name .cos-namecolor-admin .cos-name-text,
.coop-zone-player-name.cos-namecolor-admin .cos-name-text,
.duel-name.cos-namecolor-admin .cos-name-text{
  display:inline-block;
  background:linear-gradient(90deg,#e8f4ff,#7ec8ff 45%,#3a8fd4);
  -webkit-background-clip:text;background-clip:text;
  color:transparent!important;-webkit-text-fill-color:transparent!important;
  text-shadow:none!important;
  filter:none;
  font-weight:800;
}
.cos-namecolor-admin,
.player-name-stack.cos-namecolor-admin,
.coop-zone-player-name.cos-namecolor-admin,
.duel-name.cos-namecolor-admin{
  filter:drop-shadow(0 0 6px rgba(80,160,255,.35));
}
.cos-namecolor-gm .cos-name-text,
.player-name-stack.cos-namecolor-gm .cos-name-text,
.chat-row-name .cos-namecolor-gm .cos-name-text,
.coop-zone-player-name.cos-namecolor-gm .cos-name-text,
.duel-name.cos-namecolor-gm .cos-name-text{
  display:inline-block;
  background:linear-gradient(90deg,#f0e4ff,#c4a1ff 45%,#8b5cf6);
  -webkit-background-clip:text;background-clip:text;
  color:transparent!important;-webkit-text-fill-color:transparent!important;
  text-shadow:none!important;
  filter:none;
  font-weight:800;
}
.cos-namecolor-gm,
.player-name-stack.cos-namecolor-gm,
.coop-zone-player-name.cos-namecolor-gm,
.duel-name.cos-namecolor-gm{
  filter:drop-shadow(0 0 6px rgba(160,100,255,.35));
}
.hub-char-name.cos-namecolor-feather .cos-name-text,
.zone-player-name.cos-namecolor-feather .cos-name-text,
#hero-combat-name.cos-namecolor-feather .cos-name-text,
.hof-name.cos-namecolor-feather .cos-name-text,
.player-name-stack.cos-namecolor-feather .player-display-name .cos-name-text,
.player-name-stack .player-display-name.cos-namecolor-feather .cos-name-text,
.cos-namecolor-preview.cos-namecolor-feather .cos-name-text,
.cos-namecolor-feather .cos-name-text,
.player-name-stack.cos-namecolor-feather .cos-name-text,
.chat-row-name .cos-namecolor-feather .cos-name-text,
.coop-zone-player-name.cos-namecolor-feather .cos-name-text,
.duel-name.cos-namecolor-feather .cos-name-text{
  display:inline-block;
  background:linear-gradient(90deg,#f4f8fc,#d0e4f4 28%,#9eb8d0 52%,#c8daf0 78%,#eef5fb);
  -webkit-background-clip:text;background-clip:text;
  color:transparent!important;-webkit-text-fill-color:transparent!important;
  text-shadow:none!important;
  filter:drop-shadow(0 0 6px rgba(140,180,220,.4));
  font-weight:800;
}
.cos-namecolor-preview.cos-namecolor-feather{
  background:
    radial-gradient(ellipse at 50% 35%,rgba(160,200,240,.2),transparent 60%),
    linear-gradient(180deg,rgba(16,22,30,.95),rgba(8,10,16,.98));
  border:1px solid rgba(170,200,230,.35);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 16px rgba(140,180,220,.16);
}

.cos-owner-ember{
  background:radial-gradient(circle,#fff8d0 0%,#e8c547 45%,#a06010 100%) !important;
  box-shadow:0 0 calc(var(--size,5px)*2) rgba(255,210,80,.9),0 0 calc(var(--size,5px)*3.5) rgba(232,180,40,.45) !important;
}
.cos-feather-fall{
  top:-10%;
  width:var(--size,12px); height:calc(var(--size,12px)*1.55);
  border-radius:70% 30% 60% 40% / 60% 40% 60% 40%;
  background:linear-gradient(160deg,#f2f6fa,#c5d4e2 50%,#8aa0b4);
  box-shadow:0 0 6px rgba(180,210,235,.4);
  opacity:var(--op,.75);
  animation:cosSakuraFall var(--dur,7s) linear infinite;
  animation-delay:var(--delay,0s);
}
.cos-gm-shard{
  top:-8%;
  width:var(--size,9px); height:var(--size,9px);
  background:linear-gradient(135deg,#f3e8ff,#a78bfa 55%,#6d28d9);
  clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);
  box-shadow:0 0 8px rgba(180,120,255,.75);
  animation:cosSakuraFall var(--dur,7s) linear infinite;
  animation-delay:var(--delay,0s);
}
.cos-admin-hex{
  width:var(--size,7px);height:var(--size,7px);
  background:rgba(140,210,255,.95);
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
  box-shadow:0 0 8px rgba(100,180,255,.85);
  animation:cosFireflyDrift var(--dur,3.5s) ease-in-out infinite;
  animation-delay:var(--delay,0s);
}
.cos-admin-beam{
  top:110%;width:2px;height:var(--h,50px);border-radius:2px;
  background:linear-gradient(180deg,transparent,rgba(140,200,255,.95),transparent);
  box-shadow:0 0 6px rgba(100,180,255,.7);
  animation:cosAdminBeamUp var(--dur,4s) linear infinite;
  animation-delay:var(--delay,0s);
}
.cos-owner-star{
  width:var(--size,8px);height:var(--size,8px);
  background:linear-gradient(90deg,transparent 40%,#ffe08a 40%,#ffe08a 60%,transparent 60%),
             linear-gradient(0deg,transparent 40%,#fff6c8 40%,#fff6c8 60%,transparent 60%);
  filter:drop-shadow(0 0 5px rgba(255,210,80,.9));
  animation:cosSparkleTwinkle var(--dur,2.8s) ease-in-out infinite;
  animation-delay:var(--delay,0s);
}
.cos-fx-layer.cos-fx-owner-crowns{background:radial-gradient(ellipse at 50% 100%,rgba(255,210,90,.1),transparent 50%)}
.cos-fx-layer.cos-fx-admin-aegis{background:radial-gradient(ellipse at 50% 80%,rgba(80,150,230,.08),transparent 55%)}
.cos-fx-layer.cos-fx-gm-masque{background:radial-gradient(ellipse at 50% 20%,rgba(150,90,220,.08),transparent 50%)}
.cos-fx-layer.cos-fx-feathers{background:linear-gradient(180deg,rgba(150,180,210,.07),transparent 40%)}



/* ══ Rahmen + Aura Shop: farbliche Previews, gleiche Größe wie andere ══ */
.cos-frame-color-preview,
.cos-aura-color-preview{
  width:100%;height:72px;min-height:72px;max-height:72px;box-sizing:border-box;
  border-radius:10px;padding:8px;margin:0 0 4px;
  display:flex;flex-direction:column;gap:6px;
  background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.18);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
  position:relative;overflow:hidden;
}
.cos-frame-color-preview .cos-frame-color-ring,
.cos-aura-color-preview .cos-aura-color-ring{
  height:8px;width:65%;border-radius:4px;border:none;position:static;
  background:rgba(255,255,255,.2);box-shadow:none;animation:none;
  -webkit-mask:none;mask:none;
}
.cos-frame-color-preview .cos-frame-color-core,
.cos-aura-color-preview .cos-aura-color-core{
  flex:1;width:100%;height:auto;border-radius:6px;
  background:rgba(0,0,0,.28);box-shadow:none;
  display:flex;align-items:center;justify-content:center;
}
.cos-frame-color-preview.is-none,
.cos-aura-color-preview.is-none{opacity:.55;border-color:rgba(255,255,255,.12)}

/* Rahmen-Farben */
.cos-frame-color-preview.cos-frame-bronze{border-color:rgba(205,127,50,.7);background:linear-gradient(145deg,rgba(60,35,12,.92),rgba(18,10,4,.97));box-shadow:0 0 14px rgba(205,127,50,.22)}
.cos-frame-color-preview.cos-frame-bronze .cos-frame-color-ring{background:rgba(240,180,100,.55)}
.cos-frame-color-preview.cos-frame-gold{border-color:rgba(232,197,71,.75);background:linear-gradient(145deg,rgba(55,42,10,.92),rgba(20,14,4,.97));box-shadow:0 0 16px rgba(232,197,71,.28)}
.cos-frame-color-preview.cos-frame-gold .cos-frame-color-ring{background:rgba(255,220,120,.6)}
.cos-frame-color-preview.cos-frame-ruby{border-color:rgba(239,68,68,.7);background:linear-gradient(145deg,rgba(50,12,12,.92),rgba(18,4,4,.97));box-shadow:0 0 14px rgba(239,68,68,.25)}
.cos-frame-color-preview.cos-frame-ruby .cos-frame-color-ring{background:rgba(255,120,120,.55)}
.cos-frame-color-preview.cos-frame-emerald{border-color:rgba(16,185,129,.7);background:linear-gradient(145deg,rgba(8,40,28,.92),rgba(4,14,10,.97));box-shadow:0 0 14px rgba(16,185,129,.22)}
.cos-frame-color-preview.cos-frame-emerald .cos-frame-color-ring{background:rgba(80,230,170,.5)}
.cos-frame-color-preview.cos-frame-void{border-color:rgba(129,140,248,.7);background:linear-gradient(145deg,rgba(18,12,42,.92),rgba(6,4,16,.97));box-shadow:0 0 14px rgba(99,102,241,.25)}
.cos-frame-color-preview.cos-frame-void .cos-frame-color-ring{background:rgba(160,170,255,.5)}
.cos-frame-color-preview.cos-frame-rainbow{border-color:rgba(168,85,247,.65);background:linear-gradient(135deg,rgba(60,20,30,.9),rgba(20,40,60,.9),rgba(40,20,60,.95));box-shadow:0 0 16px rgba(168,85,247,.25)}
.cos-frame-color-preview.cos-frame-rainbow .cos-frame-color-ring{background:linear-gradient(90deg,#ef4444,#eab308,#22c55e,#3b82f6,#a855f7)}
.cos-frame-color-preview.cos-frame-mythic{border-color:rgba(232,197,71,.7);background:linear-gradient(145deg,rgba(50,30,12,.9),rgba(30,12,48,.95));box-shadow:0 0 16px rgba(168,85,247,.22)}
.cos-frame-color-preview.cos-frame-mythic .cos-frame-color-ring{background:linear-gradient(90deg,#e8c547,#a855f7,#e8c547)}
.cos-frame-color-preview.cos-frame-owner_sovereign{border-color:rgba(220,140,255,.9);background:linear-gradient(135deg,rgba(40,18,8,.96),rgba(28,8,48,.97) 50%,rgba(4,20,40,.98));box-shadow:0 0 18px rgba(255,200,80,.35),0 0 28px rgba(180,80,255,.35),0 0 36px rgba(60,200,255,.25)}
.cos-frame-color-preview.cos-frame-owner_sovereign .cos-frame-color-ring{background:linear-gradient(90deg,#ffd46a,#d24dff,#4ad6ff)}
.cos-frame-color-preview.cos-frame-admin_aegis{border-color:rgba(110,180,255,.75);background:linear-gradient(145deg,rgba(12,24,42,.92),rgba(6,12,24,.97));box-shadow:0 0 14px rgba(100,170,255,.25)}
.cos-frame-color-preview.cos-frame-admin_aegis .cos-frame-color-ring{background:rgba(140,200,255,.55)}
.cos-frame-color-preview.cos-frame-gm_masque{border-color:rgba(200,150,255,.75);background:linear-gradient(145deg,rgba(32,16,48,.92),rgba(14,8,24,.97));box-shadow:0 0 14px rgba(160,100,255,.25)}
.cos-frame-color-preview.cos-frame-gm_masque .cos-frame-color-ring{background:rgba(200,160,255,.55)}
.cos-frame-color-preview.cos-frame-feather_melancholy{border-color:rgba(180,200,220,.7);background:linear-gradient(145deg,rgba(18,24,32,.92),rgba(8,10,16,.97));box-shadow:0 0 14px rgba(160,190,220,.22)}
.cos-frame-color-preview.cos-frame-feather_melancholy .cos-frame-color-ring{background:rgba(190,210,230,.55)}

/* Aura-Farben */
.cos-aura-color-preview.cos-aura-fire{border-color:rgba(255,140,40,.75);background:radial-gradient(circle at 50% 80%,rgba(255,100,30,.35),rgba(20,8,4,.96) 72%);box-shadow:0 0 16px rgba(255,100,20,.28)}
.cos-aura-color-preview.cos-aura-fire .cos-aura-color-ring{background:rgba(255,160,60,.65)}
.cos-aura-color-preview.cos-aura-ice{border-color:rgba(140,210,255,.75);background:radial-gradient(circle at 50% 50%,rgba(120,200,255,.28),rgba(6,12,22,.96) 72%);box-shadow:0 0 16px rgba(100,180,255,.25)}
.cos-aura-color-preview.cos-aura-ice .cos-aura-color-ring{background:rgba(160,220,255,.6)}
.cos-aura-color-preview.cos-aura-holy{border-color:rgba(255,230,160,.75);background:radial-gradient(circle at 50% 40%,rgba(255,230,160,.3),rgba(18,14,8,.96) 72%);box-shadow:0 0 16px rgba(255,220,120,.25)}
.cos-aura-color-preview.cos-aura-holy .cos-aura-color-ring{background:rgba(255,235,180,.6)}
.cos-aura-color-preview.cos-aura-shadow{border-color:rgba(160,80,255,.7);background:radial-gradient(circle at 50% 50%,rgba(120,40,180,.3),rgba(8,4,14,.97) 72%);box-shadow:0 0 16px rgba(120,40,180,.25)}
.cos-aura-color-preview.cos-aura-shadow .cos-aura-color-ring{background:rgba(180,100,255,.55)}
.cos-aura-color-preview.cos-aura-rainbow{border-color:rgba(168,85,247,.65);background:linear-gradient(135deg,rgba(255,80,80,.18),rgba(255,200,40,.15),rgba(80,255,120,.15),rgba(40,160,255,.15),rgba(180,80,255,.18));box-shadow:0 0 16px rgba(160,100,255,.22)}
.cos-aura-color-preview.cos-aura-rainbow .cos-aura-color-ring{background:linear-gradient(90deg,#ef4444,#eab308,#22c55e,#3b82f6,#a855f7)}
.cos-aura-color-preview.cos-aura-mythic{border-color:rgba(232,197,71,.7);background:radial-gradient(ellipse at 50% 45%,rgba(255,220,120,.18),rgba(26,12,40,.9) 55%,rgba(4,2,8,.97));box-shadow:0 0 16px rgba(168,85,247,.22)}
.cos-aura-color-preview.cos-aura-mythic .cos-aura-color-ring{background:linear-gradient(90deg,#e8c547,#a855f7)}
.cos-aura-color-preview.cos-aura-owner_sovereign{border-color:rgba(80,210,255,.9);background:radial-gradient(circle at 50% 50%,rgba(80,200,255,.4),rgba(4,12,32,.97) 70%);box-shadow:0 0 22px rgba(60,180,255,.45),0 0 40px rgba(40,100,220,.25)}
.cos-aura-color-preview.cos-aura-owner_sovereign .cos-aura-color-ring{background:radial-gradient(circle,rgba(160,240,255,.85),rgba(40,140,255,.5))}
.cos-aura-color-preview.cos-aura-admin_aegis{border-color:rgba(110,180,255,.75);background:radial-gradient(circle at 50% 50%,rgba(80,160,255,.3),rgba(6,12,24,.96) 72%);box-shadow:0 0 14px rgba(60,140,230,.25)}
.cos-aura-color-preview.cos-aura-admin_aegis .cos-aura-color-ring{background:rgba(140,200,255,.55)}
.cos-aura-color-preview.cos-aura-gm_masque{border-color:rgba(200,150,255,.75);background:radial-gradient(circle at 50% 45%,rgba(160,100,255,.3),rgba(14,8,24,.96) 72%);box-shadow:0 0 14px rgba(140,80,220,.25)}
.cos-aura-color-preview.cos-aura-gm_masque .cos-aura-color-ring{background:rgba(200,160,255,.55)}
.cos-aura-color-preview.cos-aura-feather_melancholy{border-color:rgba(180,200,220,.7);background:radial-gradient(circle at 50% 40%,rgba(160,190,220,.28),rgba(10,14,20,.96) 72%);box-shadow:0 0 14px rgba(140,180,210,.22)}
.cos-aura-color-preview.cos-aura-feather_melancholy .cos-aura-color-ring{background:rgba(190,210,230,.55)}

.cos-fx-preview{width:100%!important;height:72px!important;border-radius:10px;min-height:72px}

/* ══ Staff/Feder Partikel — thematisch, ohne Emoji-Spam ══ */
.cos-owner-dust{
  bottom:-4%;width:var(--size,4px);height:var(--size,4px);border-radius:50%;
  background:radial-gradient(circle,#fff6c8,#e8c547 60%,transparent 75%);
  box-shadow:0 0 8px rgba(255,210,80,.85);
  animation:cosOwnerDustRise var(--dur,5s) linear infinite;animation-delay:var(--delay,0s);
}
@keyframes cosOwnerDustRise{
  0%{transform:translate3d(0,0,0) scale(1);opacity:0}
  8%{opacity:1}
  100%{transform:translate3d(var(--drift,12px),-110vh,0) scale(.35);opacity:0}
}
.cos-owner-star{
  width:var(--size,10px);height:var(--size,10px);
  background:linear-gradient(90deg,transparent 42%,#ffe08a 42%,#ffe08a 58%,transparent 58%),
             linear-gradient(0deg,transparent 42%,#fff6c8 42%,#fff6c8 58%,transparent 58%);
  filter:drop-shadow(0 0 6px rgba(255,210,80,.9));
  animation:cosSparkleTwinkle var(--dur,2.8s) ease-in-out infinite;animation-delay:var(--delay,0s);
}
.cos-owner-spark{
  width:var(--size,5px);height:calc(var(--size,5px)*2.2);border-radius:40% 40% 50% 50%;
  background:linear-gradient(180deg,#fff8d0,#e8c547 55%,#a06010);
  box-shadow:0 0 10px rgba(255,200,60,.8);
  animation:cosEmberRise var(--dur,3.2s) ease-in infinite;animation-delay:var(--delay,0s);
}
.cos-fx-layer.cos-fx-owner-crowns{
  background:
    radial-gradient(ellipse at 50% 0%,rgba(255,210,90,.14),transparent 50%),
    radial-gradient(circle at 20% 80%,rgba(232,197,71,.08),transparent 40%);
}

.cos-admin-hex{
  width:var(--size,8px);height:var(--size,8px);
  background:rgba(126,200,255,.95);
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
  box-shadow:0 0 10px rgba(100,180,255,.85);
  animation:cosSparkleTwinkle var(--dur,2.6s) ease-in-out infinite;animation-delay:var(--delay,0s);
}
.cos-admin-beam{
  top:110%;width:2px;height:var(--h,60px);border-radius:2px;
  background:linear-gradient(180deg,transparent,rgba(140,200,255,.9),transparent);
  box-shadow:0 0 8px rgba(100,180,255,.7);
  animation:cosAdminBeamUp var(--dur,4s) linear infinite;animation-delay:var(--delay,0s);
}
@keyframes cosAdminBeamUp{
  0%{transform:translateY(0);opacity:0}
  10%{opacity:.95}
  100%{transform:translateY(calc(-100vh - var(--h,60px)));opacity:0}
}
.cos-admin-ring{
  width:var(--size,24px);height:var(--size,24px);border-radius:50%;
  border:2px solid rgba(140,200,255,.55);box-shadow:0 0 12px rgba(80,160,255,.4);
  animation:cosAdminRingPulse var(--dur,5s) ease-out infinite;animation-delay:var(--delay,0s);
}
@keyframes cosAdminRingPulse{
  0%{transform:scale(.4);opacity:.9}
  100%{transform:scale(2.4);opacity:0}
}
.cos-fx-layer.cos-fx-admin-aegis{
  background:
    radial-gradient(ellipse at 50% 100%,rgba(80,140,220,.12),transparent 55%),
    linear-gradient(180deg,rgba(40,80,140,.05),transparent 40%);
}

.cos-gm-shard{
  top:-6%;width:var(--size,8px);height:var(--size,8px);
  background:linear-gradient(135deg,#f0e4ff,#a78bfa 50%,#6d28d9);
  clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);
  box-shadow:0 0 10px rgba(180,120,255,.8);
  transform:rotate(var(--rot,30deg));
  animation:cosSakuraFall var(--dur,7s) linear infinite;animation-delay:var(--delay,0s);
}
.cos-gm-orb{
  width:var(--size,12px);height:var(--size,12px);border-radius:50%;
  background:radial-gradient(circle,rgba(240,228,255,.95),rgba(140,80,200,.55) 55%,transparent 72%);
  box-shadow:0 0 14px rgba(160,100,255,.7);
  animation:cosFireflyDrift var(--dur,4.5s) ease-in-out infinite;animation-delay:var(--delay,0s);
}
.cos-gm-veil{
  width:var(--w,80px);height:28px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(160,100,255,.22),transparent 70%);
  filter:blur(4px);
  animation:cosGmVeilDrift var(--dur,8s) ease-in-out infinite;animation-delay:var(--delay,0s);
}
@keyframes cosGmVeilDrift{
  0%,100%{transform:translate(0,0) scale(1);opacity:.35}
  50%{transform:translate(18px,-12px) scale(1.15);opacity:.7}
}
.cos-fx-layer.cos-fx-gm-masque{
  background:
    radial-gradient(ellipse at 50% 40%,rgba(140,80,200,.12),transparent 55%),
    radial-gradient(circle at 80% 20%,rgba(180,120,255,.08),transparent 40%);
}

.cos-feather-mote{
  width:var(--size,3px);height:var(--size,3px);border-radius:50%;
  background:radial-gradient(circle,#e8eef4,#9bb0c4);
  box-shadow:0 0 6px rgba(180,210,230,.7);
  animation:cosSparkleTwinkle var(--dur,3s) ease-in-out infinite;animation-delay:var(--delay,0s);
}
.cos-fx-layer.cos-fx-feathers{
  background:linear-gradient(180deg,rgba(140,170,200,.1),transparent 45%);
}

/* Shop FX previews */
.cos-fx-preview.cos-fx-owner-crowns{background:radial-gradient(circle at 50% 30%,rgba(255,210,90,.25),#12100c)}
.cos-fx-preview.cos-fx-admin-aegis{background:radial-gradient(circle at 50% 70%,rgba(100,170,255,.25),#0a1018)}
.cos-fx-preview.cos-fx-gm-masque{background:radial-gradient(circle at 50% 40%,rgba(160,100,255,.25),#100a18)}
.cos-fx-preview.cos-fx-feathers{background:radial-gradient(circle at 50% 20%,rgba(160,190,220,.2),#0c1016)}
/* Staff/Feder Partikel — sichtbar und lebendig */
.cos-crown-dot,.cos-aegis-dot,.cos-masque-dot{
  opacity:1 !important;
  filter:saturate(1.25) brightness(1.15);
}
/* feather particle base styles live above */
.cos-fx-layer.cos-fx-owner-crowns .cos-particle,
.cos-fx-layer.cos-fx-admin-aegis .cos-particle,
.cos-fx-layer.cos-fx-gm-masque .cos-particle,
.cos-fx-layer.cos-fx-feathers .cos-flake{
  z-index:1;
}


#bg-overlay.cos-actbg-owner::after{background:linear-gradient(180deg,rgba(80,120,220,.1),rgba(40,20,80,.12) 45%,transparent 70%)}
#bg-overlay.cos-actbg-admin::after{background:linear-gradient(180deg,rgba(80,140,220,.08),transparent 55%)}
#bg-overlay.cos-actbg-gm::after{background:linear-gradient(180deg,rgba(140,80,200,.08),transparent 55%)}
#bg-overlay.cos-actbg-feather::after{background:linear-gradient(180deg,rgba(160,190,220,.06),transparent 60%)}

/* abenteuer.beardflix.de — Web-Login */
html.flix-rpg-web #btn-discord-login{display:none!important;visibility:hidden!important;pointer-events:none!important}
html.flix-rpg-web #screen-login .btn-primary:not(.web-auth-btn){display:none!important}
html.flix-rpg-web .web-logout-btn{margin-top:8px}
.login-entry-logout-btn{
  margin-top:12px;
  align-self:flex-start;
  color:rgba(238,241,255,.72);
  cursor:pointer;
}
.login-entry-copy .login-entry-logout-btn,
.mode-entry-copy .login-entry-logout-btn{
  margin-top:10px;
}
.login-auth-modal-footer .login-entry-logout-btn{
  margin-top:0;
}
html.flix-rpg-web #btn-change-mode.web-logout-btn{margin-top:0;align-self:flex-start}
/* Web-Spenden — inline bei Aktions-Buttons (nicht fixiert unten) */
html.flix-rpg-web .web-support-dock{display:none!important}
html.flix-rpg-web a.web-support-btn{
  text-decoration:none;color:var(--txt);min-width:76px;
}
html.flix-rpg-web .web-login-actions a.web-support-btn{
  width:auto;max-width:120px;margin-top:0;align-self:center;
}
html.flix-rpg-web .web-login-actions a.web-support-btn .hub-grid-icon{
  width:48px;height:48px;
}
html.flix-rpg-web .web-login-support{
  display:flex;justify-content:center;width:100%;
}
html.flix-rpg-web .hero-setup-nav{
  display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;justify-content:center;margin-top:10px;
}
html.flix-rpg-web .hero-setup-nav .char-back-select-btn{flex:0 1 auto;min-width:88px}
html.flix-rpg-web .hero-setup-nav a.web-support-btn{
  flex:1 1 88px;max-width:120px;align-self:stretch;
}
html.flix-rpg-web .hero-setup-nav #btn-char-save{flex:2 1 160px;max-width:none}
html.flix-rpg-web .web-mode-actions{
  display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px;width:100%;
}
html.flix-rpg-web .web-mode-actions .web-logout-btn{flex:1 1 auto;min-width:88px}
html.flix-rpg-web .web-mode-actions a.web-support-btn{flex:1 1 88px;max-width:140px}
html.flix-rpg-web #hub-nav-grid a.web-support-btn{cursor:pointer}
html.flix-rpg-web .settings-menu-item.web-support-item{
  display:block;text-decoration:none;color:inherit;text-align:left;width:100%;
}
.hero-setup-error{padding:14px;text-align:center;display:flex;flex-direction:column;gap:10px}
.hero-setup-error .sub{margin:0}
.web-login-actions{display:flex;flex-direction:column;gap:10px;margin-top:16px;width:100%;max-width:320px}
.web-login-actions .btn-primary,.web-login-actions .web-auth-btn{text-decoration:none;display:block;text-align:center;box-sizing:border-box}
.web-login-actions .web-auth-btn.google{background:#fff;color:#333}
.web-login-actions .web-auth-btn.twitch{background:#9146ff;color:#fff}
.web-login-actions .btn-ghost{background:transparent;border:none;color:rgba(238,241,255,.65);cursor:pointer;margin-top:4px;font-size:.85rem;padding:8px}
.web-login-actions .btn-secondary,.web-login-actions .web-pwa-install-btn{
    display:block;width:100%;min-height:44px;padding:10px 14px;border-radius:10px;
    background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#eef1ff;
    font-size:.95rem;font-weight:600;cursor:pointer;touch-action:manipulation;text-align:center;box-sizing:border-box
}
.web-login-actions .web-pwa-install-link{
    display:block;width:100%;min-height:44px;padding:10px 14px;border-radius:10px;
    background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#eef1ff;
    font-size:.95rem;font-weight:700;text-align:center;text-decoration:none;box-sizing:border-box
}
html.flix-rpg-web .hub-grid-btn.web-install-btn{border-color:rgba(59,130,246,.35);background:rgba(59,130,246,.12)}
html.flix-rpg-web .settings-menu-item.web-install-item{text-decoration:none;display:block;color:inherit}
.pwa-update-banner{
    position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:99999;
    display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;
    background:rgba(15,23,42,.96);border:1px solid rgba(59,130,246,.45);box-shadow:0 8px 32px rgba(0,0,0,.45);
    font-size:.9rem;color:#eef1ff
}
.pwa-update-banner button{
    flex:0 0 auto;padding:8px 14px;border-radius:8px;border:none;cursor:pointer;font-weight:700;
    background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff
}

/* APK Touch-UI: Scroll + Zoom — schlägt screen-* Layout-Locks */
html.abenteuer-app.abenteuer-touch-ui body.screen-coop-world #app,
html.abenteuer-app.abenteuer-touch-ui body.screen-coop-world #flix-app-rpg.active,
html.abenteuer-app.abenteuer-touch-ui body.screen-saga #app,
html.abenteuer-app.abenteuer-touch-ui body.screen-combat #app,
html.abenteuer-app.abenteuer-touch-ui body.screen-coop-combat #app,
html.abenteuer-app.abenteuer-touch-ui body.screen-guild-raid #app{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-world,
html.abenteuer-app.abenteuer-touch-ui #screen-combat:not(.combat-pokemon),
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat:not(.combat-pokemon){
  overflow:visible!important;
  max-height:none!important;
  min-height:0;
  flex:none!important;
}
/* Saga: overflow:visible ließ Knoten unten sichtbar, aber Taps gingen daneben */
html.abenteuer-app.abenteuer-touch-ui #screen-saga{
  overflow:hidden!important;
  max-height:none!important;
  min-height:0;
  flex:1 1 auto!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-coop-world #cw-explore-wrap,
html.abenteuer-app.abenteuer-touch-ui #screen-coop-world #cw-saga-wrap{
  overflow:visible!important;
  max-height:none!important;
  flex:none!important;
  min-height:0;
}
html.abenteuer-app.abenteuer-touch-ui body.world-map-immersive #screen-coop-world,
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-dungeon #screen-coop-world,
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-saga #screen-coop-world,
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-zone #screen-coop-world{
  overflow:hidden!important;
  height:100%!important;
  max-height:none!important;
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
}
html.abenteuer-app.abenteuer-touch-ui body.world-map-immersive.screen-coop-world #app,
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-dungeon.screen-coop-world #app,
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-saga.screen-coop-world #app,
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-zone.screen-coop-world #app{
  height:100%!important;
  max-height:100%!important;
  overflow:hidden!important;
}
html.abenteuer-app.abenteuer-touch-ui body.world-map-immersive #screen-coop-world #cw-explore-wrap{
  overflow:hidden!important;
  position:absolute!important;
  inset:0!important;
  flex:none!important;
}
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-zone #screen-coop-world #cw-explore-wrap,
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-saga #screen-coop-world #cw-saga-wrap{
  overflow:hidden!important;
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  display:flex!important;
  flex-direction:column!important;
}
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-dungeon #screen-coop-world #cw-explore-wrap{
  display:block!important;
  flex:1 1 0%!important;
  min-height:0!important;
  height:0!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:scroll!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
  padding-bottom:max(96px,calc(env(safe-area-inset-bottom,0px) + 80px))!important;
}
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-dungeon #screen-coop-world #cw-dungeon-panel{
  display:block!important;
  flex:none!important;
  height:auto!important;
  overflow:visible!important;
  max-height:none!important;
}
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-dungeon #screen-coop-world .dng-market-shell--coop{
  flex:none!important;
  height:auto!important;
  overflow:visible!important;
  max-height:none!important;
}
html.abenteuer-app.abenteuer-touch-ui #screen-saga .saga-map-scroll{
  overflow:auto!important;
  max-height:var(--rpg-menu-scroll-max,70vh)!important;
  flex:1 1 auto!important;
  min-height:0;
  padding-bottom:0!important;
  -webkit-overflow-scrolling:touch;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-inv,
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-trade{
  max-height:none!important;
  overflow:visible!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-craft,
html.abenteuer-app.abenteuer-touch-ui body.rpg-craft-fs #panel-card.panel-craft{
  max-height:100%!important;
  height:100%!important;
  overflow:hidden!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-dungeon{
  max-height:100dvh!important;
  overflow:hidden!important;
}
html.abenteuer-app.abenteuer-touch-ui #panel-card.panel-trade .trade-pick-scroll{
  overflow-y:auto!important;
  max-height:min(52vh,420px)!important;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
html.abenteuer-app.abenteuer-touch-ui body.rpg-combat-modal-open,
html.abenteuer-app.abenteuer-touch-ui body.rpg-dungeon-prep-open{
  overflow-y:auto!important;
}

/* Co-op 1v1 — große Karten (höchste Priorität, überschreibt heroes-1/enemies-1 Mini-Regeln) */
#screen-coop-combat .coop-combat-arena.coop-duel-1v1 .coop-duel,
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-duel-solo.coop-duel{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  gap:10px!important;
  padding:10px 8px!important;
  align-items:stretch!important;
}
#screen-coop-combat .coop-combat-arena.coop-duel-1v1 .coop-duel-side,
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-duel-solo .coop-duel-side{
  display:flex!important;
  flex-direction:column!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
}
#screen-coop-combat .coop-combat-arena.coop-duel-1v1 .coop-duel-side .duel-panel,
#screen-coop-combat .coop-combat-arena.coop-duel-1v1 .coop-duel-side .duel-panel.coop-duel-card,
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-duel-solo .coop-duel-side .duel-panel.coop-duel-card{
  flex:1 1 auto!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  padding:10px 8px!important;
}
#screen-coop-combat .coop-combat-arena.coop-duel-1v1 .coop-duel-side .duel-portrait,
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-duel-solo .coop-duel-side .duel-portrait{
  max-height:min(max(40vh,40vw),300px)!important;
  min-height:min(max(30vh,30vw),220px)!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:3/4!important;
  border-radius:14px!important;
}
#screen-coop-combat .coop-combat-arena.coop-duel-1v1 .coop-duel-side .duel-name,
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-duel-solo .coop-duel-side .duel-name{
  font-size:.8rem!important;
}
#screen-coop-combat .coop-combat-arena.coop-duel-1v1 .coop-duel-side .duel-class,
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-duel-solo .coop-duel-side .duel-class{
  font-size:.66rem!important;
}
#screen-coop-combat .coop-combat-arena.coop-duel-1v1 .coop-duel-side .duel-bar .bar-track,
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-duel-solo .coop-duel-side .duel-bar .bar-track{
  height:8px!important;
}
#screen-coop-combat .coop-combat-arena.coop-duel-1v1 .coop-duel .duel-vs span,
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-duel-solo .duel-vs span{
  width:38px!important;height:38px!important;font-size:.68rem!important;
}
#screen-coop-combat .coop-combat-arena.coop-duel-1v1,
html.abenteuer-app.abenteuer-touch-ui #screen-coop-combat .coop-combat-arena.coop-duel-1v1{
  min-height:unset!important;
  max-height:none!important;
  height:auto!important;
  flex:0 0 auto!important;
}

/* ── Menü-Scroll: feste Max-Höhe (Mobile/APK scrollt oft über body → innere Regionen brauchen dvh) ── */
:root{
  --rpg-menu-scroll-max:calc(100dvh - max(96px,calc(env(safe-area-inset-top,0px) + 76px)) - max(24px,env(safe-area-inset-bottom,0px)));
}
.rpg-scroll-region,
.saga-map-scroll,
.quest-scroll-wrap,
.inv-scroll-wrap,
.trade-pick-scroll,
.shop-scroll-wrap,
.cos-scroll-wrap,
.craft-recipe-scroll-wrap,
.panel-scroll-body,
.panel-dungeon-scroll,
.panel-pet-scroll,
.daily-panel-wrap,
.hof-screen-wrap{
  overflow-y:auto!important;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  touch-action:pan-y;
  scrollbar-gutter:stable;
}
#screen-saga:not(.hidden),
#screen-panel:not(.hidden){
  display:flex;
  flex-direction:column;
  min-height:0;
  max-height:var(--rpg-menu-scroll-max);
  overflow:hidden;
}
#screen-saga .saga-header{flex-shrink:0}
#screen-saga .saga-map-scroll,
#screen-coop-world #cw-saga-wrap{
  flex:1 1 auto;
  min-height:min(240px,38vh);
  max-height:var(--rpg-menu-scroll-max);
  overflow-y:auto!important;
}
#screen-panel #panel-card.panel-skills,
#screen-panel #panel-card.panel-profession,
#screen-panel #panel-card.panel-quests,
#screen-panel #panel-card.panel-inv,
#screen-panel #panel-card.panel-shop,
#screen-panel #panel-card.panel-market,
#screen-panel #panel-card.panel-kosmetik,
#screen-panel #panel-card.panel-pet,
#screen-panel #panel-card.panel-daily,
#screen-panel #panel-card.panel-guild,
#screen-panel #panel-card.panel-audio{
  max-height:var(--rpg-menu-scroll-max);
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
#screen-panel #panel-card.panel-daily .daily-panel-wrap{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
}
html.flix-rpg-mobile #screen-saga:not(.hidden) .saga-map-scroll,
html[data-mobile-shell="1"] #screen-saga:not(.hidden) .saga-map-scroll,
html[data-abenteuer-apk="1"] #screen-saga:not(.hidden) .saga-map-scroll{
  max-height:var(--rpg-menu-scroll-max);
  padding-bottom:0!important;
  scroll-padding-bottom:120px;
}
/* Schatzkarte: freies Schieben/Scrollen im Panzoom — nicht Page-Scroll */
#screen-saga.saga-treasure-map:not(.hidden),
html.flix-rpg-mobile #screen-saga.saga-treasure-map:not(.hidden),
html[data-mobile-shell="1"] #screen-saga.saga-treasure-map:not(.hidden),
html[data-abenteuer-apk="1"] #screen-saga.saga-treasure-map:not(.hidden),
html.abenteuer-app.abenteuer-touch-ui #screen-saga.saga-treasure-map:not(.hidden){
  max-height:none!important;
  height:100dvh!important;
  overflow:hidden!important;
}
#screen-saga.saga-treasure-map .saga-map-scroll,
html.flix-rpg-mobile #screen-saga.saga-treasure-map .saga-map-scroll,
html[data-mobile-shell="1"] #screen-saga.saga-treasure-map .saga-map-scroll,
html[data-abenteuer-apk="1"] #screen-saga.saga-treasure-map .saga-map-scroll,
html.abenteuer-app.abenteuer-touch-ui #screen-saga.saga-treasure-map .saga-map-scroll{
  overflow:hidden!important;
  max-height:none!important;
  min-height:0!important;
  flex:1 1 auto!important;
}
html.flix-rpg-mobile #screen-saga .saga-map-bottom-spacer,
html[data-mobile-shell="1"] #screen-saga .saga-map-bottom-spacer,
html[data-abenteuer-apk="1"] #screen-saga .saga-map-bottom-spacer{
  height:140px!important;
}
html.flix-rpg-mobile #screen-saga .saga-graph-node-wrap,
html[data-mobile-shell="1"] #screen-saga .saga-graph-node-wrap,
html[data-abenteuer-apk="1"] #screen-saga .saga-graph-node-wrap,
html.flix-rpg-mobile #screen-saga .saga-node,
html[data-mobile-shell="1"] #screen-saga .saga-node,
html[data-abenteuer-apk="1"] #screen-saga .saga-node{
  touch-action:manipulation;
  pointer-events:auto;
}
.combat-skills-panel{max-height:min(calc(100dvh - 40px),640px)}
.combat-skills-panel .combat-skills-body{
  max-height:min(calc(100dvh - 200px),540px);
}
#screen-skill-tree:not(.hidden) .skill-tree-viewport{
  flex:1 1 auto;
  min-height:0;
  max-height:none;
}
html.flix-rpg-mobile body.screen-panel #screen-panel,
html[data-abenteuer-apk="1"] body.screen-panel #screen-panel,
html.flix-rpg-mobile body.screen-skill-tree #screen-skill-tree,
html[data-abenteuer-apk="1"] body.screen-skill-tree #screen-skill-tree{
  flex:1 1 auto;
  min-height:0;
  max-height:var(--rpg-menu-scroll-max);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
html.flix-rpg-mobile #panel-card.panel-quests,
html[data-abenteuer-apk="1"] #panel-card.panel-quests,
html[data-mobile-shell="1"] #panel-card.panel-quests{
  max-height:var(--rpg-menu-scroll-max)!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
}
html.flix-rpg-mobile #panel-card.panel-quests .quest-scroll-wrap,
html[data-abenteuer-apk="1"] #panel-card.panel-quests .quest-scroll-wrap,
html[data-mobile-shell="1"] #panel-card.panel-quests .quest-scroll-wrap{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
}

/* ── Hotspot-Editor (Owner/Admin) ── */
.hs-editor-overlay{
  position:fixed;inset:0;z-index:99990;
  background:rgba(4,6,14,.88);backdrop-filter:blur(6px);
  display:flex;align-items:stretch;justify-content:center;padding:12px;
}
.hs-editor-shell{
  width:min(1400px,100%);max-height:100%;display:flex;flex-direction:column;
  border-radius:14px;overflow:hidden;border:1px solid rgba(232,197,71,.22);
}
.hs-editor-header{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.hs-editor-title{margin-right:auto}
.hs-editor-set-tabs,.hs-editor-actions{display:flex;flex-wrap:wrap;gap:6px}
.hs-editor-body{flex:1 1 auto;min-height:0;display:flex;gap:10px;padding:10px}
.hs-editor-sidebar{
  flex:0 0 min(360px,42%);min-width:280px;max-width:420px;min-height:0;
  display:flex;flex-direction:column;gap:8px;
}
.hs-editor-list-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-size:.78rem;font-weight:700;padding:0 2px;
}
.hs-editor-list{
  flex:0 1 auto;max-height:min(34vh,280px);overflow:auto;display:flex;flex-direction:column;gap:4px;
  padding:4px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);
}
.hs-editor-list-empty{margin:6px 4px}
.hs-editor-list-item{
  display:flex;flex-direction:column;align-items:stretch;gap:2px;width:100%;
  text-align:left;padding:7px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);color:inherit;cursor:pointer;
}
.hs-editor-list-item:hover{background:rgba(255,255,255,.07)}
.hs-editor-list-item.is-selected{
  border-color:rgba(253,230,138,.55);background:rgba(253,230,138,.12);
  box-shadow:0 0 0 1px rgba(253,230,138,.2);
}
.hs-editor-list-item-top{display:flex;align-items:center;justify-content:space-between;gap:6px}
.hs-editor-list-item-top strong{font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hs-editor-list-badge{flex-shrink:0;opacity:.9}
.hs-editor-list-item-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hs-editor-stage-wrap{flex:1 1 auto;min-width:0;min-height:0;display:flex}
.hs-editor-stage{
  position:relative;flex:1 1 auto;min-height:0;background:#0a0c14;border-radius:10px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.hs-editor-art{
  position:relative;z-index:1;
  max-width:100%;max-height:100%;width:auto;height:auto;display:block;user-select:none;
}
.hs-editor-layer{
  position:absolute;z-index:2;pointer-events:none;box-sizing:border-box;
}
.hs-editor-empty{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  margin:0;padding:8px 12px;border-radius:8px;background:rgba(0,0,0,.55);
  pointer-events:none;white-space:nowrap;
}
.hs-editor-rect{
  position:absolute;pointer-events:auto;cursor:move;z-index:1;
  border:2px solid rgba(96,165,250,.95);background:rgba(59,130,246,.28);
  box-sizing:border-box;border-radius:2px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
  transform-origin:center center;
}
.hs-editor-rect.is-selected{
  z-index:2;
  border-color:#fde68a;background:rgba(253,230,138,.24);
  box-shadow:0 0 0 1px rgba(253,230,138,.45),0 0 12px rgba(253,230,138,.18);
}
.hs-editor-rect--text{
  border-color:rgba(167,139,250,.95);background:rgba(139,92,246,.16);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);
}
.hs-editor-rect--text.is-selected{
  border-color:#c4b5fd;background:rgba(167,139,250,.22);
  box-shadow:0 0 0 1px rgba(196,181,253,.5),0 0 14px rgba(139,92,246,.22);
}
.hs-editor-rect--hidden{
  opacity:.38;
  border-style:dashed!important;
  border-color:rgba(248,113,113,.55)!important;
}
.hs-editor-list-item.is-hidden-item{opacity:.65}
.hs-editor-list-hidden{margin-left:4px;color:#f87171}
.hs-field-check .hs-checkbox-row{display:flex;align-items:flex-start;gap:8px;line-height:1.4}
.hs-editor-text-preview{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  padding:4px 6px;box-sizing:border-box;pointer-events:none;overflow:hidden;
  white-space:pre-wrap;word-break:break-word;text-align:center;line-height:1.15;
  font-size:clamp(8px,calc(var(--hs-font-size,24)*0.42px),28px);
}
.hs-text-style-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:6px 8px;margin-bottom:8px;
}
.hs-color-row{display:flex;align-items:center;gap:8px}
.hs-color-input{
  width:36px;height:32px;padding:0;border:1px solid rgba(255,255,255,.15);
  border-radius:8px;background:transparent;cursor:pointer;flex:0 0 auto;
}
.hs-color-row .admin-input{flex:1 1 auto;min-width:0}
.hs-editor-rect-label{
  position:absolute;left:4px;top:2px;font-size:10px;line-height:1.2;font-weight:700;
  color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.85);pointer-events:none;max-width:calc(100% - 8px);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.hs-editor-handle{
  position:absolute;width:10px;height:10px;background:#fde68a;border:1px solid #0f172a;
  border-radius:2px;pointer-events:auto;
}
.hs-editor-handle-nw{left:-5px;top:-5px;cursor:nwse-resize}
.hs-editor-handle-ne{right:-5px;top:-5px;cursor:nesw-resize}
.hs-editor-handle-sw{left:-5px;bottom:-5px;cursor:nesw-resize}
.hs-editor-handle-se{right:-5px;bottom:-5px;cursor:nwse-resize}
.hs-editor-handle-rotate{
  left:50%;top:-24px;margin-left:-8px;width:16px;height:16px;
  border-radius:50%;background:#4ade80;border:2px solid #0f172a;
  cursor:grab;font-size:11px;line-height:12px;text-align:center;color:#0f172a;
  display:flex;align-items:center;justify-content:center;
}
.hs-editor-handle-rotate:active{cursor:grabbing}
.hs-editor-popup-marker{
  position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;
  background:#60a5fa;border:2px solid #fff;box-shadow:0 0 0 2px rgba(96,165,250,.45);
  cursor:grab;z-index:20;pointer-events:auto;touch-action:none;
}
.hs-editor-popup-marker:active{cursor:grabbing}
.hs-popup-section{margin-top:4px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}
.hs-popup-head{margin:0 0 6px;font-weight:700}
.hs-popup-drag-hint{margin:0 0 6px;line-height:1.45}
.hs-editor-inspector{
  flex:1 1 auto;min-height:0;overflow:auto;
  padding:8px;border-radius:10px;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}
.hs-field{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;font-size:.72rem}
.hs-field.hidden{display:none!important}
.hs-type-hint{margin:-2px 0 8px;line-height:1.45;padding:6px 8px;border-radius:8px;background:rgba(96,165,250,.08);border:1px solid rgba(96,165,250,.15)}
.hs-coords{margin-top:4px;line-height:1.5}
.admin-hotspot-set-tabs,.admin-hotspot-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;align-items:center}
.admin-hotspot-panel{
  display:flex;flex-direction:column;gap:8px;
  max-height:none;overflow:visible;
}
.admin-hotspot-row{padding:10px;display:flex;flex-direction:column;gap:6px;border:1px solid transparent;border-radius:10px;cursor:pointer}
.admin-hotspot-row.is-selected{border-color:rgba(253,230,138,.45);background:rgba(253,230,138,.06)}
.admin-hotspot-row.is-hidden-row{opacity:.62;border-style:dashed}
.admin-hotspot-hidden-wrap .admin-checkbox-row{display:flex;align-items:flex-start;gap:8px;line-height:1.4;font-size:.85rem}
.admin-hotspot-panel--quotes,
.admin-hotspot-panel--puzzles{
  max-height:none;overflow:visible;
}
.admin-quote-kinds{display:flex;flex-direction:column;gap:10px;padding:2px 0 8px}
.admin-quote-toolbar{display:flex;justify-content:flex-end;margin:0 0 8px}
.admin-quote-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.admin-quote-summary-title{flex:1 1 auto;min-width:0}
.admin-quote-summary-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}
.admin-quote-label{max-width:min(280px,100%);font-weight:700}
.admin-quote-kind{flex-shrink:0;overflow:visible}
.admin-quote-kind.glass{overflow:visible}
.admin-quote-kind{padding:10px 12px}
.admin-quote-kind summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 0 4px;user-select:none}
.admin-quote-kind summary::-webkit-details-marker{display:none}
.admin-quote-kind summary::after{content:'▸';color:var(--muted);font-size:.85rem;transition:transform .15s ease}
.admin-quote-kind[open] summary::after{transform:rotate(90deg)}
.admin-quote-body{padding-top:8px}
.admin-quote-textarea{
  display:block;width:100%;min-height:120px;height:120px;max-height:280px;
  resize:vertical;box-sizing:border-box;line-height:1.45;font-family:inherit;
}
.admin-quote-default{
  min-height:100px;height:100px;max-height:220px;
  opacity:.88;cursor:default;color:var(--muted, #9aa3b2);
  background:rgba(0,0,0,.18);
}
.admin-quote-body .admin-field-group + .admin-field-group{margin-top:10px}
.admin-puzzle-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.admin-puzzle-staging-summary{padding:10px 12px;margin:0 0 10px;display:flex;flex-direction:column;gap:4px}
.admin-puzzle-staging-summary.glass{overflow:visible}
.admin-puzzle-warn{color:#fbbf24;margin:0}
.admin-hotspot-panel--puzzles{
  display:flex;flex-direction:column;gap:8px;
}
.admin-puzzle-scroll{
  display:flex;flex-direction:column;gap:8px;
  overflow:visible;padding-right:0;
}
.admin-puzzle-footer{flex-shrink:0;padding-top:4px}
.admin-puzzle-list{display:flex;flex-direction:column;gap:10px;padding-bottom:8px}
.admin-puzzle-row{padding:0;display:flex;flex-direction:column;gap:0;border:1px solid transparent;border-radius:10px;cursor:pointer;flex-shrink:0;overflow:visible}
.admin-puzzle-row.glass{overflow:visible}
.admin-puzzle-row.is-selected{border-color:rgba(167,139,250,.45);background:rgba(139,92,246,.08)}
.admin-puzzle-row summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;user-select:none}
.admin-puzzle-row summary::-webkit-details-marker{display:none}
.admin-puzzle-row summary::after{content:'▸';color:var(--muted);font-size:.85rem;transition:transform .15s ease;flex-shrink:0}
.admin-puzzle-row[open] summary::after{transform:rotate(90deg)}
.admin-puzzle-row-head{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}
.admin-puzzle-row-head-main{display:flex;align-items:center;gap:8px;min-width:0}
.admin-puzzle-row-badges{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.admin-puzzle-row-body{padding:0 12px 12px;display:flex;flex-direction:column;gap:8px}
.admin-puzzle-badge{font-size:.68rem;padding:2px 7px;border-radius:999px;background:rgba(148,163,184,.14);color:var(--muted);white-space:nowrap}
.admin-puzzle-badge--on{color:#86efac;background:rgba(34,197,94,.14)}
.admin-puzzle-badge--staging{color:#c4b5fd;background:rgba(139,92,246,.16)}
.admin-puzzle-badge--warn{color:#fbbf24;background:rgba(251,191,36,.12)}
.admin-puzzle-section{display:flex;flex-direction:column;gap:8px;padding:10px 0;border-top:1px solid rgba(148,163,184,.12)}
.admin-puzzle-section:first-child{border-top:none;padding-top:0}
.admin-puzzle-section-title{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.admin-puzzle-trigger-hint{margin:-4px 0 4px;line-height:1.35}
.admin-puzzle-count-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.admin-puzzle-count-presets{display:flex;flex-wrap:wrap;gap:4px}
.admin-puzzle-hs-picks{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.admin-puzzle-hs-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:rgba(148,163,184,.1);border:1px solid rgba(148,163,184,.2);cursor:pointer;font-size:.78rem;user-select:none;transition:background .12s ease,border-color .12s ease}
.admin-puzzle-hs-chip:has(input:checked){background:rgba(139,92,246,.18);border-color:rgba(167,139,250,.45);color:#e9d5ff}
.admin-puzzle-hs-chip input{margin:0;accent-color:#a78bfa}
.admin-puzzle-advanced{margin-top:4px;border:1px solid rgba(148,163,184,.12);border-radius:8px;overflow:hidden}
.admin-puzzle-advanced-summary{padding:8px 10px;cursor:pointer;font-size:.78rem;color:var(--muted);list-style:none;user-select:none}
.admin-puzzle-advanced-summary::-webkit-details-marker{display:none}
.admin-puzzle-advanced-body{padding:0 10px 10px;display:flex;flex-direction:column;gap:8px}
.admin-puzzle-field-chips.hidden,.admin-puzzle-field-count.hidden,.admin-puzzle-field-rapid.hidden,.admin-puzzle-field-seq.hidden{display:none!important}
.login-puzzle-toast{
  margin:8px 0 0;padding:8px 12px;border-radius:10px;
  background:rgba(139,92,246,.18);border:1px solid rgba(196,181,253,.35);
  color:#e9d5ff;font-size:.85rem;line-height:1.4;opacity:0;transform:translateY(6px);
  transition:opacity .25s ease,transform .25s ease;
}
.login-puzzle-toast.is-visible{opacity:1;transform:translateY(0)}
.login-maintenance-art-unlocked{
  position:absolute;left:0;top:0;width:100%;height:100%;
  opacity:0;transition:opacity 1.05s ease-in-out;pointer-events:none;
  object-fit:contain;object-position:center center;
}
.login-maintenance-art.login-maintenance-art-locked{
  transition:opacity 1.05s ease-in-out;
}
.login-maintenance-art-fit.login-maintenance-chains-reveal .login-maintenance-art-unlocked{opacity:1}
.login-maintenance-art-fit.login-maintenance-chains-reveal .login-maintenance-art-locked{opacity:0}
.login-maintenance-banner,#login-maintenance-banner{position:relative}
.login-maintenance-screen.login-maintenance-handoff-out{
  opacity:1;transform:none;
  transition:none;
  pointer-events:none;
}
.login-entry-screen.login-entry-handoff-in{
  opacity:1;transform:none;
  transition:none;
}
.login-entry-screen.login-entry-handoff-in.is-visible{
  opacity:1;transform:none;
}
.login-maintenance-art-fit.login-maintenance-chains-cinematic{
  overflow:hidden!important;
}
.login-maintenance-art-fit.login-maintenance-collapse-active{
  perspective:1180px;
  perspective-origin:50% 24%;
}
.login-maintenance-collapse-under{
  position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;
}
.login-maintenance-collapse-under--hold{
  visibility:hidden!important;
  pointer-events:none!important;
}
.login-maintenance-collapse-under .login-maintenance-art{
  width:100%;height:100%;display:block;
  object-fit:fill;object-position:center center;
  image-rendering:pixelated;image-rendering:crisp-edges;
}
.login-maintenance-collapse-front{
  position:absolute;inset:0;z-index:12;pointer-events:none;overflow:hidden;
  transform-origin:50% 20%;
  backface-visibility:hidden;
  will-change:transform,opacity,filter;
}
.login-maintenance-collapse-front-art,
.login-maintenance-collapse-front .login-maintenance-art{
  width:100%;height:100%;display:block;
  object-fit:fill;object-position:center center;
  image-rendering:pixelated;image-rendering:crisp-edges;
}
.login-maintenance-collapse-front .login-maintenance-door-remaining{
  position:absolute;inset:0;z-index:2;pointer-events:none;
}
.login-maintenance-collapse-source-hidden{
  visibility:hidden!important;
}
.login-maintenance-collapse-front.is-snapping{
  animation:loginMaintenanceCollapseSnap .32s ease-in-out;
}
.login-maintenance-collapse-front.is-collapsing{
  animation:loginMaintenanceCollapseIn 1.72s cubic-bezier(.42,.02,.58,.98) forwards;
}
@keyframes loginMaintenanceCollapseSnap{
  0%,100%{transform:translate3d(0,0,0) rotateX(0deg)}
  22%{transform:translate3d(0,-10px,0) rotateX(1.4deg)}
  52%{transform:translate3d(0,6px,0) rotateX(-1deg)}
}
@keyframes loginMaintenanceCollapseIn{
  0%{
    transform:translate3d(0,0,0) rotateX(0deg) scale(1);
    opacity:1;filter:brightness(1) saturate(1);
  }
  14%{
    transform:translate3d(0,3px,0) rotateX(3deg) scale(.998);
  }
  32%{
    transform:translate3d(0,10px,0) rotateX(10deg) scale(.99);
    filter:brightness(.96) saturate(.98);
  }
  52%{
    transform:translate3d(0,24%,0) rotateX(30deg) scale(.93);
    opacity:.9;
  }
  72%{
    transform:translate3d(0,54%,0) rotateX(54deg) scale(.8);
    opacity:.45;
  }
  88%{
    transform:translate3d(0,86%,0) rotateX(68deg) scale(.66);
    opacity:.12;
  }
  100%{
    transform:translate3d(0,118%,0) rotateX(78deg) scale(.55);
    opacity:0;filter:brightness(.72) saturate(.86);
  }
}
.login-maintenance-art-fit.login-maintenance-chains-cinematic .login-maintenance-art,
.login-maintenance-art-fit.login-maintenance-chains-cinematic .login-maintenance-art-unlocked{
  image-rendering:pixelated;image-rendering:crisp-edges;
}
.login-door-sprite-layer{
  position:absolute;inset:0;pointer-events:none;z-index:16;overflow:hidden;
}
.login-door-sprite-piece{
  position:absolute;
  will-change:transform;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.48));
}
.login-door-sprite-piece--header-shard{
  filter:drop-shadow(0 6px 12px rgba(0,0,0,.42));
}
.login-door-sprite-piece--scene-shard{
  overflow:visible;
  filter:none!important;
}
.login-door-sprite-layer.is-falling .login-door-sprite-piece--scene-shard{
  animation:loginDoorSceneShardFall var(--fall-dur,1.92s) cubic-bezier(.34,.02,.52,.98) var(--fall-delay,0s) forwards;
}
.login-maintenance-art-fit.login-maintenance-chains-cinematic .login-maintenance-collapse-under,
.login-maintenance-art-fit.login-maintenance-chains-cinematic .login-maintenance-collapse-under .login-maintenance-art{
  filter:none!important;
  opacity:1!important;
}
.login-door-sprite-piece img{
  width:100%;height:100%;display:block;object-fit:fill;
  image-rendering:pixelated;image-rendering:crisp-edges;
}
.login-door-sprite-layer.is-snapping .login-door-sprite-piece{
  animation:loginDoorSpriteSnap .34s ease-in-out var(--fall-delay,0s);
}
.login-door-sprite-layer.is-falling .login-door-sprite-piece{
  animation:loginDoorSpriteFall var(--fall-dur,1.85s) linear var(--fall-delay,0s) forwards;
}
.login-door-sprite-layer.is-falling .login-door-sprite-piece--header-shard{
  animation:loginDoorHeaderShardFall var(--fall-dur,1.85s) linear var(--fall-delay,0s) forwards;
}
.login-maintenance-art-fit.login-maintenance-chains-snapping{
  animation:loginMaintenanceChainsShake .36s ease-in-out;
}
.login-maintenance-door-covers{
  position:absolute;inset:0;pointer-events:none;z-index:14;overflow:hidden;
}
.login-maintenance-art.login-entry-art-crossfade{
  position:absolute;left:0;top:0;width:100%;height:100%;opacity:1;transition:none;
  object-fit:fill;object-position:center center;pointer-events:none;
}
.login-maintenance-art.login-entry-art-crossfade.is-visible{opacity:1}
.login-maintenance-art.is-fading-out{opacity:1!important;transition:none!important}
.login-maintenance-art.login-entry-art-closed,
.login-maintenance-art-fit.login-maintenance-crossfade-entry .login-entry-art-closed,
.login-maintenance-art-fit.login-maintenance-crossfade-entry .login-maintenance-art:not(.login-entry-art-open){
  opacity:1!important;
  filter:none!important;
  visibility:visible!important;
  transition:none!important;
}
.login-maintenance-crossfade-entry .login-maintenance-art-locked{transition:none!important}
.login-maintenance-art-fit.login-maintenance-crossfade-entry,
.login-maintenance-art-fit.login-maintenance-crossfade-entry .login-maintenance-art-fit{
  filter:none!important;
}
.login-art-text-layer--hidden{opacity:0!important;pointer-events:none!important}
@keyframes loginMaintenanceChainsShake{
  0%,100%{transform:translate3d(0,0,0)}
  12%{transform:translate3d(-5px,2px,0)}
  28%{transform:translate3d(6px,-4px,0)}
  44%{transform:translate3d(-4px,2px,0)}
  60%{transform:translate3d(4px,-2px,0)}
  76%{transform:translate3d(-2px,1px,0)}
}
.login-door-remaining-piece{
  position:absolute;pointer-events:none;
  filter:drop-shadow(0 5px 10px rgba(0,0,0,.32));
}
.login-door-remaining-piece img{
  width:100%;height:100%;display:block;object-fit:fill;
  image-rendering:pixelated;image-rendering:crisp-edges;
}
.login-door-chain-cover{
  position:absolute;overflow:hidden;pointer-events:none;
  image-rendering:pixelated;image-rendering:crisp-edges;
}
.login-door-chain-cover img{
  position:absolute;display:block;object-fit:fill;
  image-rendering:pixelated;image-rendering:crisp-edges;
}
.login-door-chain-cover--patch img,
.login-door-chain-cover--sign img,
.login-door-chain-cover--chain img,
.login-door-chain-cover--header img{
  position:static;width:100%;height:100%;object-fit:fill;
}
.login-maintenance-art-fit.login-maintenance-chains-cinematic .login-maintenance-art-locked,
.login-maintenance-art-fit.login-maintenance-chains-cinematic .login-maintenance-art:not(.login-entry-art-open){
  transition:none!important;
}
.login-maintenance-art-fit.login-maintenance-chains-snapping .login-maintenance-art-locked,
.login-maintenance-art-fit.login-maintenance-chains-snapping .login-maintenance-art:not(.login-entry-art-open){
  filter:brightness(1.1) saturate(1.08);
  transition:filter .15s ease;
}
.login-maintenance-puzzle-cracks{
  position:absolute;inset:0;pointer-events:none;z-index:14;overflow:visible;
  mix-blend-mode:multiply;
}
.login-maintenance-puzzle-cracks svg{
  width:100%;height:100%;display:block;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));
}
.login-maintenance-crack-line{
  fill:none;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:1400;stroke-dashoffset:1400;opacity:0;
}
.login-maintenance-crack-line--main{
  stroke:rgba(6,4,3,.94);stroke-width:5;
  filter:drop-shadow(0 0 3px rgba(0,0,0,.45)) drop-shadow(0 0 8px rgba(255,210,160,.12));
}
.login-maintenance-crack-line--branch{
  stroke:rgba(18,12,8,.78);stroke-width:2.6;
  filter:drop-shadow(0 0 1px rgba(255,235,200,.18));
}
.login-maintenance-crack-line--glow{
  stroke:rgba(255,228,196,.22);stroke-width:9;
  filter:blur(1.5px);
}
.login-maintenance-crack-line.is-visible{
  stroke-dashoffset:0;opacity:1;
}
.login-maintenance-crack-line.is-revealing{
  opacity:1;
  animation:loginMaintenanceCrackDraw .95s cubic-bezier(.35,.05,.25,1) forwards;
  animation-delay:var(--crack-delay,0s);
}
.login-maintenance-art-fit.login-maintenance-cracks-reveal .login-maintenance-art-locked,
.login-maintenance-art-fit.login-maintenance-cracks-reveal .login-maintenance-art:not(.login-entry-art-open){
  filter:brightness(1.06) contrast(1.04) saturate(1.05);
  transition:filter .25s ease;
}
@keyframes loginMaintenanceCrackDraw{
  0%{stroke-dashoffset:1400;opacity:.2}
  15%{opacity:1}
  to{stroke-dashoffset:0;opacity:1}
}
@keyframes loginDoorSpriteSnap{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg)}
  20%{transform:translate3d(0,-10px,0) rotate(calc(var(--fall-spin,0deg)*-.04))}
  45%{transform:translate3d(0,4px,0) rotate(calc(var(--fall-spin,0deg)*.02))}
  70%{transform:translate3d(0,-2px,0) rotate(calc(var(--fall-spin,0deg)*-.01))}
}
@keyframes loginDoorSpriteFall{
  0%{transform:translate3d(0,0,0) rotate(0deg)}
  10%{transform:translate3d(calc(var(--fall-drift-px)*.05),calc(var(--fall-drop-px)*.03),0) rotate(calc(var(--fall-spin)*.04))}
  22%{transform:translate3d(calc(var(--fall-drift-px)*.12),calc(var(--fall-drop-px)*.09),0) rotate(calc(var(--fall-spin)*.1))}
  36%{transform:translate3d(calc(var(--fall-drift-px)*.22),calc(var(--fall-drop-px)*.18),0) rotate(calc(var(--fall-spin)*.18))}
  50%{transform:translate3d(calc(var(--fall-drift-px)*.34),calc(var(--fall-drop-px)*.32),0) rotate(calc(var(--fall-spin)*.3))}
  64%{transform:translate3d(calc(var(--fall-drift-px)*.5),calc(var(--fall-drop-px)*.5),0) rotate(calc(var(--fall-spin)*.46))}
  78%{transform:translate3d(calc(var(--fall-drift-px)*.7),calc(var(--fall-drop-px)*.72),0) rotate(calc(var(--fall-spin)*.66))}
  90%{transform:translate3d(calc(var(--fall-drift-px)*.86),calc(var(--fall-drop-px)*.88),0) rotate(calc(var(--fall-spin)*.82))}
  100%{transform:translate3d(var(--fall-drift-px),var(--fall-drop-px),0) rotate(var(--fall-spin))}
}
@keyframes loginDoorHeaderShardFall{
  0%{transform:translate3d(0,0,0) rotate(0deg)}
  8%{transform:translate3d(calc(var(--fall-drift-px)*.04),calc(var(--fall-drop-px)*.02),0) rotate(calc(var(--fall-spin)*.05))}
  18%{transform:translate3d(calc(var(--fall-drift-px)*.1),calc(var(--fall-drop-px)*.07),0) rotate(calc(var(--fall-spin)*.12))}
  30%{transform:translate3d(calc(var(--fall-drift-px)*.18),calc(var(--fall-drop-px)*.15),0) rotate(calc(var(--fall-spin)*.22))}
  44%{transform:translate3d(calc(var(--fall-drift-px)*.3),calc(var(--fall-drop-px)*.28),0) rotate(calc(var(--fall-spin)*.34))}
  58%{transform:translate3d(calc(var(--fall-drift-px)*.45),calc(var(--fall-drop-px)*.45),0) rotate(calc(var(--fall-spin)*.48))}
  72%{transform:translate3d(calc(var(--fall-drift-px)*.62),calc(var(--fall-drop-px)*.64),0) rotate(calc(var(--fall-spin)*.64))}
  86%{transform:translate3d(calc(var(--fall-drift-px)*.8),calc(var(--fall-drop-px)*.84),0) rotate(calc(var(--fall-spin)*.8))}
  100%{transform:translate3d(var(--fall-drift-px),var(--fall-drop-px),0) rotate(var(--fall-spin));opacity:1}
}
@keyframes loginDoorSceneShardFall{
  0%{transform:translate3d(0,0,0) rotate(0deg);opacity:1}
  8%{transform:translate3d(calc(var(--fall-drift-px)*.04),calc(var(--fall-drop-px)*.02),0) rotate(calc(var(--fall-spin)*.05));opacity:1}
  18%{transform:translate3d(calc(var(--fall-drift-px)*.1),calc(var(--fall-drop-px)*.07),0) rotate(calc(var(--fall-spin)*.12));opacity:1}
  30%{transform:translate3d(calc(var(--fall-drift-px)*.18),calc(var(--fall-drop-px)*.15),0) rotate(calc(var(--fall-spin)*.22));opacity:1}
  44%{transform:translate3d(calc(var(--fall-drift-px)*.3),calc(var(--fall-drop-px)*.28),0) rotate(calc(var(--fall-spin)*.34));opacity:1}
  58%{transform:translate3d(calc(var(--fall-drift-px)*.45),calc(var(--fall-drop-px)*.45),0) rotate(calc(var(--fall-spin)*.48));opacity:1}
  72%{transform:translate3d(calc(var(--fall-drift-px)*.62),calc(var(--fall-drop-px)*.64),0) rotate(calc(var(--fall-spin)*.64));opacity:1}
  86%{transform:translate3d(calc(var(--fall-drift-px)*.8),calc(var(--fall-drop-px)*.84),0) rotate(calc(var(--fall-spin)*.8));opacity:1}
  100%{transform:translate3d(var(--fall-drift-px),var(--fall-drop-px),0) rotate(var(--fall-spin));opacity:1}
}
.login-maintenance-door-remaining{
  position:absolute;inset:0;pointer-events:none;z-index:15;overflow:visible;
}
.login-door-sprite-layer.is-exiting{
  opacity:0;transition:opacity .2s ease;
}
.login-door-sprite-layer.is-exiting .login-door-sprite-piece{
  animation:none!important;opacity:0!important;
}
.login-maintenance-art-fit.login-maintenance-chains-cinematic .login-art-text-layer{
  opacity:0!important;pointer-events:none!important;
}
.login-maintenance-screen:has(.login-maintenance-chains-cinematic) .login-maintenance-copy{
  opacity:0;pointer-events:none;transition:opacity .45s ease;
}
.login-maintenance-screen.login-entry-screen .login-maintenance-copy,
.login-maintenance-screen:has(.login-maintenance-crossfade-entry) .login-maintenance-copy{
  opacity:1;pointer-events:auto;
}
.login-hotspot-sparkle-fx{
  position:absolute;left:var(--puz-x);top:var(--puz-y);width:48px;height:48px;margin:-24px 0 0 -24px;
  pointer-events:none;z-index:12;background:
    radial-gradient(circle at 30% 30%,#fde68a 0 2px,transparent 3px),
    radial-gradient(circle at 70% 40%,#fbbf24 0 2px,transparent 3px),
    radial-gradient(circle at 50% 70%,#fff 0 2px,transparent 3px);
  animation:loginSparklePop .9s ease forwards;
}
@keyframes loginHotspotGlow{
  0%,100%{filter:none}
  50%{filter:brightness(1.25)}
}
@keyframes loginSparklePop{
  0%{opacity:0;transform:scale(.3) rotate(0)}
  40%{opacity:1;transform:scale(1.2) rotate(20deg)}
  100%{opacity:0;transform:scale(1.6) rotate(45deg)}
}
.admin-hotspot-type-hint{margin:0;line-height:1.45;padding:6px 8px;border-radius:8px;background:rgba(96,165,250,.08);border:1px solid rgba(96,165,250,.15)}
.admin-hotspot-row-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.admin-hotspot-coords{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.admin-hotspot-coords label{display:flex;flex-direction:column;gap:2px}
.admin-input-num{max-width:100%}

/* ── Open World (RPG-Maker-Style) ── */
#screen-openworld{padding:8px 10px 16px;max-width:min(100%,1100px);margin:0 auto;width:100%}
#screen-openworld.ow-fullscreen{
  position:fixed;inset:0;z-index:9000;max-width:none;margin:0;padding:8px;
  background:rgba(6,8,16,.96);backdrop-filter:blur(8px);
}
#screen-openworld.ow-fullscreen .ow-screen{height:calc(100dvh - 16px);max-height:none}
#screen-openworld.ow-fullscreen .ow-canvas-wrap{flex:1;max-height:none;min-height:0;aspect-ratio:auto}
.ow-screen{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:16px;position:relative;min-height:min(88vh,820px)}
.ow-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-shrink:0}
.ow-map-title{margin:0;font-size:1.05rem}
.ow-topbar-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.ow-canvas-wrap{
  position:relative;width:100%;flex:1;min-height:420px;
  border-radius:12px;overflow:hidden;border:2px solid rgba(255,255,255,.08);background:#1a2e1a;
}
.ow-biome-banner{
  position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:18;
  pointer-events:none;padding:6px 16px;border-radius:999px;
  font-size:.82rem;font-weight:700;letter-spacing:.04em;color:#f1f5f9;
  background:rgba(8,12,20,.78);border:1px solid rgba(255,255,255,.14);
  box-shadow:0 4px 18px rgba(0,0,0,.35);backdrop-filter:blur(6px);
  transition:opacity .2s ease;
}
.ow-biome-banner.hidden{display:none}
.ow-world-event{
  position:absolute;top:46px;left:50%;transform:translateX(-50%);z-index:18;
  pointer-events:none;padding:5px 14px;border-radius:999px;
  font-size:.74rem;font-weight:700;letter-spacing:.03em;color:#fef3c7;
  background:linear-gradient(180deg,rgba(120,72,10,.82),rgba(70,42,6,.86));
  border:1px solid rgba(251,191,36,.45);
  box-shadow:0 4px 18px rgba(0,0,0,.4),0 0 22px rgba(251,191,36,.18);
  backdrop-filter:blur(6px);white-space:nowrap;max-width:92%;
  overflow:hidden;text-overflow:ellipsis;
}
.ow-world-event.hidden{display:none}
.ow-hud{
  position:absolute;top:8px;left:8px;z-index:28;max-width:min(280px,42vw);
  display:flex;flex-direction:column;gap:6px;pointer-events:none;
}
.ow-hud.hidden{display:none}
.ow-hud-card{
  padding:8px 10px;border-radius:12px;
  background:rgba(8,12,20,.82);border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(6px);box-shadow:0 4px 18px rgba(0,0,0,.35);
}
.ow-hud-card.is-me{border-color:rgba(212,175,55,.35)}
.ow-hud-main{display:flex;gap:8px;align-items:flex-start}
.ow-hud-avatar,.ow-hud-avatar-fallback{
  width:40px;height:40px;border-radius:10px;flex-shrink:0;
  object-fit:cover;border:1px solid rgba(212,175,55,.28);
}
.ow-hud-avatar-fallback{display:flex;align-items:center;justify-content:center;font-size:1.2rem;background:rgba(255,255,255,.06)}
.ow-hud-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ow-hud-name{font-weight:800;font-size:.82rem;line-height:1.15}
.ow-hud-status{margin-top:2px;flex-wrap:wrap;gap:3px}
.ow-hud-pet{margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.08)}
.ow-hud-pet-head{display:flex;align-items:center;gap:4px;font-size:.72rem;font-weight:700;margin-bottom:2px}
.ow-hud-pet-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ow-hud-party{display:flex;flex-direction:column;gap:6px;max-height:min(42vh,320px);overflow-y:auto;scrollbar-width:thin}
.ow-ctx-btn.is-disabled,.ow-ctx-btn:disabled{opacity:.45;cursor:not-allowed}
.ow-canvas{display:block;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;background:#1a2e1a;touch-action:none}
.ow-minimap-wrap{
  position:absolute;top:10px;right:10px;z-index:30;
  width:120px;height:120px;border-radius:10px;
  border:2px solid rgba(120,170,120,.45);
  background:rgba(8,14,8,.88);backdrop-filter:blur(6px);
  box-shadow:0 4px 18px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.06);
  pointer-events:auto;overflow:hidden;
}
.ow-minimap-wrap.hidden{display:none}
.ow-minimap{
  display:block;width:100%;height:100%;
  image-rendering:pixelated;image-rendering:crisp-edges;
  pointer-events:none;
}
.ow-minimap-controls{
  position:absolute;top:4px;left:4px;display:flex;gap:3px;z-index:2;
}
.ow-minimap-btn{
  width:22px;height:20px;padding:0;border-radius:5px;
  border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.45);
  color:#fff;font-size:.72rem;font-weight:700;line-height:1;cursor:pointer;
}
.ow-minimap-btn:hover{background:rgba(255,255,255,.15)}
.ow-minimap-resize{
  position:absolute;right:2px;bottom:2px;width:14px;height:14px;z-index:2;
  cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,rgba(255,255,255,.35) 50%);
  border-radius:0 0 6px 0;
}
.ow-status{margin:0;text-align:center;flex-shrink:0}
.ow-char-editor{
  position:absolute;inset:12px;z-index:20;overflow:auto;padding:14px;
  display:flex;flex-direction:column;gap:10px;
}
.ow-char-presets{display:flex;flex-wrap:wrap;gap:6px}
.ow-char-preview-wrap{display:flex;justify-content:center;padding:8px;background:rgba(0,0,0,.25);border-radius:12px}
#ow-char-preview{image-rendering:pixelated;background:repeating-conic-gradient(#334 0% 25%,#223 0% 50%) 0 0/16px 16px;border-radius:8px}
.ow-char-editor-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ow-mobile-pad{
  display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto auto;gap:6px;
  justify-items:center;align-items:center;max-width:220px;margin:0 auto;
}
.ow-pad-row{display:flex;gap:6px;grid-column:1/-1}
.ow-pad-btn{
  width:52px;height:44px;border-radius:10px;border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.08);color:#fff;font-size:1rem;cursor:pointer;
}
.ow-pad-action{font-size:1.1rem}
.ow-pad-pickup{grid-column:3;justify-self:end;width:44px;height:44px}
.ow-dialog{
  position:absolute;left:50%;bottom:16px;transform:translateX(-50%);
  width:min(92%,420px);padding:12px 14px;z-index:5;
}
.ow-dialog-label{font-weight:700;margin-bottom:6px}
.ow-dialog-text{margin:0 0 10px;line-height:1.45;white-space:pre-line}
.ow-dialog-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.ow-dialog-actions .btn-success{background:linear-gradient(135deg,#22c55e,#15803d);border-color:rgba(34,197,94,.4)}
.ow-dialog-actions .btn-success:disabled{opacity:.55}
.ow-admin-editor{display:flex;flex-direction:column;gap:10px}
.ow-ed-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.ow-ed-tools,.ow-ed-palette{display:flex;flex-wrap:wrap;gap:6px}
.ow-ed-palette .ow-ed-tile{
  width:36px;height:36px;border-radius:8px;border:2px solid rgba(255,255,255,.2);
  color:#fff;font-weight:700;cursor:pointer;
}
.ow-ed-palette .ow-ed-tile.is-active{border-color:#fbbf24;box-shadow:0 0 0 2px rgba(251,191,36,.35)}
.ow-ed-main-layout{display:flex;gap:10px;align-items:flex-start;min-height:500px}
.ow-ed-canvas-wrap{flex:1;border-radius:12px;overflow:auto;border:1px solid rgba(255,255,255,.1);background:#0f172a;min-width:0}
.ow-ed-props{
  width:220px;flex-shrink:0;border-radius:12px;min-height:200px;
  border:1px solid rgba(255,255,255,.1);background:rgba(15,23,42,.85);
  overflow-y:auto;
}
.ow-ed-props .ow-sb-field{display:flex;flex-direction:column;gap:2px;font-size:.78rem;color:rgba(255,255,255,.65)}
.ow-ed-props .ow-sb-input{padding:4px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);color:#fff;font-size:.82rem;width:100%}
.ow-ed-props .ow-sb-textarea{resize:vertical;min-height:56px}
#ow-ed-canvas{display:block;width:100%;image-rendering:pixelated;cursor:crosshair}
.ow-sandbox-bar{
  position:absolute;left:10px;right:10px;bottom:10px;z-index:20;
  padding:10px 12px;
  max-height:min(48vh,380px);overflow-y:auto;
  border:1px solid rgba(251,191,36,.25);box-shadow:0 8px 32px rgba(0,0,0,.45);
}
.ow-sandbox-layout{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}
.ow-sandbox-main{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:8px}
.ow-sandbox-props{
  flex:0 1 240px;min-width:200px;max-width:100%;
  padding:10px 12px;border-radius:10px;
  background:rgba(15,23,42,.75);border:1px solid rgba(56,189,248,.2);
  display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto;
}
.ow-sb-props-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.ow-sb-field{display:flex;flex-direction:column;gap:3px;font-size:.72rem;color:rgba(255,255,255,.75)}
.ow-sb-input{
  padding:6px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.15);
  background:rgba(0,0,0,.35);color:#fff;font-size:.78rem;width:100%;
}
.ow-sb-input-sm{max-width:4rem}
.ow-sb-textarea{resize:vertical;min-height:56px;font-family:inherit}
.ow-sb-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.ow-sb-enc-head{display:flex;align-items:center;justify-content:space-between;gap:6px}
.ow-sb-enc-row{display:grid;grid-template-columns:1fr 44px 44px 44px 28px;gap:4px;align-items:center;margin-bottom:4px}
.ow-sb-enc-row .ow-sb-input{padding:4px 6px;font-size:.7rem}
.ow-sandbox-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}
.ow-sandbox-tools,.ow-sandbox-palette{display:flex;flex-wrap:wrap;gap:6px}
.ow-sandbox-palette .ow-sb-tile{
  width:34px;height:34px;border-radius:8px;border:2px solid rgba(255,255,255,.25);
  color:#fff;font-weight:700;font-size:.72rem;cursor:pointer;
}
.ow-sandbox-palette .ow-sb-tile.is-active{border-color:#fbbf24;box-shadow:0 0 0 2px rgba(251,191,36,.35)}
.ow-sandbox-actions{display:flex;gap:8px;flex-wrap:wrap}
.ow-sandbox-status{margin:0}
.ow-canvas-wrap.ow-sandbox-mode .ow-canvas{cursor:crosshair}
@media(min-width:720px){
  .ow-mobile-pad{display:none}
}

/* ─── Mobile Fallback: schmaler Viewport (nur echtes Mobile, nie Desktop-UA) ─── */
@media(max-width:900px){
  html:not([data-desktop-web="1"]):not(.flix-rpg-pc-scale) #app{max-width:none!important;width:100%!important;margin:0!important;}
  html:not([data-desktop-web="1"]):not(.flix-rpg-pc-scale) .top-bar{max-width:none!important;width:100%!important;margin-inline:0!important;transform:none!important;}
  html:not([data-desktop-web="1"]) #hub-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;display:grid!important;gap:10px!important;}
  html:not([data-desktop-web="1"]) .hub-grid-icon{width:28px!important;height:28px!important;max-width:28px!important;max-height:28px!important;}
  html:not([data-desktop-web="1"]) #screen-hub:not(.hidden){display:flex!important;flex-direction:column!important;flex:1 1 auto!important;}
  html:not([data-desktop-web="1"]) .hub-grid-btn.locked{display:flex!important;opacity:.42;filter:grayscale(.7);cursor:not-allowed;}
  html:not([data-desktop-web="1"]) .hub-grid-btn.locked .hub-grid-soon{opacity:0;transform:translateX(-50%) translateY(6px);}
  html:not([data-desktop-web="1"]) .hub-grid-btn.locked.hub-grid-soon-open .hub-grid-soon{opacity:1;transform:translateX(-50%) translateY(0);}
  /* Login/Start/Wartung: volles Bild mittig (contain) */
  html:not([data-desktop-web="1"]) #screen-login,html:not([data-desktop-web="1"]) #screen-mode{background:#060810!important;}
  html:not([data-desktop-web="1"]) #screen-login.login-entry-active:not(.hidden),html:not([data-desktop-web="1"]) #screen-mode.mode-entry-active:not(.hidden),
  html:not([data-desktop-web="1"]) #screen-login.login-maintenance-active:not(.hidden){
    position:fixed!important;inset:0!important;z-index:99990!important;
    width:100vw!important;height:100dvh!important;overflow:hidden!important;
    display:flex!important;flex-direction:column!important;
  }
  html:not([data-desktop-web="1"]) body.login-maintenance-active #app,html:not([data-desktop-web="1"]) body.login-entry-active #app,html:not([data-desktop-web="1"]) body.mode-entry-active #app{
    padding:0!important;margin:0!important;max-width:none!important;width:100%!important;
  }
  html:not([data-desktop-web="1"]) .login-maintenance-screen{
    display:flex!important;flex-direction:column!important;
    width:100%!important;height:100%!important;flex:1 1 auto!important;
  }
  html:not([data-desktop-web="1"]) .login-maintenance-art-stage{
    position:absolute!important;inset:0!important;
    width:100%!important;height:100%!important;overflow:hidden!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
  }
  html:not([data-desktop-web="1"]) .login-maintenance-art-frame{
    width:100%!important;height:100%!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
  }
  html:not([data-desktop-web="1"]) .login-maintenance-art-fit{
    width:100%!important;height:auto!important;max-width:100%!important;max-height:100%!important;
    aspect-ratio:1536/1024!important;align-self:center!important;flex:0 1 auto!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
  }
  html:not([data-desktop-web="1"]) .login-maintenance-art,html:not([data-desktop-web="1"]) .login-entry-art-open,html:not([data-desktop-web="1"]) .login-entry-art-closed{
    object-fit:contain!important;object-position:center center!important;
    width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  }
}

/* Login/Mode nach Einstieg immer tot — auch wenn Entry-Klassen oder portierte Hotspot-Tips hängen bleiben. */
html #screen-login.hidden,
html #screen-mode.hidden{
  display:none!important;
  pointer-events:none!important;
  visibility:hidden!important;
  z-index:-1!important;
}
body:not(.screen-login):not(.screen-mode) .login-maintenance-hotspot-tip.is-portaled,
body:not(.screen-login):not(.screen-mode) .login-maintenance-door-bubble.is-portaled,
body:not(.screen-login):not(.screen-mode) .login-maintenance-hotspot-tip[data-fixed-tip],
body:not(.screen-login):not(.screen-mode) .login-maintenance-door-bubble[data-fixed-tip],
body:not(.screen-login):not(.screen-mode) > .login-maintenance-hotspot-tip,
body:not(.screen-login):not(.screen-mode) > .login-maintenance-door-bubble{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* APK + Mobile-Shell: immer Vollbild — auch bei breitem Viewport / Landscape.
   Unter PC-Scale: Maße/transform setzt JS — width:100% würde Stage oben-links quetschen. */
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) #app,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) #app,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) #app,
html.abenteuer-app:not(.flix-rpg-pc-scale) #app{
  max-width:none!important;width:100%!important;margin:0!important;
  min-height:100dvh!important;box-sizing:border-box!important;
}
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) .top-bar,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) .top-bar,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) .top-bar,
html.abenteuer-app:not(.flix-rpg-pc-scale) .top-bar{
  max-width:none!important;width:100%!important;margin-inline:0!important;transform:none!important;
}
html[data-abenteuer-apk="1"] #hub-nav-grid,
html[data-mobile-shell="1"] #hub-nav-grid,
html.flix-rpg-mobile #hub-nav-grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;
}
@media(min-width:480px){
  html[data-abenteuer-apk="1"] #hub-nav-grid,
  html[data-mobile-shell="1"] #hub-nav-grid,
  html.flix-rpg-mobile #hub-nav-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
html[data-abenteuer-apk="1"] .hub-grid-icon,
html[data-mobile-shell="1"] .hub-grid-icon,
html.flix-rpg-mobile .hub-grid-icon{
  width:28px!important;height:28px!important;max-width:28px!important;max-height:28px!important;
}
html[data-abenteuer-apk="1"] body.login-maintenance-active,
html[data-abenteuer-apk="1"] body.login-entry-active,
html[data-abenteuer-apk="1"] body.mode-entry-active,
html[data-mobile-shell="1"] body.login-maintenance-active,
html[data-mobile-shell="1"] body.login-entry-active,
html[data-mobile-shell="1"] body.mode-entry-active,
html.flix-rpg-mobile body.login-maintenance-active,
html.flix-rpg-mobile body.login-entry-active,
html.flix-rpg-mobile body.mode-entry-active{
  overflow:hidden!important;
}
html[data-abenteuer-apk="1"] body.login-maintenance-active #app,
html[data-abenteuer-apk="1"] body.login-entry-active #app,
html[data-abenteuer-apk="1"] body.mode-entry-active #app,
html[data-mobile-shell="1"] body.login-maintenance-active #app,
html[data-mobile-shell="1"] body.login-entry-active #app,
html[data-mobile-shell="1"] body.mode-entry-active #app,
html.flix-rpg-mobile body.login-maintenance-active #app,
html.flix-rpg-mobile body.login-entry-active #app,
html.flix-rpg-mobile body.mode-entry-active #app{
  padding:0!important;margin:0!important;max-width:none!important;width:100%!important;
}
html[data-abenteuer-apk="1"] body.login-maintenance-active #screen-login,
html[data-abenteuer-apk="1"] body.login-entry-active #screen-login,
html[data-mobile-shell="1"] body.login-maintenance-active #screen-login,
html[data-mobile-shell="1"] body.login-entry-active #screen-login,
html.flix-rpg-mobile body.login-maintenance-active #screen-login,
html.flix-rpg-mobile body.login-entry-active #screen-login,
html[data-abenteuer-apk="1"] #screen-login.login-maintenance-active,
html[data-abenteuer-apk="1"] #screen-login.login-entry-active,
html[data-mobile-shell="1"] #screen-login.login-maintenance-active,
html[data-mobile-shell="1"] #screen-login.login-entry-active,
html.flix-rpg-mobile #screen-login.login-maintenance-active,
html.flix-rpg-mobile #screen-login.login-entry-active,
html[data-abenteuer-apk="1"] #screen-mode.mode-entry-active,
html[data-mobile-shell="1"] #screen-mode.mode-entry-active,
html.flix-rpg-mobile #screen-mode.mode-entry-active{
  position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;
  max-width:none!important;margin:0!important;padding:0!important;z-index:99990!important;
  overflow:hidden!important;display:flex!important;flex-direction:column!important;
  background:#060810!important;
}
html[data-abenteuer-apk="1"] .login-maintenance-art-stage,
html[data-mobile-shell="1"] .login-maintenance-art-stage,
html.flix-rpg-mobile .login-maintenance-art-stage{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
html[data-abenteuer-apk="1"] .login-maintenance-art-frame,
html[data-mobile-shell="1"] .login-maintenance-art-frame,
html.flix-rpg-mobile .login-maintenance-art-frame{
  width:100%!important;height:100%!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
html.flix-rpg-mobile .login-maintenance-art-fit,
html[data-mobile-shell="1"] .login-maintenance-art-fit,
html[data-abenteuer-apk="1"] .login-maintenance-art-fit{
  width:min(100%,calc(100dvh * 1536 / 1024))!important;height:auto!important;max-width:100%!important;max-height:100%!important;
  aspect-ratio:1536/1024!important;flex:0 1 auto!important;align-self:center!important;margin:auto!important;
  display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;
}
html[data-abenteuer-apk="1"] .login-maintenance-art,
html[data-abenteuer-apk="1"] .login-maintenance-art-unlocked,
html[data-abenteuer-apk="1"] .login-entry-art-open,
html[data-abenteuer-apk="1"] .login-entry-art-closed,
html[data-mobile-shell="1"] .login-maintenance-art,
html[data-mobile-shell="1"] .login-maintenance-art-unlocked,
html[data-mobile-shell="1"] .login-entry-art-open,
html[data-mobile-shell="1"] .login-entry-art-closed,
html.flix-rpg-mobile .login-maintenance-art,
html.flix-rpg-mobile .login-maintenance-art-unlocked,
html.flix-rpg-mobile .login-entry-art-open,
html.flix-rpg-mobile .login-entry-art-closed{
  object-fit:contain!important;object-position:center center!important;
  width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
}
html.flix-rpg-mobile body.screen-login #app,
html.flix-rpg-mobile body.screen-mode #app,
html[data-mobile-shell="1"] body.screen-login #app,
html[data-mobile-shell="1"] body.screen-mode #app,
html[data-abenteuer-apk="1"] body.screen-login #app,
html[data-abenteuer-apk="1"] body.screen-mode #app{
  padding:0!important;margin:0!important;max-width:none!important;width:100%!important;
}
html.flix-rpg-mobile .login-maintenance-collapse-under .login-maintenance-art,
html.flix-rpg-mobile .login-maintenance-collapse-under .login-maintenance-art-unlocked,
html.flix-rpg-mobile .login-maintenance-collapse-front .login-maintenance-art,
html.flix-rpg-mobile .login-maintenance-collapse-front-art,
html.flix-rpg-mobile .login-maintenance-collapse-front .login-maintenance-door-remaining img,
html[data-mobile-shell="1"] .login-maintenance-collapse-under .login-maintenance-art,
html[data-mobile-shell="1"] .login-maintenance-collapse-under .login-maintenance-art-unlocked,
html[data-mobile-shell="1"] .login-maintenance-collapse-front .login-maintenance-art,
html[data-mobile-shell="1"] .login-maintenance-collapse-front-art,
html[data-mobile-shell="1"] .login-maintenance-collapse-front .login-maintenance-door-remaining img,
html[data-abenteuer-apk="1"] .login-maintenance-collapse-under .login-maintenance-art,
html[data-abenteuer-apk="1"] .login-maintenance-collapse-under .login-maintenance-art-unlocked,
html[data-abenteuer-apk="1"] .login-maintenance-collapse-front .login-maintenance-art,
html[data-abenteuer-apk="1"] .login-maintenance-collapse-front-art,
html[data-abenteuer-apk="1"] .login-maintenance-collapse-front .login-maintenance-door-remaining img,
html.abenteuer-app .login-maintenance-collapse-under .login-maintenance-art,
html.abenteuer-app .login-maintenance-collapse-under .login-maintenance-art-unlocked,
html.abenteuer-app .login-maintenance-collapse-front .login-maintenance-art,
html.abenteuer-app .login-maintenance-collapse-front-art,
html.abenteuer-app .login-maintenance-collapse-front .login-maintenance-door-remaining img{
  object-fit:contain!important;object-position:center center!important;
}

/* ── Open World: Mobile/APK Vollbild, kein Versatz ── */
html.flix-rpg-mobile #screen-openworld,
html[data-mobile-shell="1"] #screen-openworld,
html[data-abenteuer-apk="1"] #screen-openworld,
html.abenteuer-app #screen-openworld{
  padding:0!important;max-width:none!important;margin:0!important;width:100%!important;
}
html.flix-rpg-mobile #screen-openworld .ow-screen,
html[data-mobile-shell="1"] #screen-openworld .ow-screen,
html[data-abenteuer-apk="1"] #screen-openworld .ow-screen,
html.abenteuer-app #screen-openworld .ow-screen{
  min-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
  height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
  max-height:none;padding:6px 4px;border-radius:0;gap:4px;
}
html.flix-rpg-mobile .ow-canvas-wrap,
html[data-mobile-shell="1"] .ow-canvas-wrap,
html[data-abenteuer-apk="1"] .ow-canvas-wrap,
html.abenteuer-app .ow-canvas-wrap{
  flex:1 1 auto;min-height:0;aspect-ratio:unset;border-radius:8px;
}
html.flix-rpg-mobile #screen-openworld.ow-fullscreen,
html[data-mobile-shell="1"] #screen-openworld.ow-fullscreen,
html[data-abenteuer-apk="1"] #screen-openworld.ow-fullscreen{
  position:fixed;inset:0;z-index:9000;padding:0!important;
}

/* Mobile/APK Login/Wartung/Modus: volles Bild mittig (contain) */
@media (max-width:768px){
  html.flix-rpg-mobile #screen-login.login-entry-active .login-maintenance-art-stage,
  html.flix-rpg-mobile #screen-login.login-maintenance-active .login-maintenance-art-stage,
  html.flix-rpg-mobile #screen-mode.mode-entry-active .login-maintenance-art-stage,
  html.flix-rpg-mobile body.login-entry-door-reveal .login-maintenance-art-stage,
  html[data-mobile-shell="1"] #screen-login.login-entry-active .login-maintenance-art-stage,
  html[data-mobile-shell="1"] #screen-login.login-maintenance-active .login-maintenance-art-stage,
  html[data-mobile-shell="1"] #screen-mode.mode-entry-active .login-maintenance-art-stage,
  html[data-abenteuer-apk="1"] #screen-login.login-entry-active .login-maintenance-art-stage,
  html[data-abenteuer-apk="1"] #screen-login.login-maintenance-active .login-maintenance-art-stage,
  html[data-abenteuer-apk="1"] #screen-mode.mode-entry-active .login-maintenance-art-stage,
  html.abenteuer-app #screen-login.login-entry-active .login-maintenance-art-stage,
  html.abenteuer-app #screen-login.login-maintenance-active .login-maintenance-art-stage,
  html.abenteuer-app #screen-mode.mode-entry-active .login-maintenance-art-stage{
    position:absolute!important;inset:0!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
  }
  html.flix-rpg-mobile #screen-login.login-entry-active .login-maintenance-art-frame,
  html.flix-rpg-mobile #screen-login.login-maintenance-active .login-maintenance-art-frame,
  html.flix-rpg-mobile #screen-mode.mode-entry-active .login-maintenance-art-frame,
  html[data-mobile-shell="1"] #screen-login.login-entry-active .login-maintenance-art-frame,
  html[data-mobile-shell="1"] #screen-login.login-maintenance-active .login-maintenance-art-frame,
  html[data-mobile-shell="1"] #screen-mode.mode-entry-active .login-maintenance-art-frame,
  html[data-abenteuer-apk="1"] #screen-login.login-entry-active .login-maintenance-art-frame,
  html[data-abenteuer-apk="1"] #screen-login.login-maintenance-active .login-maintenance-art-frame,
  html[data-abenteuer-apk="1"] #screen-mode.mode-entry-active .login-maintenance-art-frame,
  html.abenteuer-app #screen-login.login-entry-active .login-maintenance-art-frame,
  html.abenteuer-app #screen-login.login-maintenance-active .login-maintenance-art-frame,
  html.abenteuer-app #screen-mode.mode-entry-active .login-maintenance-art-frame{
    width:100%!important;height:100%!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
  }
  html.flix-rpg-mobile #screen-login.login-entry-active .login-maintenance-art-fit,
  html.flix-rpg-mobile #screen-login.login-maintenance-active .login-maintenance-art-fit,
  html.flix-rpg-mobile #screen-mode.mode-entry-active .login-maintenance-art-fit,
  html[data-mobile-shell="1"] #screen-login.login-entry-active .login-maintenance-art-fit,
  html[data-mobile-shell="1"] #screen-login.login-maintenance-active .login-maintenance-art-fit,
  html[data-mobile-shell="1"] #screen-mode.mode-entry-active .login-maintenance-art-fit,
  html[data-abenteuer-apk="1"] #screen-login.login-entry-active .login-maintenance-art-fit,
  html[data-abenteuer-apk="1"] #screen-login.login-maintenance-active .login-maintenance-art-fit,
  html[data-abenteuer-apk="1"] #screen-mode.mode-entry-active .login-maintenance-art-fit,
  html.abenteuer-app #screen-login.login-entry-active .login-maintenance-art-fit,
  html.abenteuer-app #screen-login.login-maintenance-active .login-maintenance-art-fit,
  html.abenteuer-app #screen-mode.mode-entry-active .login-maintenance-art-fit{
    width:100%!important;height:auto!important;max-width:100%!important;max-height:100%!important;
    aspect-ratio:1536/1024!important;margin:0!important;align-self:center!important;flex:0 1 auto!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
  }
  html.flix-rpg-mobile #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html.flix-rpg-mobile #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html.flix-rpg-mobile #screen-login.login-entry-active .login-maintenance-art-fit .login-entry-art-open,
  html.flix-rpg-mobile #screen-login.login-entry-active .login-maintenance-art-fit .login-entry-art-closed,
  html.flix-rpg-mobile #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art,
  html.flix-rpg-mobile #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html.flix-rpg-mobile #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html.flix-rpg-mobile #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html.flix-rpg-mobile #screen-mode.mode-entry-active .login-maintenance-art-fit .login-entry-art-open,
  html.flix-rpg-mobile #screen-mode.mode-entry-active .login-maintenance-art-fit .login-entry-art-closed,
  html.flix-rpg-mobile body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art,
  html.flix-rpg-mobile body.login-entry-door-reveal .login-maintenance-art-fit .login-entry-art-open,
  html.flix-rpg-mobile body.login-entry-door-reveal .login-maintenance-art-fit .login-entry-art-closed,
  html.flix-rpg-mobile .login-entry-art-open,
  html.flix-rpg-mobile .login-entry-art-closed,
  html[data-mobile-shell="1"] #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html[data-mobile-shell="1"] #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html[data-mobile-shell="1"] #screen-login.login-entry-active .login-maintenance-art-fit .login-entry-art-open,
  html[data-mobile-shell="1"] #screen-login.login-entry-active .login-maintenance-art-fit .login-entry-art-closed,
  html[data-mobile-shell="1"] #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art,
  html[data-mobile-shell="1"] #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html[data-mobile-shell="1"] #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html[data-mobile-shell="1"] #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html[data-mobile-shell="1"] #screen-mode.mode-entry-active .login-maintenance-art-fit .login-entry-art-open,
  html[data-mobile-shell="1"] body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art,
  html[data-mobile-shell="1"] body.login-entry-door-reveal .login-maintenance-art-fit .login-entry-art-open,
  html[data-abenteuer-apk="1"] #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html[data-abenteuer-apk="1"] #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html[data-abenteuer-apk="1"] #screen-login.login-entry-active .login-maintenance-art-fit .login-entry-art-open,
  html[data-abenteuer-apk="1"] #screen-login.login-entry-active .login-maintenance-art-fit .login-entry-art-closed,
  html[data-abenteuer-apk="1"] #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art,
  html[data-abenteuer-apk="1"] #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html[data-abenteuer-apk="1"] #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html[data-abenteuer-apk="1"] #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html[data-abenteuer-apk="1"] #screen-mode.mode-entry-active .login-maintenance-art-fit .login-entry-art-open,
  html[data-abenteuer-apk="1"] body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art,
  html[data-abenteuer-apk="1"] body.login-entry-door-reveal .login-maintenance-art-fit .login-entry-art-open,
  html[data-abenteuer-apk="1"] body.login-entry-door-reveal .login-maintenance-art-fit .login-entry-art-closed,
  html.abenteuer-app #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html.abenteuer-app #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html.abenteuer-app #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art,
  html.abenteuer-app #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art-unlocked,
  html.abenteuer-app #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art,
  html.abenteuer-app #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art-unlocked{
    object-fit:contain!important;object-position:center center!important;
    width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  }
}

/* ════════════════════════════════════════
   Open-World Menu Buttons
════════════════════════════════════════ */
.ow-menu-btn{font-size:.72rem;padding:4px 8px;white-space:nowrap}
@media(max-width:640px){.ow-menu-btn span.ow-menu-label{display:none}}

/* ════════════════════════════════════════
   Open-World Modals
════════════════════════════════════════ */
.ow-modal-overlay{
  position:absolute;inset:0;z-index:200;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.65);backdrop-filter:blur(4px);
  border-radius:12px;
}
.ow-modal-overlay.hidden{display:none}
.ow-modal-box{
  width:min(520px,94%);max-height:80vh;
  display:flex;flex-direction:column;
  border-radius:18px;overflow:hidden;
  border:1.5px solid rgba(255,255,255,.12);
  background:linear-gradient(160deg,rgba(18,20,36,.97) 0%,rgba(10,14,28,.97) 100%);
  box-shadow:0 24px 60px rgba(0,0,0,.7);
  animation:owModalIn .18s ease;
}
.ow-modal-box.ow-modal-wide{
  width:min(920px,96vw);max-height:min(88vh,780px);
}
.ow-modal-body.ow-panel-host{
  padding:0;gap:0;overflow-x:hidden;overflow-y:auto;
  display:block;min-height:0;max-height:min(72vh,680px);
  -webkit-overflow-scrolling:touch;
}
.ow-modal-body.ow-panel-host .tree-panel-body,
.ow-modal-body.ow-panel-host .panel-scroll-body,
.ow-modal-body.ow-panel-host .profil-scroll-body{
  min-height:0;
}
.ow-modal-body.ow-panel-host .tree-scroll,
.ow-modal-body.ow-panel-host .shop-scroll-wrap,
.ow-modal-body.ow-panel-host .cos-scroll-wrap,
.ow-modal-body.ow-panel-host .craft-recipe-scroll-wrap{
  max-height:min(52vh,480px);overflow-y:auto;
}
.ow-modal-body.ow-panel-host.panel-skills .tree-scroll,
.ow-modal-body.ow-panel-host.panel-profession .tree-scroll{
  max-height:min(48vh,440px);
}
.ow-modal-body.ow-panel-host .inv-workshop,
.ow-modal-body.ow-panel-host .shop-workshop,
.ow-modal-body.ow-panel-host .craft-workshop{
  min-height:0;
}
.ow-modal-body.ow-panel-host .inv-scroll-wrap,
.ow-modal-body.ow-panel-host .shop-scroll-wrap,
.ow-modal-body.ow-panel-host .craft-recipe-scroll-wrap{
  max-height:min(58vh,520px);overflow-y:auto;
}
.ow-modal-body.ow-panel-host.card.panel-card{
  border:none;background:transparent;box-shadow:none;
}
@keyframes owModalIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
.ow-modal-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px 12px;border-bottom:1px solid rgba(255,255,255,.08);
  flex-shrink:0;
}
.ow-modal-title{font-size:1.05rem;font-weight:700;letter-spacing:.02em}
.ow-modal-close-btn{font-size:.9rem;padding:4px 8px;opacity:.7}
.ow-modal-body{
  flex:1;overflow-y:auto;padding:16px 18px;
  display:flex;flex-direction:column;gap:12px;
}
.ow-context-menu{
  position:fixed;z-index:12050;min-width:200px;max-width:260px;
  padding:6px 0;border-radius:12px;
  background:rgba(12,18,28,.96);border:1px solid rgba(255,255,255,.12);
  box-shadow:0 12px 40px rgba(0,0,0,.45);backdrop-filter:blur(10px);
}
.ow-context-menu.hidden{display:none}
.ow-ctx-title{
  padding:8px 14px 6px;font-size:.78rem;font-weight:700;color:#e2e8f0;
  border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:4px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.ow-ctx-body{display:flex;flex-direction:column}
.ow-ctx-btn{
  display:block;width:100%;text-align:left;padding:9px 14px;border:none;background:transparent;
  color:#e2e8f0;font-size:.82rem;cursor:pointer;
}
.ow-ctx-btn:hover,.ow-ctx-btn:focus{background:rgba(99,102,241,.18);outline:none}
.ow-ctx-btn.hidden{display:none}
.ow-inspect{display:flex;flex-direction:column;gap:10px}
.ow-inspect-head{display:flex;align-items:center;gap:12px}
.ow-inspect-class{font-size:2rem;line-height:1}
.ow-inspect-name{font-weight:700;font-size:1rem}
.ow-inspect-section-label{text-transform:uppercase;letter-spacing:.06em;font-size:.62rem;margin-top:4px}
.ow-inspect-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.ow-inspect-slot{
  display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:10px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);
}
.ow-inspect-slot-emoji{font-size:1.1rem}
.ow-inspect-slot-name{font-size:.78rem;font-weight:600}
.ow-inspect-items{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto}
.ow-inspect-item{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:.78rem}
.ow-friend-add{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:12px;margin-bottom:8px}
.ow-friend-add-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ow-friend-add-row .ow-modal-input{flex:1;min-width:140px}
/* modal tabs */
.ow-modal-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px}
.ow-modal-tab{
  padding:5px 14px;border-radius:8px;font-size:.82rem;font-weight:600;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  cursor:pointer;color:rgba(255,255,255,.65);transition:all .15s;
}
.ow-modal-tab.active,.ow-modal-tab:hover{
  background:rgba(99,102,241,.25);border-color:rgba(99,102,241,.5);color:#fff;
}
.ow-modal-section{display:flex;flex-direction:column;gap:8px}
/* friend/party rows */
.ow-social-row{
  display:flex;align-items:center;gap:10px;
  padding:9px 12px;border-radius:12px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);
  transition:background .12s;
}
.ow-social-row:hover{background:rgba(255,255,255,.09)}
.ow-social-avatar{
  width:36px;height:36px;border-radius:50%;object-fit:cover;
  border:2px solid rgba(255,255,255,.15);flex-shrink:0;
  background:rgba(8,10,16,.92);display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;overflow:hidden;
}
.ow-social-info{flex:1;min-width:0}
.ow-social-name{font-weight:600;font-size:.9rem;white-space:nowrap;overflow:visible;text-overflow:clip}
.ow-social-name .player-name-stack{overflow:visible;max-width:100%}
.ow-social-name .cos-name-text{overflow:visible}
.ow-social-meta{font-size:.72rem;color:rgba(255,255,255,.5)}
.ow-social-actions{display:flex;gap:6px;flex-shrink:0;align-items:center}
.ow-autocomplete-wrap{position:relative}
.ow-player-suggest{
    position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;
    max-height:220px;overflow-y:auto;border-radius:10px;
    background:rgba(12,16,28,.96);border:1px solid rgba(255,255,255,.12);
    box-shadow:0 8px 24px rgba(0,0,0,.35)
}
.ow-player-suggest-portal{
    position:fixed!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    z-index:40200!important;pointer-events:auto;
}
.ow-friend-add,.ow-modal-section:has(.ow-autocomplete-wrap){overflow:visible}
.ow-player-suggest-item{
    display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;
    padding:8px 12px;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer
}
.ow-player-suggest-item:hover,.ow-player-suggest-item:focus{background:rgba(255,255,255,.08)}
.ow-player-suggest-name{font-weight:600;font-size:.88rem}
.ow-invite-banner{padding:10px 12px;border-radius:12px;margin-bottom:10px}
.ow-pvp-banner{
  position:absolute;top:12px;left:50%;transform:translateX(-50%);
  z-index:40;max-width:min(92vw,420px);padding:10px 14px;
  border-radius:12px;margin:0;text-align:center
}
.ow-ctx-divider{padding:6px 12px 2px;font-size:.72rem;opacity:.65;pointer-events:none}
.ow-pending-row{border:1px solid rgba(99,102,241,.25)}
.ow-social-btn{min-width:2rem;padding:2px 6px!important}
/* status dot */
.ow-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:4px}
.ow-dot.online{background:#4ade80}
.ow-dot.busy{background:#f87171}
.ow-dot.offline{background:#6b7280}
/* guild banner */
.ow-guild-banner{
  padding:16px;border-radius:14px;text-align:center;
  background:linear-gradient(135deg,rgba(99,102,241,.2) 0%,rgba(168,85,247,.15) 100%);
  border:1px solid rgba(99,102,241,.3);
}
.ow-guild-icon{font-size:2.5rem;line-height:1;margin-bottom:6px}
.ow-guild-name{font-size:1.1rem;font-weight:800;letter-spacing:.03em}
.ow-guild-desc{font-size:.8rem;color:rgba(255,255,255,.55);margin-top:4px}
.ow-guild-stats{display:flex;gap:16px;justify-content:center;margin-top:10px;flex-wrap:wrap}
.ow-guild-stat{text-align:center}
.ow-guild-stat-val{font-size:1.1rem;font-weight:700;color:#a5b4fc}
.ow-guild-stat-lbl{font-size:.7rem;color:rgba(255,255,255,.45)}
/* cost badge */
.ow-cost-badge{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 10px;border-radius:20px;font-size:.78rem;font-weight:700;
  background:rgba(251,191,36,.15);border:1px solid rgba(251,191,36,.4);color:#fbbf24;
}
/* inventory grid */
.ow-inv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}
.ow-inv-slot{
  width:64px;height:64px;border-radius:10px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  cursor:pointer;position:relative;transition:all .12s;font-size:1.6rem;
}
.ow-inv-slot:hover{background:rgba(99,102,241,.2);border-color:rgba(99,102,241,.4)}
.ow-inv-slot.ow-inv-equipped{border-color:rgba(251,191,36,.55);background:rgba(251,191,36,.08)}
.ow-inv-coins{margin:0 0 10px;font-size:.85rem;color:#fbbf24}
.ow-badge{font-size:.55rem;padding:1px 4px;border-radius:4px;background:rgba(251,191,36,.25);margin-left:4px}
.ow-inv-slot .ow-inv-qty{
  position:absolute;bottom:2px;right:4px;
  font-size:.65rem;font-weight:700;color:#fbbf24;
}
.ow-inv-slot .ow-inv-name{font-size:.58rem;color:rgba(255,255,255,.55);margin-top:2px;text-align:center;line-height:1.1;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* shop/craft cards */
.ow-shop-grid{display:flex;flex-direction:column;gap:8px}
.ow-shop-item{
  display:flex;align-items:center;gap:12px;
  padding:10px 14px;border-radius:12px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);
}
.ow-shop-icon{font-size:1.8rem;width:40px;text-align:center;flex-shrink:0}
.ow-shop-info{flex:1;min-width:0}
.ow-shop-name{font-weight:600;font-size:.9rem}
.ow-shop-desc{font-size:.74rem;color:rgba(255,255,255,.5)}
.ow-shop-price{font-size:.82rem;font-weight:700;color:#fbbf24;flex-shrink:0}
/* craft recipe */
.ow-craft-recipe{display:flex;align-items:center;gap:8px;font-size:.78rem;color:rgba(255,255,255,.55);flex-wrap:wrap}
.ow-craft-ingredient{
  padding:2px 8px;border-radius:6px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);
}
/* empty state */
.ow-empty{text-align:center;padding:24px;color:rgba(255,255,255,.4);font-size:.88rem}
/* search / input in modal */
.ow-modal-input{
  width:100%;padding:8px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.07);color:#fff;font-size:.88rem;outline:none;
}
.ow-modal-input:focus{border-color:rgba(99,102,241,.5);background:rgba(99,102,241,.1)}
/* admin combat toggle */
.ow-admin-combat-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07)}
.ow-toggle{position:relative;width:44px;height:24px;flex-shrink:0}
.ow-toggle input{opacity:0;width:0;height:0;position:absolute}
.ow-toggle-slider{position:absolute;cursor:pointer;inset:0;border-radius:24px;background:rgba(255,255,255,.15);transition:.25s}
.ow-toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;border-radius:50%;background:#fff;transition:.25s}
.ow-toggle input:checked+.ow-toggle-slider{background:#6366f1}
.ow-toggle input:checked+.ow-toggle-slider:before{transform:translateX(20px)}

/* Open-World PvP Kampf (eigenes Screen, gleiches Layout wie Co-op) */
#screen-pvp-combat .pvp-combat-toolbar{display:flex;align-items:center;justify-content:center;padding:6px 12px;gap:8px}
#screen-pvp-combat .pvp-combat-toolbar .coop-combat-toolbar-title{font-weight:600;text-align:center}
html.abenteuer-app.abenteuer-landscape-layout #screen-pvp-combat:not(.hidden),
html.abenteuer-app.abenteuer-touch-ui #screen-pvp-combat:not(.hidden){display:flex;flex-direction:column;min-height:0;height:100%}
html.abenteuer-app.abenteuer-landscape-layout #screen-pvp-combat.hidden,
html.abenteuer-app.abenteuer-touch-ui #screen-pvp-combat.hidden{display:none!important}

/* Desktop-Web: Hub bleibt kompakt (520px / 52px-Icons) — schlägt Mobile-Fallback */
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-mobile):not([data-mobile-shell="1"]) #app,
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-mobile):not([data-mobile-shell="1"]) .top-bar{
  max-width:520px!important;
  width:min(520px,calc(100vw - 20px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
/* Hub: echte Vollbreite — schlägt 520px Desktop-Lock */
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-mobile):not([data-mobile-shell="1"]) body.screen-hub #app,
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-mobile):not([data-mobile-shell="1"]) body.screen-hub .top-bar,
html[data-desktop-web="1"] body.screen-hub #app,
html[data-desktop-web="1"] body.screen-hub .top-bar{
  max-width:100vw!important;
  width:100%!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-mobile):not([data-mobile-shell="1"]) #hub-nav-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  margin-top:10px!important;
  padding-top:0!important;
  gap:14px!important;
}
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-mobile):not([data-mobile-shell="1"]) .hub-grid-icon{
  width:28px!important;
  height:28px!important;
  max-width:28px!important;
  max-height:28px!important;
}
html[data-desktop-web="1"].flix-rpg-web:not(.flix-rpg-mobile):not([data-mobile-shell="1"]) #screen-hub:not(.hidden){
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  overflow:auto!important;
  padding-top:0!important;
  min-height:min(78vh,820px);
}
html.abenteuer-app.abenteuer-touch-ui body.screen-pvp-combat #screen-pvp-combat{flex:1;min-height:0}

/* Desktop-Web final lock — schlägt Mobile-Hard-Lock + APK-Leaks */
html[data-desktop-web="1"] #app{
  max-width:min(520px,calc(100vw - 20px))!important;
  width:min(520px,calc(100vw - 20px))!important;
  margin-left:auto!important;margin-right:auto!important;
  min-height:auto!important;
}
html[data-desktop-web="1"] .top-bar{
  max-width:min(520px,calc(100vw - 20px))!important;
  width:min(520px,calc(100vw - 20px))!important;
  margin-left:auto!important;margin-right:auto!important;transform:none!important;
}
html[data-desktop-web="1"] #hub-nav-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;margin-top:10px!important;gap:14px!important;}
html[data-desktop-web="1"] body.screen-hub #app,
html[data-desktop-web="1"] body.screen-hub .top-bar{
  max-width:100vw!important;width:100%!important;margin:0!important;
}
html[data-desktop-web="1"] #screen-hub.hub-screen-tiles #hub-nav-grid{
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  grid-template-columns:none!important;grid-template-rows:none!important;grid-auto-flow:unset!important;
  gap:0!important;margin-top:0!important;overflow:visible!important;width:100%!important;height:100%!important;
}
html[data-desktop-web="1"] #screen-hub.hub-screen-tiles .hub-grid-icon{width:32px!important;height:32px!important;max-width:32px!important;max-height:32px!important;}
html[data-desktop-web="1"] #screen-hub.hub-screen-tiles:not(.hidden){
  display:flex!important;flex-direction:column!important;flex:1 1 auto!important;overflow:hidden!important;
  width:100%!important;max-width:none!important;padding-left:0!important;padding-right:0!important;
}

html[data-desktop-web="1"] .hub-grid-icon{width:28px!important;height:28px!important;max-width:28px!important;max-height:28px!important;}
html[data-desktop-web="1"] body.screen-hub #app,
html[data-desktop-web="1"] body.screen-hub .top-bar{
  max-width:100vw!important;
  width:100%!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
html[data-desktop-web="1"] #screen-hub:not(.hidden){
  display:flex!important;flex-direction:column!important;flex:1 1 auto!important;overflow:auto!important;min-height:min(78vh,820px);
}
html[data-desktop-web="1"] body.screen-login #app,html[data-desktop-web="1"] body.screen-mode #app,
html[data-desktop-web="1"] body.login-maintenance-active #app,html[data-desktop-web="1"] body.login-entry-active #app,
html[data-desktop-web="1"] body.mode-entry-active #app,html[data-desktop-web="1"] body.abenteuer-immersive-entry #app{
  max-width:100vw!important;width:100%!important;margin:0!important;padding:0!important;
}
html[data-desktop-web="1"] .login-maintenance-art-fit,
html[data-desktop-web="1"] #screen-login.login-maintenance-active .login-maintenance-art-fit,
html[data-desktop-web="1"] #screen-login.login-entry-active .login-maintenance-art-fit,
html[data-desktop-web="1"] #screen-mode.mode-entry-active .login-maintenance-art-fit,
html[data-desktop-web="1"] body.login-entry-door-reveal .login-maintenance-art-fit{
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;
}
html[data-desktop-web="1"] .login-maintenance-art,
html[data-desktop-web="1"] .login-maintenance-art-unlocked,
html[data-desktop-web="1"] .login-entry-art-open,
html[data-desktop-web="1"] .login-entry-art-closed{
  object-fit:fill!important;object-position:center center!important;
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
}

.panel-social.panel-card{
  padding:12px 14px;max-width:720px;margin:0 auto;
  background:linear-gradient(180deg,rgba(8,10,18,.72),rgba(8,10,18,.84));
  border-color:rgba(255,255,255,.12);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.panel-social.panel-friends{border-color:rgba(232,197,71,.22)}
.panel-social.panel-guild{border-color:rgba(96,165,250,.24)}
.panel-social.panel-pvp{border-color:rgba(239,68,68,.28)}
.hub-social-panel{display:flex;flex-direction:column;gap:12px;min-width:0}
.hub-social-title{margin:0 0 4px}
.hub-social-lead{margin:0 0 8px}
.hub-social-list{display:flex;flex-direction:column;gap:8px;max-height:min(52vh,420px);overflow:auto;padding-right:2px}
.hub-social-section-label{margin-top:4px;margin-bottom:2px;letter-spacing:.06em}

/* ===== Freunde · Taverne (Vollbild) ===== */
body.friends-hall-active .rpg-wwm-fs-body{
  padding:0!important;overflow:hidden!important;
}
body.friends-hall-active .rpg-wwm-fs-shell,
.rpg-wwm-fs-shell.arcade-fs-theme-friends-hall{
  background:transparent!important;border:none!important;box-shadow:none!important;
  width:100%;max-width:none;height:100%;border-radius:0;
}
body.friends-hall-active .top-bar{opacity:.28;pointer-events:none}
.friends-hall-fs{
  position:relative;width:100%;height:100%;min-height:100dvh;
  display:flex;flex-direction:column;isolation:isolate;overflow:hidden;
  color:#f3e6c8;background:#120e0a;
}
.friends-hall-bg,.friends-hall-veil,.friends-hall-frame{
  position:absolute;inset:0;pointer-events:none;z-index:0;
}
.friends-hall-bg{
  background-size:cover;background-position:center 40%;
  filter:saturate(1.05) contrast(1.04) brightness(.78);
  transform:scale(1.03);
}
.friends-hall-veil{
  background:
    radial-gradient(ellipse 70% 50% at 50% 12%,rgba(232,160,70,.16),transparent 55%),
    linear-gradient(180deg,rgba(14,8,4,.62) 0%,rgba(14,8,4,.28) 30%,rgba(14,8,4,.4) 62%,rgba(8,5,3,.9) 100%);
}
.friends-hall-frame{
  inset:0;border-radius:0;z-index:1;
  border:none;
  box-shadow:inset 0 0 48px rgba(0,0,0,.28);
  pointer-events:none;
}
.friends-hall-shell{
  position:relative;z-index:2;
  display:flex;flex-direction:column;gap:12px;
  width:100%;max-width:none;margin:0;
  height:100%;min-height:0;
  padding:
    max(12px,env(safe-area-inset-top,0px))
    max(14px,env(safe-area-inset-right,0px))
    max(12px,env(safe-area-inset-bottom,0px))
    max(14px,env(safe-area-inset-left,0px));
  box-sizing:border-box;
  animation:friendsHallIn .5s cubic-bezier(.22,.9,.3,1) both;
}
/* PC/Web: Freunde-Halle nutzt die volle Viewport-Breite */
@media (min-width:900px){
  .friends-hall-shell{
    max-width:none;
    width:100%;
    padding-left:max(20px,env(safe-area-inset-left,0px),2.2vw);
    padding-right:max(20px,env(safe-area-inset-right,0px),2.2vw);
    gap:14px;
  }
  .friends-hall-sub{max-width:min(36rem,72%)}
  .friends-hall-add{max-width:none}
  .friends-hall-list .hub-friend-row,
  .friends-hall-list .hub-pending-row{
    max-width:none;
  }
}
html.flix-rpg-web:not(.flix-rpg-mobile) .friends-hall-shell,
html[data-desktop-web="1"] .friends-hall-shell,
html.flix-rpg-pc-scale .friends-hall-shell,
body.friends-hall-active .friends-hall-shell{
  max-width:none!important;
  width:100%!important;
}
html.flix-rpg-web:not(.flix-rpg-mobile) body.friends-hall-active #app,
html[data-desktop-web="1"] body.friends-hall-active #app,
html.flix-rpg-pc-scale body.friends-hall-active #app{
  max-width:100vw!important;width:100%!important;margin:0!important;padding:0!important;
}
@keyframes friendsHallIn{
  from{opacity:0;transform:translateY(14px) scale(.985)}
  to{opacity:1;transform:none}
}
.friends-hall-chrome{
  display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0;
}
/* Zurück: Messing-Schild / Taverne (kein flacher Ghost-Button) */
.friends-hall-back{
  display:inline-flex!important;align-items:center;gap:8px;
  margin:0;padding:9px 16px 9px 12px!important;
  border-radius:10px!important;cursor:pointer;
  border:1.5px solid rgba(232,180,90,.55)!important;
  background:
    linear-gradient(165deg,rgba(72,42,18,.88),rgba(28,16,8,.92)),
    rgba(12,8,4,.75)!important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.45),
    0 4px 14px rgba(0,0,0,.45),
    0 0 18px rgba(232,140,50,.18),
    inset 0 1px 0 rgba(255,220,160,.22),
    inset 0 -1px 0 rgba(0,0,0,.35)!important;
  color:#ffe8c0!important;
  font-family:"Cinzel",ui-serif,Georgia,serif!important;
  letter-spacing:.14em!important;text-transform:uppercase!important;
  -webkit-tap-highlight-color:transparent;
  transition:transform .14s ease, filter .14s ease, box-shadow .14s ease, border-color .14s ease!important;
}
.friends-hall-back-mark{
  font-size:1.15rem;font-weight:700;line-height:1;
  color:#ffd27a;
  text-shadow:
    0 0 6px rgba(255,180,60,.55),
    0 1px 2px rgba(0,0,0,.8);
}
.friends-hall-back-txt{
  font-size:.78rem;font-weight:700;line-height:1;
  color:#fff4dc;
  text-shadow:
    0 0 8px rgba(255,190,80,.35),
    0 1px 2px rgba(0,0,0,.85);
}
.friends-hall-back:hover,
.friends-hall-back:focus-visible{
  outline:none;
  filter:brightness(1.1) saturate(1.08);
  transform:translateX(-2px);
  border-color:rgba(255,210,120,.75)!important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.4),
    0 6px 18px rgba(0,0,0,.5),
    0 0 26px rgba(255,160,50,.28),
    inset 0 1px 0 rgba(255,230,180,.3),
    inset 0 -1px 0 rgba(0,0,0,.3)!important;
}
.friends-hall-back:active{transform:translateX(0);filter:brightness(.94)}
.friends-hall-chips{gap:8px}
.friends-hall-chip,
.friends-hall-chips .chip{
  font-family:"Cinzel",ui-serif,Georgia,serif!important;
  letter-spacing:.06em;
  background:rgba(28,16,8,.72)!important;
  border:1px solid rgba(232,180,90,.4)!important;
  color:#ffe6b0!important;
  box-shadow:0 0 12px rgba(232,140,50,.12), inset 0 1px 0 rgba(255,220,160,.12);
  backdrop-filter:blur(8px);
}
.friends-hall-hero{
  text-align:center;flex-shrink:0;
  margin-left:calc(-1 * max(14px, env(safe-area-inset-left, 0px)));
  margin-right:calc(-1 * max(14px, env(safe-area-inset-right, 0px)));
  width:auto;
  max-width:none;
  align-self:stretch;
  padding:14px max(16px, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px)) 16px;
  position:relative;
  box-sizing:border-box;
  background:
    linear-gradient(180deg,rgba(48,28,12,.55),rgba(18,10,6,.35) 70%,transparent),
    linear-gradient(90deg,transparent 0%,rgba(232,160,70,.08) 20%,rgba(232,160,70,.08) 80%,transparent 100%);
  border-top:1px solid rgba(232,180,90,.22);
  border-bottom:1px solid rgba(232,180,90,.28);
  box-shadow:0 10px 28px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,220,160,.08);
}
.friends-hall-hero::after{
  content:"";display:block;width:min(14rem,52%);height:1px;margin:12px auto 0;
  background:linear-gradient(90deg,transparent,rgba(232,180,90,.55),transparent);
  box-shadow:0 0 8px rgba(255,160,60,.25);
}
.friends-hall-brand{
  margin:0;font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;
  color:rgba(255,210,140,.95);text-shadow:0 1px 8px rgba(0,0,0,.55),0 0 12px rgba(255,160,60,.22);
}
.friends-hall-title{
  margin:4px 0 0;font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:clamp(1.85rem,5.5vw,2.85rem);font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;
  color:#fff4dc;line-height:1.05;
  text-shadow:0 2px 16px rgba(0,0,0,.65),0 0 28px rgba(232,140,50,.28);
}
.friends-hall-sub{
  margin:10px auto 0;max-width:34rem;
  font-size:.8rem;line-height:1.45;color:rgba(245,230,200,.84);
  text-shadow:0 1px 6px rgba(0,0,0,.5);
}
.friends-hall-add{
  flex-shrink:0;padding:14px 16px;border-radius:14px;
  width:100%;max-width:none;box-sizing:border-box;
  background:
    linear-gradient(165deg,rgba(42,26,14,.78),rgba(16,10,6,.82)),
    rgba(12,8,4,.55);
  border:1px solid rgba(232,180,90,.32);
  box-shadow:
    0 8px 22px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,220,160,.1);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.friends-hall-add label,
.friends-hall-add-label{
  display:block;margin:0 0 8px;
  font-family:"Cinzel",ui-serif,Georgia,serif;
  letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;
  color:rgba(255,220,160,.9);font-weight:700;
}
.friends-hall-add .ow-friend-add-row{
  display:flex;gap:10px;align-items:stretch;width:100%;
}
.friends-hall-input{
  flex:1 1 auto;min-width:0;
  background:rgba(8,5,3,.62)!important;border-color:rgba(232,180,90,.38)!important;
  color:#fff4dc!important;border-radius:12px!important;
  box-shadow:inset 0 1px 4px rgba(0,0,0,.35)!important;
}
.friends-hall-add #hub-friend-add-btn{
  flex:0 0 auto;
  border-radius:12px!important;
  border:1px solid rgba(232,180,90,.5)!important;
  background:linear-gradient(165deg,#c4892a,#8a5a14)!important;
  color:#fff8e8!important;font-weight:800!important;
  letter-spacing:.04em;
  box-shadow:0 4px 12px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,230,180,.28)!important;
}
.friends-hall-add #hub-friend-add-btn:hover{
  filter:brightness(1.08);
}
.friends-hall-list{
  flex:1 1 auto;min-height:0;max-height:none!important;
  overflow-y:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding:2px 0 12px;gap:12px;
  width:100%;
  scrollbar-width:thin;
}
body.friends-hall-active .friends-hall-list .hub-friend-row,
body.friends-hall-active .friends-hall-list .hub-pending-row{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:12px 16px;
  width:100%;
  max-width:none;
  box-sizing:border-box;
  padding:14px 16px;
  background:linear-gradient(155deg,rgba(52,30,16,.78),rgba(18,10,6,.82));
  border:1px solid rgba(232,180,90,.26);
  box-shadow:0 8px 22px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,220,160,.06);
  color:#f4e6c8;
  border-radius:14px;
  transition:border-color .16s ease, background .16s ease, transform .16s ease, box-shadow .16s ease;
}
body.friends-hall-active .friends-hall-list .hub-friend-row:hover{
  border-color:rgba(255,200,110,.5);
  background:linear-gradient(155deg,rgba(68,40,18,.86),rgba(24,14,8,.9));
  box-shadow:0 10px 26px rgba(0,0,0,.42), 0 0 18px rgba(232,140,50,.12), inset 0 1px 0 rgba(255,220,160,.1);
  transform:translateY(-1px);
}
body.friends-hall-active .friends-hall-list .hub-friend-row--self{
  border-color:rgba(232,180,90,.42);
  background:linear-gradient(155deg,rgba(70,48,22,.7),rgba(22,14,8,.82));
  box-shadow:0 8px 22px rgba(0,0,0,.38), 0 0 20px rgba(232,160,60,.1), inset 0 1px 0 rgba(255,220,160,.1);
}
body.friends-hall-active .friends-hall-list .hub-pending-row{
  border-color:rgba(255,180,80,.45);
  background:linear-gradient(155deg,rgba(96,58,18,.55),rgba(24,14,8,.78));
  flex-wrap:wrap;
}
body.friends-hall-active .friends-hall-list .hub-friend-info{
  flex:1 1 auto;
  min-width:0;
}
body.friends-hall-active .friends-hall-list .hub-friend-name{
  font-size:1rem;
  letter-spacing:.01em;
}
body.friends-hall-active .friends-hall-list .hub-friend-subline{
  gap:6px 10px;
  margin-top:2px;
}
body.friends-hall-active .friends-hall-list .hub-social-section-label{
  color:#ffe6a8;font-family:"Cinzel",ui-serif,Georgia,serif;letter-spacing:.14em;
  text-transform:uppercase;font-size:.72rem;font-weight:700;
  text-shadow:0 1px 6px rgba(0,0,0,.5);margin:10px 2px 6px;
}
body.friends-hall-active .friends-hall-list .hub-friend-actions,
body.friends-hall-active .friends-hall-list .hub-friend-actions--toolbar{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center;
  gap:8px!important;
  margin-left:auto;
  flex:0 0 auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  grid-template-columns:none!important;
}
body.friends-hall-active .friends-hall-list .hub-friend-actions .btn,
body.friends-hall-active .friends-hall-list .hub-friend-actions .hub-social-icon-btn,
body.friends-hall-active .friends-hall-list .hub-friend-actions--toolbar .btn{
  flex:0 0 auto!important;
  width:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  min-height:48px!important;
  height:48px!important;
  padding:0!important;
  margin:0!important;
  border-radius:12px!important;
  font-size:1.15rem!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  grid-column:auto!important;
  background:rgba(20,12,6,.55)!important;
  border:1px solid rgba(232,180,90,.28)!important;
  color:#ffe8c8!important;
  box-shadow:inset 0 1px 0 rgba(255,220,160,.08);
  transition:border-color .14s ease, filter .14s ease, background .14s ease;
}
body.friends-hall-active .friends-hall-list .hub-friend-actions .btn:hover,
body.friends-hall-active .friends-hall-list .hub-friend-actions .hub-social-icon-btn:hover{
  border-color:rgba(255,200,110,.55)!important;
  filter:brightness(1.12);
  background:rgba(48,28,12,.72)!important;
}
body.friends-hall-active .friends-hall-list .hub-friend-actions--pending{
  flex:1 1 100%!important;
  width:100%!important;
  margin-left:0;
}
body.friends-hall-active .friends-hall-list .hub-friend-actions--pending .btn{
  flex:1 1 0!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:44px!important;
  padding:10px 12px!important;
  font-size:.88rem!important;
}
body.friends-hall-active .friends-hall-list .tiny.muted,
body.friends-hall-active .friends-hall-list .hub-friend-subline{
  color:rgba(245,230,200,.72)!important;
}
body.friends-hall-active .friends-hall-list .ow-empty{
  color:rgba(245,230,200,.75);text-align:center;padding:24px 12px;
}
.friends-hall-veil{
  background:
    radial-gradient(ellipse 70% 48% at 50% 10%,rgba(255,150,50,.14),transparent 55%),
    radial-gradient(ellipse 50% 40% at 18% 80%,rgba(180,80,20,.1),transparent 60%),
    linear-gradient(180deg,rgba(14,8,4,.58) 0%,rgba(14,8,4,.24) 28%,rgba(14,8,4,.38) 62%,rgba(8,5,3,.92) 100%);
}
@media (max-width:720px){
  body.friends-hall-active .friends-hall-list .hub-friend-row,
  body.friends-hall-active .friends-hall-list .hub-pending-row{
    flex-wrap:wrap;
  }
  body.friends-hall-active .friends-hall-list .hub-friend-actions,
  body.friends-hall-active .friends-hall-list .hub-friend-actions--toolbar{
    flex:1 1 100%!important;
    width:100%!important;
    margin-left:0;
  }
  body.friends-hall-active .friends-hall-list .hub-friend-actions .btn,
  body.friends-hall-active .friends-hall-list .hub-friend-actions--toolbar .btn{
    flex:1 1 0!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
  }
}
@media (max-width:520px){
  .friends-hall-title{font-size:clamp(1.55rem,7.5vw,2.15rem)}
  .friends-hall-sub{font-size:.72rem}
  .friends-hall-shell{padding-left:12px;padding-right:12px;gap:12px}
  .friends-hall-hero{
    margin-left:-12px;margin-right:-12px;width:calc(100% + 24px);
    padding:12px 12px 14px;
  }
  .friends-hall-back{
    min-height:44px;padding:10px 14px 10px 12px!important;font-size:.85rem;border-radius:12px!important;
  }
  .friends-hall-back-txt{font-size:.74rem}
  .friends-hall-add{padding:12px 14px;border-radius:14px}
  .friends-hall-add .ow-friend-add-row{display:flex;gap:8px;align-items:stretch}
  .friends-hall-add .friends-hall-input{
    flex:1 1 auto;min-width:0;min-height:44px;font-size:1rem;padding:10px 12px;border-radius:12px;
  }
  .friends-hall-add #hub-friend-add-btn{
    flex:0 0 auto;min-height:44px;padding:10px 14px;font-size:.85rem;border-radius:12px;
  }
  .friends-hall-list .hub-friend-row,
  .friends-hall-list .hub-pending-row{
    flex-wrap:wrap;align-items:center;gap:10px 12px;padding:12px 14px;border-radius:14px;
  }
  .friends-hall-list .hub-friend-info{flex:1 1 calc(100% - 72px);min-width:0}
  .friends-hall-list .hub-friend-actions,
  .friends-hall-list .hub-pending-row .ow-social-actions{
    flex:1 1 100%;width:100%;max-width:none;min-width:0;
    display:flex;flex-wrap:nowrap;gap:8px;
  }
  .friends-hall-list .hub-friend-actions .btn,
  .friends-hall-list .hub-pending-row .ow-social-actions .btn{
    flex:1 1 0!important;min-height:48px!important;padding:8px 6px!important;font-size:.85rem!important;border-radius:12px;
    width:auto!important;max-width:none!important;min-width:0!important;height:auto!important;
  }
  .friends-hall-list .hub-friend-actions .hub-social-icon-btn{
    font-size:1.15rem!important;padding:8px!important;
  }
  .friends-hall-list .hub-friend-name{font-size:.95rem}
}
@media (max-height:700px){
  .friends-hall-sub{display:none}
  .friends-hall-hero{padding-bottom:10px}
  .friends-hall-hero::after{margin-top:8px}
}
@media (prefers-reduced-motion:reduce){
  .friends-hall-shell{animation:none}
  .friends-hall-back,.friends-hall-list .hub-friend-row{transition:none}
}

/* ===== PvP · Anime Arena HUD ===== */
body.pvp-hall-active .rpg-wwm-fs{
  padding:0!important;background:transparent!important;
}
body.pvp-hall-active .rpg-wwm-fs-body{
  padding:0!important;overflow:hidden!important;display:block!important;
}
body.pvp-hall-active .rpg-wwm-fs-shell,
.rpg-wwm-fs-shell.arcade-fs-theme-pvp-hall{
  background:transparent!important;border:none!important;box-shadow:none!important;
  width:100%;max-width:none;height:100%;border-radius:0;overflow:hidden;
}
body.pvp-hall-active .top-bar{opacity:0;pointer-events:none}
body.pvp-hall-active #screen-panel,
body.pvp-hall-active #panel-card{
  opacity:0!important;pointer-events:none!important;visibility:hidden!important;
}
.pvp-hall-fs{
  --pvp-ink:#f4f7ff;
  --pvp-muted:rgba(214,226,255,.72);
  --pvp-gold:#ffd56a;
  --pvp-crimson:#ff5d7a;
  --pvp-cyan:#7ee8ff;
  --pvp-navy:rgba(6,10,22,.72);
  --pvp-cut:14px;
  position:relative;width:100%;height:100%;min-height:100dvh;
  display:flex;flex-direction:column;isolation:isolate;overflow:hidden;
  color:var(--pvp-ink);background:#05070f;
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
}
.pvp-hall-bg,.pvp-hall-veil,.pvp-hall-heat,.pvp-hall-embers,.pvp-hall-rays,.pvp-hall-scan{
  position:absolute;inset:0;pointer-events:none;z-index:0;
}
.pvp-hall-bg{
  background-size:cover;background-position:center 32%;
  filter:saturate(1.18) contrast(1.12) brightness(.78);
  transform:scale(1.06);
  animation:pvpHallBgDrift 26s ease-in-out infinite alternate;
}
@keyframes pvpHallBgDrift{
  from{transform:scale(1.06) translate3d(0,0,0)}
  to{transform:scale(1.1) translate3d(0,-1.4%,0)}
}
.pvp-hall-veil{
  background:
    radial-gradient(ellipse 80% 38% at 50% 0%,rgba(255,90,70,.22),transparent 58%),
    radial-gradient(ellipse 70% 40% at 50% 100%,rgba(8,16,40,.92),rgba(5,8,18,.55) 55%,transparent 80%),
    linear-gradient(180deg,rgba(5,8,16,.58) 0%,rgba(5,8,16,.18) 28%,rgba(5,8,16,.32) 58%,rgba(4,6,14,.92) 100%);
}
.pvp-hall-heat{
  z-index:1;opacity:.4;mix-blend-mode:screen;
  background:
    radial-gradient(ellipse 50% 26% at 50% 78%,rgba(255,90,50,.22),transparent 70%),
    radial-gradient(ellipse 30% 18% at 18% 30%,rgba(126,232,255,.12),transparent 70%);
  animation:pvpHeatPulse 5.5s ease-in-out infinite;
}
@keyframes pvpHeatPulse{
  0%,100%{opacity:.26;transform:scale(1)}
  50%{opacity:.48;transform:scale(1.04)}
}
.pvp-hall-rays{
  z-index:1;opacity:.3;mix-blend-mode:screen;
  background:
    conic-gradient(from 200deg at 50% 12%,transparent 0 8deg,rgba(255,180,80,.16) 10deg,transparent 16deg,transparent 28deg,rgba(126,232,255,.1) 30deg,transparent 36deg,transparent 100%);
  animation:pvpRaysDrift 18s ease-in-out infinite alternate;
}
@keyframes pvpRaysDrift{
  from{opacity:.16;transform:scale(1)}
  to{opacity:.34;transform:scale(1.05)}
}
.pvp-hall-scan{
  z-index:1;opacity:.08;
  background:repeating-linear-gradient(180deg,transparent 0 3px,rgba(126,232,255,.18) 3px 4px);
  mix-blend-mode:overlay;
}
.pvp-hall-embers{z-index:1;overflow:hidden}
.pvp-hall-embers span{
  position:absolute;bottom:-6%;left:8%;
  width:4px;height:4px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,230,160,.95),rgba(255,80,40,.12) 68%,transparent);
  animation:pvpEmberRise 8s linear infinite;opacity:0;
}
.pvp-hall-embers span:nth-child(1){left:8%;animation-delay:0s}
.pvp-hall-embers span:nth-child(2){left:18%;width:3px;height:3px;animation-delay:1s;animation-duration:7s}
.pvp-hall-embers span:nth-child(3){left:32%;animation-delay:2.1s;animation-duration:9s}
.pvp-hall-embers span:nth-child(4){left:46%;width:5px;height:5px;animation-delay:.6s}
.pvp-hall-embers span:nth-child(5){left:58%;animation-delay:3.2s;animation-duration:7.6s}
.pvp-hall-embers span:nth-child(6){left:70%;width:3px;height:3px;animation-delay:1.7s}
.pvp-hall-embers span:nth-child(7){left:82%;animation-delay:4s;animation-duration:8.4s}
.pvp-hall-embers span:nth-child(8){left:92%;width:3px;height:3px;animation-delay:2.8s}
.pvp-hall-embers span:nth-child(9){left:12%;width:2px;height:2px;animation-delay:5s;animation-duration:10s}
.pvp-hall-embers span:nth-child(10){left:40%;animation-delay:3.8s;animation-duration:8.8s}
.pvp-hall-embers span:nth-child(11){left:64%;width:3px;height:3px;animation-delay:1.2s;animation-duration:9.4s}
.pvp-hall-embers span:nth-child(12){left:86%;animation-delay:4.6s;animation-duration:7.2s}
@keyframes pvpEmberRise{
  0%{transform:translate3d(0,0,0) scale(.5);opacity:0}
  10%{opacity:.9}
  100%{transform:translate3d(14px,-108vh,0) scale(1.15);opacity:0}
}
.pvp-hall-shell{
  position:relative;z-index:2;
  display:flex;flex-direction:column;gap:12px;
  width:100%;max-width:980px;margin:0 auto;
  height:100%;min-height:0;
  padding:max(10px,env(safe-area-inset-top)) 16px max(14px,env(safe-area-inset-bottom));
  box-sizing:border-box;
  animation:pvpHallIn .55s cubic-bezier(.2,.9,.25,1) both;
  background:transparent!important;border:none!important;box-shadow:none!important;
}
@keyframes pvpHallIn{
  from{opacity:0;transform:translateY(16px) scale(.985)}
  to{opacity:1;transform:none}
}
.pvp-hall-topbar{
  display:grid;grid-template-columns:auto 1fr auto;
  align-items:center;gap:10px 14px;flex-shrink:0;
}
.pvp-hall-back{
  appearance:none;-webkit-appearance:none;
  margin:0;padding:8px 14px 8px 12px;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
  border:1px solid rgba(126,232,255,.38);
  background:linear-gradient(165deg,rgba(18,28,48,.78),rgba(8,12,24,.7));
  color:#d9f6ff;font:inherit;font-weight:800;font-size:.78rem;
  letter-spacing:.14em;text-transform:uppercase;
  font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  box-shadow:0 0 16px rgba(126,232,255,.12),inset 0 1px 0 rgba(255,255,255,.08);
  transition:border-color .16s ease,box-shadow .16s ease,filter .16s ease;
}
.pvp-hall-back-ico{font-size:.7rem;color:var(--pvp-cyan)}
.pvp-hall-back:hover{
  border-color:rgba(255,213,106,.7);
  box-shadow:0 0 22px rgba(255,213,106,.22);
  filter:brightness(1.08);
}
.pvp-hall-hero{
  text-align:center;padding:0;margin:0;
  background:transparent;border:0;box-shadow:none;
  display:flex;flex-direction:column;align-items:center;min-width:0;
}
.pvp-hall-brand{
  margin:0;font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  font-size:clamp(.62rem,1.8vw,.78rem);letter-spacing:.42em;text-transform:uppercase;
  color:var(--pvp-cyan);
  text-shadow:0 0 16px rgba(126,232,255,.55),0 2px 10px rgba(0,0,0,.7);
}
.pvp-hall-title{
  margin:2px 0 0;font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  font-size:clamp(1.7rem,6.2vw,2.7rem);font-weight:800;letter-spacing:.18em;
  line-height:.92;text-transform:uppercase;
  background:linear-gradient(180deg,#fff8e8 8%,#ffd56a 46%,#ff8a4a 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 3px 16px rgba(0,0,0,.7)) drop-shadow(0 0 18px rgba(255,90,40,.35));
}
.pvp-hall-top-rank{justify-self:end}
.pvp-hall-top-rank[hidden]{display:none!important}
.pvp-hall-ranked{
  margin:0;padding:7px 12px 7px 10px;width:fit-content;max-width:100%;
  display:inline-flex;align-items:center;gap:8px;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
  border:1px solid rgba(255,213,106,.42);
  background:linear-gradient(135deg,rgba(255,180,70,.18),rgba(8,12,24,.62));
  box-shadow:0 0 18px rgba(255,213,106,.16),inset 0 1px 0 rgba(255,255,255,.1);
  color:#ffe9b8;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.pvp-hall-ranked-emoji{font-size:1.2rem;line-height:1;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5))}
.pvp-hall-ranked-meta{display:flex;flex-direction:column;align-items:flex-start;gap:0;text-align:left}
.pvp-hall-ranked-meta strong{
  font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
}
.pvp-hall-ranked-meta span{font-size:.66rem;color:rgba(255,230,190,.78)}

.pvp-hall-window{
  position:relative;flex:1 1 auto;min-height:0;
  display:flex;flex-direction:column;gap:0;
  padding:10px 10px 12px;
  background:linear-gradient(180deg,rgba(8,14,28,.72),rgba(6,10,20,.78));
  border:1px solid rgba(126,232,255,.28);
  box-shadow:
    0 18px 48px rgba(0,0,0,.45),
    0 0 0 1px rgba(255,213,106,.08),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.pvp-hall-win-corner{
  position:absolute;width:18px;height:18px;pointer-events:none;z-index:3;
  border-color:var(--pvp-gold);border-style:solid;border-width:0;
  filter:drop-shadow(0 0 6px rgba(255,213,106,.45));
}
.pvp-hall-win-corner--tl{top:6px;left:6px;border-top-width:2px;border-left-width:2px}
.pvp-hall-win-corner--tr{top:6px;right:6px;border-top-width:2px;border-right-width:2px}
.pvp-hall-win-corner--bl{bottom:6px;left:6px;border-bottom-width:2px;border-left-width:2px}
.pvp-hall-win-corner--br{bottom:6px;right:6px;border-bottom-width:2px;border-right-width:2px}

.pvp-hall-tabs{
  flex-shrink:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;margin:0 0 10px;padding:4px;
  background:rgba(4,8,16,.45);
  border:1px solid rgba(126,232,255,.16);
  box-shadow:none;backdrop-filter:none;
}
.pvp-hall-tabs .hub-pvp-tab{
  margin:0;padding:9px 8px;border:0;border-radius:0;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  background:transparent;color:rgba(214,226,255,.55);
  font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  position:relative;
  clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);
  transition:color .16s ease,background .16s ease,box-shadow .16s ease;
}
.pvp-hall-tab-ico{color:var(--pvp-cyan);font-size:.78rem;line-height:1}
.pvp-hall-tabs .hub-pvp-tab::after{content:none}
.pvp-hall-tabs .hub-pvp-tab:hover{color:#fff;background:rgba(126,232,255,.08)}
.pvp-hall-tabs .hub-pvp-tab.active{
  color:#1a1208;background:linear-gradient(180deg,#ffe7a8,#ffc14a);
  box-shadow:0 0 18px rgba(255,193,74,.35);
  transform:none;border:0;
}
.pvp-hall-tabs .hub-pvp-tab.active .pvp-hall-tab-ico{color:#7a3a00}

.pvp-hall-body{
  flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px;
  overflow-y:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding:2px 2px 6px;scrollbar-width:thin;
}

.pvp-hall-stage{
  flex:1 1 auto;min-height:0;margin:0;padding:0;
  display:flex;flex-direction:column;gap:10px;align-items:stretch;
  background:transparent!important;border:none!important;box-shadow:none!important;
  backdrop-filter:none!important;
}
.pvp-hall-stage-status{
  display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;
}
.pvp-hall-stage .hub-pvp-queue-status{
  font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(214,226,255,.82);text-shadow:0 0 12px rgba(126,232,255,.25);
}
.pvp-hall-sun{
  position:relative;flex-shrink:0;
  height:96px;min-height:96px;opacity:.38;
  display:flex;align-items:center;justify-content:center;
  transition:opacity .25s ease,filter .25s ease;
  pointer-events:none;overflow:visible;
}
.pvp-hall-stage:not(.is-searching) .pvp-hall-sun .hub-pvp-queue-timer{opacity:.4}
.pvp-hall-stage:not(.is-searching) .pvp-hall-sun .hub-pvp-queue-ring{opacity:0}
.pvp-hall-stage.is-searching .pvp-hall-sun{opacity:1;filter:none}
.pvp-hall-stage .hub-pvp-queue-timer{
  color:#fff8e8;font-size:1.7rem;font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  text-shadow:0 0 22px rgba(126,232,255,.45),0 2px 12px rgba(0,0,0,.55);
}
.pvp-hall-stage .hub-pvp-queue-ring{
  border-color:rgba(126,232,255,.16);border-top-color:rgba(255,213,106,.95);
}
.pvp-hall-stage .hub-pvp-queue-ring--outer{
  width:104px;height:104px;border-width:1px;opacity:0;
  border-color:rgba(255,93,122,.18);border-top-color:rgba(126,232,255,.55);
  animation:hub-pvp-spin 2.2s linear infinite;
}
.pvp-hall-stage.is-searching .hub-pvp-queue-ring,
.pvp-hall-stage.is-searching .hub-pvp-queue-ring--outer{opacity:1}

.pvp-hall-gates{
  flex:1 1 auto;min-height:0;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;
  align-content:stretch;
}
.pvp-hall-gate{
  position:relative;min-height:min(44vh,360px);height:100%;
  overflow:hidden;padding:0;cursor:pointer;
  border:1px solid rgba(126,232,255,.32)!important;
  background:#070b16!important;
  clip-path:polygon(16px 0,calc(100% - 16px) 0,100% 16px,100% calc(100% - 16px),calc(100% - 16px) 100%,16px 100%,0 calc(100% - 16px),0 16px);
  box-shadow:0 16px 36px rgba(0,0,0,.48),0 0 0 1px rgba(0,0,0,.35);
  display:flex!important;flex-direction:column!important;
  transition:border-color .2s ease,box-shadow .2s ease,filter .2s ease;
  transform:none!important;
  perspective:1100px;
}
.pvp-hall-gate--casual{
  border-color:rgba(255,93,122,.48)!important;
  box-shadow:0 16px 36px rgba(0,0,0,.48),0 0 28px rgba(255,70,80,.16);
}
.pvp-hall-gate--ranked{
  border-color:rgba(255,213,106,.5)!important;
  box-shadow:0 16px 36px rgba(0,0,0,.48),0 0 28px rgba(255,213,106,.18);
}
.pvp-hall-gate:hover,
.pvp-hall-gate:focus-visible{
  transform:none!important;
  filter:brightness(1.06);
}
.pvp-hall-gate--casual:hover,
.pvp-hall-gate--casual:focus-visible{
  border-color:rgba(255,140,150,.85)!important;
  box-shadow:0 20px 44px rgba(80,10,20,.5),0 0 36px rgba(255,80,90,.32);
}
.pvp-hall-gate--ranked:hover,
.pvp-hall-gate--ranked:focus-visible{
  border-color:rgba(255,230,160,.9)!important;
  box-shadow:0 20px 44px rgba(70,40,8,.5),0 0 36px rgba(255,213,106,.34);
}
.pvp-hall-gate:active,
button.pvp-hall-gate:active,
.btn.pvp-hall-gate:active,
.hub-pvp-queue-card.pvp-hall-gate:active{
  transform:none!important;
}
.pvp-hall-gate.is-selected{border-color:rgba(126,232,255,.75)!important}
.pvp-hall-gate--casual.is-selected{
  box-shadow:0 0 0 2px rgba(255,93,122,.45),0 0 40px rgba(255,80,90,.32);
}
.pvp-hall-gate--ranked.is-selected{
  border-color:rgba(255,230,160,.9)!important;
  box-shadow:0 0 0 2px rgba(255,213,106,.5),0 0 40px rgba(255,213,106,.34);
}
.pvp-hall-gate .hub-pvp-queue-card-bg{
  position:absolute;inset:0;min-height:0;flex:none;z-index:0;
  background-image:var(--hub-pvp-card);background-size:cover;background-position:center 22%;
  filter:saturate(1.16) contrast(1.08) brightness(.92);
  transform:scale(1.04);
  transition:transform .7s ease,filter .45s ease;
}
.pvp-hall-gate:hover .hub-pvp-queue-card-bg,
.pvp-hall-gate.is-selected .hub-pvp-queue-card-bg{
  transform:scale(1.08);filter:saturate(1.22) contrast(1.1) brightness(1.02);
}
.pvp-hall-gate.is-open .hub-pvp-queue-card-bg,
.pvp-hall-gate.is-opening .hub-pvp-queue-card-bg{
  transform:scale(1.12);filter:saturate(1.28) contrast(1.12) brightness(1.08);
}
.pvp-hall-gate-glow{
  position:absolute;inset:10% 16% 16%;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse at 50% 42%,rgba(126,232,255,.22),transparent 68%);
  opacity:.5;transition:opacity .45s ease;
}
.pvp-hall-gate--casual .pvp-hall-gate-glow{
  background:radial-gradient(ellipse at 50% 42%,rgba(255,90,80,.32),transparent 68%);
}
.pvp-hall-gate--ranked .pvp-hall-gate-glow{
  background:radial-gradient(ellipse at 50% 42%,rgba(255,213,106,.32),transparent 68%);
}
.pvp-hall-gate:hover .pvp-hall-gate-glow,
.pvp-hall-gate.is-selected .pvp-hall-gate-glow{opacity:.88}
.pvp-hall-gate.is-open .pvp-hall-gate-glow,
.pvp-hall-gate.is-opening .pvp-hall-gate-glow{opacity:1}
.pvp-hall-gate-core{
  position:absolute;left:50%;top:42%;z-index:2;pointer-events:none;
  width:72px;height:72px;margin:-36px 0 0 -36px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.55),rgba(126,232,255,.12) 42%,transparent 70%);
  box-shadow:0 0 28px rgba(126,232,255,.35);
  opacity:.35;transform:scale(.85);
  transition:opacity .35s ease,transform .45s ease;
}
.pvp-hall-gate--casual .pvp-hall-gate-core{
  background:radial-gradient(circle,rgba(255,220,200,.55),rgba(255,70,70,.16) 42%,transparent 70%);
  box-shadow:0 0 28px rgba(255,80,80,.4);
}
.pvp-hall-gate--ranked .pvp-hall-gate-core{
  background:radial-gradient(circle,rgba(255,248,220,.6),rgba(255,200,80,.18) 42%,transparent 70%);
  box-shadow:0 0 28px rgba(255,213,106,.42);
}
.pvp-hall-gate:hover .pvp-hall-gate-core,
.pvp-hall-gate.is-selected .pvp-hall-gate-core{opacity:.7;transform:scale(1)}
.pvp-hall-gate-doors{
  position:absolute;inset:0;z-index:3;pointer-events:none;
  display:flex;gap:0;overflow:hidden;
}
.pvp-hall-gate-door{
  flex:1 1 50%;width:50%;height:100%;position:relative;
  background-image:none!important;
  transition:transform .75s cubic-bezier(.22,.75,.2,1),filter .4s ease,opacity .5s ease;
  will-change:transform;
  backface-visibility:hidden;
}
.pvp-hall-gate-door--l{
  background:
    linear-gradient(90deg,rgba(6,10,22,.92) 0%,rgba(18,28,48,.78) 72%,rgba(126,232,255,.18) 100%),
    repeating-linear-gradient(180deg,transparent 0 11px,rgba(126,232,255,.1) 11px 12px);
  transform-origin:left center;
  transform:perspective(1000px) rotateY(-8deg) scale(1.02);
  box-shadow:6px 0 18px rgba(0,0,0,.45);
  border-right:1px solid rgba(126,232,255,.35);
}
.pvp-hall-gate-door--r{
  background:
    linear-gradient(270deg,rgba(6,10,22,.92) 0%,rgba(18,28,48,.78) 72%,rgba(126,232,255,.18) 100%),
    repeating-linear-gradient(180deg,transparent 0 11px,rgba(126,232,255,.1) 11px 12px);
  transform-origin:right center;
  transform:perspective(1000px) rotateY(8deg) scale(1.02);
  box-shadow:-6px 0 18px rgba(0,0,0,.45);
  border-left:1px solid rgba(126,232,255,.35);
}
.pvp-hall-gate--casual .pvp-hall-gate-door--l{
  background:
    linear-gradient(90deg,rgba(18,6,10,.94) 0%,rgba(48,12,18,.8) 72%,rgba(255,80,80,.22) 100%),
    repeating-linear-gradient(180deg,transparent 0 11px,rgba(255,90,90,.12) 11px 12px);
  border-right-color:rgba(255,93,122,.45);
}
.pvp-hall-gate--casual .pvp-hall-gate-door--r{
  background:
    linear-gradient(270deg,rgba(18,6,10,.94) 0%,rgba(48,12,18,.8) 72%,rgba(255,80,80,.22) 100%),
    repeating-linear-gradient(180deg,transparent 0 11px,rgba(255,90,90,.12) 11px 12px);
  border-left-color:rgba(255,93,122,.45);
}
.pvp-hall-gate--ranked .pvp-hall-gate-door--l{
  background:
    linear-gradient(90deg,rgba(16,12,6,.94) 0%,rgba(48,32,10,.8) 72%,rgba(255,213,106,.22) 100%),
    repeating-linear-gradient(180deg,transparent 0 11px,rgba(255,213,106,.12) 11px 12px);
  border-right-color:rgba(255,213,106,.5);
}
.pvp-hall-gate--ranked .pvp-hall-gate-door--r{
  background:
    linear-gradient(270deg,rgba(16,12,6,.94) 0%,rgba(48,32,10,.8) 72%,rgba(255,213,106,.22) 100%),
    repeating-linear-gradient(180deg,transparent 0 11px,rgba(255,213,106,.12) 11px 12px);
  border-left-color:rgba(255,213,106,.5);
}
.pvp-hall-gate:hover .pvp-hall-gate-door--l{transform:perspective(1000px) rotateY(-24deg) scale(1.02)}
.pvp-hall-gate:hover .pvp-hall-gate-door--r{transform:perspective(1000px) rotateY(24deg) scale(1.02)}
.pvp-hall-gate.is-selected:not(.is-opening):not(.is-open) .pvp-hall-gate-door--l{
  transform:perspective(1000px) rotateY(-46deg) scale(1.02);
}
.pvp-hall-gate.is-selected:not(.is-opening):not(.is-open) .pvp-hall-gate-door--r{
  transform:perspective(1000px) rotateY(46deg) scale(1.02);
}
.pvp-hall-gate.is-opening .pvp-hall-gate-door--l,
.pvp-hall-gate.is-open .pvp-hall-gate-door--l{
  transform:perspective(1000px) rotateY(-84deg);
  filter:brightness(.72);
}
.pvp-hall-gate.is-opening .pvp-hall-gate-door--r,
.pvp-hall-gate.is-open .pvp-hall-gate-door--r{
  transform:perspective(1000px) rotateY(84deg);
  filter:brightness(.72);
}
.pvp-hall-gate-arch{
  position:absolute;inset:0;z-index:4;pointer-events:none;
  box-shadow:inset 0 0 0 2px rgba(126,232,255,.12),inset 0 -70px 80px rgba(4,8,16,.7);
}
.pvp-hall-gate-frame{
  position:absolute;inset:8px;z-index:5;pointer-events:none;
  border:1px solid rgba(255,255,255,.12);
  clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);
}
.pvp-hall-gate-veil{
  position:absolute;inset:0;z-index:6;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(6,10,20,.08) 0%,rgba(6,10,20,.12) 42%,rgba(5,8,16,.78) 78%,rgba(4,6,14,.96) 100%);
  transition:background .45s ease,opacity .45s ease;
}
.pvp-hall-gate.is-selected .pvp-hall-gate-veil,
.pvp-hall-gate.is-open .pvp-hall-gate-veil,
.pvp-hall-gate.is-opening .pvp-hall-gate-veil{
  background:
    linear-gradient(180deg,rgba(6,10,20,.02) 0%,rgba(6,10,20,.06) 40%,rgba(5,8,16,.58) 78%,rgba(4,6,14,.9) 100%),
    radial-gradient(ellipse 70% 50% at 50% 40%,rgba(126,232,255,.16),transparent 72%);
}
.hub-pvp-queue-card-shine{
  position:absolute;inset:0;z-index:7;pointer-events:none;
  background:linear-gradient(115deg,transparent 36%,rgba(255,255,255,.16) 48%,transparent 60%);
  transform:translateX(-130%);
}
.pvp-hall-gate:hover .hub-pvp-queue-card-shine{animation:pvpCardShine .9s ease both}
@keyframes pvpCardShine{to{transform:translateX(130%)}}
.pvp-hall-gate .hub-pvp-queue-card-content{
  position:relative;z-index:8;margin-top:auto;
  display:flex;flex-direction:column;gap:4px;align-items:center;
  padding:14px 12px 16px;
  background:transparent!important;border:0!important;
  text-align:center;
}
.pvp-hall-gate-kicker{
  font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--pvp-cyan);
}
.pvp-hall-gate--casual .pvp-hall-gate-kicker{color:#ff9aa8}
.pvp-hall-gate--ranked .pvp-hall-gate-kicker{color:#ffe08a}
.pvp-hall-gate .hub-pvp-queue-card-title{
  font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  font-size:clamp(.95rem,3.2vw,1.18rem);font-weight:800;letter-spacing:.06em;
  color:#fff8ee;line-height:1.15;text-transform:uppercase;
  text-shadow:0 2px 12px rgba(0,0,0,.7);
}
.pvp-hall-gate--casual .hub-pvp-queue-card-title{
  text-shadow:0 2px 14px rgba(0,0,0,.65),0 0 16px rgba(255,80,90,.28);
}
.pvp-hall-gate--ranked .hub-pvp-queue-card-title{
  text-shadow:0 2px 14px rgba(0,0,0,.65),0 0 16px rgba(255,213,106,.3);
}
.pvp-hall-gate .hub-pvp-queue-card-desc{
  font-size:.7rem;line-height:1.35;color:rgba(230,236,255,.8);max-width:16rem;
}
.pvp-hall-gate-cta{
  margin-top:6px;padding:5px 14px;
  font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  font-size:.62rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  color:#1a1208;
  background:linear-gradient(180deg,#ffe7a8,#ffc14a);
  clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);
  box-shadow:0 0 14px rgba(255,193,74,.35);
}
.pvp-hall-gate--casual .pvp-hall-gate-cta{
  color:#fff;background:linear-gradient(180deg,#ff7a8c,#e23a55);
  box-shadow:0 0 14px rgba(255,80,90,.35);
}
@media (prefers-reduced-motion:reduce){
  .pvp-hall-gate-door{transition-duration:.01ms!important}
}

.pvp-hall-cancel,
.pvp-hall-btn{
  appearance:none;-webkit-appearance:none;
  flex-shrink:0;align-self:center;margin:2px 0 0;padding:9px 18px;cursor:pointer;
  min-height:38px;box-sizing:border-box;
  border:1px solid rgba(255,93,122,.45);
  background:linear-gradient(180deg,rgba(80,16,28,.7),rgba(28,8,14,.75));
  color:#ffe0e6;
  font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);
  box-shadow:0 0 16px rgba(255,93,122,.16);
  transition:filter .16s ease,box-shadow .16s ease;
}
.pvp-hall-btn{
  border-color:rgba(255,213,106,.5);
  background:linear-gradient(180deg,#ffe7a8,#ffc14a);
  color:#1a1208;
  box-shadow:0 0 16px rgba(255,193,74,.28);
}
.pvp-hall-cancel:hover,.pvp-hall-btn:hover{filter:brightness(1.08)}
.pvp-hall-cancel.hidden{
  display:block!important;visibility:hidden;opacity:0;pointer-events:none;
}
body.pvp-hall-active .hub-pvp-queue-hint{
  margin:0;text-align:center;color:rgba(214,226,255,.62)!important;
  text-shadow:0 1px 6px rgba(0,0,0,.55);font-size:.72rem;
}

.pvp-hall-pane{
  padding:12px 12px 14px;
  background:rgba(6,10,20,.42);
  border:1px solid rgba(126,232,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px);
}
.pvp-hall-pane--list,.pvp-hall-pane--board{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
.pvp-hall-pane-head{
  display:flex;flex-direction:column;gap:2px;margin:0 0 8px;text-align:center;
}
.pvp-hall-pane-kicker{
  font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:var(--pvp-cyan);
}
.pvp-hall-pane-head strong{
  font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:#fff4dc;
}
.pvp-hall-pane-lead{margin:0 0 10px;text-align:center;color:rgba(214,226,255,.72)!important}
.pvp-hall-add{flex-shrink:0;padding:0;margin:0;border:0;background:transparent;backdrop-filter:none}
.pvp-hall-add label{
  display:block;margin:0 0 6px;text-align:center;
  color:rgba(214,226,255,.78);font-weight:700;font-size:.72rem;letter-spacing:.06em;
}
.pvp-hall-add .ow-friend-add-row{
  gap:8px;padding:8px;
  background:rgba(4,8,16,.5);border:1px solid rgba(126,232,255,.2);
  clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px);
}
.pvp-hall-input,
body.pvp-hall-active .pvp-hall-add .ow-modal-input{
  background:rgba(8,14,28,.7)!important;
  border:1px solid rgba(126,232,255,.28)!important;
  color:#f4f7ff!important;border-radius:0!important;
}
body.pvp-hall-active .pvp-hall-add .ow-modal-input:focus{
  border-color:rgba(255,213,106,.6)!important;
  box-shadow:0 0 12px rgba(255,213,106,.18);
}
.pvp-hall-list{
  flex:1 1 auto;min-height:0;max-height:none!important;
  overflow-y:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding:4px 0 8px;gap:8px;scrollbar-width:thin;
}
body.pvp-hall-active .pvp-hall-list .hub-friend-row,
body.pvp-hall-active .pvp-hall-list .ow-social-row{
  background:rgba(8,14,28,.62);
  border:1px solid rgba(126,232,255,.16);
  box-shadow:0 8px 20px rgba(0,0,0,.28);
  color:#eef3ff;
  clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px);
  border-radius:0;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
body.pvp-hall-active .pvp-hall-list .hub-friend-row:hover,
body.pvp-hall-active .pvp-hall-list .ow-social-row:hover{
  border-color:rgba(255,213,106,.45);
  background:rgba(16,22,40,.72);
}
body.pvp-hall-active .pvp-hall-rank-top--1{
  border-color:rgba(255,213,106,.55)!important;
  background:rgba(70,48,12,.55)!important;
}
body.pvp-hall-active .pvp-hall-rank-top--2{
  border-color:rgba(180,210,255,.4)!important;
  background:rgba(28,36,56,.55)!important;
}
body.pvp-hall-active .pvp-hall-rank-top--3{
  border-color:rgba(255,140,90,.42)!important;
  background:rgba(56,28,16,.52)!important;
}
body.pvp-hall-active .pvp-hall-list .hub-social-section-label,
body.pvp-hall-active .pvp-hall-list .inv-section-label{
  color:var(--pvp-gold);font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  letter-spacing:.16em;text-transform:uppercase;font-size:.68rem;
  text-align:center;text-shadow:0 0 10px rgba(255,213,106,.25);
}
body.pvp-hall-active .pvp-hall-list .tiny.muted,
body.pvp-hall-active .pvp-hall-list .hub-friend-subline{
  color:rgba(214,226,255,.7)!important;
}
body.pvp-hall-active .pvp-hall-list .ow-empty,
body.pvp-hall-active .pvp-hall-body > .ow-empty{
  color:rgba(214,226,255,.72);text-align:center;padding:28px 12px;
}
body.pvp-hall-active .pvp-hall-list .hub-friend-actions .btn,
body.pvp-hall-active .pvp-hall-list .hub-social-icon-btn{
  border-radius:0!important;
  clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);
  background:rgba(8,14,28,.7)!important;
  border:1px solid rgba(126,232,255,.28)!important;
  color:#e8f6ff!important;
}
body.pvp-hall-active .pvp-hall-list .hub-social-pvp-btn{
  background:linear-gradient(180deg,#ffe7a8,#ffc14a)!important;
  border-color:rgba(255,213,106,.55)!important;
  color:#1a1208!important;font-weight:800!important;
}

@media (max-width:640px){
  .pvp-hall-topbar{grid-template-columns:auto 1fr;gap:8px}
  .pvp-hall-top-rank{grid-column:1/-1;justify-self:center}
  .pvp-hall-gates{gap:10px}
  .pvp-hall-gate{min-height:min(36vh,260px)}
  .pvp-hall-tabs .hub-pvp-tab{padding:8px 6px;font-size:.58rem;letter-spacing:.08em;gap:4px}
}
@media (max-width:420px){
  .pvp-hall-gates{grid-template-columns:1fr;gap:12px}
  .pvp-hall-gate{min-height:180px}
  .pvp-hall-title{font-size:clamp(1.5rem,10vw,2.1rem)}
  .pvp-hall-tab-ico{display:none}
}
@media (max-height:700px){
  .pvp-hall-title{font-size:clamp(1.4rem,6vh,2rem)}
  .pvp-hall-gate{min-height:min(32vh,210px)}
  .pvp-hall-sun{height:72px;min-height:72px}
}
@media (prefers-reduced-motion:reduce){
  .pvp-hall-shell,.pvp-hall-bg,.pvp-hall-heat,.pvp-hall-embers span,
  .pvp-hall-gate:hover .hub-pvp-queue-card-shine{animation:none}
}

/* APK/WebView: Arena-BG contain (kein Cover-Crop + Ken-Burns), kein Overlay-Blink */
html[data-abenteuer-apk="1"] .pvp-hall-fs,
html.flix-rpg-mobile .pvp-hall-fs,
html[data-mobile-shell="1"] .pvp-hall-fs{
  min-height:0!important;height:100%!important;max-height:none!important;
}
html[data-abenteuer-apk="1"] .pvp-hall-bg,
html.flix-rpg-mobile .pvp-hall-bg,
html[data-mobile-shell="1"] .pvp-hall-bg{
  background-size:contain!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  transform:none!important;
  animation:none!important;
}
html[data-abenteuer-apk="1"] .pvp-hall-gate .hub-pvp-queue-card-bg,
html.flix-rpg-mobile .pvp-hall-gate .hub-pvp-queue-card-bg,
html[data-mobile-shell="1"] .pvp-hall-gate .hub-pvp-queue-card-bg,
html[data-abenteuer-apk="1"] .pvp-hall-gate:hover .hub-pvp-queue-card-bg,
html[data-abenteuer-apk="1"] .pvp-hall-gate.is-selected .hub-pvp-queue-card-bg,
html.flix-rpg-mobile .pvp-hall-gate:hover .hub-pvp-queue-card-bg,
html.flix-rpg-mobile .pvp-hall-gate.is-selected .hub-pvp-queue-card-bg{
  background-size:contain!important;
  background-position:center center!important;
  transform:none!important;
}
html[data-abenteuer-apk="1"] .pvp-hall-heat,
html[data-abenteuer-apk="1"] .pvp-hall-embers span,
html.flix-rpg-mobile .pvp-hall-heat,
html.flix-rpg-mobile .pvp-hall-embers span{
  animation:none!important;
  transform:none!important;
}
html[data-abenteuer-apk="1"] .hub-pvp-queue-panel.is-searching .hub-pvp-queue-status,
html.flix-rpg-mobile .hub-pvp-queue-panel.is-searching .hub-pvp-queue-status{
  animation:none!important;
}
/* ===== Gilde · Anime Bannerhalle HUD ===== */
body.guild-hall-active .rpg-wwm-fs{
  padding:0!important;background:transparent!important;
}
body.guild-hall-active .rpg-wwm-fs-body{
  padding:0!important;overflow:hidden!important;display:block!important;
}
body.guild-hall-active .rpg-wwm-fs-shell,
.rpg-wwm-fs-shell.arcade-fs-theme-guild-hall{
  background:transparent!important;border:none!important;box-shadow:none!important;
  width:100%;max-width:none;height:100%;border-radius:0;overflow:hidden;
}
body.guild-hall-active .top-bar{opacity:0;pointer-events:none}
body.guild-hall-active #screen-panel,
body.guild-hall-active #panel-card{
  opacity:0!important;pointer-events:none!important;visibility:hidden!important;
}
.guild-hall-fs{
  --gh-ink:#f4f7ff;
  --gh-muted:rgba(214,226,255,.72);
  --gh-gold:#ffd56a;
  --gh-cyan:#7ee8ff;
  --gh-crimson:#ff5d7a;
  position:relative;width:100%;height:100%;min-height:100dvh;
  display:flex;flex-direction:column;isolation:isolate;overflow:hidden;
  color:var(--gh-ink);background:#05070f;
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
}
.guild-hall-bg,.guild-hall-veil,.guild-hall-heat,.guild-hall-scan{
  position:absolute;inset:0;pointer-events:none;z-index:0;
}
.guild-hall-bg{
  background-size:cover;background-position:center 28%;
  filter:saturate(1.16) contrast(1.1) brightness(.76);
  transform:scale(1.05);
  animation:guildHallBgDrift 28s ease-in-out infinite alternate;
}
@keyframes guildHallBgDrift{
  from{transform:scale(1.05) translate3d(0,0,0)}
  to{transform:scale(1.09) translate3d(0,-1.2%,0)}
}
.guild-hall-veil{
  background:
    radial-gradient(ellipse 80% 36% at 50% 0%,rgba(255,180,70,.2),transparent 58%),
    radial-gradient(ellipse 70% 40% at 50% 100%,rgba(8,16,40,.92),rgba(5,8,18,.55) 55%,transparent 80%),
    linear-gradient(180deg,rgba(5,8,16,.58) 0%,rgba(5,8,16,.16) 28%,rgba(5,8,16,.32) 58%,rgba(4,6,14,.92) 100%);
}
.guild-hall-heat{
  z-index:1;opacity:.38;mix-blend-mode:screen;
  background:
    radial-gradient(ellipse 48% 24% at 50% 78%,rgba(255,180,70,.2),transparent 70%),
    radial-gradient(ellipse 28% 16% at 18% 28%,rgba(126,232,255,.12),transparent 70%);
}
.guild-hall-scan{
  z-index:1;opacity:.07;
  background:repeating-linear-gradient(180deg,transparent 0 3px,rgba(126,232,255,.16) 3px 4px);
  mix-blend-mode:overlay;
}
.guild-hall-shell{
  position:relative;z-index:2;
  display:flex;flex-direction:column;gap:12px;
  width:100%;max-width:980px;margin:0 auto;
  height:100%;min-height:0;
  padding:max(10px,env(safe-area-inset-top)) 16px max(14px,env(safe-area-inset-bottom));
  box-sizing:border-box;
  animation:guildHallIn .55s cubic-bezier(.2,.9,.25,1) both;
  background:transparent!important;border:none!important;box-shadow:none!important;
}
@keyframes guildHallIn{
  from{opacity:0;transform:translateY(16px) scale(.985)}
  to{opacity:1;transform:none}
}
.guild-hall-topbar{
  display:grid;grid-template-columns:auto 1fr auto;
  align-items:center;gap:10px 14px;flex-shrink:0;
}
.guild-hall-back{
  appearance:none;-webkit-appearance:none;
  margin:0;padding:8px 14px 8px 12px;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
  border:1px solid rgba(126,232,255,.38);
  background:linear-gradient(165deg,rgba(18,28,48,.78),rgba(8,12,24,.7));
  color:#d9f6ff;font:inherit;font-weight:800;font-size:.78rem;
  letter-spacing:.14em;text-transform:uppercase;
  font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  box-shadow:0 0 16px rgba(126,232,255,.12),inset 0 1px 0 rgba(255,255,255,.08);
  transition:border-color .16s ease,box-shadow .16s ease,filter .16s ease;
}
.guild-hall-back-ico{font-size:.7rem;color:var(--gh-cyan)}
.guild-hall-back:hover{
  border-color:rgba(255,213,106,.7);
  box-shadow:0 0 22px rgba(255,213,106,.22);
  filter:brightness(1.08);
}
.guild-hall-hero{
  text-align:center;padding:0;margin:0;
  background:transparent;border:0;box-shadow:none;
  display:flex;flex-direction:column;align-items:center;min-width:0;
}
.guild-hall-brand{
  margin:0;font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  font-size:clamp(.62rem,1.8vw,.78rem);letter-spacing:.42em;text-transform:uppercase;
  color:var(--gh-cyan);
  text-shadow:0 0 16px rgba(126,232,255,.55),0 2px 10px rgba(0,0,0,.7);
}
.guild-hall-title{
  margin:2px 0 0;font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  font-size:clamp(1.7rem,6.2vw,2.7rem);font-weight:800;letter-spacing:.18em;
  line-height:.92;text-transform:uppercase;
  background:linear-gradient(180deg,#fff8e8 8%,#ffd56a 46%,#ff8a4a 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 3px 16px rgba(0,0,0,.7)) drop-shadow(0 0 18px rgba(255,180,40,.32));
}
.guild-hall-top-slot{justify-self:end}
.guild-hall-badge{
  margin:0;padding:6px 12px 6px 8px;width:fit-content;max-width:100%;
  display:inline-flex;align-items:center;gap:8px;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
  border:1px solid rgba(255,213,106,.42);
  background:linear-gradient(135deg,rgba(255,180,70,.18),rgba(8,12,24,.62));
  box-shadow:0 0 18px rgba(255,213,106,.16),inset 0 1px 0 rgba(255,255,255,.1);
  color:#ffe9b8;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.guild-hall-badge-logo,.guild-hall-badge .hub-guild-logo{
  width:28px;height:28px;border-radius:6px;object-fit:cover;flex-shrink:0;
  font-size:1.15rem;display:inline-flex;align-items:center;justify-content:center;
}
.guild-hall-badge-meta{display:flex;flex-direction:column;align-items:flex-start;gap:0;text-align:left}
.guild-hall-badge-meta strong{
  font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;
}
.guild-hall-badge-meta span{font-size:.64rem;color:rgba(255,230,190,.78)}

.guild-hall-window{
  position:relative;flex:1 1 auto;min-height:0;
  display:flex;flex-direction:column;gap:0;
  padding:10px 10px 12px;
  background:linear-gradient(180deg,rgba(8,14,28,.72),rgba(6,10,20,.78));
  border:1px solid rgba(126,232,255,.28);
  box-shadow:
    0 18px 48px rgba(0,0,0,.45),
    0 0 0 1px rgba(255,213,106,.08),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.guild-hall-win-corner{
  position:absolute;width:18px;height:18px;pointer-events:none;z-index:3;
  border-color:var(--gh-gold);border-style:solid;border-width:0;
  filter:drop-shadow(0 0 6px rgba(255,213,106,.45));
}
.guild-hall-win-corner--tl{top:6px;left:6px;border-top-width:2px;border-left-width:2px}
.guild-hall-win-corner--tr{top:6px;right:6px;border-top-width:2px;border-right-width:2px}
.guild-hall-win-corner--bl{bottom:6px;left:6px;border-bottom-width:2px;border-left-width:2px}
.guild-hall-win-corner--br{bottom:6px;right:6px;border-bottom-width:2px;border-right-width:2px}
.guild-hall-main{
  flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px;
  overflow:hidden;
}
.guild-hall-tabs{
  flex-shrink:0;display:flex;flex-wrap:wrap;justify-content:center;
  gap:5px;margin:0 0 10px;padding:4px;
  background:rgba(4,8,16,.45);
  border:1px solid rgba(126,232,255,.16);
  box-shadow:none;backdrop-filter:none;
}
.guild-hall-tabs .hub-guild-tab{
  margin:0;padding:8px 10px;border:0;border-radius:0;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  background:transparent;color:rgba(214,226,255,.55);
  font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  position:relative;
  clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);
  transition:color .16s ease,background .16s ease,box-shadow .16s ease;
}
.guild-hall-tab-ico{color:var(--gh-cyan);font-size:.72rem;line-height:1}
.guild-hall-tabs .hub-guild-tab::after{content:none}
.guild-hall-tabs .hub-guild-tab:hover{color:#fff;background:rgba(126,232,255,.08)}
.guild-hall-tabs .hub-guild-tab.active{
  color:#1a1208;background:linear-gradient(180deg,#ffe7a8,#ffc14a);
  box-shadow:0 0 16px rgba(255,193,74,.32);
  transform:none;border:0;
}
.guild-hall-tabs .hub-guild-tab.active .guild-hall-tab-ico{color:#7a3a00}
.guild-hall-body,
.guild-hall-main #hub-guild-tab-body{
  flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px;
  overflow-y:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;
  padding:2px 2px 10px;scrollbar-width:thin;scrollbar-gutter:stable;
  width:100%;box-sizing:border-box;
}
/* Lager u.a.: Content-Area ist der Scroll-Host (kein Parent-Clip ohne Höhe) */
.guild-hall-main #hub-guild-tab-body:not(.hub-guild-tab-skills):not(.hub-guild-tab-quests),
.guild-hall-main #hub-guild-tab-body.hub-guild-tab-storage{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  height:auto!important;
  max-height:none;
  touch-action:pan-y;
}
.hub-guild-storage{
  display:flex;flex-direction:column;gap:10px;
  width:100%;min-width:0;padding-bottom:8px;box-sizing:border-box;
}
.hub-guild-tab-storage{min-height:0}
.guild-hall-empty{
  flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:12px;
  overflow-y:auto;
}
.guild-hall-pane{
  padding:14px 14px 16px;
  background:rgba(6,10,20,.42);
  border:1px solid rgba(126,232,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.guild-hall-hero-card{
  text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  padding:22px 16px 20px;
  background:
    radial-gradient(ellipse 70% 80% at 50% 0%,rgba(255,213,106,.12),transparent 60%),
    rgba(6,10,20,.5);
  border-color:rgba(255,213,106,.28);
}
.guild-hall-pane-kicker{
  font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gh-cyan);
}
.guild-hall-pane-head{
  display:flex;flex-direction:column;gap:2px;margin:0 0 8px;text-align:center;
}
.guild-hall-pane-head strong,
.guild-hall-hero-card strong{
  font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;color:#fff4dc;
}
.guild-hall-hero-card .tiny{margin:0;color:rgba(214,226,255,.72)!important;max-width:22rem}
.guild-hall-cta,
.guild-hall-btn{
  appearance:none;-webkit-appearance:none;
  margin-top:8px;padding:11px 22px;cursor:pointer;
  min-height:42px;box-sizing:border-box;
  border:1px solid rgba(255,213,106,.5);
  background:linear-gradient(90deg,#ffe7a8 0%,#ffc14a 55%,#7ee8ff 140%);
  color:#1a1208;
  font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);
  box-shadow:0 0 18px rgba(255,193,74,.28);
  transition:filter .16s ease,box-shadow .16s ease;
}
.guild-hall-cta:hover,.guild-hall-btn:hover{filter:brightness(1.08)}
.guild-hall-btn--ghost,
body.guild-hall-active .guild-hall-btn.btn-ghost{
  background:linear-gradient(180deg,rgba(18,28,48,.78),rgba(8,12,24,.7));
  border-color:rgba(126,232,255,.38);color:#d9f6ff;
  box-shadow:0 0 14px rgba(126,232,255,.12);
}
.guild-hall-invite{
  padding:12px 14px;margin:0;
  background:rgba(255,213,106,.08);
  border:1px solid rgba(255,213,106,.28);
}
.guild-hall-invite-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;justify-content:center}
.guild-hall-list{gap:8px;max-height:none!important}
body.guild-hall-active .guild-hall-list .ow-social-row,
body.guild-hall-active .guild-hall-body .ow-social-row,
body.guild-hall-active .guild-hall-body .hub-friend-row,
body.guild-hall-active .hub-guild-browse-row{
  background:rgba(8,14,28,.62);
  border:1px solid rgba(126,232,255,.16);
  box-shadow:0 8px 20px rgba(0,0,0,.28);
  color:#eef3ff;border-radius:0;
}
body.guild-hall-active .guild-hall-list .ow-social-row:hover,
body.guild-hall-active .hub-guild-browse-row:hover{
  border-color:rgba(255,213,106,.45);
  background:rgba(16,22,40,.72);
}
body.guild-hall-active .hub-guild-overview,
body.guild-hall-active .hub-guild-header,
body.guild-hall-active .glass{
  background:rgba(8,14,28,.45)!important;
  border:1px solid rgba(126,232,255,.16)!important;
  box-shadow:none!important;
}
body.guild-hall-active .hub-guild-stats-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(156px,1fr));
  gap:12px;
  width:100%;
  min-width:0;
}
body.guild-hall-active .hub-guild-stat{
  min-width:0;
  padding:12px 14px;
  border-radius:0;
  background:
    linear-gradient(165deg,rgba(62,42,18,.55),rgba(8,12,22,.72)),
    rgba(6,10,20,.55);
  border:1px solid rgba(255,213,106,.26);
  box-shadow:
    inset 0 1px 0 rgba(255,230,170,.1),
    inset 0 -1px 0 rgba(0,0,0,.35),
    0 8px 18px rgba(0,0,0,.28);
}
body.guild-hall-active .hub-guild-stat-label{
  font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  font-size:.56rem;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--gh-gold,#ffd56a);
  line-height:1.35;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  max-width:100%;
  hyphens:auto;
}
body.guild-hall-active .hub-guild-stat strong{
  color:#fff6e4;
  font-size:.92rem;
  font-weight:800;
  text-shadow:0 1px 2px rgba(0,0,0,.45);
}
@media (max-width:560px){
  body.guild-hall-active .hub-guild-stats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
}
body.guild-hall-active .ow-empty{
  color:rgba(214,226,255,.72);text-align:center;padding:20px 12px;
}
body.guild-hall-active .inv-section-label{
  color:var(--gh-gold);font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;text-align:center;
}
body.guild-hall-active .btn-primary,
body.guild-hall-active .hub-guild-join-open{
  border-radius:0!important;
  clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);
  background:linear-gradient(180deg,#ffe7a8,#ffc14a)!important;
  border:1px solid rgba(255,213,106,.5)!important;
  color:#1a1208!important;font-weight:800!important;
  font-family:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  letter-spacing:.08em;text-transform:uppercase;
}
body.guild-hall-active .btn-ghost,
body.guild-hall-active .btn-danger{
  border-radius:0!important;
  clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);
}
body.guild-hall-active .ow-modal-input{
  background:rgba(8,14,28,.7)!important;
  border:1px solid rgba(126,232,255,.28)!important;
  color:#f4f7ff!important;border-radius:0!important;
}
body.guild-hall-active .ow-modal-input:focus{
  border-color:rgba(255,213,106,.6)!important;
  box-shadow:0 0 12px rgba(255,213,106,.18);
}
/* Skills/Quests: volle Content-Area unter den Tabs — kein 52vh-Cut, kein toter schwarzer Block */
.guild-hall-fs.guild-hall-skills-open .guild-hall-shell,
.guild-hall-fs.guild-hall-quests-open .guild-hall-shell,
body.guild-hall-skills-open .guild-hall-shell,
body.guild-hall-quests-open .guild-hall-shell{
  max-width:min(1200px,96vw);
}
.guild-hall-fs.guild-hall-skills-open .guild-hall-window,
.guild-hall-fs.guild-hall-quests-open .guild-hall-window,
body.guild-hall-skills-open .guild-hall-window,
body.guild-hall-quests-open .guild-hall-window,
.guild-hall-fs.guild-hall-skills-open .guild-hall-main,
.guild-hall-fs.guild-hall-quests-open .guild-hall-main,
body.guild-hall-skills-open .guild-hall-main,
body.guild-hall-quests-open .guild-hall-main{
  width:100%;
  min-width:0;
}
.guild-hall-fs.guild-hall-skills-open .guild-hall-body,
.guild-hall-fs.guild-hall-quests-open .guild-hall-body,
body.guild-hall-skills-open .guild-hall-body,
body.guild-hall-quests-open .guild-hall-body{
  overflow:hidden;
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  height:100%;
  width:100%;
}
.guild-hall-fs.guild-hall-skills-open .hub-guild-skills,
.guild-hall-fs.guild-hall-quests-open .hub-guild-quests,
body.guild-hall-skills-open .hub-guild-skills,
body.guild-hall-quests-open .hub-guild-quests{
  flex:1 1 auto;
  min-height:0;
  height:100%;
  width:100%;
  max-width:none;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.guild-hall-fs.guild-hall-skills-open .hub-guild-skills-scroll,
.guild-hall-fs.guild-hall-quests-open .hub-guild-quests-scroll,
body.guild-hall-skills-open .hub-guild-skills-scroll,
body.guild-hall-quests-open .hub-guild-quests-scroll{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  height:auto!important;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  touch-action:pan-y;
  scrollbar-gutter:stable;
  width:100%;
}
@media (max-width:640px){
  .guild-hall-topbar{grid-template-columns:auto 1fr;gap:8px}
  .guild-hall-top-slot{grid-column:1/-1;justify-self:center}
  .guild-hall-tabs .hub-guild-tab{padding:7px 8px;font-size:.54rem;letter-spacing:.06em;gap:4px}
}
@media (max-width:420px){
  .guild-hall-title{font-size:clamp(1.5rem,10vw,2.1rem)}
  .guild-hall-tab-ico{display:none}
}
@media (max-height:700px){
  .guild-hall-title{font-size:clamp(1.4rem,6vh,2rem)}
}
@media (prefers-reduced-motion:reduce){
  .guild-hall-shell,.guild-hall-bg{animation:none}
}

/* ===== Pets · Sanctuary Vollbild-Fenster ===== */
body.pet-hall-active .rpg-wwm-fs{
  padding:0!important;background:transparent!important;
}
body.pet-hall-active .rpg-wwm-fs-body{
  padding:0!important;overflow:hidden!important;display:block!important;
}
body.pet-hall-active .rpg-wwm-fs-shell,
.rpg-wwm-fs-shell.arcade-fs-theme-pet-hall{
  background:transparent!important;border:none!important;box-shadow:none!important;
  width:100%;max-width:none;height:100%;border-radius:0;overflow:hidden;
}
body.pet-hall-active .top-bar{opacity:0;pointer-events:none}
body.pet-hall-active #screen-panel,
body.pet-hall-active #panel-card{
  opacity:0!important;pointer-events:none!important;visibility:hidden!important;
}
.pet-hall-fs{
  --ph-ink:#fff6e8;
  --ph-muted:rgba(255,236,210,.78);
  --ph-gold:#e8c07a;
  --ph-leaf:#9fdf8a;
  --ph-wood:#3a2416;
  position:relative;width:100%;height:100%;min-height:100dvh;
  display:flex;flex-direction:column;isolation:isolate;overflow:hidden;
  color:var(--ph-ink);background:#140c08;
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
}
.pet-hall-bg,.pet-hall-veil{
  position:absolute;inset:0;pointer-events:none;z-index:0;
}
.pet-hall-bg{
  background-size:cover;background-position:center 42%;
  filter:saturate(1.08) contrast(1.04) brightness(.92);
  transform:scale(1.04);
  animation:petHallBgDrift 32s ease-in-out infinite alternate;
}
@keyframes petHallBgDrift{
  from{transform:scale(1.04) translate3d(0,0,0)}
  to{transform:scale(1.07) translate3d(0,-1%,0)}
}
.pet-hall-veil{
  background:
    radial-gradient(ellipse 70% 42% at 50% 18%,rgba(255,186,92,.12),transparent 58%),
    linear-gradient(180deg,rgba(20,10,6,.28) 0%,rgba(20,10,6,.08) 36%,rgba(12,7,4,.42) 100%);
}
.pet-hall-shell{
  position:relative;z-index:2;
  display:flex;flex-direction:column;
  width:100%;max-width:none;margin:0;
  height:100%;min-height:0;
  padding:0;box-sizing:border-box;
  animation:pvpHallIn .55s cubic-bezier(.2,.9,.25,1) both;
  background:transparent!important;border:none!important;box-shadow:none!important;
}
.pet-hall-window{
  position:absolute;inset:0;
  display:flex;flex-direction:column;
  background:transparent;border:0;box-shadow:none;
  backdrop-filter:none;-webkit-backdrop-filter:none;
  padding:0;overflow:hidden;
}
.pet-hall-window-art{
  position:absolute;inset:0;z-index:5;pointer-events:none;
  background-repeat:no-repeat;background-position:center;background-size:100% 100%;
}
.pet-hall-window-inner{
  position:absolute;z-index:1;
  left:13.6%;right:13.6%;top:16.2%;bottom:16.4%;
  display:flex;flex-direction:column;min-height:0;gap:8px;
  padding:8px 10px 10px;box-sizing:border-box;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(28,16,10,.62),rgba(16,10,7,.74));
  border-radius:clamp(48px, 6.2vw, 96px);
  box-shadow:inset 0 1px 0 rgba(255,220,160,.12);
}
.pet-hall-topbar{
  display:grid;grid-template-columns:auto 1fr auto;
  align-items:center;gap:8px 12px;flex-shrink:0;
}
.pet-hall-back{
  appearance:none;-webkit-appearance:none;
  margin:0;padding:8px 14px 8px 12px;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;
  border-radius:999px;
  border:1px solid rgba(232,192,122,.45);
  background:linear-gradient(180deg,rgba(72,42,22,.82),rgba(36,20,12,.78));
  color:#ffe9c4;font:inherit;font-weight:800;font-size:.78rem;
  letter-spacing:.08em;text-transform:uppercase;
  font-family:"Cinzel",Georgia,serif;
  box-shadow:0 6px 16px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,230,180,.16);
}
.pet-hall-back-ico{font-size:.7rem;color:var(--ph-gold)}
.pet-hall-back:hover{
  border-color:rgba(255,214,140,.85);
  filter:brightness(1.08);
}
.pet-hall-fs.is-coop .pet-hall-back,
body.pet-hall-coop .pet-hall-back{
  visibility:hidden;pointer-events:none;
}
.pet-hall-hero{
  text-align:center;padding:0;margin:0;
  display:flex;flex-direction:column;align-items:center;min-width:0;
}
.pet-hall-brand{
  margin:0;font-family:"Cinzel",Georgia,serif;
  font-size:clamp(.58rem,1.6vw,.72rem);letter-spacing:.34em;text-transform:uppercase;
  color:#f0d7a4;
  text-shadow:0 2px 10px rgba(0,0,0,.7);
}
.pet-hall-title{
  margin:2px 0 0;font-family:"Cinzel",Georgia,serif;
  font-size:clamp(1.55rem,5.4vw,2.5rem);font-weight:800;letter-spacing:.12em;
  line-height:.92;text-transform:uppercase;
  background:linear-gradient(180deg,#fff6e4 8%,#f0c56a 52%,#c9843a 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 3px 10px rgba(0,0,0,.45));
}
.pet-hall-top-slot{justify-self:end;min-width:0}
.pet-hall-badge{
  display:flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;
  border-radius:999px;
  background:rgba(28,16,10,.72);border:1px solid rgba(232,192,122,.38);
  color:#ffe9c4;font-size:.72rem;font-weight:800;
}
.pet-hall-mount{
  flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;
}
.pet-hall-fs .pet-panel-sticky-head{
  flex-shrink:0;background:transparent;border:0;padding:0 2px 6px;box-shadow:none;
}
.pet-hall-fs .panel-pet-head{display:none}
.pet-hall-fs .pet-panel-tabs{
  display:flex;flex-wrap:wrap;justify-content:center;gap:6px;
  margin:0;padding:5px;
  background:rgba(20,12,8,.42);border:1px solid rgba(232,192,122,.18);border-radius:14px;
}
.pet-hall-fs .pet-tab-btn{
  margin:0;padding:8px 12px;border:0;border-radius:999px;cursor:pointer;
  background:transparent;color:rgba(255,236,210,.62);
  font-family:"Cinzel",Georgia,serif;
  font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
}
.pet-hall-fs .pet-tab-btn:hover{color:#fff6e8;background:rgba(232,192,122,.12)}
.pet-hall-fs .pet-tab-btn.active{
  color:#2a160c;background:linear-gradient(180deg,#ffe7b0,#e8b45a);
  box-shadow:0 0 14px rgba(232,180,90,.28);
}
.pet-hall-fs .panel-pet-scroll{
  flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;padding:2px 2px 8px;
}
.pet-hall-fs .pet-hero-card,
.pet-hall-fs .pet-empty-hero,
.pet-hall-fs .pet-section,
.pet-hall-fs .pet-owned-card,
.pet-hall-fs .pet-starter-card{
  border-radius:16px!important;
  clip-path:none!important;
  border-color:rgba(232,192,122,.28)!important;
  background:linear-gradient(165deg,rgba(48,28,16,.72),rgba(22,12,8,.78))!important;
}
.pet-hall-fs .pet-section-title{
  font-family:"Cinzel",Georgia,serif;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ph-gold);font-size:.78rem;
}
.pet-hall-fs .btn-primary{
  border-radius:999px!important;
  clip-path:none!important;
  font-family:"Cinzel",Georgia,serif;
  letter-spacing:.04em;text-transform:uppercase;
  background:linear-gradient(180deg,#ffe08a,#e0a84a)!important;
  color:#2a160c!important;border:0!important;
}
@media (max-width:900px){
  .pet-hall-window-inner{
    left:10.5%;right:10.5%;top:13.5%;bottom:13.5%;
    border-radius:clamp(36px, 7vw, 72px);
  }
}
@media (max-width:640px){
  .pet-hall-window-inner{
    left:8%;right:8%;top:12%;bottom:12%;
    padding:6px 6px 8px;
    border-radius:clamp(28px, 8vw, 56px);
  }
  .pet-hall-topbar{grid-template-columns:auto 1fr;gap:6px}
  .pet-hall-top-slot{grid-column:1/-1;justify-self:center}
  .pet-hall-fs .pet-tab-btn{padding:7px 8px;font-size:.52rem}
  .pet-hall-title{font-size:clamp(1.2rem,7vw,1.8rem)}
}
@media (prefers-reduced-motion:reduce){
  .pet-hall-bg,.pet-hall-shell{animation:none}
}

.hub-friend-row{
  display:flex;align-items:center;
  padding:10px 12px;
  gap:10px;
  border-radius:12px;
  background:linear-gradient(155deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 4px 14px rgba(0,0,0,.12);
}
.hub-friend-row:hover{background:linear-gradient(155deg,rgba(255,255,255,.1),rgba(255,255,255,.035));border-color:rgba(232,197,71,.16)}
.hub-pending-row{border-color:rgba(232,197,71,.24);background:linear-gradient(155deg,rgba(232,197,71,.08),rgba(0,0,0,.12))}
.hub-friend-row .ow-social-avatar-wrap{width:48px;height:48px;margin-top:0;flex-shrink:0}
.hub-friend-row > .ow-social-avatar,
.hub-friend-avatar-btn > .ow-social-avatar{width:40px;height:40px;margin-top:0;border-radius:50%;border:2px solid rgba(232,197,71,.22);flex-shrink:0;font-size:1.1rem;object-fit:cover}
.hub-friend-row .ow-social-avatar-wrap .ow-social-avatar{border:0!important;margin:0}
.hub-friend-avatar-btn{
  -webkit-appearance:none;appearance:none;border:0;background:transparent!important;background-color:transparent!important;
  padding:0;margin:0;cursor:pointer;flex-shrink:0;box-shadow:none!important;
  display:inline-flex;align-items:center;justify-content:center;
}
.hub-friend-avatar-btn:disabled{cursor:default;opacity:1}
.hub-friend-avatar-btn:not(:disabled):hover{filter:brightness(1.08)}
.hub-friend-avatar-btn:focus-visible{outline:2px solid rgba(96,165,250,.55);outline-offset:2px;border-radius:14px}
.hub-friend-row--self{border-color:rgba(94,196,255,.28);background:linear-gradient(155deg,rgba(59,130,246,.12),rgba(255,255,255,.03))}
.hub-friend-you-tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:.58rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#93c5fd;background:rgba(59,130,246,.2);border:1px solid rgba(147,197,253,.35);vertical-align:middle}
.hub-friend-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;padding-top:0}
.hub-friend-name{font-size:.88rem;line-height:1.15;font-weight:700;letter-spacing:.01em}
.hub-friend-name-btn{
  -webkit-appearance:none;appearance:none;border:0;background:transparent!important;background-color:transparent!important;
  padding:0;margin:0;box-shadow:none!important;
  color:inherit;font:inherit;text-align:left;cursor:pointer;max-width:100%;
  display:inline-flex;align-items:flex-start;min-width:0;
}
.hub-friend-name-line{
  display:flex;flex-wrap:wrap;align-items:center;gap:5px 6px;min-width:0;max-width:100%;
}
.hub-friend-badges{
  display:inline-flex;align-items:center;gap:4px;flex-shrink:0;
}
.hub-friend-badge.cos-badge-wrap{
  cursor:help;line-height:0;
}
.hub-friend-badges .cos-badge-inline{
  width:20px;height:20px;border:0!important;background:transparent!important;
  object-fit:contain;border-radius:5px;
}
.hub-friend-you-tag{display:none!important}
.hub-friend-name-btn:hover .cos-name-text,
.hub-friend-name-btn:focus-visible .cos-name-text{
  text-decoration:underline;text-underline-offset:2px;
}
.hub-friend-name-btn:focus-visible{outline:2px solid rgba(96,165,250,.55);outline-offset:2px;border-radius:6px}
.hub-friend-name .player-guild-tag{font-size:.56rem;line-height:1.1;opacity:.85}
.hub-friend-name .player-display-name{font-size:.88rem;font-weight:700}
.hub-friend-title{
  margin-top:1px;font-size:.66rem;font-style:italic;font-weight:600;line-height:1.2;
  color:rgba(232,197,71,.92);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%
}
.hub-friend-subline{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;margin-top:1px}
.hub-friend-class-line{font-size:.72rem;gap:4px}
.hub-friend-level{font-size:.68rem}
.hub-friend-status{font-size:.62rem;padding:2px 7px;gap:4px}
.hub-friend-actions{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;
  align-self:center;flex-shrink:0;min-width:112px;max-width:132px
}
.hub-friend-actions .btn{min-height:34px;padding:6px 6px!important;font-size:.72rem!important;border-radius:10px;width:100%;justify-content:center;line-height:1}
.hub-friend-actions .hub-social-icon-btn{min-width:0;padding:6px!important;font-size:1rem!important}
.hub-friend-actions .hub-social-pvp-btn{grid-column:1/-1;font-weight:700;font-size:.72rem!important;min-height:34px}
.hub-friend-actions .hub-social-pvp-btn.disabled,.hub-friend-actions .hub-social-pvp-btn:disabled{opacity:.45}
.hub-social-suggest{z-index:30160!important}
.hub-social-suggest-mailbox,
.ow-player-suggest.ow-player-suggest-portal.hub-social-suggest-mailbox{
  position:fixed!important;
  left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  z-index:40200!important;
  max-height:min(42vh,280px);
  pointer-events:auto;
}
.hub-guild-friend-modal{z-index:30180}
.hub-guild-friend-sheet{width:min(92vw,380px)}
.hub-guild-friend-body{display:flex;flex-direction:column;gap:12px;padding:4px 2px 2px}
.hub-guild-friend-guild{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px}
.hub-guild-friend-guild-icon{font-size:1.4rem;line-height:1;flex-shrink:0}
.hub-guild-friend-logo{width:28px;height:28px;border-radius:8px;object-fit:cover}
.hub-guild-friend-actions{display:flex;flex-direction:column;gap:8px}
.hub-guild-friend-none{margin:0;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.04)}
.hub-guild-visit-modal{z-index:30190}
.hub-guild-visit-sheet{width:min(96vw,560px);max-height:min(88vh,720px);display:flex;flex-direction:column}
.hub-guild-visit-body{display:flex;flex-direction:column;gap:10px;padding:0 12px 12px;overflow:auto;flex:1 1 auto;min-height:0}
.hub-guild-visit-lead{margin:0}
.hub-guild-visit-badge{display:inline-block;margin-bottom:8px;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:rgba(238,241,255,.78)}
.hub-guild-visit-tabs{flex-shrink:0}
.gh-fs-visit-badge{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:rgba(96,165,250,.16);color:#93c5fd;border:1px solid rgba(96,165,250,.28);font-weight:700}
.gh-fs-visit-hint{border-color:rgba(96,165,250,.22)!important;background:rgba(96,165,250,.08)!important}
.gh-view-only .gh-hotspot-phase-ready{cursor:default}
.gh-detail-viewonly-hint{margin:0;padding:6px 8px;border-radius:8px;background:rgba(96,165,250,.08);border:1px solid rgba(96,165,250,.16)}
.hub-pending-hint{font-size:.68rem;margin-top:0;opacity:.85}
.hub-social-invite{margin-bottom:4px}
.hub-guild-header{padding:10px 12px;border-radius:10px}
.hub-guild-members .ow-social-row{background:rgba(0,0,0,.18);border-radius:8px;padding:6px 8px}
.hub-friend-name .player-name-stack{align-items:flex-start;gap:2px}
.hub-friend-class{font-weight:600;color:rgba(255,255,255,.88)}
.hub-friend-profession{font-size:.68rem;font-weight:600;color:rgba(232,197,71,.92)}
.hub-friend-dot{opacity:.4;margin:0 2px}
.hub-friend-status.online{background:rgba(34,197,94,.16);color:#86efac;border:1px solid rgba(34,197,94,.28)}
.hub-friend-status.busy{background:rgba(239,68,68,.16);color:#fca5a5;border:1px solid rgba(248,113,113,.35)}
.hub-friend-status.offline{background:rgba(255,255,255,.05);color:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.1)}
.panel-social .ow-friend-add{padding:10px 12px;border-radius:10px}
.panel-social .ow-social-row{align-items:center}
@media(max-width:520px){
  .hub-social-list{max-height:min(46vh,360px)}
}
.hub-social-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}
.hub-social-tab{padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.2);font-size:.68rem;font-weight:700;color:var(--muted);cursor:pointer;touch-action:manipulation}
.hub-social-tab.active{border-color:rgba(232,197,71,.45);color:var(--gold);background:rgba(232,197,71,.08)}
.hub-guild-motd{margin:8px 0 0;font-size:.76rem;line-height:1.4;color:var(--txt)}
.hub-guild-quick-row,.hub-guild-quick{display:flex;flex-wrap:wrap;gap:8px}
.hub-guild-raid-list{display:flex;flex-direction:column;gap:8px}
.hub-guild-raid-card.has-banner,
.hub-guild-active-raid-card.has-banner{min-height:100px}
.hub-guild-active-raid-card.has-banner{width:100%;text-align:left;cursor:pointer;border:none;margin:0;touch-action:manipulation}
.hub-guild-raid-card.has-banner>.hub-guild-raid-banner-bg,
.hub-guild-active-raid-card.has-banner>.hub-guild-raid-banner-bg{
  position:absolute!important;inset:0;z-index:0!important;
  background-size:cover;background-position:center right;pointer-events:none;
  filter:brightness(.68) saturate(.9);
}
.hub-guild-raid-card.has-banner::before,
.hub-guild-active-raid-card.has-banner::before{
  z-index:1!important;
  background:linear-gradient(105deg,rgba(4,2,10,.97) 0%,rgba(6,4,12,.9) 30%,rgba(8,6,14,.62) 52%,rgba(8,6,14,.22) 72%,rgba(8,6,14,.04) 100%)!important;
}
.hub-guild-raid-card.has-banner::after,
.hub-guild-active-raid-card.has-banner::after{z-index:1}
.hub-guild-raid-card.has-banner>.dungeon-panel-info,
.hub-guild-active-raid-card.has-banner>.hub-guild-active-raid-info{
  position:relative;z-index:2;flex:1;min-width:0;
  padding:6px 10px 6px 6px;border-radius:10px;
  background:linear-gradient(90deg,rgba(4,2,10,.78) 0%,rgba(4,2,10,.42) 72%,transparent 100%);
}
.hub-guild-raid-card.has-banner>.dungeon-panel-actions,
.hub-guild-active-raid-card.has-banner>.dungeon-panel-actions{position:relative;z-index:3;flex-shrink:0;padding-left:4px}
.hub-guild-raid-card.has-banner .dungeon-panel-info strong,
.hub-guild-active-raid-card.has-banner .hub-guild-active-raid-info strong{
  color:#faf6ea;font-weight:800;letter-spacing:.01em;
  text-shadow:0 1px 2px rgba(0,0,0,.95),0 2px 10px rgba(0,0,0,.75);
}
.hub-guild-raid-card.has-banner .dungeon-panel-desc,
.hub-guild-active-raid-card.has-banner .dungeon-panel-desc{
  color:rgba(255,255,255,.84)!important;line-height:1.4;
  text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 8px rgba(0,0,0,.65);
}
.hub-guild-raid-card.has-banner .dungeon-panel-info .tiny,
.hub-guild-active-raid-card.has-banner .hub-guild-active-raid-info .tiny{
  color:rgba(255,255,255,.9)!important;
  text-shadow:0 1px 3px rgba(0,0,0,.95);
}
.hub-guild-raid-card.has-banner .hub-guild-ko-hint{color:#fca5a5!important;text-shadow:0 1px 3px rgba(0,0,0,.95)}
.hub-guild-raid-card.has-banner .dungeon-panel-actions .btn,
.hub-guild-active-raid-card.has-banner .dungeon-panel-actions .btn{box-shadow:0 4px 14px rgba(0,0,0,.45)}
.hub-guild-raid-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.hub-guild-settings{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:10px}
.hub-guild-overview{display:flex;flex-direction:column;gap:10px}
.hub-guild-overview-top{display:flex;align-items:center;gap:12px}
.hub-guild-logo,.hub-guild-logo-preview-img{width:56px;height:56px;border-radius:12px;object-fit:cover;border:2px solid rgba(232,197,71,.35);flex-shrink:0}
.hub-guild-logo-emoji,.hub-guild-logo-preview-img.hub-guild-logo-emoji{font-size:2rem;line-height:56px;text-align:center;display:inline-block;width:56px;height:56px}
.hub-guild-browse-logo{border-radius:10px;font-size:1.1rem}
.hub-guild-overview-title{min-width:0;flex:1}
.hub-guild-stats-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(148px,1fr));
  gap:10px 12px;
  width:100%;
  min-width:0;
}
.hub-guild-stat{
  min-width:0;
  padding:10px 12px;
  border-radius:8px;
  background:rgba(0,0,0,.18);
  display:flex;
  flex-direction:column;
  gap:4px;
  box-sizing:border-box;
}
.hub-guild-stat-label{
  display:block;
  font-size:.68rem;
  color:var(--muted);
  line-height:1.3;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  max-width:100%;
  hyphens:auto;
}
.hub-guild-stat strong{
  font-size:.88rem;
  color:var(--txt);
  line-height:1.2;
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
  font-variant-numeric:tabular-nums;
}
.hub-guild-motd-block,.hub-guild-desc-block{display:flex;flex-direction:column;gap:4px}
.hub-guild-raid-status{padding:6px 0;border-top:1px solid rgba(255,255,255,.08)}
.hub-guild-logo-upload{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.hub-guild-logo-preview{margin:4px 0}
.hub-guild-logo-file-label{cursor:pointer;touch-action:manipulation}
.hub-guild-browse-desc{display:block;margin-top:2px;opacity:.85}
.hub-guild-raid-card.ko-blocked{opacity:.58;border-color:rgba(231,76,60,.28)}
.hub-guild-skills{display:flex;flex-direction:column;gap:8px;flex:1 1 auto;min-height:0;overflow:hidden}
.hub-guild-skills-head{flex-shrink:0;display:flex;flex-direction:column;gap:8px}
.hub-guild-skills-lead{margin:0}
.hub-guild-skills-active{padding:10px 12px;border-radius:10px;margin:0}
.hub-guild-skills-scroll{
  flex:1 1 auto;min-height:0;max-height:min(52vh,480px);
  overflow-y:auto;overflow-x:hidden;padding:2px 4px 10px 0;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;
  scrollbar-gutter:stable;
  width:100%;box-sizing:border-box;
}
.hub-guild-tab-skills{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column;width:100%}
.hub-guild-tab-body{min-height:0;width:100%}
.hub-guild-active-raids-stack{display:flex;flex-direction:column;gap:8px}
.hub-guild-skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;padding-bottom:4px}
body.screen-panel:has(#panel-card.panel-guild) #screen-panel{
  display:flex;flex-direction:column;min-height:0;
}
#screen-panel #panel-card.panel-guild{
  max-height:var(--rpg-menu-scroll-max);
  flex:1 1 auto;min-height:0;overflow:hidden;
  display:flex;flex-direction:column;
}
#panel-card.panel-guild>.hub-social-panel{
  flex:1 1 auto;min-height:0;overflow:hidden;
  display:flex;flex-direction:column;gap:8px;
}
#panel-card.panel-guild .panel-title,
#panel-card.panel-guild .hub-social-lead,
#panel-card.panel-guild .hub-social-invite,
#panel-card.panel-guild .hub-guild-tabs{flex-shrink:0}
#panel-card.panel-guild #hub-guild-tab-body:not(.hub-guild-tab-skills):not(.hub-guild-tab-quests){
  flex:1 1 auto;min-height:0;
  overflow-y:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;
  padding-right:2px;
  padding-bottom:max(8px,env(safe-area-inset-bottom,0px));
  scrollbar-gutter:stable;
}
#panel-card.panel-guild.panel-guild-skills-open{
  display:flex;flex-direction:column;overflow:hidden;
  max-height:min(calc(100dvh - 108px),700px);
}
#panel-card.panel-guild.panel-guild-skills-open>.hub-social-panel{
  flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:8px;
}
#panel-card.panel-guild.panel-guild-skills-open .panel-title,
#panel-card.panel-guild.panel-guild-skills-open .hub-social-lead,
#panel-card.panel-guild.panel-guild-skills-open .hub-guild-tabs{flex-shrink:0}
#panel-card.panel-guild.panel-guild-skills-open #hub-guild-tab-body{overflow:hidden}
#panel-card.panel-guild.panel-guild-skills-open .hub-guild-skills-scroll{max-height:none}
#panel-card.panel-guild.panel-guild-quests-open{
  display:flex;flex-direction:column;overflow:hidden;
  max-height:min(calc(100dvh - 108px),700px);
}
#panel-card.panel-guild.panel-guild-quests-open>.hub-social-panel{
  flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:8px;
}
#panel-card.panel-guild.panel-guild-quests-open .panel-title,
#panel-card.panel-guild.panel-guild-quests-open .hub-social-lead,
#panel-card.panel-guild.panel-guild-quests-open .hub-guild-tabs{flex-shrink:0}
#panel-card.panel-guild.panel-guild-quests-open #hub-guild-tab-body{overflow:hidden}
#panel-card.panel-guild.panel-guild-quests-open .hub-guild-quests-scroll{max-height:none}
.hub-guild-skill-card{padding:12px;border-radius:12px;display:flex;flex-direction:column;gap:8px;border:1px solid var(--line)}
.hub-guild-skill-card.unlocked{border-color:rgba(34,197,94,.35);box-shadow:0 0 0 1px rgba(34,197,94,.08)}
.hub-guild-skill-card.ready{border-color:rgba(94,196,255,.35)}
.hub-guild-skill-card.locked{opacity:.72}
.hub-guild-skill-head{display:flex;align-items:flex-start;gap:10px}
.hub-guild-skill-emoji{font-size:1.6rem;line-height:1}
.hub-guild-skill-desc{margin:0;line-height:1.35}
.hub-guild-skill-actions{margin-top:auto}
@media (max-width:560px){
  .hub-guild-skills-grid{grid-template-columns:1fr}
}
.hub-guild-ko-hint{color:#f87171;display:block;margin-top:2px}
.hub-guild-active-raid-info{flex:1;min-width:0}
.hub-guild-active-raid-hp{margin-top:6px;display:flex;flex-direction:column;gap:4px}
.guild-raid-boss-fallback{width:100%;height:100%;min-height:120px;background:linear-gradient(180deg,rgba(20,12,40,.6),rgba(8,8,16,.9));border-radius:12px}
.guild-raid-boss-meta{margin-top:2px}
.guild-raid-minion-label{display:block;font-size:.62rem;margin-bottom:4px;opacity:.85}
.guild-raid-reward-items{margin:6px 0 0;padding-left:16px}
.guild-raid-victory{margin-top:8px;padding:10px 12px;border:1px solid rgba(46,204,113,.35);background:rgba(46,204,113,.08);border-radius:12px}
.guild-raid-ko{padding:8px 10px;border-radius:8px;background:rgba(231,76,60,.08);border:1px solid rgba(231,76,60,.2)}
.hub-guild-treasury-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:4px}
.hub-guild-treasury-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px}
.hub-guild-treasury-emoji{font-size:1.4rem;line-height:1}
.hub-guild-treasury-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.hub-guild-treasury-label{font-size:.64rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.hub-guild-treasury-info strong{font-size:.88rem;color:var(--txt)}
.hub-guild-deposit-section{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:12px;margin-bottom:4px}
.hub-guild-deposit-grid,.hub-guild-storage-grid{display:flex;flex-direction:column;gap:8px;margin-bottom:8px;touch-action:pan-y}
.hub-guild-inv-row,.hub-guild-storage-row{margin:0}
.hub-guild-storage-row-actions{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}
.hub-guild-withdraw-qty{width:64px;min-width:56px;min-height:32px;padding:4px 6px;font-size:.72rem}
.hub-guild-storage-drag{
  flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
  width:36px;min-height:36px;margin:0;padding:0;border-radius:10px;cursor:grab;
  border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);
  color:rgba(232,197,71,.95);font-size:1rem;line-height:1;user-select:none;
  touch-action:none;-webkit-user-select:none;-webkit-touch-callout:none
}
.hub-guild-storage-drag:active,.hub-guild-storage-slot.filled.is-dragging .hub-guild-storage-drag{cursor:grabbing;background:rgba(232,197,71,.18)}
.hub-guild-storage-slot.filled.is-draggable{cursor:default}
.hub-guild-storage-slot.filled.is-draggable .inv-row-top{cursor:grab;touch-action:none;user-select:none}
.hub-guild-storage-slot.filled.is-dragging{
  opacity:.62;transform:scale(.985);
  box-shadow:0 8px 24px rgba(0,0,0,.35);border-color:rgba(232,197,71,.45)!important
}
.hub-guild-storage-slot.filled.drag-over{
  outline:2px solid rgba(232,197,71,.7);outline-offset:2px;
  background:rgba(232,197,71,.1)
}
.hub-guild-storage-slot.empty{display:flex;align-items:center;justify-content:center;min-height:52px;border:1px dashed rgba(255,255,255,.14);border-radius:var(--r-sm);background:rgba(0,0,0,.12)}
.hub-guild-storage-empty{margin-top:8px;padding:8px;text-align:center}
.hub-guild-ranks-panel{
  margin:14px 0 4px;padding:0;border-radius:18px;overflow:hidden;
  border:1px solid rgba(232,197,71,.26);
  background:
    radial-gradient(120% 80% at 0% 0%,rgba(232,197,71,.12),transparent 55%),
    linear-gradient(165deg,rgba(28,24,18,.96),rgba(10,12,18,.98));
  box-shadow:0 10px 28px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05);
  display:flex;flex-direction:column
}
.hub-guild-ranks-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:14px 14px 10px;border-bottom:1px solid rgba(255,255,255,.07)
}
.hub-guild-ranks-intro{display:flex;align-items:flex-start;gap:10px;min-width:0}
.hub-guild-ranks-badge{
  width:40px;height:40px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:1.2rem;
  background:linear-gradient(145deg,rgba(232,197,71,.28),rgba(180,83,9,.18));
  border:1px solid rgba(253,230,138,.35);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12)
}
.hub-guild-ranks-copy{min-width:0}
.hub-guild-ranks-title{
  margin:0;font-size:.92rem;font-weight:850;letter-spacing:.01em;
  color:#fde68a;line-height:1.2
}
.hub-guild-ranks-lead{
  margin:4px 0 0;font-size:.68rem;line-height:1.35;color:rgba(220,226,240,.58)
}
.hub-guild-ranks-add{
  flex-shrink:0;min-height:34px;padding:0 12px;border-radius:999px;cursor:pointer;
  display:inline-flex;align-items:center;gap:5px;
  font:inherit;font-size:.72rem;font-weight:800;color:#1a1208;
  border:1px solid rgba(253,230,138,.65);
  background:linear-gradient(180deg,#fde68a,#e8c547 55%,#b45309);
  box-shadow:0 4px 12px rgba(180,83,9,.28)
}
.hub-guild-ranks-add:hover{filter:brightness(1.06)}
.hub-guild-ranks-meta{padding:8px 14px 0;font-size:.62rem;letter-spacing:.04em;text-transform:uppercase}
.hub-guild-ranks-list{display:flex;flex-direction:column;gap:8px;padding:10px 12px 14px}
.hub-guild-ranks-empty{
  margin:0;padding:18px 12px;text-align:center;border-radius:12px;
  border:1px dashed rgba(255,255,255,.14);color:rgba(220,226,240,.55);font-size:.76rem
}
.hub-guild-rank-row{
  display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:14px;
  background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08);
  transition:border-color .15s,background .15s,transform .12s
}
.hub-guild-rank-row:hover{
  background:rgba(255,255,255,.04);border-color:rgba(232,197,71,.32)
}
.hub-guild-rank-row.is-builtin{
  background:linear-gradient(90deg,rgba(232,197,71,.07),rgba(0,0,0,.22) 40%)
}
.hub-guild-rank-avatar{
  width:42px;height:42px;border-radius:13px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:1.25rem;
  background:rgba(8,10,16,.65);border:1px solid rgba(255,255,255,.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)
}
.hub-guild-rank-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.hub-guild-rank-name-line{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.hub-guild-rank-name{font-size:.88rem;font-weight:800;color:#fff;line-height:1.15}
.hub-guild-rank-chip{
  font-size:.58rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  padding:2px 7px;border-radius:999px;
  color:rgba(253,230,138,.9);background:rgba(232,197,71,.12);border:1px solid rgba(232,197,71,.28)
}
.hub-guild-rank-row:not(.is-builtin) .hub-guild-rank-chip{
  color:rgba(167,243,208,.95);background:rgba(16,185,129,.12);border-color:rgba(52,211,153,.28)
}
.hub-guild-rank-sub{
  display:flex;align-items:center;gap:8px;font-size:.66rem;color:rgba(220,226,240,.55)
}
.hub-guild-rank-bar{
  flex:1;max-width:88px;height:4px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden
}
.hub-guild-rank-bar > span{
  display:block;height:100%;border-radius:inherit;
  background:linear-gradient(90deg,#e8c547,#f59e0b)
}
.hub-guild-rank-actions{display:flex;gap:6px;flex-shrink:0;align-items:center}
.hub-guild-rank-btn{
  min-height:32px;padding:0 12px;border-radius:10px;cursor:pointer;
  font:inherit;font-size:.7rem;font-weight:750;color:rgba(253,230,138,.95);
  border:1px solid rgba(232,197,71,.4);
  background:rgba(232,197,71,.12)
}
.hub-guild-rank-btn:hover{background:rgba(232,197,71,.22);border-color:rgba(253,230,138,.55)}
.hub-guild-rank-btn-danger{
  min-width:32px;padding:0;color:rgba(252,165,165,.95);
  border-color:rgba(248,113,113,.35);background:rgba(127,29,29,.25)
}
.hub-guild-rank-btn-danger:hover{background:rgba(185,28,28,.4)}
.hub-guild-member-actions{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.hub-guild-rank-assign{min-width:120px;max-width:160px;min-height:30px;padding:4px 6px;font-size:.72rem}
.hub-guild-rank-modal{
  position:fixed;inset:0;z-index:13050;display:flex;align-items:center;justify-content:center;
  padding:max(12px,env(safe-area-inset-top,0px)) 12px max(12px,env(safe-area-inset-bottom,0px))
}
.hub-guild-rank-backdrop{position:absolute;inset:0;border:0;padding:0;background:rgba(4,8,16,.72);backdrop-filter:blur(6px);cursor:pointer}
.hub-guild-rank-sheet{
  position:relative;z-index:1;width:min(440px,100%);max-height:min(86vh,720px);
  display:flex;flex-direction:column;padding:0;border-radius:18px;overflow:hidden;
  border:1px solid rgba(232,197,71,.28);
  background:linear-gradient(165deg,rgba(28,24,18,.98),rgba(12,14,22,.98) 42%,rgba(8,10,16,.99));
  box-shadow:0 24px 60px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.06)
}
.hub-guild-rank-sheet-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:16px 16px 12px;border-bottom:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(232,197,71,.1),transparent)
}
.hub-guild-rank-kicker{
  margin:0 0 2px;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(253,230,138,.75)
}
.hub-guild-rank-sheet-titles h3{margin:0;font-size:1.12rem;font-weight:800;color:#fff}
.hub-guild-rank-sheet .gh-detail-close{position:relative;top:0;right:0;flex-shrink:0}
.hub-guild-rank-sheet-body{flex:1;min-height:0;overflow:auto;padding:14px 16px 8px;display:flex;flex-direction:column;gap:14px}
.hub-guild-rank-identity{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:end}
.hub-guild-rank-field{display:flex;flex-direction:column;gap:5px;min-width:0}
.hub-guild-rank-field-lbl{font-size:.62rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase;color:rgba(238,241,255,.55)}
.hub-guild-rank-emoji-input{
  width:100%;min-height:48px;border-radius:14px;border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.28);color:#fff;font-size:1.45rem;text-align:center;padding:6px
}
.hub-guild-rank-name-input{min-height:48px;border-radius:12px;font-size:.92rem}
.hub-guild-rank-perms-title{font-size:.72rem;font-weight:800;color:var(--gold,#e8c547);margin-bottom:8px}
.hub-guild-rank-perms{display:flex;flex-direction:column;gap:12px}
.hub-guild-rank-group{
  border-radius:14px;border:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.2);overflow:hidden
}
.hub-guild-rank-group-head{
  display:flex;align-items:center;gap:8px;padding:8px 12px;
  background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.06)
}
.hub-guild-rank-group-emoji{font-size:1rem;line-height:1}
.hub-guild-rank-group-title{font-size:.72rem;font-weight:800;letter-spacing:.03em;color:rgba(248,250,255,.9)}
.hub-guild-rank-group-list{display:flex;flex-direction:column;padding:4px}
.hub-guild-rank-perm{
  display:flex;align-items:center;gap:10px;padding:10px 12px;margin:2px;border-radius:10px;
  cursor:pointer;user-select:none;transition:background .12s ease,border-color .12s ease;
  border:1px solid transparent
}
.hub-guild-rank-perm:hover{background:rgba(255,255,255,.05)}
.hub-guild-rank-perm.is-on{
  background:rgba(232,197,71,.1);border-color:rgba(232,197,71,.28)
}
.hub-guild-rank-perm input{position:absolute;opacity:0;pointer-events:none}
.hub-guild-rank-perm-ui{
  width:20px;height:20px;border-radius:6px;flex-shrink:0;
  border:1.5px solid rgba(255,255,255,.28);background:rgba(0,0,0,.35);
  position:relative;transition:background .12s,border-color .12s,box-shadow .12s
}
.hub-guild-rank-perm.is-on .hub-guild-rank-perm-ui{
  background:linear-gradient(145deg,#e8c547,#b45309);border-color:rgba(253,230,138,.8);
  box-shadow:0 0 0 1px rgba(232,197,71,.25)
}
.hub-guild-rank-perm.is-on .hub-guild-rank-perm-ui::after{
  content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;
  border:solid #1a1208;border-width:0 2px 2px 0;transform:rotate(45deg)
}
.hub-guild-rank-perm-label{font-size:.8rem;font-weight:650;color:rgba(245,248,255,.92);line-height:1.25}
.hub-guild-rank-sheet-foot{
  display:flex;gap:8px;padding:12px 16px 16px;border-top:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.18)
}
.hub-guild-rank-sheet-foot .gh-btn{flex:1;justify-content:center;min-height:42px}
.hub-guild-raid-grid{margin-top:6px}
.hub-guild-raid-lead{margin:0 0 6px}
.hub-guild-raid-card.locked{opacity:.62}
.hub-pvp-panel{gap:14px}
.hub-pvp-hero{
  position:relative;min-height:108px;border-radius:18px;overflow:hidden;
  background:linear-gradient(135deg,rgba(20,12,40,.95),rgba(8,8,16,.92));
  border:1px solid rgba(232,197,71,.22);box-shadow:0 10px 28px rgba(0,0,0,.28);
}
.hub-pvp-hero::before{
  content:'';position:absolute;inset:0;background-image:var(--hub-pvp-hero);background-size:cover;background-position:center;
  opacity:.72;
}
.hub-pvp-hero-overlay{
  position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.62));
}
.hub-pvp-hero-content{position:relative;z-index:1;padding:16px 18px 14px}
.hub-pvp-title{margin:0;font-size:1.18rem;text-shadow:0 2px 12px rgba(0,0,0,.55)}
.hub-pvp-tagline{margin:6px 0 0;font-size:.76rem;color:rgba(255,255,255,.72)}
.hub-pvp-queue-panel{padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:12px}
.hub-pvp-queue-panel.is-searching{border-color:rgba(232,197,71,.35);box-shadow:0 0 24px rgba(232,197,71,.12)}
.hub-pvp-queue-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.hub-pvp-queue-label{font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--gold)}
.hub-pvp-queue-status{font-size:.72rem;color:rgba(255,255,255,.68)}
.hub-pvp-queue-panel.is-searching .hub-pvp-queue-status{color:#fde68a;animation:hub-pvp-pulse 1.4s ease-in-out infinite}
.hub-pvp-queue-timer-wrap{position:relative;display:flex;align-items:center;justify-content:center;min-height:84px}
.hub-pvp-queue-ring{
  position:absolute;width:84px;height:84px;border-radius:50%;
  border:2px solid rgba(255,255,255,.12);border-top-color:rgba(232,197,71,.85);
  animation:hub-pvp-spin 1.1s linear infinite;opacity:0;
}
.hub-pvp-queue-panel.is-searching .hub-pvp-queue-ring{opacity:1}
.hub-pvp-queue-timer{font-size:1.65rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.06em;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.hub-pvp-queue-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.hub-pvp-queue-card{
  position:relative;display:flex;flex-direction:column;min-height:148px;border-radius:14px;overflow:hidden;
  border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.35);cursor:pointer;padding:0;text-align:left;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.hub-pvp-queue-card:hover{transform:translateY(-2px);border-color:rgba(232,197,71,.35);box-shadow:0 8px 22px rgba(0,0,0,.28)}
.hub-pvp-queue-card-bg{
  position:relative;flex:1 1 auto;width:100%;min-height:92px;
  background-image:var(--hub-pvp-card);background-size:cover;background-position:center center;background-repeat:no-repeat;
  display:block;
}
.hub-pvp-queue-card--casual .hub-pvp-queue-card-bg{background-color:#0a0814}
.hub-pvp-queue-card--ranked .hub-pvp-queue-card-bg{background-color:#1a0808}
.hub-pvp-queue-card-content{
  position:relative;z-index:1;flex:0 0 auto;display:flex;flex-direction:column;justify-content:flex-start;gap:3px;
  padding:10px 12px;background:rgba(8,6,16,.92);border-top:1px solid rgba(255,255,255,.08);
}
.hub-pvp-queue-card-title{font-weight:800;font-size:.84rem;line-height:1.2}
.hub-pvp-queue-card-desc{font-size:.66rem;color:rgba(255,255,255,.72);line-height:1.3}
.hub-pvp-queue-cancel{align-self:center;margin-top:2px}
.hub-pvp-queue-hint{margin:0;text-align:center}
.hub-pvp-friend-intro{padding:12px 14px;border-radius:12px;margin-bottom:4px}
.hub-social-friend-pvp-btn{grid-column:1/-1!important;background:linear-gradient(135deg,rgba(59,130,246,.28),rgba(34,197,94,.18))!important}
@keyframes hub-pvp-spin{to{transform:rotate(360deg)}}
@keyframes hub-pvp-pulse{0%,100%{opacity:.75}50%{opacity:1}}
@media(max-width:520px){
  .hub-pvp-queue-cards{grid-template-columns:1fr}
  .hub-pvp-queue-card{min-height:136px}
  .hub-pvp-queue-card-bg{min-height:84px}
}
.hub-pvp-ranked-me,.hub-pvp-ranked-info{padding:10px 12px;border-radius:10px;margin-bottom:8px}
.guild-raid-overlay{position:fixed;inset:0;z-index:22000;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;padding:12px}
.guild-raid-overlay.hidden{display:none!important}
.guild-raid-overlay-box{position:relative;width:min(96vw,520px);max-height:92dvh;overflow:auto;padding:12px;border-radius:14px}
.guild-raid-close{display:none!important}
/* Klassisches Duel-Layout nur ohne Pokemon-Vollbild — sonst greift combat-pokemon.css */
#screen-guild-raid:not(.combat-pokemon) .guild-raid-screen-host.combat-wrap,
#screen-guild-raid:not(.combat-pokemon) .combat-wrap{
  flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:6px;
  padding:4px 8px 0;overflow:hidden;
}
#screen-guild-raid:not(.combat-pokemon) .combat-arena{
  position:relative;border-radius:14px;overflow:hidden;
  flex:0 0 auto;min-height:unset;max-height:none;height:auto;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 0 80px rgba(0,0,0,.45),0 8px 32px rgba(0,0,0,.35);
}
#screen-guild-raid:not(.combat-pokemon) .combat-scene-bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:.35;filter:saturate(.85) contrast(1.05);z-index:0;pointer-events:none;
}
#screen-guild-raid:not(.combat-pokemon) .combat-arena-vignette{z-index:1}
#screen-guild-raid:not(.combat-pokemon) .combat-duel{
  position:relative;z-index:2;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:stretch;gap:10px;padding:12px 10px 10px;
  min-height:0;height:auto;width:100%;box-sizing:border-box;
}
#screen-guild-raid:not(.combat-pokemon) .combat-duel>.duel-panel{
  width:100%;max-width:100%;min-width:0;padding:10px 8px;gap:6px;
  overflow:hidden;max-height:none;height:auto;box-sizing:border-box;
}
#screen-guild-raid:not(.combat-pokemon) .duel-portrait-wrap{
  max-height:min(34vh,260px);height:min(34vh,260px);flex:0 0 auto;
  overflow:hidden;align-self:center;width:100%;
  position:relative;display:flex;align-items:center;justify-content:center;
}
#screen-guild-raid:not(.combat-pokemon) .duel-portrait{
  width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;
  min-height:0!important;aspect-ratio:1!important;flex:1 1 auto!important;align-self:center;
  display:flex;align-items:flex-end;justify-content:center;
  background:transparent!important;border:0!important;
}
#screen-guild-raid:not(.combat-pokemon) .duel-portrait .pk-hero-sprite,
#screen-guild-raid:not(.combat-pokemon) .duel-portrait .duel-realistic-img,
#screen-guild-raid:not(.combat-pokemon) .duel-portrait .guild-raid-boss-cutout{
  width:100%!important;height:100%!important;
  object-fit:contain!important;object-position:center bottom!important;
  background:transparent!important;border:0!important;border-radius:0!important;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.45));
}
#screen-guild-raid:not(.combat-pokemon) .duel-portrait .duel-realistic-img.is-banner-fallback{
  object-fit:cover!important;border-radius:12px!important;
}
#screen-guild-raid:not(.combat-pokemon) .combat-bottom-dock{flex:0 0 auto}
#screen-guild-raid:not(.combat-pokemon) .combat-btns,
#screen-guild-raid:not(.combat-pokemon) .guild-raid-actions{
  flex:0 0 auto;margin-top:0;padding-bottom:max(6px,env(safe-area-inset-bottom,0px));
}
#screen-guild-raid:not(.combat-pokemon) .combat-log{margin:0}
#screen-guild-raid:not(.combat-pokemon) .combat-log-body{max-height:min(22vh,140px);min-height:56px}
#screen-guild-raid:not(.combat-pokemon) .log-inner{max-height:min(22vh,140px)}
/* Guild-Extras auch im Pokemon-Modus */
#screen-guild-raid .guild-raid-boss-intent{margin-top:6px;padding:6px 8px;border-radius:10px;border:1px solid rgba(239,68,68,.28);background:rgba(0,0,0,.22);text-align:left}
#screen-guild-raid .guild-raid-ally-strip{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;justify-content:flex-start}
#screen-guild-raid .guild-raid-ally-chip{
  appearance:none;border:1px solid rgba(15,23,42,.18);background:rgba(255,255,255,.55);
  border-radius:10px;padding:4px 6px;min-width:52px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;color:#0f172a;
}
#screen-guild-raid .guild-raid-ally-sprite{width:36px;height:36px;object-fit:contain;object-position:center bottom}
#screen-guild-raid .guild-raid-ally-hp{width:100%;height:3px;border-radius:999px;background:rgba(0,0,0,.18);overflow:hidden}
#screen-guild-raid .guild-raid-ally-hp-fill{height:100%;background:linear-gradient(90deg,#22c55e,#86efac)}
#screen-guild-raid .guild-raid-minion-hp{width:100%;height:3px;border-radius:999px;background:rgba(0,0,0,.35);overflow:hidden;margin-top:2px}
#screen-guild-raid .guild-raid-minion-hp-fill{height:100%;background:linear-gradient(90deg,#ef4444,#fca5a5)}
#screen-guild-raid .duel-enemy.enemy-pickable,
#screen-guild-raid .foe-minion.enemy-pickable,
#screen-guild-raid .guild-raid-ally-chip.ally-pickable,
#screen-guild-raid .duel-player.ally-pickable,
#screen-guild-raid .guild-raid-boss-visual.enemy-pickable,
#screen-guild-raid .guild-raid-minion-float.enemy-pickable,
#screen-guild-raid.combat-pokemon #guild-raid-foe.enemy-pickable,
#screen-guild-raid.combat-pokemon #guild-raid-foe.solo-target-pick,
#screen-guild-raid.combat-pokemon .foe-minion.enemy-pickable,
#screen-guild-raid.combat-pokemon .guild-raid-hero-unit.ally-pickable{
  outline:none!important;
  box-shadow:none!important;
  border-color:transparent!important;
  cursor:pointer;
}
#screen-guild-raid.combat-pokemon #guild-raid-foe.enemy-pickable #guild-raid-foe-img,
#screen-guild-raid.combat-pokemon #guild-raid-foe.solo-target-pick #guild-raid-foe-img,
#screen-guild-raid.combat-pokemon .foe-minion.enemy-pickable .foe-minion-img,
#screen-guild-raid.combat-pokemon .foe-minion.enemy-pickable .foe-minion-emoji,
#screen-guild-raid.combat-pokemon .guild-raid-hero-unit.ally-pickable .pk-hero-sprite{
  animation:soloTargetGlow 1.15s ease-in-out infinite;
}
.guild-raid-player.ally-pickable{outline:none!important;box-shadow:none!important;animation:none}
.guild-raid-boss-visual.enemy-pickable,.guild-raid-minion-float.enemy-pickable{cursor:pointer;outline:none!important;animation:none}
.guild-raid-combat-full.is-enemy-targeting .guild-raid-boss-stage{outline:none!important}
#screen-guild-raid.combat-pokemon .guild-raid-targeting-banner,
#screen-guild-raid.combat-pokemon .guild-raid-lobby-banner,
#screen-guild-raid.combat-pokemon .guild-raid-defeated-banner{
  position:absolute;left:50%;top:max(10px,env(safe-area-inset-top,0px));transform:translateX(-50%);
  z-index:30;max-width:min(92vw,420px);pointer-events:none;
}
#screen-guild-raid.combat-pokemon .guild-raid-lobby-actions,
#screen-guild-raid.combat-pokemon .guild-raid-victory-actions,
#screen-guild-raid.combat-pokemon .guild-raid-ko{
  position:relative;z-index:8;padding:8px 12px;text-align:center;
}
#guild-raid-skills-overlay,#guild-raid-potions-overlay{z-index:23001}
.guild-raid-boss-hit{animation:guildRaidBossShake .42s ease-out}
@keyframes guildRaidBossShake{
  0%,100%{transform:translateX(0)}
  20%{transform:translateX(-4px)}
  40%{transform:translateX(4px)}
  60%{transform:translateX(-3px)}
  80%{transform:translateX(2px)}
}
.guild-raid-fx-panel{position:relative;overflow:visible}
.guild-raid-fx-panel .combat-fx-layer{z-index:12}
.guild-raid-fx-panel.combat-hit-flash .guild-raid-boss-img,
.guild-raid-fx-panel.combat-hit-flash .guild-raid-boss-fallback{animation:combatHitFlash .38s ease-out}
.guild-raid-player.combat-hit-flash{animation:combatHitFlash .38s ease-out}
.guild-raid-boss-stage.guild-raid-boss-hit{animation:guildRaidBossShake .42s ease-out}
@keyframes guildRaidBossShake{
  0%,100%{transform:translateX(0)}
  20%{transform:translateX(-4px)}
  40%{transform:translateX(4px)}
  60%{transform:translateX(-3px)}
  80%{transform:translateX(2px)}
}
#screen-guild-raid .log-heal{color:#4ade80}
#screen-guild-raid .log-mana{color:#60a5fa}
#screen-guild-raid .log-crit-tag{color:#fbbf24;font-weight:800}
#screen-guild-raid .log-dmg{color:#f87171}
.guild-raid-combat-full .combat-log{margin:0;flex:0 0 auto}
.guild-raid-combat-full .combat-log-body{max-height:min(24vh,120px);min-height:56px}
.guild-raid-boss-intent{margin-top:10px;padding:8px 10px;border-radius:10px;border:1px solid rgba(239,68,68,.28);background:rgba(0,0,0,.22);text-align:left}
.guild-raid-intent-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.guild-raid-intent-timer{font-weight:900;color:var(--gold);font-size:.82rem;font-variant-numeric:tabular-nums}
.guild-raid-intent-label{font-size:.78rem;font-weight:700;line-height:1.35}
.guild-raid-intent-kind{text-transform:uppercase;letter-spacing:.04em}
.guild-raid-ko{text-align:center;padding:8px;color:var(--muted)}
.guild-raid-boss-name{font-weight:900;font-size:1rem;margin:6px 0;color:var(--gold)}
.guild-raid-boss-hp-bar{height:10px;border-radius:999px;background:rgba(0,0,0,.35);overflow:hidden;margin:8px 0 4px}
.guild-raid-boss-hp-fill{height:100%;background:linear-gradient(90deg,#ef4444,#f97316);transition:width .35s ease}
.guild-raid-minions-overlay{position:absolute;inset:0;pointer-events:none;z-index:2}
.guild-raid-minion-float{position:absolute;display:flex;flex-direction:column;align-items:center;gap:2px;padding:3px 5px;border-radius:8px;min-width:36px;box-shadow:0 4px 14px rgba(0,0,0,.45);border:1px solid rgba(168,85,247,.35)}
.guild-raid-minion-emoji{font-size:1.15rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6))}
.guild-raid-minion-hp{width:100%;min-width:32px;height:4px;border-radius:999px;background:rgba(0,0,0,.45);overflow:hidden}
.guild-raid-minion-hp-fill{height:100%;background:linear-gradient(90deg,#a855f7,#c084fc)}
.guild-raid-log{padding:8px 10px;border-radius:10px;max-height:88px;overflow:auto}
.guild-raid-players{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.guild-raid-player{padding:8px;border-radius:10px;display:flex;flex-direction:column;gap:6px}
.guild-raid-player-me{border-color:rgba(94,196,255,.45);box-shadow:0 0 0 1px rgba(94,196,255,.12)}
.guild-raid-player.ally-selected{outline:2px solid #60a5fa;box-shadow:0 0 12px rgba(96,165,250,.35)}
#screen-guild-raid.combat-pokemon .guild-raid-hero-unit.ally-selected,
#screen-guild-raid.combat-pokemon .guild-raid-hero-unit.ally-pickable{outline:none!important;box-shadow:none!important;border:none!important;background:transparent!important}
#screen-guild-raid.combat-pokemon .guild-raid-hero-unit.guild-raid-player,
#screen-guild-raid.combat-pokemon .guild-raid-hero-unit.guild-raid-player-me{padding:0!important;border:none!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.guild-raid-player.ally-pickable{outline:2px dashed rgba(96,165,250,.75);animation:guild-raid-ally-pulse 1.2s ease-in-out infinite}
.guild-raid-targeting-banner{text-align:center;padding:8px 10px;border-radius:10px;border:1px solid rgba(96,165,250,.35);color:#bfdbfe;font-weight:700;font-size:.78rem}
.guild-raid-combat-full.is-targeting .guild-raid-players{outline:1px solid rgba(96,165,250,.25);border-radius:12px;padding:4px}
@keyframes guild-raid-ally-pulse{0%,100%{box-shadow:0 0 8px rgba(96,165,250,.25)}50%{box-shadow:0 0 16px rgba(96,165,250,.55)}}
.guild-raid-player[data-ally-selectable="1"]{cursor:pointer}
.guild-raid-ally-hint{margin:0 0 6px;text-align:center}
.hub-guild-active-raid-card--joinable{cursor:pointer}
.hub-guild-active-raid-card--joinable:hover{border-color:rgba(232,197,71,.35)}
.hub-guild-active-raid-actions{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.hub-guild-active-raid-actions .btn{width:100%;justify-content:center}
.guild-raid-player-dead{opacity:.55}
.guild-raid-player-hp{height:6px;border-radius:999px;background:rgba(0,0,0,.35);overflow:hidden}
.guild-raid-player-hp-fill{height:100%;background:linear-gradient(90deg,#22c55e,#4ade80)}
.guild-raid-player-mana{height:4px;border-radius:999px;background:rgba(0,0,0,.35);overflow:hidden;margin-top:4px}
.guild-raid-player-mana-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa)}
.guild-raid-player-vitals{display:flex;flex-direction:column;gap:6px}
.guild-raid-player-dmg{text-align:right;font-variant-numeric:tabular-nums}
.guild-raid-viewer-vitals{padding:10px 12px;border-radius:12px;display:flex;flex-direction:column;gap:8px}
.guild-raid-vital-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}
.guild-raid-vital-label{min-width:52px}
.guild-raid-vital-val{font-variant-numeric:tabular-nums;white-space:nowrap}
.guild-raid-boss-mana-bar{height:5px;border-radius:999px;background:rgba(0,0,0,.35);overflow:hidden;margin-top:6px}
.guild-raid-boss-mana-fill{height:100%;background:linear-gradient(90deg,#6366f1,#818cf8)}
.guild-raid-boss-mana-text{margin-top:4px}
.guild-raid-defeated-banner{padding:12px 14px;border-radius:12px;text-align:center;font-weight:800;color:#86efac;border:1px solid rgba(34,197,94,.35);background:rgba(34,197,94,.12)}
.guild-raid-victory-actions{display:flex;justify-content:center;padding:8px 0 4px}
.guild-raid-boss-visual.enemy-pickable,.guild-raid-minion-float.enemy-pickable{cursor:pointer;outline:none!important;box-shadow:none!important}
.guild-raid-combat-full.is-enemy-targeting .guild-raid-boss-stage{outline:none!important}
.guild-raid-debuffs{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}
.guild-raid-debuff-chip{display:inline-flex;align-items:center;padding:2px 6px;border-radius:999px;font-size:.62rem;line-height:1.2;background:rgba(168,85,247,.16);border:1px solid rgba(168,85,247,.28);color:#e9d5ff}
.guild-raid-dot-chip{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.28);color:#fecaca}
.guild-raid-lobby-banner{padding:10px 12px;border-radius:12px;border:1px solid rgba(94,196,255,.28);background:rgba(94,196,255,.08);text-align:center}
.guild-raid-lobby-title{font-weight:800;color:var(--gold);margin-bottom:4px}
.guild-raid-lobby-lead{margin:0}
.guild-raid-lobby-wait{text-align:center;padding:10px;border-radius:10px;background:rgba(94,196,255,.08);border:1px solid rgba(94,196,255,.18)}
.guild-raid-lobby-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.guild-raid-lobby-actions .guild-raid-leave-btn{width:100%;min-height:44px;border-radius:12px;border-color:rgba(231,76,60,.28);background:rgba(231,76,60,.08)}
.guild-raid-lobby-actions .guild-raid-leave-btn:active{background:rgba(231,76,60,.16)}
.guild-raid-player-actions{display:flex;flex-wrap:wrap;gap:4px}
.pvp-portrait-img{object-fit:cover;border-radius:12px;background:rgba(0,0,0,.25)}

/* Gildenkrieg (GvG) */
.hub-guild-war-lead{margin:0 0 8px;line-height:1.4;color:rgba(238,241,255,.82)}
.hub-guild-war-invite,.hub-guild-war-active,.hub-guild-war-challenge{padding:10px 12px;border-radius:10px;margin-bottom:10px;display:flex;flex-direction:column;gap:8px;color:var(--txt)}
.hub-guild-war-vs{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;font-weight:700;color:var(--txt)}
.hub-guild-war-vs strong{color:var(--gold);font-size:.85rem}
.hub-guild-war-timer{text-align:center;font-weight:800;color:#93c5fd;padding:6px 10px;border-radius:8px;background:rgba(94,196,255,.1);border:1px solid rgba(94,196,255,.22)}
.hub-guild-war-early{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:10px;margin-top:4px}
.hub-guild-war-early-status{display:flex;flex-wrap:wrap;gap:8px}
.hub-guild-war-early-chip{
  display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border-radius:999px;
  border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.22);font-size:.68rem;font-weight:700;
  color:rgba(238,241,255,.88);
}
.hub-guild-war-early-chip.confirmed{border-color:rgba(34,197,94,.4);background:rgba(34,197,94,.12);color:#86efac}
.hub-guild-war-early-hint{margin:0;color:#93c5fd}
.hub-guild-war-fast-hint{margin:0;color:#fcd34d;font-weight:600}
.hub-guild-war-actions{display:flex;flex-wrap:wrap;gap:8px}
.hub-guild-war-targets{display:flex;flex-direction:column;gap:6px;max-height:min(36vh,280px);overflow-y:auto;padding-right:2px}
.hub-guild-war-target{text-align:left;justify-content:flex-start;width:100%;padding:8px 10px;border-radius:8px;color:var(--txt)}
.hub-guild-war-target.active{border-color:rgba(232,197,71,.55);background:rgba(232,197,71,.12);color:var(--gold)}
.hub-guild-war-challenge label{display:flex;flex-direction:column;gap:4px;color:rgba(238,241,255,.88)}
.hub-guild-war-setup-card{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}
.hub-guild-war-setup-head .inv-section-label{margin-bottom:2px}
.hub-guild-war-setup-head .tiny{margin:0}
.gwar-setup-open{
  display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:10px;
  width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(232,197,71,.22);
  background:linear-gradient(135deg,rgba(232,197,71,.08),rgba(0,0,0,.25));
  cursor:pointer;text-align:left;touch-action:manipulation;transition:border-color .15s,box-shadow .15s;
  color:var(--txt);font:inherit;
}
.gwar-setup-open:hover,.gwar-setup-open:focus-visible{border-color:rgba(232,197,71,.45);box-shadow:0 0 16px rgba(232,197,71,.12)}
.gwar-setup-open-block{display:flex;flex-direction:column;gap:3px;min-width:0}
.gwar-setup-open-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700}
.gwar-setup-open-val{font-size:.88rem;color:var(--gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gwar-setup-open-divider{width:1px;height:36px;background:rgba(255,255,255,.12);justify-self:center}
.gwar-setup-open-edit{font-size:.72rem;font-weight:700;color:#93c5fd;white-space:nowrap;padding:6px 8px;border-radius:999px;background:rgba(94,196,255,.1);border:1px solid rgba(94,196,255,.2)}
body.gwar-setup-open{overflow:hidden}
.gwar-setup-overlay{position:fixed;inset:0;z-index:30120;display:flex;align-items:flex-start;justify-content:center;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));pointer-events:auto}
.gwar-setup-overlay.hidden{display:none!important}
.gwar-setup-sheet{width:min(480px,100%);max-height:min(90vh,720px);display:flex;flex-direction:column;overflow:hidden;margin-top:max(8px,env(safe-area-inset-top));color:var(--txt)}
.gwar-setup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px 10px;border-bottom:1px solid var(--line)}
.gwar-setup-title{font-weight:800;font-size:1.05rem;color:var(--txt)}
.gwar-setup-sub{color:rgba(238,241,255,.72)}
.gwar-setup-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:16px;color:var(--txt)}
.gwar-setup-section{display:flex;flex-direction:column;gap:8px}
.gwar-setup-hint{margin:0;color:rgba(238,241,255,.78)}
.gwar-size-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.gwar-size-cell{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  padding:10px 6px;border-radius:12px;border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(0,0,0,.22));cursor:pointer;
  transition:border-color .15s,transform .12s,box-shadow .15s;touch-action:manipulation;min-height:72px;
  color:var(--txt);font:inherit;
}
.gwar-size-cell:hover:not(.active){border-color:rgba(255,255,255,.22);transform:translateY(-1px)}
.gwar-size-cell.active{border-color:rgba(232,197,71,.55);background:linear-gradient(180deg,rgba(232,197,71,.16),rgba(0,0,0,.28));box-shadow:0 0 14px rgba(232,197,71,.18)}
.gwar-size-badge{width:26px;height:26px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.82rem;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12);color:var(--gold)}
.gwar-size-icons{font-size:.62rem;line-height:1;opacity:.92;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(238,241,255,.88)}
.gwar-size-label{font-size:.58rem;font-weight:700;color:rgba(238,241,255,.72)}
.gwar-mode-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gwar-mode-btn{
  padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.22);font-size:.72rem;font-weight:700;cursor:pointer;text-align:center;
  color:var(--txt);font:inherit;
}
.gwar-mode-btn.active{border-color:rgba(94,196,255,.45);background:rgba(94,196,255,.12);color:#93c5fd}
.gwar-cal-section{padding:12px;border-radius:12px;display:flex;flex-direction:column;gap:10px;color:var(--txt)}
.gwar-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.gwar-cal-title{font-weight:800;font-size:.88rem;text-align:center;flex:1;color:var(--txt)}
.gwar-cal-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.gwar-cal-weekdays span{text-align:center;font-size:.58rem;font-weight:800;color:rgba(238,241,255,.72);text-transform:uppercase}
.gwar-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.gwar-cal-pad{min-height:2.2rem}
.gwar-cal-day{
  min-height:2.2rem;border-radius:8px;border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);font-size:.78rem;font-weight:700;cursor:pointer;
  color:var(--txt);font:inherit;
}
.gwar-cal-day.today{border-color:rgba(232,197,71,.35);color:var(--gold)}
.gwar-cal-day.selected{border-color:rgba(232,197,71,.55);background:rgba(232,197,71,.14);color:var(--gold);box-shadow:0 0 10px rgba(232,197,71,.15)}
.gwar-cal-day.disabled{opacity:.35;cursor:not-allowed;color:rgba(238,241,255,.35)}
.gwar-time-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px;border-top:1px solid rgba(255,255,255,.08)}
.gwar-time-label{font-size:.72rem;font-weight:700;color:rgba(238,241,255,.78)}
.gwar-time-pickers{display:flex;align-items:center;gap:6px}
.gwar-time-select{
  appearance:none;-webkit-appearance:none;padding:8px 10px;border-radius:8px;
  border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.35);color:var(--txt);
  font:inherit;font-weight:700;font-size:.82rem;min-width:3.2rem;text-align:center;
}
.gwar-time-select option{background:#121628;color:#eef1ff}
.gwar-time-sep{font-weight:800;color:var(--gold)}
.gwar-setup-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--line)}
@media(max-width:520px){
  .gwar-size-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
  .gwar-size-cell{min-height:64px;padding:8px 4px}
  .gwar-setup-open{grid-template-columns:1fr auto;grid-template-rows:auto auto}
  .gwar-setup-open-divider{display:none}
  .gwar-setup-open-edit{grid-column:1/-1;justify-self:stretch;text-align:center}
}
.hub-guild-war-challenge-btn{width:100%;min-height:42px;margin-top:4px}
.hub-guild-war-lb{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.hub-guild-war-lb-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px}
.hub-guild-war-lb-rank{font-weight:800;color:var(--gold);min-width:1.8rem}
.hub-guild-war-lb-name{flex:1;min-width:0;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--txt)}
.hub-guild-war-lb-stats{flex-shrink:0;color:rgba(238,241,255,.72)}
.hub-guild-war-lb-sizes{margin-top:8px}
.hub-guild-war-lb-sizes summary{cursor:pointer;padding:6px 0;color:rgba(238,241,255,.78)}

/* ── Gilden-Quests, Shop & Haus ── */
.hub-guild-quests-head,.hub-guild-shop-head,.hub-guild-house-head{padding:10px 12px;margin-bottom:10px}
.hub-guild-shop{
  display:flex;flex-direction:column;gap:10px;flex:1 1 auto;min-height:0;height:100%;overflow:hidden;
}
.hub-guild-shop-hero{
  display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between;
  padding:12px 14px;border-radius:14px;flex-shrink:0;
  background:linear-gradient(135deg,rgba(232,197,71,.12),rgba(20,18,28,.55));
  border:1px solid rgba(232,197,71,.28);
}
.hub-guild-shop-kicker{
  font-size:.55rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(253,230,138,.7);margin-bottom:2px;
}
.hub-guild-shop-lead{margin:4px 0 0;max-width:42ch;line-height:1.4}
.hub-guild-shop-wallet{display:flex;gap:8px;flex-wrap:wrap}
.hub-guild-shop-wallet-card{
  min-width:108px;padding:8px 10px;border-radius:10px;
  background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08);
  display:flex;flex-direction:column;gap:2px;
}
.hub-guild-shop-wallet-label{font-size:.52rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;opacity:.65}
.hub-guild-shop-wallet-card strong{font-size:.95rem;color:var(--gold,#e8c547);line-height:1.15}
.hub-guild-shop-wallet-card small{font-size:.6rem;opacity:.7}
.hub-guild-shop-tabs{
  display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0;padding:2px;
}
.hub-guild-shop-tab{
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);
  color:rgba(226,232,240,.78);border-radius:999px;padding:6px 10px;
  font-size:.62rem;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;gap:5px;
}
.hub-guild-shop-tab.is-active{
  border-color:rgba(232,197,71,.45);background:rgba(232,197,71,.16);color:#fde68a;
}
.hub-guild-shop-tab-n{
  min-width:1.1rem;padding:0 5px;border-radius:999px;font-size:.55rem;
  background:rgba(0,0,0,.28);opacity:.85;
}
.hub-guild-shop-scroll{
  flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;
  padding:2px 2px 12px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
}
.hub-guild-shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:4px}
.hub-guild-shop-card{
  padding:0;border-radius:14px;display:flex;flex-direction:column;overflow:hidden;
  color:var(--txt);border:1px solid rgba(255,255,255,.1);background:rgba(10,12,20,.55);
  transition:border-color .15s ease, transform .15s ease;
}
.hub-guild-shop-card[hidden],
.hub-guild-shop-card.is-cat-hidden{
  display:none !important;
}
.hub-guild-shop-card.ready{border-color:rgba(232,197,71,.38);box-shadow:0 0 0 1px rgba(232,197,71,.08)}
.hub-guild-shop-card.owned{opacity:.88;border-color:rgba(34,197,94,.28)}
.hub-guild-shop-card.locked{opacity:.78}
.hub-guild-shop-card:hover{border-color:rgba(232,197,71,.3)}
.hub-guild-shop-preview{
  height:110px;background-size:cover;background-position:center;
  border-bottom:1px solid rgba(255,255,255,.08);
  background-color:rgba(8,10,16,.9);
}
.hub-guild-shop-preview-empty{
  background:linear-gradient(160deg,rgba(232,197,71,.12),rgba(20,24,36,.55) 55%,rgba(0,0,0,.4));
}
.hub-guild-shop-card-body{display:flex;flex-direction:column;gap:8px;padding:10px 12px 12px;flex:1}
.hub-guild-shop-card-head{display:flex;align-items:flex-start;gap:8px}
.hub-guild-shop-card-titles{min-width:0;flex:1}
.hub-guild-shop-card-titles strong{display:block;font-size:.82rem;line-height:1.25;overflow-wrap:anywhere}
.hub-guild-shop-cat{display:block;margin-top:2px}
.hub-guild-shop-desc{margin:0;line-height:1.4;overflow-wrap:anywhere}
.hub-guild-shop-card-foot{
  margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;
}
.hub-guild-shop-cost-row{display:flex;flex-wrap:wrap;gap:5px}
.hub-guild-shop-pill{
  display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;
  font-size:.62rem;font-weight:800;border:1px solid rgba(255,255,255,.12);
}
.hub-guild-shop-pill.gp{color:#fde68a;background:rgba(232,197,71,.14);border-color:rgba(232,197,71,.3)}
.hub-guild-shop-pill.fc{color:#93c5fd;background:rgba(96,165,250,.12);border-color:rgba(96,165,250,.28)}
.hub-guild-shop-lock{color:rgba(226,232,240,.55);max-width:100%;overflow-wrap:anywhere}
.hub-guild-shop-cost{color:var(--gold);font-weight:700}
.hub-guild-quests{display:flex;flex-direction:column;gap:8px;flex:1 1 auto;min-height:0;overflow:hidden;height:100%;width:100%}
.hub-guild-quests-head{flex-shrink:0;margin-bottom:0}
.hub-guild-quests-scroll{
  flex:1 1 auto;min-height:0;max-height:min(52vh,480px);
  overflow-y:auto;overflow-x:hidden;padding:2px 4px 10px 0;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;
  scrollbar-gutter:stable;width:100%;box-sizing:border-box;
}
.hub-guild-tab-quests{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column;width:100%}
.hub-guild-quests-lead,.hub-guild-quest-desc{margin:0 0 8px;line-height:1.4;overflow-wrap:anywhere;word-break:break-word}
.hub-guild-quest-active-hint{margin:0 0 8px;padding:8px 10px;border-radius:10px;line-height:1.4;background:rgba(232,197,71,.1);border:1px solid rgba(232,197,71,.28);color:rgba(248,250,255,.92)}
.hub-guild-quest-active-hint strong{color:var(--gold)}
.hub-guild-quest-blocked{display:block;margin-top:4px;color:#fca5a5!important}
.hub-guild-quest-card-title{min-width:0;flex:1}
.hub-guild-quest-card-title strong{display:block;overflow-wrap:anywhere;word-break:break-word}
.hub-guild-quest-step-top span:first-child{overflow-wrap:anywhere;word-break:break-word;flex:1;min-width:0}
.hub-guild-quest-rewards{overflow-wrap:anywhere;word-break:break-word}
.hub-guild-quest-stats,.hub-guild-shop-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.hub-guild-quest-stat{padding:6px 10px;border-radius:8px;background:rgba(255,255,255,.05);color:var(--txt)}
.hub-guild-quests-list{display:flex;flex-direction:column;gap:10px;padding-bottom:8px}
.hub-guild-quest-card{padding:12px;border-radius:12px;color:var(--txt)}
.hub-guild-quest-card.completed{border-color:rgba(34,197,94,.35)}
.hub-guild-quest-card.accepted{border-color:rgba(94,196,255,.25)}
.hub-guild-quest-card-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:6px}
.hub-guild-quest-emoji{font-size:1.6rem;line-height:1}
.hub-guild-quest-steps{display:flex;flex-direction:column;gap:8px;margin:10px 0}
.hub-guild-quest-step{padding:8px 10px;border-radius:8px;background:rgba(0,0,0,.2);color:var(--txt)}
.hub-guild-quest-step.active{border:1px solid rgba(232,197,71,.35)}
.hub-guild-quest-step.done{opacity:.72}
.hub-guild-quest-step-top{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px}
.hub-guild-quest-bar{height:6px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.hub-guild-quest-bar-fill{height:100%;background:linear-gradient(90deg,rgba(232,197,71,.7),rgba(94,196,255,.7));border-radius:999px}
.hub-guild-xp-card{margin:10px 0 12px;padding:12px 14px;border-radius:12px;background:linear-gradient(135deg,rgba(232,197,71,.1),rgba(94,196,255,.07));border:1px solid rgba(232,197,71,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.hub-guild-xp-card--compact{margin:0 0 10px}
.hub-guild-xp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.hub-guild-xp-level-wrap{display:flex;align-items:flex-start;gap:10px;min-width:0}
.hub-guild-xp-badge{font-size:1.35rem;line-height:1;filter:drop-shadow(0 0 8px rgba(232,197,71,.35))}
.hub-guild-xp-level{font-weight:700;font-size:1rem;color:var(--gold,#e8c547);line-height:1.2}
.hub-guild-xp-sub{margin-top:2px}
.hub-guild-xp-values{text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0}
.hub-guild-xp-frac strong{color:#fff}
.hub-guild-xp-bar{height:10px;border-radius:999px;background:rgba(0,0,0,.28);overflow:hidden;border:1px solid rgba(255,255,255,.06)}
.hub-guild-xp-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#e8c547,#5ec4ff);box-shadow:0 0 12px rgba(232,197,71,.35);transition:width .35s ease}
.hub-guild-xp-hint{margin:8px 0 0;line-height:1.35}
.hub-guild-xp-hint strong{color:var(--gold,#e8c547)}
.admin-field-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}
.admin-field-row .admin-field-group{flex:1;min-width:140px;margin:0}
.hub-guild-quest-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hub-guild-quest-step-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}
.hub-guild-quest-turnin-block{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  margin:10px 0 4px;padding:10px;border-radius:10px;
  background:rgba(232,197,71,.1);border:1px solid rgba(232,197,71,.32);
}
.hub-guild-quest-turnin{min-height:34px!important;font-weight:700}
.hub-guild-quest-turnin--card{flex:1 1 auto;min-width:140px;justify-content:center}
.hub-guild-quest-turnin-hint{opacity:.75}
.hub-guild-quest-joined{opacity:.8}
.hub-guild-quest-abandon{opacity:.92}
.hub-guild-storage-locked{padding:14px;text-align:center;color:var(--txt)}
.hub-guild-house-wrap{display:flex;flex-direction:column;gap:10px;color:var(--txt)}
.gh-scene{position:relative;border-radius:14px;overflow:hidden;min-height:min(52vh,420px);background-size:cover;background-position:center;border:1px solid var(--line);padding:12px}
.gh-grid{display:grid;gap:4px;height:100%;min-height:280px;position:relative;z-index:1}
.gh-cell{border:1px dashed rgba(255,255,255,.18);border-radius:8px;background:rgba(0,0,0,.35);min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px;color:var(--txt);font:inherit;cursor:pointer;touch-action:manipulation;transition:border-color .15s,background .15s,transform .12s}
.gh-cell.gh-empty:hover{border-color:rgba(232,197,71,.45);background:rgba(232,197,71,.08)}
.gh-cell.gh-built{border-style:solid;border-color:rgba(232,197,71,.4);background:linear-gradient(180deg,rgba(232,197,71,.12),rgba(0,0,0,.45));box-shadow:0 4px 16px rgba(0,0,0,.35)}
.gh-cell-emoji{font-size:1.2rem;line-height:1}
.gh-cell-label{font-size:.58rem;font-weight:700;text-align:center;line-height:1.1;color:rgba(238,241,255,.92)}
.gh-cell-lvl{font-size:.52rem;color:var(--gold)}
.gh-palette{padding:10px 12px}
.gh-palette-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(96px,1fr));
  gap:8px;
  max-height:min(28vh,200px);
  overflow-y:auto;
  padding:2px 2px 4px;
}
.gh-palette-item-compact{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-height:72px;
  padding:10px 8px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(165deg,rgba(255,255,255,.06),rgba(0,0,0,.32));
  cursor:pointer;
  color:var(--txt);
  font:inherit;
  text-align:center;
  transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.gh-palette-item-compact::before{
  content:'';
  position:absolute;
  inset:auto 0 0 0;
  height:2px;
  background:var(--gh-mod-cat,#e8c547);
  opacity:.55;
  border-radius:0 0 12px 12px;
}
.gh-palette-item-compact{position:relative;overflow:hidden}
.gh-palette-item-compact:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--gh-mod-cat,#e8c547) 45%,rgba(255,255,255,.12));
  box-shadow:0 6px 16px rgba(0,0,0,.3);
}
.gh-palette-item-compact.active{
  border-color:color-mix(in srgb,var(--gh-accent,#e8c547) 65%,var(--gh-mod-cat,#e8c547));
  box-shadow:0 0 0 2px color-mix(in srgb,var(--gh-accent,#e8c547) 30%,transparent);
}
.gh-palette-compact-icon{font-size:1.35rem;line-height:1}
.gh-palette-compact-label{
  font-size:.68rem;
  font-weight:800;
  line-height:1.2;
  color:rgba(248,250,255,.95);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.gh-detail-section-build{padding:0 14px 14px;border-top:1px solid rgba(255,255,255,.06);margin-top:4px;padding-top:12px}
.gh-detail-section-build .gh-detail-foot{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.gh-detail-section-build .gh-detail-foot .btn{min-height:38px;padding:8px 14px;font-size:.78rem;font-weight:700}
.gh-fs-placing-hint{display:none!important}
.gh-fs-placing-inline{color:rgba(253,230,138,.92);font-weight:650}
.gh-fs-placing-inline strong{color:var(--gold)}
.gh-placing-cancel-link{
  border:0;padding:0;margin:0;background:none;color:#93c5fd;font:inherit;font-weight:750;
  text-decoration:underline;cursor:pointer
}
.gh-fs-placing-text{font-size:.74rem;line-height:1.35;color:rgba(248,250,255,.92)}
.gh-fs-placing-text strong{color:var(--gold)}
/* Bei offener Palette: Hotspot-Ebene unten kürzen, damit Baupins nicht am Panel kleben */
.gh-fullscreen:has(#gh-fs-palette:not(.hidden)) .gh-hotspots{
  bottom:18%;
}
.gh-hotspot-placing{
  width:32px;height:32px;border-radius:999px;
  border:2.5px solid rgba(253,230,138,.98);
  background:
    radial-gradient(circle at 50% 50%,rgba(253,230,138,.55) 0 28%,rgba(232,197,71,.28) 42%,rgba(8,12,22,.78) 70%),
    rgba(0,0,0,.55);
  opacity:1;
  box-shadow:
    0 0 0 3px rgba(0,0,0,.6),
    0 0 0 5px rgba(232,197,71,.4),
    0 8px 18px rgba(0,0,0,.45),
    0 0 20px rgba(232,197,71,.5);
  animation:gh-placing-pulse 1.4s ease-in-out infinite;
  display:grid;place-items:center;
}
.gh-hotspot-slot{
  width:26px;height:26px;border-radius:999px;
  border:2px solid rgba(253,230,138,.9);
  background:
    radial-gradient(circle at 50% 45%,rgba(255,248,220,.28) 0 24%,rgba(232,197,71,.22) 40%,rgba(6,10,18,.82) 72%),
    rgba(0,0,0,.55);
  opacity:1;
  pointer-events:none;
  box-shadow:
    0 0 0 2px rgba(0,0,0,.6),
    0 0 0 4px rgba(232,197,71,.32),
    0 6px 14px rgba(0,0,0,.4),
    inset 0 1px 0 rgba(255,255,255,.2);
  display:grid;place-items:center;
}
.gh-slot-dot{
  width:8px;height:8px;border-radius:999px;
  background:rgba(255,248,220,.95);
  box-shadow:0 0 10px rgba(253,230,138,.75);
}
.gh-hotspot-placing .gh-slot-dot{
  width:10px;height:10px;
  background:#0f172a;
  box-shadow:0 0 0 2px rgba(253,230,138,.85);
}
.gh-hotspot-slot::before,
.gh-hotspot-placing::before{
  content:'+';
  font-size:.78rem;font-weight:900;line-height:1;
  color:rgba(253,230,138,.98);
  text-shadow:0 1px 3px rgba(0,0,0,.85);
  pointer-events:none;
}
.gh-hotspot-slot .gh-slot-dot,
.gh-hotspot-placing .gh-slot-dot{display:none}
.gh-slot-size{display:none}
.gh-detail-passive{
  margin:0 14px 10px;padding:8px 10px;border-radius:10px;line-height:1.4;
  background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.28);color:rgba(220,252,231,.95);
}
.gh-detail-passive strong{color:#86efac}
@keyframes gh-placing-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(232,197,71,.35)}
  50%{box-shadow:0 0 0 8px rgba(232,197,71,0)}
}
.gh-hotspot-placing:hover,.gh-hotspot-placing:focus-visible{
  background:rgba(232,197,71,.28);
  transform:translate(-50%,-50%) scale(1.2);
}
.gh-mats{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.gh-mat-chip{font-size:.62rem;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.08);color:rgba(238,241,255,.88)}
.gh-detail{padding:0;color:var(--txt)}
.gh-detail.hidden{display:none!important}
.gh-detail-module{display:flex;flex-direction:column;gap:0;overflow:hidden;position:relative}
.gh-detail-module::before{
  content:'';
  display:block;
  height:3px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--gh-mod-cat,#e8c547) 85%,#fff),color-mix(in srgb,var(--gh-mod-cat,#e8c547) 25%,transparent));
}
.gh-detail-hero{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:start;
  gap:12px;
  padding:14px 44px 10px 14px;
  background:linear-gradient(165deg,color-mix(in srgb,var(--gh-mod-cat,#e8c547) 12%,rgba(255,255,255,.04)),rgba(0,0,0,.28));
  border-bottom:1px solid rgba(255,255,255,.08);
}
.gh-detail-icon{
  display:grid;
  place-items:center;
  width:3rem;
  height:3rem;
  border-radius:14px;
  font-size:1.65rem;
  line-height:1;
  background:linear-gradient(145deg,color-mix(in srgb,var(--gh-mod-cat,#e8c547) 24%,rgba(255,255,255,.06)),rgba(0,0,0,.35));
  border:1px solid color-mix(in srgb,var(--gh-mod-cat,#e8c547) 38%,rgba(255,255,255,.1));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 6px 14px rgba(0,0,0,.28);
}
.gh-detail-hero-text{min-width:0;display:flex;flex-direction:column;gap:4px}
.gh-detail-cat{
  display:inline-block;
  align-self:flex-start;
  padding:2px 8px;
  border-radius:999px;
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:color-mix(in srgb,var(--gh-mod-cat,#e8c547) 82%,#fff);
  background:color-mix(in srgb,var(--gh-mod-cat,#e8c547) 14%,rgba(0,0,0,.2));
  border:1px solid color-mix(in srgb,var(--gh-mod-cat,#e8c547) 28%,rgba(255,255,255,.08));
}
.gh-detail-title{margin:0;font-size:1.05rem;font-weight:800;line-height:1.2;color:rgba(248,250,255,.98)}
.gh-detail-level{display:flex;align-items:center;gap:8px;margin-top:2px}
.gh-detail-lv-badge{
  font-size:.68rem;
  font-weight:800;
  color:var(--gold);
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.gh-detail-lv-max{font-weight:600;color:rgba(238,241,255,.45)}
.gh-detail-lv-track{
  flex:1;
  min-width:48px;
  height:6px;
  border-radius:999px;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}
.gh-detail-lv-fill{
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--gh-mod-cat,#e8c547) 70%,#fff),var(--gh-mod-cat,#e8c547));
  box-shadow:0 0 10px color-mix(in srgb,var(--gh-mod-cat,#e8c547) 45%,transparent);
}
.gh-detail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;padding:12px 44px 0 14px;position:relative}
.gh-detail-head strong{font-size:.95rem;line-height:1.25}
.gh-detail-phase-body{display:flex;flex-direction:column;gap:8px;padding:0 14px 14px}
.gh-detail-desc{margin:0;padding:10px 14px 0;line-height:1.45;font-size:.76rem;color:rgba(238,241,255,.78)}
.gh-detail-section{display:flex;flex-direction:column;gap:8px;padding:12px 14px 0}
.gh-detail-section-label{
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(238,241,255,.5);
}
.gh-detail-section-manage{padding-bottom:14px;border-top:1px solid rgba(255,255,255,.06);margin-top:12px;padding-top:12px}
.gh-detail-empty{margin:0;padding:8px 10px;border-radius:10px;background:rgba(0,0,0,.18);border:1px dashed rgba(255,255,255,.1)}
.gh-detail-interactions{display:flex;flex-direction:column;gap:8px}
.gh-interact-card{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:10px;
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(165deg,rgba(255,255,255,.07),rgba(0,0,0,.32));
  color:var(--txt);
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.gh-interact-card:not(:disabled):hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--gh-mod-cat,#e8c547) 45%,rgba(255,255,255,.15));
  box-shadow:0 6px 16px rgba(0,0,0,.28);
}
.gh-interact-card.gh-interact-cooldown{opacity:.72;cursor:not-allowed}
.gh-interact-icon{font-size:1.35rem;line-height:1;width:1.6rem;text-align:center}
.gh-interact-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.gh-interact-label{font-size:.78rem;font-weight:800;color:rgba(248,250,255,.95)}
.gh-interact-reward{font-size:.68rem;font-weight:700;color:var(--gold)}
.gh-interact-synergy{font-size:.62rem;font-weight:800;color:#c4b5fd}
.gh-detail-synergy{display:flex;flex-direction:column;gap:4px;margin:0 14px;padding:8px 10px;border-radius:10px;background:rgba(167,139,250,.08);border:1px solid rgba(167,139,250,.22)}
.gh-detail-synergy-badge{font-size:.68rem;font-weight:800;color:#c4b5fd}
.gh-interact-desc{font-size:.64rem;line-height:1.3;color:rgba(238,241,255,.58)}
.gh-interact-cd{font-size:.62rem;font-weight:700;color:#fca5a5;margin-top:2px}
.gh-interact-go{font-size:1rem;color:rgba(238,241,255,.45);line-height:1}
.gh-detail-upgrade-block{display:flex;flex-direction:column;gap:6px}
.gh-detail-upgrade-label{margin:0}
.gh-detail-max{margin:0;padding:8px 10px;border-radius:10px;background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.22);color:#a7f3d0!important}
.gh-detail-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:0}
.gh-detail-locked{display:block;padding:6px 8px;border-radius:8px;background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.22);color:rgba(254,202,202,.95)!important;font-size:.72rem;line-height:1.35}
.gh-detail-manage{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.gh-detail-manage-hint{margin:4px 0 0;line-height:1.35}
.gh-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:40px;padding:8px 14px;width:100%;box-sizing:border-box;
  border-radius:12px;border:1px solid transparent;font:inherit;font-size:.78rem;font-weight:750;
  cursor:pointer;color:rgba(248,250,255,.95);
  transition:transform .12s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.gh-btn:disabled{opacity:.5;cursor:not-allowed}
.gh-btn:not(:disabled):hover{transform:translateY(-1px)}
.gh-btn-ico{font-size:.95rem;line-height:1;opacity:.9}
.gh-btn-sm{min-height:34px;padding:6px 10px;font-size:.7rem;width:auto;border-radius:10px}
.gh-btn-upgrade{
  background:linear-gradient(165deg,color-mix(in srgb,var(--gh-mod-cat,var(--gold,#e8c547)) 28%,rgba(20,18,12,.9)),rgba(8,10,16,.95));
  border-color:color-mix(in srgb,var(--gh-mod-cat,var(--gold,#e8c547)) 55%,rgba(255,255,255,.12));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 6px 16px rgba(0,0,0,.28);
  color:#fff7d6;
}
.gh-btn-upgrade:not(:disabled):hover{
  border-color:color-mix(in srgb,var(--gh-mod-cat,var(--gold,#e8c547)) 75%,#fff);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 8px 18px rgba(0,0,0,.34);
}
.gh-btn-danger{
  background:rgba(248,113,113,.08);
  border-color:rgba(248,113,113,.32);
  color:#fecaca;
}
.gh-btn-danger:not(:disabled):hover{background:rgba(248,113,113,.16)}
.gh-btn-ghost{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.12);
  color:rgba(238,241,255,.82);
}
.gh-remove-danger{border-color:rgba(248,113,113,.35)!important;color:#fca5a5!important;background:rgba(248,113,113,.08)!important}
.gh-remove-danger:hover{background:rgba(248,113,113,.16)!important}
.gh-detail-modal .gh-detail-panel:not(.gh-modal-skin){
  width:min(94vw,460px);
  max-height:min(88vh,640px);
  overflow:hidden;
  padding:0;
  border-radius:16px;
  border:1px solid color-mix(in srgb,var(--gh-accent,#e8c547) 42%,rgba(255,255,255,.1));
  box-shadow:0 20px 50px rgba(0,0,0,.55),0 0 20px color-mix(in srgb,var(--gh-accent,#e8c547) 12%,transparent);
}
.gh-detail-modal .gh-modal-frame .gh-detail-panel{
  width:100%!important;
  max-height:min(88vh,640px);
}
.gh-detail-modal .gh-detail-foot .btn{min-height:36px;padding:6px 12px;font-size:.78rem}
.gh-detail-module > .gh-detail-close,
.gh-detail-modal .gh-detail .gh-detail-close{
  position:absolute;
  top:10px;
  right:10px;
  z-index:3;
  width:1.75rem;
  height:1.75rem;
  padding:0;
  margin:0;
  border:0;
  border-radius:999px;
  background:rgba(8,10,18,.72);
  box-shadow:0 4px 12px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.1);
  color:transparent;
  cursor:pointer;
  display:grid;
  place-items:center;
  flex-shrink:0;
  transition:background .15s ease, transform .15s ease, box-shadow .15s ease;
}
.gh-detail-module > .gh-detail-close span,
.gh-detail-modal .gh-detail .gh-detail-close span{
  position:relative;
  display:block;
  width:10px;
  height:10px;
}
.gh-detail-module > .gh-detail-close span::before,
.gh-detail-module > .gh-detail-close span::after,
.gh-detail-modal .gh-detail .gh-detail-close span::before,
.gh-detail-modal .gh-detail .gh-detail-close span::after{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:10px;
  height:1.5px;
  border-radius:2px;
  background:rgba(238,241,255,.82);
  transform-origin:center;
}
.gh-detail-module > .gh-detail-close span::before,
.gh-detail-modal .gh-detail .gh-detail-close span::before{transform:translate(-50%,-50%) rotate(45deg)}
.gh-detail-module > .gh-detail-close span::after,
.gh-detail-modal .gh-detail .gh-detail-close span::after{transform:translate(-50%,-50%) rotate(-45deg)}
.gh-detail-module > .gh-detail-close:hover,
.gh-detail-modal .gh-detail .gh-detail-close:hover{
  background:rgba(248,113,113,.22);
  box-shadow:0 4px 14px rgba(0,0,0,.4), inset 0 0 0 1px rgba(248,113,113,.35);
  transform:scale(1.04);
}
.gh-detail-module > .gh-detail-close:hover span::before,
.gh-detail-module > .gh-detail-close:hover span::after,
.gh-detail-modal .gh-detail .gh-detail-close:hover span::before,
.gh-detail-modal .gh-detail .gh-detail-close:hover span::after{background:#fecaca}
.gh-detail-prod{
  margin:10px 14px 0;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(0,0,0,.22);
  display:flex;
  flex-direction:column;
  gap:6px;
}
.gh-detail-prod-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gh-detail-prod-badge{
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:2px 7px;
  border-radius:999px;
  background:rgba(74,222,128,.14);
  color:#86efac;
  border:1px solid rgba(74,222,128,.28);
}
.gh-detail-prod-label{font-size:.72rem;font-weight:600;color:rgba(238,241,255,.9)}
.gh-detail-prod-yield{margin:0}
.gh-detail-prod-buffer{display:flex;flex-direction:column;gap:4px}
.gh-detail-prod-buffer-head{display:flex;justify-content:space-between;gap:8px}
.gh-detail-prod-track{
  height:5px;border-radius:999px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.08);overflow:hidden
}
.gh-detail-prod-fill{
  height:100%;border-radius:999px;
  background:linear-gradient(90deg,#4ade80,color-mix(in srgb,var(--gh-mod-cat,#e8c547) 70%,#4ade80));
}
.gh-detail-prod-buf-items{margin:0}
.gh-prod-storage{font-size:.68rem;color:rgba(186,230,253,.9)}
.gh-prod-storage.is-full{color:#f87171;font-weight:700}
.gh-detail-prod.gh-prod-storage-full{
  border-color:rgba(248,113,113,.4);
  background:linear-gradient(180deg,rgba(248,113,113,.12),rgba(0,0,0,.28));
}
.gh-detail-prod.gh-prod-storage-full .gh-detail-prod-badge{
  background:rgba(248,113,113,.16);color:#fca5a5;border-color:rgba(248,113,113,.35)
}
.gh-detail-prod.gh-prod-stopped{
  border-color:rgba(248,113,113,.55);
  background:linear-gradient(180deg,rgba(248,113,113,.18),rgba(0,0,0,.3));
}
.gh-detail-prod.gh-prod-stopped .gh-detail-prod-badge{
  background:rgba(248,113,113,.22);color:#fecaca;border-color:rgba(248,113,113,.45)
}
.gh-detail-prod.gh-prod-stopped .gh-detail-prod-fill{background:#f87171}
.gh-detail-actions-hint{margin:0 0 2px}
.gh-interact-daily{
  display:inline-block;
  margin-left:6px;
  padding:1px 6px;
  border-radius:999px;
  font-size:.55rem;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
  vertical-align:middle;
  color:#fde68a;
  background:rgba(232,197,71,.14);
  border:1px solid rgba(232,197,71,.3);
}
.gh-interact-card.gh-interact-daily-card{border-color:rgba(232,197,71,.22)}
.hub-guild-storage-full-banner{
  margin:0 0 10px;padding:8px 12px;border-radius:10px;
  border:1px solid rgba(248,113,113,.45);
  background:rgba(248,113,113,.14);color:#fecaca;font-size:.78rem;font-weight:700
}
.hub-guild-deposit-modal{
  position:fixed;inset:0;z-index:30200;
  display:flex;align-items:center;justify-content:center;
  padding:max(12px,env(safe-area-inset-top)) 14px max(12px,env(safe-area-inset-bottom));
  box-sizing:border-box
}
.hub-guild-deposit-modal.hidden{display:none!important}
.hub-guild-deposit-backdrop{
  position:absolute;inset:0;border:0;padding:0;margin:0;cursor:pointer;
  background:rgba(4,8,18,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)
}
.hub-guild-deposit-card{
  position:relative;z-index:1;width:min(420px,100%);
  border-radius:16px;border:1px solid rgba(148,163,184,.22);
  background:linear-gradient(165deg,rgba(30,36,58,.96),rgba(12,16,28,.98));
  box-shadow:0 20px 50px rgba(0,0,0,.55);padding:16px;color:var(--txt);
  display:flex;flex-direction:column;gap:10px;max-height:min(86vh,640px)
}
.hub-guild-deposit-card .gh-detail-close,
.hub-guild-deposit-card .hub-guild-deposit-x{
  position:absolute;top:10px;right:10px
}
.hub-guild-deposit-card-inv{width:min(460px,100%);padding:14px 14px 12px}
.hub-guild-deposit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;position:relative;padding-right:36px}
.hub-guild-deposit-card h3{margin:0 0 4px;font-size:1rem}
.hub-guild-deposit-meta{margin:0;font-size:.75rem;color:rgba(238,241,255,.65)}
.hub-guild-deposit-inv-body{flex:1;min-height:0;overflow:auto;padding-right:2px}
.hub-guild-deposit-row-actions{display:flex;align-items:center;gap:6px;margin-top:6px}
.hub-guild-deposit-qty{width:64px;min-width:56px;min-height:32px;padding:4px 6px;font-size:.72rem}
.hub-guild-open-inv-section{gap:8px}
.hub-guild-open-inv-section .gh-btn{width:100%}
.hub-guild-deposit-actions{display:flex;gap:8px}
.hub-guild-deposit-actions .gh-btn,.hub-guild-deposit-actions .btn{flex:1;justify-content:center}
.gh-cost-section{display:flex;flex-direction:column;gap:8px}
.gh-cost-section-label{font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(238,241,255,.55)}
.gh-cost-grid{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.gh-cost-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(0,0,0,.28));
}
.gh-cost-item.gh-cost-short{
  border-color:rgba(248,113,113,.45);
  background:linear-gradient(180deg,rgba(248,113,113,.14),rgba(0,0,0,.32));
  box-shadow:inset 0 0 0 1px rgba(248,113,113,.08)
}
.gh-cost-icon{
  font-size:1.25rem;
  line-height:1;
  flex-shrink:0;
  width:1.5rem;
  text-align:center
}
.gh-cost-body{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
  flex:1
}
.gh-cost-label{
  font-size:.78rem;
  font-weight:750;
  color:rgba(238,241,255,.94);
  line-height:1.25
}
.gh-cost-nums{
  font-size:.8rem;
  line-height:1.25;
  color:var(--txt);
  white-space:nowrap;
  font-variant-numeric:tabular-nums
}
.gh-cost-nums strong{font-size:.9rem;color:var(--gold);font-weight:800}
.gh-cost-have{font-size:.74rem;color:rgba(238,241,255,.58);font-weight:650}
@media(max-width:520px){
  .gh-scene{min-height:min(44vh,340px)}
  .gh-cell{min-height:36px}
  .gh-palette-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px}
}

/* Gildenhaus Themes, Overlays & Customizing */
.hub-guild-shop-custom{overflow:hidden}
.hub-guild-shop-preview{height:72px;border-radius:8px;background-size:cover;background-position:center;margin-bottom:8px;border:1px solid rgba(255,255,255,.12)}
.gh-customize{padding:10px 12px;margin-bottom:10px;color:var(--txt)}
.gh-custom-section{margin-top:10px}
.gh-custom-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin-top:6px}
.gh-custom-grid-sm{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}
.gh-custom-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.28);cursor:pointer;color:var(--txt);font:inherit;min-height:64px}
.gh-custom-btn.active{border-color:var(--gh-accent,var(--gold));box-shadow:0 0 12px rgba(232,197,71,.25)}
.gh-custom-btn.locked{opacity:.45;cursor:not-allowed}
.gh-custom-preview{width:100%;height:40px;border-radius:6px;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.1)}
.gh-accent-swatch{width:22px;height:22px;border-radius:999px;background:var(--gh-accent,#e8c547);border:2px solid rgba(255,255,255,.25)}
.gh-community{margin-top:12px;padding:10px;color:var(--txt)}
.gh-community-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.gh-scene{position:relative}
/* Gildenhaus Ambiente — Partikel wie Kosmetik-Shop */
.gh-fx-layer{
  position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden;
  contain:strict;isolation:isolate;
}
.gh-fx-layer .cos-particle,.gh-fx-layer .cos-flake,.gh-fx-layer .cos-ember,.gh-fx-layer .cos-rainbow-dot{
  will-change:transform,opacity;backface-visibility:hidden;
}
.gh-fx-layer.gh-fx-fireflies{
  background:
    radial-gradient(ellipse at 50% 88%, rgba(60,120,30,.2), transparent 58%),
    radial-gradient(circle at 22% 58%, rgba(80,160,40,.1), transparent 48%),
    radial-gradient(circle at 78% 42%, rgba(100,180,50,.08), transparent 42%);
}
.gh-fx-layer.gh-fx-embers{
  background:
    radial-gradient(ellipse at 50% 100%, rgba(255,120,30,.22), transparent 62%),
    radial-gradient(circle at 50% 92%, rgba(200,60,10,.12), transparent 48%);
}
.gh-fx-layer.gh-fx-aurora{
  background:
    linear-gradient(180deg, rgba(8,12,28,.15) 0%, transparent 45%, rgba(4,8,18,.35) 100%),
    radial-gradient(ellipse at 50% 0%, rgba(80,200,255,.08), transparent 55%);
}
.gh-aurora-band{
  position:absolute;left:-8%;width:116%;height:14%;pointer-events:none;
  background:linear-gradient(90deg,transparent,hsla(var(--hue,160),88%,62%,.08),hsla(calc(var(--hue,160) + 40),90%,68%,.28),hsla(var(--hue,160),85%,58%,.12),transparent);
  filter:blur(18px) saturate(1.45);
  opacity:.75;
  animation:ghAuroraBandDrift var(--dur,12s) ease-in-out infinite;
  animation-delay:var(--delay,0s);
  mix-blend-mode:screen;
}
@keyframes ghAuroraBandDrift{
  0%{transform:translateX(-3%) skewX(-6deg) scaleY(.92);opacity:.45}
  50%{transform:translateX(2%) skewX(4deg) scaleY(1.05);opacity:.95}
  100%{transform:translateX(4%) skewX(-3deg) scaleY(.98);opacity:.55}
}
/* Akzent-Nebel — Bild-Overlays, Partikel & Nebelbänder (wie Ambiente) */
.gh-fs-pan-world{--gh-accent-fog:var(--gh-accent,#e8c547)}
.gh-fs-accent-fog{
  position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden;
  contain:strict;isolation:isolate;
}
.gh-fs-accent-fog.gh-fx-accent-active{
  background:
    radial-gradient(ellipse 110% 90% at 50% 35%, color-mix(in srgb,var(--gh-accent-fog,#e8c547) 42%,transparent), transparent 68%),
    radial-gradient(ellipse 130% 80% at 50% 95%, color-mix(in srgb,var(--gh-accent-fog,#e8c547) 28%,transparent), transparent 55%),
    radial-gradient(circle at 18% 62%, color-mix(in srgb,var(--gh-accent-fog,#e8c547) 18%,transparent), transparent 42%),
    radial-gradient(circle at 82% 48%, color-mix(in srgb,var(--gh-accent-fog,#e8c547) 14%,transparent), transparent 38%);
  animation:ghAccentFogPulse 8s ease-in-out infinite alternate;
}
.gh-accent-fog-img{
  position:absolute;inset:-12%;
  background-image:var(--gh-accent-fog-img);
  background-size:cover;background-position:center;background-repeat:no-repeat;
  opacity:.62;filter:saturate(1.35) brightness(1.08);
  mix-blend-mode:screen;pointer-events:none;
  animation:ghAccentFogImgDrift 20s ease-in-out infinite alternate;
}
.gh-accent-fog-img-b{
  inset:-18%;
  opacity:.48;filter:saturate(1.2) blur(1px);
  animation-duration:28s;animation-direction:alternate-reverse;
  transform:scale(1.06);
}
.gh-accent-fog-particles{position:absolute;inset:0;pointer-events:none}
@keyframes ghAccentFogImgDrift{
  0%{transform:translate(-2%,1%) scale(1.02)}
  50%{transform:translate(2%,-2%) scale(1.06)}
  100%{transform:translate(3%,-1%) scale(1.03)}
}
.gh-accent-wisp{
  position:absolute;width:var(--size,14px);height:var(--size,14px);border-radius:999px;pointer-events:none;
  background:radial-gradient(circle,color-mix(in srgb,var(--gh-accent,#e8c547) 82%,#fff),color-mix(in srgb,var(--gh-accent,#e8c547) 18%,transparent));
  opacity:var(--op,.55);
  filter:blur(1.5px);
  animation:ghAccentWispDrift var(--dur,8s) ease-in-out infinite;
  animation-delay:var(--delay,0s);
  mix-blend-mode:screen;
}
.gh-accent-mist-band{
  position:absolute;left:-12%;width:124%;height:22%;pointer-events:none;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--gh-accent,#e8c547) 28%,transparent),color-mix(in srgb,var(--gh-accent,#e8c547) 48%,transparent),color-mix(in srgb,var(--gh-accent,#e8c547) 24%,transparent),transparent);
  filter:blur(26px) saturate(1.35);
  opacity:.78;
  animation:ghAccentMistDrift var(--dur,12s) ease-in-out infinite;
  animation-delay:var(--delay,0s);
  mix-blend-mode:screen;
}
@keyframes ghAccentFogPulse{0%{opacity:.65}100%{opacity:1}}
@keyframes ghAccentWispDrift{
  0%{transform:translate(0,0) scale(.85);opacity:.2}
  50%{transform:translate(8px,-14px) scale(1.08);opacity:.85}
  100%{transform:translate(-6px,-8px) scale(.92);opacity:.35}
}
@keyframes ghAccentMistDrift{
  0%{transform:translateX(-4%) skewX(-5deg);opacity:.35}
  50%{transform:translateX(3%) skewX(4deg);opacity:.9}
  100%{transform:translateX(5%) skewX(-3deg);opacity:.45}
}
.gh-fs-pan-world::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:4;
  box-shadow:inset 0 -80px 100px -20px rgba(0,0,0,.55);
}
.gh-theme-frost .gh-fs-pan-bg{filter:saturate(1.08) hue-rotate(-8deg) brightness(1.04)}
.gh-theme-dragon .gh-fs-pan-bg{filter:saturate(1.22) contrast(1.06) brightness(1.02)}
.gh-theme-grove .gh-fs-pan-bg{filter:saturate(1.18) hue-rotate(8deg) brightness(1.03)}
.gh-theme-golden .gh-fs-pan-bg{filter:saturate(1.2) brightness(1.08) contrast(1.04)}
.gh-theme-default .gh-fs-pan-bg{filter:saturate(1.05) contrast(1.03)}
.gh-fullscreen.gh-fs-pan-active .gh-fs-pan-bg,
.gh-fs-pan-world.gh-fs-pan-dragging .gh-fs-pan-bg{filter:none!important}
.gh-fullscreen.gh-fs-pan-active .gh-fs-accent-fog,
.gh-fullscreen.gh-fs-pan-active .gh-fx-layer{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.gh-floor-marble .gh-cell.gh-empty{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15)}
.gh-floor-grass .gh-cell.gh-empty{background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.2)}
.gh-floor-runes .gh-cell.gh-empty{background:rgba(167,139,250,.08);border-color:rgba(167,139,250,.22);box-shadow:inset 0 0 8px rgba(167,139,250,.08)}
.gh-module-glow.gh-built{box-shadow:0 0 16px color-mix(in srgb,var(--gh-accent,#e8c547) 45%,transparent),0 4px 16px rgba(0,0,0,.35)!important;border-color:color-mix(in srgb,var(--gh-accent,#e8c547) 55%,transparent)!important}
.gh-theme-frost .gh-built{background:linear-gradient(180deg,rgba(147,197,253,.14),rgba(0,0,0,.45))}
.gh-theme-dragon .gh-built{background:linear-gradient(180deg,rgba(248,113,113,.14),rgba(0,0,0,.48))}
.gh-theme-grove .gh-built{background:linear-gradient(180deg,rgba(134,239,172,.14),rgba(0,0,0,.42))}
.gh-theme-golden .gh-built{background:linear-gradient(180deg,rgba(252,211,77,.16),rgba(0,0,0,.4))}

/* Gildenhaus Vollbild + Hotspots */
#gh-fullscreen-root{position:fixed;inset:0;z-index:12000;pointer-events:none}
.gh-fullscreen{position:fixed;inset:0;z-index:12001;display:flex;flex-direction:column;background:#0a0c14;color:var(--txt);pointer-events:auto}
.gh-fs-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;margin:0;border-radius:0;border-left:0;border-right:0;border-top:0;flex-shrink:0;border-bottom:2px solid color-mix(in srgb,var(--gh-accent,#e8c547) 35%,transparent);box-shadow:0 4px 24px color-mix(in srgb,var(--gh-accent,#e8c547) 12%,transparent)}
.gh-fs-top strong{color:color-mix(in srgb,var(--gh-accent,#e8c547) 85%,#fff)}
.gh-fs-top-left,.gh-fs-top-center,.gh-fs-top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gh-fs-top-center{flex:1;justify-content:center;min-width:0}
.gh-fs-spirit{width:min(140px,28vw);height:6px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}
.gh-fs-spirit .hub-guild-quest-bar-fill{height:100%;background:linear-gradient(90deg,var(--gh-accent,#e8c547),#7dd3fc)}
.gh-fs-close{position:relative;z-index:5;min-width:36px;min-height:36px}
.gh-fs-top-actions .btn{position:relative;z-index:5}
.gh-fs-scene{position:relative;flex:1;min-height:0;overflow:hidden}
.gh-fs-pan-viewport{position:relative;width:100%;height:100%;overflow:hidden;touch-action:none;cursor:grab}
.gh-fs-pan-viewport:active,.gh-fs-pan-dragging{cursor:grabbing}
.gh-fs-pan-world{
  position:absolute;top:0;left:0;height:100%;width:100%;
  will-change:transform;transition:transform .08s ease-out;
  contain:layout style;
}
.gh-fs-pan-bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center center;
  pointer-events:none;user-select:none;-webkit-user-drag:none;z-index:0;
}
.gh-fs-pan-world.gh-fs-pan-wide{
  width:auto;height:100%;max-width:none;
  aspect-ratio:1536 / 1024;
}
.gh-fs-pan-wide .gh-fs-pan-bg{object-fit:fill;object-position:0 0}
.gh-fs-pan-world.gh-fs-pan-dragging{transition:none}
html[data-abenteuer-apk="1"] .gh-fs-pan-world,
html[data-mobile-shell="1"] .gh-fs-pan-world,
html.flix-rpg-mobile .gh-fs-pan-world{transition:none!important}
html[data-abenteuer-apk="1"] .gh-theme-frost .gh-fs-pan-bg,
html[data-abenteuer-apk="1"] .gh-theme-dragon .gh-fs-pan-bg,
html[data-abenteuer-apk="1"] .gh-theme-grove .gh-fs-pan-bg,
html[data-abenteuer-apk="1"] .gh-theme-golden .gh-fs-pan-bg,
html[data-abenteuer-apk="1"] .gh-theme-default .gh-fs-pan-bg,
html[data-mobile-shell="1"] .gh-theme-frost .gh-fs-pan-bg,
html[data-mobile-shell="1"] .gh-theme-dragon .gh-fs-pan-bg,
html[data-mobile-shell="1"] .gh-theme-grove .gh-fs-pan-bg,
html[data-mobile-shell="1"] .gh-theme-golden .gh-fs-pan-bg,
html[data-mobile-shell="1"] .gh-theme-default .gh-fs-pan-bg,
html.flix-rpg-mobile .gh-theme-frost .gh-fs-pan-bg,
html.flix-rpg-mobile .gh-theme-dragon .gh-fs-pan-bg,
html.flix-rpg-mobile .gh-theme-grove .gh-fs-pan-bg,
html.flix-rpg-mobile .gh-theme-golden .gh-fs-pan-bg,
html.flix-rpg-mobile .gh-theme-default .gh-fs-pan-bg{filter:none!important}
.gh-fs-pan-hint{
  display:none;position:absolute;left:50%;bottom:max(10px,env(safe-area-inset-bottom,0px));
  transform:translateX(-50%);z-index:6;padding:5px 12px;border-radius:999px;
  background:rgba(0,0,0,.55);color:rgba(238,241,255,.88);pointer-events:none;
  white-space:nowrap;
}
html[data-abenteuer-apk="1"] .gh-fs-pan-hint,
html[data-mobile-shell="1"] .gh-fs-pan-hint,
html.flix-rpg-mobile .gh-fs-pan-hint{display:block}
html[data-abenteuer-apk="1"] .gh-fs-scene,
html[data-mobile-shell="1"] .gh-fs-scene,
html.flix-rpg-mobile .gh-fs-scene{flex:1 1 auto;min-height:0}
html[data-abenteuer-apk="1"] #gh-fullscreen-root .gh-fullscreen,
html[data-mobile-shell="1"] #gh-fullscreen-root .gh-fullscreen,
html.flix-rpg-mobile #gh-fullscreen-root .gh-fullscreen{
  height:100dvh;max-height:100dvh;padding-bottom:env(safe-area-inset-bottom,0px);
}
.gh-hotspots{position:absolute;inset:0;z-index:5}
.gh-hotspot{position:absolute;transform:translate(-50%,-50%);border:0;padding:0;background:transparent;cursor:pointer;touch-action:none;z-index:6}
.gh-hotspot-built{display:flex;flex-direction:column;align-items:center;gap:3px;filter:drop-shadow(0 3px 8px rgba(0,0,0,.65))}
.gh-hotspot-name{
  order:-1;
  max-width:min(28vw,120px);
  padding:3px 8px;
  border-radius:8px;
  font-size:.62rem;
  font-weight:800;
  line-height:1.2;
  text-align:center;
  color:#fff;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  background:linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,0,0,.88));
  border:1px solid color-mix(in srgb,var(--gh-accent,#e8c547) 65%,rgba(255,255,255,.2));
  box-shadow:0 2px 10px rgba(0,0,0,.55),0 0 12px color-mix(in srgb,var(--gh-accent,#e8c547) 25%,transparent);
  text-shadow:0 1px 2px rgba(0,0,0,.9);
}
.gh-hotspot-pin{width:42px;height:42px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.78));border:2px solid color-mix(in srgb,var(--gh-accent,#e8c547) 80%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--gh-accent,#e8c547) 45%,transparent),inset 0 1px 0 rgba(255,255,255,.12);transition:transform .12s,border-color .15s,box-shadow .15s}
.gh-hotspot-built:hover .gh-hotspot-pin,.gh-hotspot-built:focus-visible .gh-hotspot-pin{transform:scale(1.1);border-color:var(--gh-accent,#e8c547);box-shadow:0 0 22px color-mix(in srgb,var(--gh-accent,#e8c547) 55%,transparent)}
.gh-hotspot-built:hover .gh-hotspot-name,.gh-hotspot-built:focus-visible .gh-hotspot-name{border-color:var(--gh-accent,#e8c547)}
.gh-hotspot-lvl{font-size:.54rem;font-weight:800;color:var(--gold);text-shadow:0 1px 4px rgba(0,0,0,.9);padding:1px 6px;border-radius:999px;background:rgba(0,0,0,.5);border:1px solid rgba(232,197,71,.35)}
.gh-hotspot-empty{
  width:26px;height:26px;border-radius:999px;
  border:2px solid rgba(253,230,138,.82);
  background:
    radial-gradient(circle at 50% 45%,rgba(255,248,220,.24) 0 24%,rgba(232,197,71,.2) 40%,rgba(6,10,18,.8) 72%),
    rgba(0,0,0,.55);
  opacity:1;
  display:grid;place-items:center;
  position:relative;
  box-shadow:0 0 0 2px rgba(0,0,0,.55),0 6px 12px rgba(0,0,0,.35),0 0 12px rgba(232,197,71,.35);
}
.gh-hotspot-empty:hover,.gh-hotspot-empty:focus-visible{
  opacity:1;
  background:
    radial-gradient(circle at 50% 48%,rgba(255,248,220,.32) 0 26%,rgba(232,197,71,.28) 42%,rgba(6,10,18,.78) 72%),
    rgba(0,0,0,.5);
  transform:translate(-50%,-50%) scale(1.1);
  box-shadow:0 0 0 2px rgba(0,0,0,.55),0 0 18px rgba(232,197,71,.5);
}
.gh-hotspot-empty:disabled{cursor:default;transform:translate(-50%,-50%)}
.gh-hotspot-empty:disabled:hover{opacity:1;transform:translate(-50%,-50%)}
.gh-module-glow .gh-hotspot-pin{box-shadow:0 0 14px color-mix(in srgb,var(--gh-accent,#e8c547) 55%,transparent),0 0 24px color-mix(in srgb,var(--gh-accent,#e8c547) 25%,transparent)}
.gh-fs-bottom{flex-shrink:0;padding:10px 12px 14px;border-radius:0;border-left:0;border-right:0;border-bottom:0;max-height:min(40vh,320px);overflow:hidden;display:flex;flex-direction:column;gap:8px}
.gh-fs-bottom.hidden{display:none!important}
.gh-fs-bottom-head{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.gh-fs-bottom-title{font-size:.78rem;font-weight:800;color:var(--gold);letter-spacing:.02em}
.gh-custom-modal{position:fixed;inset:0;z-index:12010;display:flex;align-items:center;justify-content:center;padding:max(10px,env(safe-area-inset-top,0px)) 10px max(10px,env(safe-area-inset-bottom,0px))}
.gh-custom-modal > .gh-modal-frame{flex-shrink:1;max-height:min(86vh,720px)}
.gh-custom-modal.hidden{display:none!important}
.gh-custom-modal-backdrop{
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 40%, color-mix(in srgb,var(--gh-accent,#e8c547) 14%,transparent), rgba(0,0,0,.72));
}
.gh-custom-modal-panel.gh-modal-plain,
.gh-detail-panel.gh-modal-plain{
  position:relative;width:min(96vw,560px);max-height:min(88vh,720px);overflow:hidden;
  display:flex;flex-direction:column;z-index:1;
  border:1px solid color-mix(in srgb,var(--gh-accent,#e8c547) 42%,rgba(255,255,255,.1));
  box-shadow:0 20px 50px rgba(0,0,0,.55),0 0 20px color-mix(in srgb,var(--gh-accent,#e8c547) 12%,transparent);
}
.gh-custom-modal-panel.gh-modal-plain .gh-custom-modal-head{
  padding:10px 12px;border-bottom:1px solid color-mix(in srgb,var(--gh-accent,#e8c547) 32%,var(--line));
  background:transparent!important;
}
.gh-custom-modal-panel.gh-modal-plain .gh-custom-modal-head strong{
  color:color-mix(in srgb,var(--gh-accent,#e8c547) 88%,#fff);text-shadow:none;
}
.gh-custom-modal-panel.gh-modal-plain .gh-custom-modal-body{
  padding:0 12px 12px;overflow:auto;max-height:calc(min(88vh,720px) - 48px);
}
.gh-detail-modal .gh-modal-plain.gh-detail-panel{
  width:min(94vw,420px);max-height:min(88vh,640px);
}
.gh-detail-modal .gh-modal-plain .gh-detail{
  max-height:min(88vh,640px);overflow-y:auto;
}
.gh-custom-modal-panel:not(.gh-modal-skin):not(.gh-modal-plain){position:relative;width:min(96vw,560px);max-height:min(88vh,720px);overflow:hidden;display:flex;flex-direction:column;z-index:1;border:1px solid color-mix(in srgb,var(--gh-accent,#e8c547) 42%,rgba(255,255,255,.1));box-shadow:0 20px 50px rgba(0,0,0,.55),0 0 20px color-mix(in srgb,var(--gh-accent,#e8c547) 12%,transparent)}
.gh-custom-modal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 4px 10px;border-bottom:1px solid rgba(255,255,255,.14);flex-shrink:0}
.gh-custom-modal-head strong{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.85)}
.gh-custom-modal-body{padding:0;overflow:auto;flex:1 1 auto;min-height:0;background:transparent!important}
.gh-custom-modal-body .gh-customize{border:0;padding:8px 2px 0;margin:0;background:transparent!important;backdrop-filter:none!important}
/* Fenster-Cosmetic = epischer Rand um Standard-Glass-Modal */
.gh-modal-frame{
  position:relative;display:flex;flex-direction:column;margin:0 auto;z-index:1;flex-shrink:1;
  width:min(90vw,400px);max-width:100%;max-height:min(86vh,680px);
  box-sizing:border-box;padding:22px;background:transparent;overflow:hidden;
}
.gh-modal-frame-compact{width:min(88vw,320px);padding:18px;max-height:min(82vh,560px)}
.gh-modal-frame-wide{width:min(92vw,520px);padding:24px;max-height:min(86vh,720px)}
.gh-modal-frame-art{
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  background-image:var(--gh-modal-border);
  background-size:100% 100%;
  background-repeat:no-repeat;
  background-position:center;
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.5));
}
.gh-modal-frame-fx{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.gh-modal-frame .gh-custom-modal-panel,
.gh-modal-frame .gh-detail-panel{
  position:relative;z-index:2;width:100%!important;max-width:none!important;min-width:0;
  flex:1 1 auto;min-height:0;max-height:100%;
  display:flex;flex-direction:column;overflow:hidden;
  border-radius:10px!important;
  border:1px solid rgba(255,255,255,.1)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 4px 18px rgba(0,0,0,.35)!important;
  background:linear-gradient(168deg,rgba(14,12,20,.94),rgba(8,10,16,.9))!important;
  backdrop-filter:blur(8px);
}
.gh-modal-frame-compact .gh-custom-modal-head{
  padding:8px 10px 6px!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  background:transparent!important;
  flex-shrink:0;
}
.gh-modal-frame-compact .gh-custom-modal-head strong{
  font-size:.82rem;line-height:1.25;
  color:color-mix(in srgb,var(--gh-accent,#e8c547) 82%,#fff);
}
.gh-modal-frame .gh-custom-modal-body,
.gh-modal-frame .gh-detail,
.gh-modal-frame-compact .gh-custom-modal-body,
.gh-modal-frame-wide .gh-custom-modal-body{
  flex:1 1 auto;min-height:0;
  padding:8px 10px 12px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  max-height:none!important;
}
.gh-modal-frame-wide .gh-custom-modal-body{
  padding:0 10px 12px!important;
}
.gh-detail-modal .gh-modal-frame .gh-detail-panel{
  width:100%!important;
  max-height:100%!important;
}
.gh-detail-modal .gh-modal-frame-compact .gh-detail{
  max-height:none;
}
.gh-custom-modal > .gh-modal-frame{
  flex-shrink:1;
  max-height:min(86vh,720px);
}
.gh-modal-frame .gh-custom-modal-panel .btn-icon,
.gh-modal-frame .gh-detail-panel .btn-icon{
  width:1.65rem;height:1.65rem;border-radius:8px;
  border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.35);
}
.gh-modal-frame-stone .gh-modal-frame-art{filter:drop-shadow(0 6px 16px rgba(0,0,0,.5))}
.gh-modal-frame-marble .gh-modal-frame-art{
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.45)) drop-shadow(0 0 10px rgba(167,139,250,.18));
}
.gh-modal-frame-grass .gh-modal-frame-art{
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.45)) drop-shadow(0 0 8px rgba(255,190,80,.16));
}
.gh-modal-frame-runes .gh-modal-frame-art{
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.52)) drop-shadow(0 0 12px color-mix(in srgb,var(--gh-accent,#a78bfa) 26%,transparent));
}
.gh-modal-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.gh-accent-swatch-none{
  display:flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:999px;
  background:rgba(255,255,255,.08);border:2px dashed rgba(255,255,255,.28);
  font-size:.85rem;line-height:1;color:rgba(238,241,255,.75);
}
.gh-window-thumb-none{
  display:block;width:100%;height:40px;border-radius:6px;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(0,0,0,.35));
  border:1px dashed rgba(255,255,255,.22);
}
.gh-custom-window-btn{min-height:0;padding:6px;gap:5px}
.gh-window-thumb{
  position:relative;display:block;width:100%;height:48px;border-radius:8px;overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
}
.gh-window-thumb-frame{
  background:radial-gradient(ellipse at 50% 35%, rgba(255,255,255,.07), rgba(6,10,18,.94) 72%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
.gh-window-thumb-panel{
  position:absolute;inset:17% 13%;z-index:0;border-radius:5px;
  background:linear-gradient(165deg,rgba(255,255,255,.11),rgba(255,255,255,.03) 45%,rgba(0,0,0,.18));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 2px 8px rgba(0,0,0,.35);
  backdrop-filter:blur(2px);
}
.gh-window-thumb-img{
  position:absolute;inset:0;z-index:1;width:100%;height:100%;
  object-fit:contain;object-position:center;pointer-events:none;
}
.gh-window-thumb-stone{background:radial-gradient(ellipse at 50% 35%, rgba(180,140,90,.12), rgba(8,6,4,.94) 72%)}
.gh-window-thumb-marble{background:radial-gradient(ellipse at 50% 35%, rgba(167,139,250,.14), rgba(10,8,18,.94) 72%)}
.gh-window-thumb-grass{background:radial-gradient(ellipse at 50% 35%, rgba(255,190,80,.12), rgba(12,8,4,.94) 72%)}
.gh-window-thumb-runes{background:radial-gradient(ellipse at 50% 35%, rgba(167,120,255,.14), rgba(8,6,16,.94) 72%)}
.gh-custom-window-btn.active .gh-window-thumb,
.gh-custom-window-btn.active .gh-window-thumb-none{
  border-color:var(--gh-accent,var(--gold));
  box-shadow:0 0 10px color-mix(in srgb,var(--gh-accent,#e8c547) 28%,transparent);
}
@media (max-width:520px){
  .gh-modal-frame{width:min(92vw,360px);padding:18px}
  .gh-modal-frame-compact{width:min(90vw,300px);padding:16px}
  .gh-modal-frame-wide{width:min(94vw,480px);padding:20px}
}
.gh-modal-glass-dot{
  position:absolute;width:var(--size,6px);height:var(--size,6px);border-radius:999px;pointer-events:none;
  background:hsla(var(--hue,220),88%,68%,.75);
  box-shadow:0 0 10px hsla(var(--hue,220),90%,70%,.55);
  animation:ghModalGlassTwinkle var(--dur,5s) ease-in-out infinite;
  animation-delay:var(--delay,0s);
}
.gh-modal-lantern-dot{
  position:absolute;width:var(--size,8px);height:var(--size,8px);border-radius:999px;pointer-events:none;
  background:radial-gradient(circle,#ffe8a8,rgba(255,160,60,.25));
  box-shadow:0 0 14px rgba(255,190,80,.45);
  animation:ghModalLanternGlow var(--dur,4s) ease-in-out infinite;
  animation-delay:var(--delay,0s);
}
.gh-modal-rune-spark{
  position:absolute;font-size:calc(var(--size,8px) * .85);line-height:1;color:color-mix(in srgb,var(--gh-accent,#a78bfa) 88%,#fff);
  text-shadow:0 0 12px color-mix(in srgb,var(--gh-accent,#a78bfa) 65%,transparent);
  animation:ghModalRunePulse var(--dur,3s) ease-in-out infinite;
  animation-delay:var(--delay,0s);
}
.gh-modal-dust-mote{
  position:absolute;width:3px;height:3px;border-radius:999px;background:rgba(255,255,255,.35);pointer-events:none;
  animation:ghModalDustFloat var(--dur,6s) ease-in-out infinite;
  animation-delay:var(--delay,0s);
}
@keyframes ghModalGlassTwinkle{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
@keyframes ghModalLanternGlow{0%,100%{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}
@keyframes ghModalRunePulse{0%,100%{opacity:.2;transform:scale(.75) rotate(0deg)}50%{opacity:1;transform:scale(1.1) rotate(18deg)}}
@keyframes ghModalDustFloat{0%,100%{opacity:.15;transform:translateY(0)}50%{opacity:.55;transform:translateY(-6px)}}
.hub-guild-house-locked{padding:12px;color:var(--txt)}
.hub-guild-house-locked-preview{height:min(36vh,280px);border-radius:12px;background-size:cover;background-position:center;border:1px solid var(--line);margin:10px 0;opacity:.85}
.hub-guild-house-locked-actions{margin:8px 0}
.hub-guild-house-placeholder{padding:12px;color:var(--txt)}
.hub-guild-house-entry{display:flex;flex-direction:column;gap:12px;color:var(--txt)}
.gh-entry-banner{
  position:relative;border-radius:14px;overflow:hidden;min-height:min(42vw,220px);
  border:1px solid var(--line);
  box-shadow:0 8px 32px rgba(0,0,0,.45);
}
.gh-entry-banner-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;display:block;
  pointer-events:none;z-index:0;
}
.gh-entry-banner-btn{
  display:block;width:100%;padding:0;margin:0;cursor:pointer;
  text-align:inherit;font:inherit;color:inherit;background:transparent;
  transition:transform .15s ease,box-shadow .15s ease;
}
.gh-entry-banner-btn:hover{transform:translateY(-1px);box-shadow:0 10px 36px rgba(0,0,0,.55)}
.gh-entry-banner-btn:focus-visible{outline:2px solid var(--accent,#e8c547);outline-offset:2px}
.gh-entry-enter-hint{
  margin-top:8px;padding:4px 10px;border-radius:999px;
  background:rgba(0,0,0,.45);color:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.18);
}
.gh-entry-banner-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.55) 70%,rgba(0,0,0,.82) 100%);
  pointer-events:none;z-index:1;
}
.gh-entry-banner-content{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
  padding:16px 14px 18px;text-align:center;z-index:2;
}
.gh-entry-emoji{font-size:2.2rem;line-height:1;filter:drop-shadow(0 2px 8px rgba(0,0,0,.6))}
.gh-entry-title{margin:6px 0 2px;font-size:1.25rem;font-weight:800;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.8)}
.gh-entry-tagline{margin:0;color:rgba(238,241,255,.88);text-shadow:0 1px 6px rgba(0,0,0,.7)}
.gh-entry-body{padding:14px;display:flex;flex-direction:column;gap:12px;align-items:stretch}
.gh-entry-stat-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(72px,1fr));
  gap:8px;
}
.gh-entry-stat{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  padding:10px 8px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(165deg,rgba(255,255,255,.06),rgba(0,0,0,.28));
  text-align:center;
  min-width:0;
}
.gh-entry-stat-icon{font-size:1.1rem;line-height:1}
.gh-entry-stat-val{
  font-size:.82rem;
  font-weight:800;
  color:rgba(248,250,255,.96);
  font-variant-numeric:tabular-nums;
  line-height:1.2;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
.gh-entry-stat-label{
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(238,241,255,.5);
}
.gh-entry-stat-gp .gh-entry-stat-val{color:#fcd34d}
.gh-entry-stat-fc .gh-entry-stat-val{color:#86efac}
.gh-entry-stat-modules .gh-entry-stat-val{color:var(--gold)}
.gh-entry-stat-spirit .gh-entry-stat-val{color:#c4b5fd}
.gh-entry-progress{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:12px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.08)}
.gh-entry-progress-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.gh-entry-progress-label{font-size:.72rem;font-weight:800;color:rgba(248,250,255,.92)}
.gh-entry-progress-frac{font-size:.68rem;font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums}
.gh-entry-progress-track{height:7px;border-radius:999px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.08);overflow:hidden}
.gh-entry-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#e8c547,#fbbf24);box-shadow:0 0 10px rgba(232,197,71,.35)}
.gh-entry-progress-hint{margin:0;line-height:1.35}
.gh-entry-ready{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:12px;background:rgba(52,211,153,.06);border:1px solid rgba(52,211,153,.18)}
.gh-entry-ready-badge{
  align-self:flex-start;
  font-size:.68rem;
  font-weight:800;
  color:#6ee7b7;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(52,211,153,.12);
  border:1px solid rgba(52,211,153,.25);
}
.gh-entry-ready-list{margin:0;line-height:1.4}
.gh-entry-active{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:12px;background:rgba(232,197,71,.06);border:1px solid rgba(232,197,71,.22)}
.gh-entry-active-badge{
  align-self:flex-start;
  font-size:.68rem;
  font-weight:800;
  color:var(--gold);
  padding:3px 8px;
  border-radius:999px;
  background:rgba(232,197,71,.12);
  border:1px solid rgba(232,197,71,.28);
}
.gh-entry-active-list{margin:0;line-height:1.4;color:rgba(238,241,255,.72)!important}
.gh-entry-hint{margin:0;text-align:center;line-height:1.4}
@media(max-width:380px){
  .gh-entry-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gh-entry-stat-val{font-size:.74rem}
}
.gh-enter-house{width:100%;padding:12px 16px;font-size:1rem;font-weight:700}
.gh-paragon-altar{
  flex-shrink:0;margin:0 12px 10px;padding:12px;display:flex;flex-direction:column;gap:8px;
  border:1px solid rgba(232,197,71,.28);background:linear-gradient(180deg,rgba(232,197,71,.08),rgba(0,0,0,.35));
}
.gh-paragon-altar .btn{align-self:flex-start}
.gh-phase-mode .gh-fs-pan-viewport::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.28));pointer-events:none;z-index:1}
.gh-hotspot-phase{display:flex;flex-direction:column;align-items:center;gap:3px}
.gh-hotspot-phase-ready .gh-hotspot-pin{border-color:rgba(232,197,71,.85);animation:gh-pulse 2s ease-in-out infinite}
.gh-hotspot-phase-done .gh-hotspot-pin{opacity:.55;border-color:rgba(34,197,94,.5);background:rgba(0,0,0,.35)}
.gh-hotspot-paragon-active .gh-hotspot-pin{border-color:rgba(232,197,71,.9);background:rgba(40,28,8,.75);box-shadow:0 0 18px rgba(232,197,71,.45)}
.gh-hotspot-paragon-active{cursor:pointer}
.gh-paragon-altar-modal{
  border:0;margin:0;padding:0;background:transparent;
  display:flex;flex-direction:column;align-items:stretch;gap:8px;text-align:left;width:100%;
}
.gh-paragon-offer{
  display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:8px;
  border:1px solid color-mix(in srgb,var(--gh-accent,#e8c547) 28%,rgba(255,255,255,.1));
  background:linear-gradient(165deg,rgba(232,197,71,.1),rgba(0,0,0,.22));
}
.gh-paragon-offer-label{display:block;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75}
.gh-paragon-altar-modal .gh-paragon-cost{margin:0;font-size:.82rem;line-height:1.35;color:rgba(255,248,230,.96)}
.gh-paragon-altar-modal .gh-paragon-reward{margin:0;color:color-mix(in srgb,var(--gh-accent,#e8c547) 78%,#fff);font-weight:700;line-height:1.3}
.gh-paragon-treasury-box{
  display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;
  border:1px solid color-mix(in srgb,var(--gold,#e8c547) 45%,rgba(255,255,255,.12));
  background:linear-gradient(145deg,rgba(232,197,71,.16),rgba(120,90,20,.12) 48%,rgba(0,0,0,.28));
  box-shadow:inset 0 1px 0 rgba(255,236,180,.12),0 0 14px rgba(232,197,71,.12);
}
.gh-paragon-treasury-icon{font-size:1.35rem;line-height:1;flex-shrink:0;margin-top:2px}
.gh-paragon-treasury-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.gh-paragon-treasury-kicker{
  font-size:.62rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  color:color-mix(in srgb,var(--gold,#e8c547) 88%,#fff);
}
.gh-paragon-treasury-main{margin:0;font-size:.82rem;line-height:1.35;color:rgba(255,248,230,.96)}
.gh-paragon-treasury-main strong{color:var(--gold,#e8c547)}
.gh-paragon-treasury-pct{color:rgba(238,241,255,.72);font-weight:600}
.gh-paragon-treasury-sub{margin:0;line-height:1.35}
.gh-paragon-altar-modal .gh-paragon-status{margin:0;width:100%;line-height:1.35;padding:0 2px}
.gh-paragon-altar-modal .btn{align-self:stretch;width:100%;margin-top:2px;min-height:34px;font-size:.78rem}

/* —— Marktkontor (Gildenhaus) —— */
.gh-hotspot-market .gh-hotspot-pin{
  border-color:rgba(212,168,67,.85);
  background:rgba(36,28,12,.78);
  box-shadow:0 0 16px rgba(212,168,67,.4);
}
.gh-hotspot-market{cursor:pointer}
.gh-market-modal{display:flex;flex-direction:column;gap:10px;padding:2px 0 4px}
.gh-market-hero{
  display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:12px;
  background:linear-gradient(135deg,rgba(48,36,16,.55),rgba(20,18,28,.7));
  border:1px solid rgba(212,168,67,.28);
}
.gh-market-hero-ico{font-size:1.8rem;line-height:1}
.gh-market-kicker{letter-spacing:.08em;text-transform:uppercase;opacity:.7;font-weight:700}
.gh-market-title{margin:2px 0 4px;font-size:1.05rem;color:rgba(255,246,220,.98)}
.gh-market-status{padding:12px 14px;border-radius:12px;display:flex;flex-direction:column;gap:8px}
.gh-market-status-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.gh-market-status-body{margin:0;font-size:.84rem;line-height:1.4}
.gh-market-contest{
  padding:8px 10px;border-radius:8px;background:rgba(180,60,50,.18);
  border:1px solid rgba(240,120,100,.35);font-size:.8rem;
}
.gh-market-lease{min-width:72px}
.gh-market-lease-bar{
  height:6px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden;
}
.gh-market-lease-bar>i{
  display:block;height:100%;border-radius:inherit;
  background:linear-gradient(90deg,#d4a843,#f0d78c);
}
.gh-market-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:2px;
}
.gh-market-stats>div{display:flex;flex-direction:column;gap:2px}
.gh-market-stat-n{font-weight:800;font-size:.95rem;color:var(--gold,#e8c547)}
.gh-market-bonus-row{display:flex;flex-wrap:wrap;gap:6px}
.gh-market-actions{display:flex;flex-wrap:wrap;gap:8px}
.gh-market-actions .btn{flex:1 1 auto;min-width:140px}
.gh-market-rules{display:flex;flex-direction:column;gap:4px;line-height:1.4}
.gh-market-rules p{margin:0}
.gh-hotspot-phase-locked .gh-hotspot-pin{opacity:.35;border-style:dashed}
.gh-hotspot-pulse{box-shadow:0 0 16px rgba(232,197,71,.45)}
.gh-hotspot-label{color:rgba(238,241,255,.92);text-shadow:0 1px 4px rgba(0,0,0,.85);font-weight:700;max-width:72px;text-align:center;line-height:1.1}
.gh-fs-phase-hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);padding:8px 14px;z-index:4;max-width:min(92vw,480px);text-align:center}
.gh-fs-progress{display:block;color:var(--gold);margin-top:2px}
.hub-guild-skill-cost{margin:0;color:rgba(238,241,255,.88)}
.hub-guild-skill-card.maxed{border-color:rgba(252,211,77,.4)}
@keyframes gh-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@media (max-width:640px){
  .gh-fs-top{flex-wrap:wrap;padding:6px 8px}
  .gh-fs-top-center{order:3;width:100%;justify-content:flex-start}
  .gh-hotspot-pin{width:34px;height:34px;font-size:1rem}
}

/* APK: Top-Leiste bündig oben — auch wenn nur inline rpg.css geladen wird */
html[data-abenteuer-apk="1"]{--apk-topbar-h:calc(env(safe-area-inset-top,0px) + 44px)}
html[data-abenteuer-apk="1"] #app,
html[data-abenteuer-apk="1"] body.rpg-fixed-topbar #app{
  padding-top:var(--apk-topbar-h)!important;
}
html[data-abenteuer-apk="1"] .top-bar,
html[data-abenteuer-apk="1"] body.rpg-fixed-topbar .top-bar{
  position:fixed!important;top:0!important;left:0!important;right:0!important;
  width:100%!important;max-width:none!important;margin:0!important;transform:none!important;
  padding-top:max(4px,env(safe-area-inset-top,0px))!important;padding-bottom:8px!important;
  border-radius:0 0 14px 14px!important;z-index:20050!important;
}
@media (max-width:700px){
  html[data-abenteuer-apk="1"] .top-bar{margin-top:0!important}
  html[data-abenteuer-apk="1"] #app{padding-top:var(--apk-topbar-h)!important}
}


/* ══════════════════════════════════════════════════════════════
   ECHO CLASH — Lobby, Match, Karten (wiederhergestellt)
   Bundle v3 erwartet diese Regeln in rpg.css
══════════════════════════════════════════════════════════════ */

/* ── Fullscreen-Modi ── */
body.echo-clash-lobby-active #top-bar,
html.echo-clash-lobby-active #top-bar,
body.echo-clash-match-active #top-bar,
html.echo-clash-match-active #top-bar{display:none!important}
body.echo-clash-lobby-active #app,
html.echo-clash-lobby-active #app,
body.echo-clash-match-active #app,
html.echo-clash-match-active #app{max-width:100%;width:100%;padding:0;margin:0}
/* Desktop-Web: 520px-Hub-Limit aushebeln (Echo Clash = Vollbild) */
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app) body.echo-clash-lobby-active #app,
html.flix-rpg-web:not(.flix-rpg-mobile):not(.abenteuer-app) body.echo-clash-match-active #app,
html[data-desktop-web="1"].flix-rpg-web body.echo-clash-lobby-active #app,
html[data-desktop-web="1"].flix-rpg-web body.echo-clash-match-active #app,
html.flix-rpg-web.echo-clash-lobby-active #app,
html.flix-rpg-web.echo-clash-match-active #app{
  max-width:100%!important;
  width:100%!important;
  padding:0!important;
  margin:0!important;
  min-height:100dvh!important;
}
body.echo-clash-lobby-active .bg-img,
body.echo-clash-lobby-active #bg-a,
body.echo-clash-lobby-active #bg-b,
body.echo-clash-lobby-active #bg-overlay{
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
body.echo-clash-lobby-active #screen-tcg:not(.hidden),
#screen-tcg.echo-clash-lobby-fullscreen{
  position:fixed!important;
  inset:0!important;
  z-index:8000!important;
  max-width:100%!important;
  width:100%!important;
  height:100dvh!important;
  min-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#060810!important;
}
body.echo-clash-lobby-active #tcg-hand.echo-lobby-stage{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  min-height:100dvh!important;
  padding:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.echo-clash-app-fullscreen{max-width:100%!important;width:100%!important;padding:0!important}
#screen-tcg.echo-clash-lobby-fullscreen,
#screen-tcg.echo-clash-fullscreen{
  position:fixed;inset:0;z-index:8000;max-width:100%;width:100%;height:100dvh;min-height:100dvh;
  overflow:hidden;padding:0;margin:0;
  background:radial-gradient(circle at 50% 0%,rgba(88,28,135,.32),transparent 55%),linear-gradient(180deg,#0a0f1e 0%,#060810 100%);
}
#screen-tcg.echo-clash-lobby-fullscreen .tcg-header,
#screen-tcg.echo-clash-fullscreen .tcg-header{display:none!important}

/* Hand-Legacy überschreiben (sonst horizontale Kartenleiste in Lobby/Match) */
#tcg-hand.tcg-lobby-mode,
#tcg-hand.echo-lobby-stage,
#tcg-hand.echo-clash-hand-bar{
  display:block!important;flex-wrap:wrap!important;overflow:visible!important;overflow-x:visible!important;
  scroll-snap-type:none!important;gap:0!important;max-width:100%;width:100%;margin:0 auto;
  padding:8px 12px 24px;box-sizing:border-box;min-height:0;
}
#tcg-hand.tcg-lobby-mode .tcg-card,
#tcg-hand.echo-lobby-stage .tcg-card{scroll-snap-align:unset;flex-shrink:unset}

/* ── Lobby-Shell ── */
.echo-lobby-fullscreen{
  position:relative;width:100%;min-height:100dvh;max-height:100dvh;display:flex;flex-direction:column;
  overflow:hidden;isolation:isolate;
}
.echo-lobby-bg{
  position:absolute;inset:0;z-index:0;background-size:cover;background-position:center center;
  background-repeat:no-repeat;pointer-events:none;filter:saturate(1.05) brightness(.72);
}
.echo-lobby-vignette{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(ellipse 80% 60% at 50% 40%,transparent 0%,rgba(6,8,16,.55) 100%),
    linear-gradient(180deg,rgba(6,8,16,.25) 0%,rgba(6,8,16,.88) 100%);
}
.echo-lobby-stage{
  position:relative;z-index:2;flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;
  -webkit-overflow-scrolling:touch;padding:0 0 max(16px,env(safe-area-inset-bottom));
}
.echo-lobby-stage .clash-match-area.hidden{display:none!important}

/* ── Lobby v3 ── */
.echo-clash-lobby-v3,.echo-clash-lobby.echo-clash-lobby-tabs,.clash-lobby.echo-clash-lobby{
  display:flex;flex-direction:column;gap:12px;width:100%;max-width:min(900px,100%);margin:0 auto;
  padding:8px 4px 20px;box-sizing:border-box;
}
.echo-lobby-topbar{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:14px;
  background:linear-gradient(135deg,rgba(15,23,42,.94),rgba(76,29,149,.48));
  border:1px solid rgba(167,139,250,.24);box-shadow:0 8px 24px rgba(0,0,0,.35);
}
.echo-lobby-back{
  border:1px solid rgba(167,139,250,.38);background:rgba(255,255,255,.07);color:#e9d5ff;
  border-radius:10px;padding:7px 11px;font-size:.72rem;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s;
}
.echo-lobby-back:hover{background:rgba(255,255,255,.12);border-color:rgba(196,181,253,.55)}
.echo-lobby-brand{display:flex;align-items:center;gap:8px;font-weight:800;color:#f8e7a1;font-size:.95rem;flex:1;min-width:0}
.echo-lobby-brand-icon{font-size:1.15rem;filter:drop-shadow(0 0 8px rgba(251,191,36,.35))}
.echo-lobby-top-stats{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.echo-stat-pill{
  display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:999px;
  font-size:.64rem;font-weight:700;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#e2e8f0;
}
.echo-stat-pill.gold{color:#fde68a;border-color:rgba(251,191,36,.38);background:rgba(251,191,36,.1)}
.echo-token-pill{color:#c4b5fd;border-color:rgba(167,139,250,.35)}

.echo-lobby-tabs{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;padding:2px 0 4px}
.echo-lobby-tab,.tcg-lobby-tab{
  border:1px solid rgba(167,139,250,.28);background:rgba(255,255,255,.05);color:#cbd5e1;
  border-radius:999px;padding:8px 13px;font-size:.68rem;font-weight:700;cursor:pointer;
  transition:background .15s,border-color .15s,transform .12s;
}
.echo-lobby-tab:hover,.tcg-lobby-tab:hover{background:rgba(255,255,255,.09)}
.echo-lobby-tab.active,.tcg-lobby-tab.active{
  background:linear-gradient(135deg,rgba(139,92,246,.5),rgba(109,40,217,.38));
  border-color:rgba(196,181,253,.58);color:#faf5ff;box-shadow:0 4px 14px rgba(109,40,217,.28);
}
.echo-lobby-tab-panels{display:flex;flex-direction:column;gap:12px;width:100%}
.echo-lobby-tab-panel{display:none;flex-direction:column;gap:12px;width:100%}
.echo-lobby-tab-panel.active{display:flex}

.echo-lobby-hero-v3,.echo-lobby-hero-compact{
  position:relative;width:100%;border-radius:16px;overflow:hidden;
  aspect-ratio:16/7;min-height:118px;max-height:230px;
  border:1px solid rgba(232,197,71,.24);box-shadow:0 12px 32px rgba(0,0,0,.4);
}
.echo-lobby-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.echo-lobby-hero-overlay{
  position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;
  padding:14px 16px;background:linear-gradient(180deg,transparent 15%,rgba(6,8,16,.9));
}
.echo-lobby-kicker{margin:0;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:#c4b5fd}
.echo-lobby-title{margin:4px 0 0;font-size:1.18rem;color:#fde68a;text-shadow:0 0 14px rgba(251,191,36,.28)}
.echo-lobby-tagline{margin:4px 0 0;font-size:.78rem;color:rgba(226,232,240,.9)}

.echo-lobby-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;width:100%}
.echo-lobby-feature-grid-compact{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}
.echo-lobby-feature{
  padding:12px;border-radius:14px;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.09);display:flex;flex-direction:column;gap:4px;min-width:0;
}
.echo-feature-label{font-size:.58rem;text-transform:uppercase;letter-spacing:.06em;color:#a78bfa;font-weight:700}
.echo-lobby-feature strong{font-size:1rem;color:#f8fafc}
.tcg-echo-corner-layer{position:absolute;pointer-events:none}
.tcg-stat-orb{
  position:relative;display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;pointer-events:none;
}
.tcg-stat-orb-bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;
}
.tcg-stat-orb-val{
  position:relative;z-index:2;font-weight:800;line-height:1;
  font-size:calc(3.4cqi * var(--tcg-stat-val-scale,1));
  text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.55);
}

.echo-lobby-deck-preview{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:6px;min-height:58px}
.echo-lobby-deck-card-btn{
  border:none;background:transparent;padding:0;cursor:pointer;border-radius:8px;overflow:hidden;
  width:48px;height:67px;flex:0 0 48px;box-shadow:0 2px 10px rgba(0,0,0,.5);transition:transform .12s;
}
.echo-lobby-deck-card-btn .tcg-echo-card-layout{width:100%;height:100%;aspect-ratio:unset;border-radius:8px}
.echo-lobby-deck-card-btn:hover{transform:translateY(-2px) scale(1.04)}
.echo-lobby-deck-card{width:100%;height:100%;object-fit:cover;display:block}
.echo-lobby-deck-more{
  font-size:.62rem;color:#94a3b8;padding:4px 8px;border-radius:8px;background:rgba(255,255,255,.07);
  border:none;cursor:pointer;min-width:36px;min-height:58px;display:inline-flex;align-items:center;justify-content:center;
}
.echo-lobby-deck-more:hover{background:rgba(255,255,255,.12)}
.echo-lobby-deck-hint{display:block;margin-top:4px}

.echo-start-duel-btn{
  display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;max-width:440px;margin:4px auto 0;
  padding:15px 22px;border:none;border-radius:14px;cursor:pointer;
  background-image:linear-gradient(135deg,rgba(245,158,11,.92),rgba(239,68,68,.92)),var(--duel-btn-img,none);
  background-size:cover,cover;background-position:center,center;background-blend-mode:overlay,normal;
  color:#111;font-weight:900;box-shadow:0 8px 24px rgba(245,158,11,.38);transition:transform .14s,box-shadow .14s;
}
.echo-start-duel-btn:not(.disabled):not(:disabled):hover{transform:translateY(-2px) scale(1.02);box-shadow:0 12px 28px rgba(245,158,11,.48)}
.echo-start-duel-btn.disabled,.echo-start-duel-btn:disabled{opacity:.45;filter:grayscale(.35);cursor:not-allowed;box-shadow:none;transform:none}
.echo-start-duel-icon{font-size:1.45rem;line-height:1}
.echo-start-duel-title{font-size:1.02rem}
.echo-start-duel-sub{font-size:.68rem;font-weight:600;opacity:.88;text-align:center;max-width:92%}

.echo-lobby-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;width:100%;margin-top:4px}
.echo-lobby-btn{
  min-width:104px;min-height:76px;border-radius:12px;border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);cursor:pointer;position:relative;overflow:hidden;
  display:flex;align-items:flex-end;justify-content:center;padding:8px;transition:transform .12s,border-color .12s;
}
.echo-lobby-btn:hover{transform:translateY(-2px);border-color:rgba(251,191,36,.45)}
.echo-lobby-btn-art{background-image:var(--lobby-btn-img);background-size:cover;background-position:center}
.echo-lobby-btn-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(6,8,16,.88))}
.echo-lobby-btn-label{position:relative;z-index:1;font-size:.68rem;font-weight:800;color:#f8fafc;text-shadow:0 1px 4px rgba(0,0,0,.8)}
.echo-lobby-btn-primary{border-color:rgba(251,191,36,.48)}
.echo-lobby-btn-ghost{opacity:.94}

.echo-booster-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;width:100%;margin-top:6px}
.echo-pack-btn{
  min-width:92px;min-height:98px;border-radius:12px;border:2px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);cursor:pointer;position:relative;overflow:hidden;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:8px;gap:2px;
  transition:transform .12s,border-color .12s;
}
.echo-pack-btn:hover{transform:translateY(-2px) scale(1.03)}
.echo-pack-art{background-image:var(--pack-btn-img);background-size:cover;background-position:center}
.echo-pack-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 22%,rgba(6,8,16,.9))}
.echo-pack-name,.echo-pack-cost{position:relative;z-index:1;font-size:.64rem;font-weight:700;color:#f8fafc}
.echo-pack-epic{border-color:rgba(206,147,216,.58)}

.echo-lobby-panel,.echo-pvp-hero{
  border-radius:16px;padding:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);
}
.echo-pvp-hero{min-height:100px;position:relative;overflow:hidden;border-radius:16px}
.echo-pvp-hero-overlay{position:relative;z-index:1}
.echo-pvp-hero-img,.echo-pvp-banner-img{width:100%;height:auto;display:block;border-radius:12px;object-fit:cover}
.echo-pvp-actions,.echo-pvp-actions-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.echo-pvp-queue-search{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;background:rgba(139,92,246,.12);border:1px solid rgba(167,139,250,.28)}
.echo-pvp-queue-spinner{width:18px;height:18px;border:2px solid rgba(196,181,253,.35);border-top-color:#c4b5fd;border-radius:50%;animation:echoSpin .8s linear infinite}
@keyframes echoSpin{to{transform:rotate(360deg)}}
.echo-friends-duel-list,.echo-daily-quest-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.echo-friend-duel-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.echo-daily-quest-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}
.echo-daily-quest-bar{height:6px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden;margin-top:6px}
.echo-daily-quest-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#f59e0b);border-radius:999px}
.echo-pass-hero{margin-bottom:10px}
.echo-pass-tier-list{display:flex;flex-direction:column;gap:6px}
.echo-pass-tier-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.03)}

/* ── Match-Ansicht ── */
.echo-clash-match-view{
  position:relative;width:100%;min-height:100dvh;max-height:100dvh;display:flex;flex-direction:column;
  overflow:hidden;background:#060810;
}
.echo-pvp-turn-host{position:absolute;top:max(8px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:120;pointer-events:none;width:min(92vw,420px)}
.echo-clash-arena{flex:1 1 auto;min-height:0;position:relative;display:flex;flex-direction:column;overflow:hidden}
.echo-clash-hand-bar{
  flex:0 0 auto;position:relative;z-index:90;width:100%;padding:0 0 max(8px,env(safe-area-inset-bottom));
  background:linear-gradient(180deg,transparent,rgba(6,8,16,.92) 35%,rgba(6,8,16,.98));
}
.echo-match-toolbar-host{position:absolute;left:0;right:0;bottom:0;z-index:85;pointer-events:none}
.echo-match-toolbar-host>*{pointer-events:auto}

.echo-battle-stage{
  position:relative;width:100%;flex:1 1 auto;min-height:min(58vh,520px);max-height:min(72vh,680px);
  margin:0 auto;overflow:hidden;isolation:isolate;
}
.echo-battle-bg{
  position:absolute;inset:0;background-size:cover;background-position:center center;background-repeat:no-repeat;
  filter:saturate(1.04) brightness(.78);pointer-events:none;
}
.echo-board-custom-layers{position:absolute;inset:0;pointer-events:none;z-index:2}
.echo-board-custom-layers>*{pointer-events:none}

.echo-board-abs{position:absolute;inset:0;z-index:10}
.echo-board-columns{position:absolute;inset:0;z-index:10}
.echo-board-col{position:absolute;top:0;bottom:0;width:28%;transform:translateX(-50%);display:flex;flex-direction:column;gap:4px}
.echo-col-segment{flex:1 1 0;min-height:0;display:flex;align-items:center;justify-content:center;position:relative}
.echo-col-mid{flex:0 0 8px}

.abs-pos{position:absolute;z-index:12;transform-origin:center center}
.echo-battle-slot{
  width:calc(var(--slot-w,13%) * 1%);max-width:120px;aspect-ratio:3/4.2;
  transform:translate(-50%,-50%) scale(var(--slot-scale,1));transform-origin:center center;
}
.echo-battle-slot.in-column{position:relative;width:100%;max-width:100%;transform:none;aspect-ratio:3/4.2}
.echo-battle-slot.has-unit{z-index:14}
.echo-spell-zone{width:calc(var(--slot-w,10%) * 1%);aspect-ratio:16/9;max-width:110px}

.echo-field-card,.echo-field-card.layout-v3{
  position:relative;width:100%;height:100%;border-radius:10px;overflow:visible;cursor:pointer;
  transition:transform .14s,filter .14s,box-shadow .14s;
}
.echo-field-card.framed{border:none;background:transparent;box-shadow:none}
.echo-field-card.selected,.echo-field-card.tcg-can-attack{box-shadow:0 0 0 2px rgba(251,191,36,.75),0 0 18px rgba(251,191,36,.35)}
.echo-field-card.targetable{box-shadow:0 0 0 2px rgba(239,68,68,.7),0 0 16px rgba(239,68,68,.35)}
.echo-field-spell,.echo-field-trap{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  width:100%;height:100%;border-radius:10px;border:1px solid rgba(167,139,250,.35);
  background:linear-gradient(160deg,rgba(30,20,60,.88),rgba(10,12,24,.95));font-size:.62rem;padding:4px;
}
.echo-field-spell-icon{font-size:1.1rem}
.echo-field-name{font-size:.58rem;font-weight:700;text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.echo-field-art-wrap,.tcg-echo-layout-art-wrap{position:absolute;inset:0;overflow:hidden;border-radius:inherit}
.echo-field-art,.tcg-echo-layout-art{width:100%;height:100%;object-fit:cover;display:block}
.echo-field-fallback,.tcg-echo-layout-fallback{
  position:absolute;inset:0;display:none;align-items:center;justify-content:center;font-size:1.6rem;
  background:radial-gradient(circle,rgba(255,255,255,.08),rgba(0,0,0,.35));
}
.echo-field-fallback.show,.tcg-echo-layout-fallback.show{display:flex}

.echo-slot-empty{
  width:100%;height:100%;border:2px dashed rgba(167,139,250,.28);border-radius:12px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  background:rgba(255,255,255,.03);cursor:pointer;transition:border-color .12s,background .12s;
}
.echo-slot-empty:hover,.echo-slot-pick{border-color:rgba(196,181,253,.55);background:rgba(139,92,246,.08)}
.echo-slot-marker{position:relative;width:28px;height:28px;display:grid;place-items:center}
.echo-slot-marker-ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(167,139,250,.35)}
.echo-slot-hint{font-size:.52rem;color:rgba(226,232,240,.65);text-align:center;padding:0 4px}

.echo-imprint-slot,.echo-imprint-card{position:relative;width:100%;aspect-ratio:1;max-width:72px}
.echo-imprint-seal-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.85;pointer-events:none}
.echo-imprint-card-art{width:100%;height:100%;object-fit:cover;border-radius:8px}

.echo-deck-pile,.echo-grave-pile{
  border:none;background:transparent;cursor:pointer;padding:0;color:inherit;
  width:calc(var(--slot-w,9.5%) * 1%);max-width:88px;aspect-ratio:3/4;position:relative;
}
.echo-deck-stack{position:relative;width:100%;height:100%}
.echo-deck-layer{position:absolute;inset:0;transform:translate(calc(var(--deck-i,0) * 2px),calc(var(--deck-i,0) * -2px))}
.echo-deck-label,.echo-grave-label{display:block;font-size:.52rem;text-align:center;margin-top:2px;color:rgba(226,232,240,.75)}
.echo-deck-count,.echo-grave-count{font-size:.62rem;font-weight:800}

.echo-card-back-frame{position:relative;width:100%;height:100%;border-radius:8px;overflow:hidden}
.echo-card-back-img{width:100%;height:100%;object-fit:cover;display:block}
.echo-card-back-glow{position:absolute;inset:0;box-shadow:inset 0 0 20px rgba(167,139,250,.25);pointer-events:none}

.echo-board-chrome{position:absolute;z-index:30;pointer-events:auto}
.echo-chrome-player-hp,.echo-chrome-ai-hp{z-index:35}
.echo-chrome-positioned.abs-pos{transform:translate(-50%,-50%)}
.echo-hud-vitals-compact{
  display:flex;flex-direction:column;gap:3px;padding:6px 8px;border-radius:10px;
  background:rgba(6,8,16,.72);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(6px);min-width:120px;
}
.echo-hud-name{font-size:.62rem;font-weight:800;color:rgba(226,232,240,.85);text-transform:uppercase;letter-spacing:.04em}
.echo-hud-bar-row{display:flex;align-items:center;gap:6px}
.echo-hud-track{flex:1;height:7px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}
.echo-hud-fill.hp.ai{background:linear-gradient(90deg,#6b21a8,#a855f7)}
.echo-hud-fill.hp.player{background:linear-gradient(90deg,#ef4444,#fb7185)}
.echo-hud-fill.energy{background:linear-gradient(90deg,#2563eb,#38bdf8)}
.echo-hud-val{font-size:.58rem;font-weight:700;white-space:nowrap;color:rgba(248,250,252,.92)}
.echo-hud-max{opacity:.65;font-weight:600}
.echo-match-actions{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px 10px;border-radius:12px;
  background:rgba(6,8,16,.78);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px);
}
.echo-match-actions-centered{justify-content:center}
.echo-hud-btn{
  border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#e2e8f0;
  border-radius:8px;padding:6px 10px;font-size:.72rem;font-weight:700;cursor:pointer;
}
.echo-hud-round-chip,.echo-hud-void-chip,.echo-hud-relic-slot,.echo-hud-hover-chip{
  display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;
  font-size:.62rem;font-weight:700;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);position:relative;
}
.echo-hud-hover-tip{
  position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);
  width:max-content;max-width:220px;padding:6px 8px;border-radius:8px;font-size:.58rem;font-weight:600;line-height:1.35;
  background:rgba(8,10,18,.96);border:1px solid rgba(167,139,250,.35);opacity:0;visibility:hidden;pointer-events:none;z-index:200;
}
.echo-hud-hover-chip:hover .echo-hud-hover-tip,.echo-hud-hover-chip:focus-visible .echo-hud-hover-tip{opacity:1;visibility:visible}
.echo-hud-relic-active{font-size:.62rem;padding:3px 7px;border-radius:999px;background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.28)}

.echo-phase-banner{
  position:absolute;top:8px;left:50%;transform:translateX(-50%);z-index:40;
  padding:6px 12px;border-radius:999px;background:rgba(6,8,16,.78);border:1px solid rgba(167,139,250,.35);
  text-align:center;pointer-events:none;
}
.echo-phase-label{display:block;font-size:.68rem;font-weight:800;color:#fde68a}
.echo-phase-sub{display:block;font-size:.58rem;color:rgba(226,232,240,.75)}
.echo-pvp-turn-banner{
  padding:8px 14px;border-radius:999px;font-size:.72rem;font-weight:800;text-align:center;
  background:rgba(6,8,16,.82);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.echo-pvp-your-turn{border-color:rgba(74,222,128,.45);color:#86efac}
.echo-pvp-opp-turn{border-color:rgba(251,191,36,.35);color:#fde68a}
.echo-pvp-turn-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor}
.echo-pvp-turn-dot-wait{animation:echoPulse 1.2s ease-in-out infinite}
@keyframes echoPulse{0%,100%{opacity:.45}50%{opacity:1}}

.echo-clash-log{
  position:absolute;right:8px;bottom:8px;z-index:25;width:min(38vw,220px);max-height:120px;overflow:auto;
  padding:6px 8px;border-radius:10px;background:rgba(6,8,16,.72);border:1px solid rgba(255,255,255,.08);font-size:.58rem;
}
.echo-log-line{margin:2px 0;color:rgba(226,232,240,.82)}

.echo-hand-fan-wrap{padding:8px 10px 12px;overflow:visible}
.echo-hand-fan{display:flex;justify-content:center;align-items:flex-end;gap:0;min-height:130px;padding-top:16px;overflow:visible}
.echo-hand-fan.readonly .echo-card{pointer-events:none;opacity:.88}
.echo-hand-card-slot,.echo-card{
  flex:0 0 auto;width:min(22vw,104px);aspect-ratio:3/4.2;position:relative;cursor:pointer;
  transition:transform .16s ease,margin .16s ease;transform-origin:center bottom;
}
.echo-hand-fan .echo-card:hover,.echo-hand-selected .echo-card.selected{transform:translateY(-14px) scale(1.04);z-index:20}

.echo-opp-hand-bar{
  position:absolute;top:6px;left:50%;transform:translateX(-50%);z-index:28;
  padding:4px 10px;border-radius:999px;background:rgba(6,8,16,.72);border:1px solid rgba(255,255,255,.1);
}
.echo-opp-hand-inner{display:flex;align-items:flex-end;justify-content:center;min-height:52px}
.echo-opp-card{
  width:36px;height:50px;border-radius:6px;overflow:hidden;position:relative;
  transform:translateX(var(--opp-offset,0)) rotate(var(--opp-rot,0deg));margin-left:var(--opp-spread,-8px);
  box-shadow:0 2px 8px rgba(0,0,0,.45);transition:transform .14s;
}
.echo-opp-card.revealed{width:54px;height:76px;z-index:5}

.echo-relic-overlay{
  position:absolute;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  padding:16px;background:rgba(4,6,14,.72);backdrop-filter:blur(4px);
}
.echo-relic-modal{
  width:min(92vw,420px);padding:16px;border-radius:18px;
  background:linear-gradient(160deg,rgba(15,23,42,.96),rgba(40,18,70,.94));
  border:1px solid rgba(167,139,250,.32);box-shadow:0 20px 50px rgba(0,0,0,.55);
}
.echo-relic-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}
.echo-relic-btn{
  display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:12px;text-align:left;
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);cursor:pointer;color:inherit;
}
.echo-relic-btn:hover{border-color:rgba(251,191,36,.45);background:rgba(251,191,36,.08)}

.echo-face-attack-btn,.echo-support-btn{
  position:absolute;z-index:45;display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:8px 12px;border-radius:12px;border:1px solid rgba(251,191,36,.45);
  background:linear-gradient(135deg,rgba(245,158,11,.88),rgba(239,68,68,.82));color:#111;font-weight:800;cursor:pointer;
}

/* ── Echo-Kartenlayout v3 ── */
.tcg-echo-card-layout,.tcg-echo-card-layout.layout-v3{
  position:relative;width:100%;aspect-ratio:3/4.2;container-type:inline-size;
  --tcg-fs-title:clamp(.52rem,8.5cqi,.86rem);
  --tcg-fs-footer:clamp(.48rem,7.5cqi,.72rem);
  --tcg-fs-rarity:clamp(.44rem,6.8cqi,.62rem);
  --tcg-fs-hp:clamp(.5rem,8cqi,.78rem);
  border-radius:10px;overflow:visible;user-select:none;
}
.tcg-echo-card-layout.compact{aspect-ratio:3/3.8}
.tcg-echo-card-layout.showcase{aspect-ratio:3/4.4;max-width:280px}
.tcg-echo-card-shell{position:relative;width:100%;height:100%;display:block}
.tcg-card-layer-stack,.tcg-card-layer-stack-top{position:absolute;inset:0;pointer-events:none;border-radius:inherit}
.tcg-card-layer-stack>*,.tcg-card-layer-stack-top>*{pointer-events:auto}
.tcg-echo-layout-art-wrap,.tcg-echo-layout-art-inner{overflow:hidden;border-radius:inherit}
.tcg-echo-layout-art-wrap{position:absolute}
.tcg-echo-layout-art-inner{position:absolute;inset:0}
.tcg-echo-layout-art,.tcg-echo-art-img{width:100%;height:100%;object-fit:cover;display:block}
.tcg-echo-art-clip{position:relative;width:100%;height:100%;overflow:hidden;border-radius:inherit}
.tcg-echo-art-vignette{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.45));pointer-events:none}
.tcg-echo-card-title{font-weight:800;line-height:1.15;color:#f8fafc;text-shadow:0 1px 3px rgba(0,0,0,.8)}
.tcg-echo-layout-footer{font-size:inherit;line-height:1.25;color:rgba(226,232,240,.92);word-break:break-word}
.tcg-echo-hp-wrap,.tcg-echo-hp-section{width:100%}
.tcg-echo-hp-track{height:7px;border-radius:999px;background:var(--tcg-hp-track,rgba(0,0,0,.35));overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.tcg-echo-hp-fill{height:100%;border-radius:999px;background:var(--tcg-hp-fill,linear-gradient(90deg,#ef4444,#fb7185))}
.tcg-echo-hp-val{font-size:.58rem;font-weight:800;color:#fecaca}
.tcg-rarity-chip{
  display:inline-block;padding:2px 6px;border-radius:999px;font-size:inherit;font-weight:800;
  border:1px solid var(--rc,#9ca3af);color:var(--rc,#9ca3af);background:rgba(0,0,0,.35);
}
.tcg-type-chip,.tcg-card-id-label{font-size:inherit;font-weight:700}
.tcg-echo-corner-layer{position:absolute;pointer-events:none}

.echo-aff-chip{
  display:inline-flex;align-items:center;gap:3px;padding:2px 5px;border-radius:999px;font-size:.52rem;font-weight:800;
  border:1px solid color-mix(in srgb,var(--aff-color,#aaa) 45%,transparent);
  background:color-mix(in srgb,var(--aff-color,#aaa) 18%,transparent);color:#f8fafc;
}

/* FX / Zustände */
.echo-attacking{animation:echoAttack .35s ease}
.echo-hit{animation:echoHit .28s ease}
@keyframes echoAttack{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes echoHit{0%,100%{filter:none}50%{filter:brightness(1.35)}}
.echo-dragging{opacity:.72;z-index:300!important}
.echo-drop-target{box-shadow:0 0 0 2px rgba(74,222,128,.65)!important}

@media (min-width:900px){
  .echo-clash-lobby-v3,.echo-clash-lobby.echo-clash-lobby-tabs,.clash-lobby.echo-clash-lobby{
    max-width:min(960px,94vw);
    padding:12px 20px 28px;
  }
  .echo-lobby-feature-grid:not(.echo-lobby-feature-grid-compact){
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .echo-lobby-hero-v3{max-height:280px;aspect-ratio:21/9}
}
@media(max-width:640px){
  .echo-lobby-topbar{flex-direction:column;align-items:stretch}
  .echo-lobby-top-stats{justify-content:flex-start}
  .echo-lobby-hero-v3{max-height:190px}
  .echo-lobby-actions,.echo-booster-row{justify-content:stretch}
  .echo-lobby-btn,.echo-pack-btn{flex:1 1 calc(50% - 8px);min-width:0}
  .echo-battle-stage{min-height:48vh;max-height:62vh}
  .echo-hand-card-slot,.echo-hand-fan .echo-card{width:min(28vw,96px)}
}

/* Admin Schnellwahl — letzte Schicht gegen helle UA-/Host-Button-Defaults */
html body #panel-card.panel-admin button.admin-item-quick-btn,
html body #panel-card.panel-admin button.admin-equip-quick-btn,
html body .admin-players-editor button.admin-item-quick-btn,
html body .admin-players-editor button.admin-equip-quick-btn{
  appearance:none!important;-webkit-appearance:none!important;
  forced-color-adjust:none!important;
  background-color:#0f141f!important;
  background-image:linear-gradient(180deg,rgba(255,255,255,.07),rgba(0,0,0,.2))!important;
  color:#f8fafc!important;
  border:1px solid rgba(148,163,184,.4)!important;
  border-left-width:3px!important;
  border-left-style:solid!important;
}

/* Feder-Badge + Kosmetik-Shop: Previews füllen das Feld */
.cos-item:has(img[src*="badge_"]) .cos-preview{
  object-fit:cover!important;width:100%!important;height:72px!important;
}

#panel-card.panel-kosmetik .cos-frame-preview-wrap{
  aspect-ratio:1/1;max-height:160px;overflow:hidden;padding:0;
  background:
    radial-gradient(circle at 50% 42%,rgba(60,52,80,.55),rgba(10,8,16,.92) 72%),
    repeating-conic-gradient(#2a2438 0% 25%, #1a1624 0% 50%) 50%/12px 12px;
  border:1px solid rgba(232,197,71,.22);
}
#panel-card.panel-kosmetik .cos-preview.cos-frame-preview{
  width:100%!important;height:100%!important;object-fit:cover!important;
}
#panel-card.panel-kosmetik .cos-aura-preview-wrap{
  min-height:110px;aspect-ratio:1/1;max-height:160px;padding:0;overflow:hidden;
  background:radial-gradient(circle at 50% 45%,rgba(50,40,70,.5),rgba(8,6,14,.95) 70%);
  border:1px solid rgba(255,255,255,.12);border-radius:12px;
}
#panel-card.panel-kosmetik .cos-aura-preview-img{
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  object-fit:cover!important;
}
#panel-card.panel-kosmetik .cos-namecolor-preview,
#panel-card.panel-kosmetik .cos-name-preview{
  min-height:72px;height:72px;padding:12px 10px;
  background:linear-gradient(180deg,rgba(20,18,28,.95),rgba(8,6,14,.98));
  border:1px solid rgba(255,255,255,.14);border-radius:12px;
  box-shadow:inset 0 0 18px rgba(0,0,0,.35);
}
#panel-card.panel-kosmetik .cos-namecolor-preview .cos-name-text{
  font-size:1.05rem;letter-spacing:.04em;
}
#panel-card.panel-kosmetik .cos-item:has(img[src*="badge_"]) .cos-preview,
#panel-card.panel-kosmetik .cos-item:has(img[src*="title_"]) .cos-preview,
#panel-card.panel-kosmetik .cos-item img.cos-preview[src*="theme_"],
#panel-card.panel-kosmetik .cos-item img.cos-preview[src*="fx_"]{
  width:100%!important;height:72px!important;object-fit:cover!important;
}
.cos-color-swatch { width: 100%; height: 72px; border-radius: 10px; border: 2px solid rgba(255,255,255,.15); box-shadow: inset 0 0 12px rgba(0,0,0,.25); }

/* ── Floating Musikplayer ── */
.rpg-music-player{
  position:fixed;
  left:max(10px,env(safe-area-inset-left,0px));
  bottom:max(12px,env(safe-area-inset-bottom,0px));
  z-index:18040;
  display:flex;flex-direction:column;align-items:flex-start;gap:8px;
  pointer-events:none;
  touch-action:none;
}
.rpg-music-player.is-dragged{bottom:auto;right:auto}
.rpg-music-player.is-dragging{opacity:.92;z-index:18080}
.rpg-music-player > *{pointer-events:auto}
.rpg-mp-shell{
  position:relative;
  display:flex;flex-direction:column;align-items:flex-start;
  cursor:grab;
}
.rpg-music-player.is-dragging .rpg-mp-shell{cursor:grabbing}
.rpg-music-player.opens-left .rpg-mp-shell{align-items:flex-end}
.rpg-music-player.opens-left .rpg-mp-pl-menu{
  left:auto;right:calc(100% + 4px);
}
.rpg-mp-fab-icon{display:grid;place-items:center;line-height:1}
.rpg-mp-fab-icon img.rpg-ei,
.rpg-mp-fab-icon img.rpg-mp-fab-ei{
  width:1.35em;height:1.35em;margin:0;vertical-align:middle;
}
.rpg-mp-fab{
  position:relative;width:46px;height:46px;border-radius:50%;
  border:1px solid rgba(232,197,71,.35);
  background:linear-gradient(160deg,rgba(28,24,48,.96),rgba(10,12,24,.98));
  color:#f5e6b8;font-size:1.15rem;cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.45);
  display:grid;place-items:center;
  transition:transform .15s ease,border-color .15s ease;
  z-index:1;
}
.rpg-mp-fab:hover{transform:scale(1.05);border-color:rgba(232,197,71,.55)}
.rpg-music-player.is-playing .rpg-mp-fab-pulse{
  position:absolute;inset:-3px;border-radius:50%;
  border:1px solid rgba(232,197,71,.35);
  animation:rpgMpPulse 1.6s ease-out infinite;
  pointer-events:none;
}
@keyframes rpgMpPulse{
  0%{transform:scale(.92);opacity:.7}
  100%{transform:scale(1.35);opacity:0}
}
.rpg-mp-panel{
  position:absolute;left:0;top:calc(100% + 8px);z-index:2;
  width:min(280px,calc(100vw - 24px));
  padding:10px 12px;border-radius:14px;
  border:1px solid rgba(232,197,71,.28);
  background:linear-gradient(165deg,rgba(14,16,30,.96),rgba(6,8,18,.98));
  box-shadow:0 14px 36px rgba(0,0,0,.5);
  display:flex;flex-direction:column;gap:8px;
  pointer-events:auto;
}
/* Panel über dem FAB — FAB-Position bleibt unverändert */
.rpg-music-player.opens-up .rpg-mp-panel{
  top:auto;bottom:calc(100% + 8px);
}
.rpg-music-player.opens-left .rpg-mp-panel{
  left:auto;right:0;
}
.rpg-mp-panel[hidden]{display:none!important}
.rpg-mp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.rpg-mp-drag-hint{opacity:.45;font-size:.85rem;line-height:1.2;padding-top:2px;user-select:none}
.rpg-mp-meta{min-width:0;display:flex;flex-direction:column;gap:2px;flex:1}
.rpg-mp-title{
  font-size:.82rem;font-weight:700;line-height:1.25;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:190px;
}
.rpg-mp-sub{font-size:.62rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:190px}
.rpg-mp-pl-wrap{position:relative;flex-shrink:0}
.rpg-mp-pl-arrow{
  min-width:28px;padding:4px 6px;font-size:.85rem;line-height:1;
  color:var(--gold,#e8c547)!important;
}
.rpg-mp-pl-menu{
  position:absolute;top:0;left:calc(100% + 4px);right:auto;z-index:5;
  min-width:168px;max-width:min(240px,70vw);max-height:220px;overflow:auto;
  padding:6px;border-radius:12px;
  border:1px solid rgba(232,197,71,.3);
  background:linear-gradient(165deg,rgba(18,20,36,.98),rgba(8,10,20,.99))!important;
  box-shadow:0 12px 28px rgba(0,0,0,.55);
  display:flex;flex-direction:column;gap:4px;
  color-scheme:dark;
}
.rpg-mp-pl-menu.hidden{display:none!important}
.rpg-mp-pl-item{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  width:100%;text-align:left;padding:7px 9px;border-radius:8px;
  border:1px solid transparent;background:rgba(255,255,255,.04);
  color:var(--txt,#eef1ff);font:inherit;font-size:.74rem;font-weight:600;cursor:pointer;
}
.rpg-mp-pl-item-main{display:inline-flex;align-items:center;gap:7px;min-width:0}
.rpg-mp-pl-dot{
  width:8px;height:8px;border-radius:50%;flex-shrink:0;
  background:rgba(232,197,71,.45);box-shadow:0 0 0 1px rgba(255,255,255,.12);
}
.rpg-mp-pl-item:hover{background:rgba(232,197,71,.12);border-color:rgba(232,197,71,.25)}
.rpg-mp-pl-item.is-active{
  background:rgba(124,92,255,.18);border-color:rgba(167,139,250,.4);
}
.rpg-mp-pl-empty{margin:4px 6px}
.rpg-mp-pl-pick{display:none}
.rpg-mp-pl-select{display:none}
.rpg-mp-controls{display:flex;align-items:center;gap:6px}
.rpg-mp-controls .btn{min-width:36px}
.rpg-mp-vol-wrap{position:relative;display:inline-flex;align-items:center}
.rpg-mp-vol-btn{min-width:36px}
.rpg-mp-vol-pop{
  position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  padding:12px 10px 10px;min-width:52px;z-index:5;
  border-radius:12px;border:1px solid rgba(232,197,71,.28);
  background:linear-gradient(180deg,rgba(18,20,34,.98),rgba(8,10,20,.99));
  box-shadow:0 12px 28px rgba(0,0,0,.45);
}
.rpg-mp-vol-pop.hidden{display:none!important}
.rpg-mp-vol-vert{
  writing-mode:vertical-lr;direction:rtl;
  width:22px;height:110px;accent-color:#e8c547;cursor:pointer;
}
.rpg-mp-vol-val{font-variant-numeric:tabular-nums;min-width:2.6em;text-align:center}
.rpg-mp-actions{display:flex;flex-wrap:wrap;gap:6px}
.rpg-music-player.is-manual .rpg-mp-fab{border-color:rgba(167,139,250,.55)}
.rpg-music-player.has-pl-color .rpg-mp-fab,
.rpg-music-player.is-manual.has-pl-color .rpg-mp-fab{
  border-color:color-mix(in srgb,var(--rpg-mp-accent,#e8c547) 75%,transparent);
}
.rpg-music-player.has-pl-color .rpg-mp-fab:hover,
.rpg-music-player.is-manual.has-pl-color .rpg-mp-fab:hover{
  border-color:var(--rpg-mp-accent,#e8c547);
}
.rpg-music-player.has-pl-color.is-playing .rpg-mp-fab-pulse{
  border-color:color-mix(in srgb,var(--rpg-mp-accent,#e8c547) 55%,transparent);
}

.rpg-music-picker-overlay{
  position:fixed;inset:0;z-index:30060;
  display:flex;align-items:flex-start;justify-content:center;
  padding:max(14px,env(safe-area-inset-top)) 12px max(14px,env(safe-area-inset-bottom));
  background:rgba(0,0,0,.55);backdrop-filter:blur(3px);
}
.rpg-music-picker-overlay.hidden{display:none!important}
.rpg-music-picker-modal{
  width:min(520px,100%);max-height:min(84vh,720px);
  display:flex;flex-direction:column;overflow:hidden;
  border-radius:16px;border:1px solid rgba(232,197,71,.3);
  background:linear-gradient(165deg,rgba(14,16,30,.98),rgba(6,8,18,.99));
  box-shadow:0 20px 50px rgba(0,0,0,.55);
}
.rpg-mp-modal-head{
  display:flex;align-items:center;justify-content:space-between;
  gap:8px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;
}
.rpg-mp-tabs{display:flex;gap:8px;padding:10px 14px 0;flex-shrink:0}
.rpg-mp-modal-body{
  flex:1 1 auto;min-height:0;overflow:auto;padding:10px 14px 14px;
  -webkit-overflow-scrolling:touch;
}
.rpg-mp-sticky-top{
  position:sticky;top:0;z-index:4;
  margin:-10px -14px 10px;padding:10px 14px 8px;
  background:linear-gradient(180deg,rgba(14,16,30,.98) 70%,rgba(14,16,30,.88));
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(6px);
}
.rpg-mp-playlist-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px}
.rpg-mp-playlist-toolbar .admin-input{flex:1;min-width:140px}
.rpg-music-picker-modal select.admin-input,
.rpg-music-picker-modal .admin-input{
  color-scheme:dark;
  background:rgba(0,0,0,.35)!important;
  color:var(--txt,#eef1ff)!important;
  border-color:rgba(232,197,71,.28)!important;
}
.rpg-music-picker-modal select.admin-input option{
  background:#121426!important;
  color:#eef1ff!important;
}
.rpg-mp-pool-play-row{margin-bottom:8px}
.rpg-mp-pool-play-row .btn{width:100%}
.rpg-mp-sticky-top .rpg-mp-search-wrap{margin-bottom:6px}
.rpg-mp-sticky-top .rpg-mp-hint{margin:0}
.rpg-mp-list{display:flex;flex-direction:column;gap:10px}
.rpg-mp-cat{display:flex;flex-direction:column;gap:6px}
.rpg-mp-cat-title{font-size:.72rem;font-weight:700;color:var(--gold,#e8c547)}
.rpg-mp-row{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:7px 8px;border-radius:10px;background:rgba(255,255,255,.04);
}
.rpg-mp-row-meta{min-width:0;display:flex;flex-direction:column;gap:2px}
.rpg-mp-row-meta strong{
  font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.rpg-mp-row-actions{display:flex;gap:4px;flex-shrink:0}
.rpg-mp-playlist-edit{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.rpg-mp-color-swatches{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:2px}
.rpg-mp-color-swatch{
  width:22px;height:22px;border-radius:50%;padding:0;cursor:pointer;
  border:2px solid rgba(255,255,255,.18);
  background:var(--sw,#888);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);
}
.rpg-mp-color-swatch.is-reset{
  background:rgba(255,255,255,.06);color:#cbd5e1;font-size:.7rem;font-weight:700;line-height:1;
  display:grid;place-items:center;
}
.rpg-mp-color-swatch.is-active{
  outline:2px solid var(--gold,#e8c547);outline-offset:2px;
  border-color:rgba(255,255,255,.45);
}
.rpg-mp-color-swatch.is-reset.is-active{outline-color:rgba(232,197,71,.7)}
.rpg-mp-modal-footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
body.screen-login .rpg-music-player,
body.screen-mode .rpg-music-player,
body.screen-char-select .rpg-music-player,
body.screen-char .rpg-music-player{display:none}
body.rpg-music-picker-open{overflow:hidden}

/* ── Marktplatz (Vollbild) ── */
html:not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-market) #app,
html:not(.flix-rpg-pc-scale) body.rpg-market-fs #app,
html:not(.flix-rpg-pc-scale).rpg-market-fs body.screen-panel #app{
  max-width:100vw!important;
  width:100%!important;
  height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
  padding-bottom:0!important;
  box-sizing:border-box!important;
}
body.screen-panel:has(#panel-card.panel-market) .top-bar,
body.rpg-market-fs .top-bar{
  max-width:100%!important;
  width:100%!important;
  margin-inline:0!important;
  transform:none!important;
}
body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-market) .top-bar,
html.flix-rpg-web body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-market) .top-bar,
body.rpg-fixed-topbar.rpg-market-fs .top-bar{
  left:0!important;right:0!important;transform:none!important;
  width:100%!important;max-width:100vw!important;
  border-radius:0 0 14px 14px!important;
  padding-left:clamp(8px,1vw,16px)!important;
  padding-right:clamp(48px,4vw,68px)!important;
  box-sizing:border-box!important;
}
/* Markt/Zelda: Panel bis Viewport-Unterkante — kein 64px-Cut (Musik-FAB mit Safe-Area-Padding ok) */
body.screen-panel:has(#panel-card.panel-market) #screen-panel:not(.hidden),
body.rpg-market-fs #screen-panel:not(.hidden){
  position:fixed!important;inset:0!important;z-index:20060!important;
  flex:1 1 auto!important;
  min-height:100dvh!important;
  height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important;
  width:100vw!important;max-width:100vw!important;margin:0!important;padding:0!important;
  display:flex!important;flex-direction:column!important;
  background:#07060a!important;border:0!important;border-radius:0!important;box-shadow:none!important;
}
#panel-card.panel-market,
#panel-card.panel-market.glass,
#panel-card.panel-market.card{
  --market-gold:#f5d76e;
  --market-ink:rgba(8,10,16,.78);
  width:100%;max-width:100%;
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;
  height:100%!important;max-height:100%!important;
  overflow:hidden;box-sizing:border-box;
  padding:0!important;margin:0!important;
  border:none!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  position:relative;
}
#panel-card.panel-market::before,
#panel-card.panel-market::after,
#panel-card.panel-market .ui-theme-frame,
#panel-card.panel-market .ui-theme-bg{display:none!important}
.market-workshop{
  position:relative;display:flex;flex-direction:column;
  flex:1 1 auto;min-height:0;height:100%;overflow:hidden;
  border-radius:0;border:none;background:transparent;box-shadow:none;
}
.market-panel-bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 32%;
  opacity:.88;pointer-events:none;z-index:0;
  filter:saturate(1.12) contrast(1.05) brightness(.72);
}
.market-panel-veil{
  position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    linear-gradient(180deg,rgba(4,6,12,.28) 0%,rgba(4,6,12,.18) 22%,rgba(4,6,12,.55) 58%,rgba(4,5,10,.88) 100%),
    radial-gradient(ellipse 80% 50% at 50% 0%, rgba(245,215,110,.14), transparent 55%);
}
.market-panel-content{
  position:relative;z-index:1;display:flex;flex-direction:column;gap:10px;
  flex:1 1 auto;min-height:0;overflow:hidden;
  padding:clamp(6px,1.2vh,14px) clamp(12px,2.2vw,28px) max(10px,env(safe-area-inset-bottom,0px));
  max-width:1400px;width:100%;margin-inline:auto;box-sizing:border-box;
}
.market-topbar{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;
  flex-shrink:0;padding:4px 0 8px;border-radius:0;
  background:transparent;border:none;box-shadow:none;
}
.market-back-btn{flex-shrink:0;white-space:nowrap}
.market-topbar-title{min-width:0}
.market-kicker{
  display:block;font-size:.55rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(253,230,138,.78);margin-bottom:1px;
}
.market-title{
  margin:0;font-family:Cinzel,Georgia,serif;font-weight:800;
  font-size:clamp(1.35rem,2.2vh + .55rem,2.1rem);line-height:1.12;
  color:#fff4dc;text-shadow:0 2px 18px rgba(0,0,0,.65), 0 0 40px rgba(245,215,110,.18);
}
.market-lead{
  margin:4px 0 0;font-size:.78rem;line-height:1.4;color:rgba(255,244,220,.78);
  text-shadow:0 1px 8px rgba(0,0,0,.5);max-width:40em;
}
.market-topbar-stats{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.market-pill{
  display:flex;flex-direction:column;align-items:flex-end;gap:1px;
  min-width:4.2rem;padding:5px 10px;border-radius:10px;
  background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.1);
}
.market-pill--gold{
  background:linear-gradient(145deg,rgba(232,197,71,.22),rgba(0,0,0,.42));
  border-color:rgba(232,197,71,.38);
}
.market-pill-k{
  font-size:.5rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(226,232,240,.55);
}
.market-pill strong{font-size:.82rem;font-weight:800;color:var(--market-gold);line-height:1.1;font-variant-numeric:tabular-nums}
.market-tabs{
  display:flex;gap:6px;flex-shrink:0;overflow-x:auto;padding:2px;
  scrollbar-width:none;-ms-overflow-style:none;
}
.market-tabs::-webkit-scrollbar{display:none}
.market-tab{
  flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:9px 12px;border-radius:999px;cursor:pointer;
  border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.28);
  color:rgba(226,232,240,.78);font-size:.72rem;font-weight:750;white-space:nowrap;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:border-color .15s ease, background .15s ease, color .15s ease;
}
.market-tab em{
  font-style:normal;font-size:.62rem;padding:1px 6px;border-radius:999px;
  background:rgba(255,255,255,.08);color:rgba(253,230,138,.9);
}
.market-tab.is-active{
  border-color:rgba(232,197,71,.45);background:rgba(232,197,71,.16);color:#fde68a;
}
.market-tab--ghost{flex:0 0 auto;min-width:2.6rem;padding-inline:10px}
.market-layout{
  flex:1 1 auto;min-height:0;display:grid;gap:12px;overflow:hidden;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.95fr);
}
.market-col,.market-side-card{
  display:flex;flex-direction:column;gap:8px;min-height:0;overflow:hidden;
  padding:0;border-radius:0;
  background:transparent;
  border:none;
  backdrop-filter:none;-webkit-backdrop-filter:none;
  box-shadow:none;
}
.market-col-side{display:flex;flex-direction:column;gap:10px;min-height:0;overflow:hidden;padding:0;background:transparent;border:none;box-shadow:none;backdrop-filter:none}
.market-side-card{flex:1 1 auto}
.market-stall-card{flex:0 0 auto}
.market-sell-card{flex:1 1 auto;min-height:0}
.market-col-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;
  font-size:.78rem;color:#fde68a;
}
.market-col-head strong{font-family:Cinzel,Georgia,serif;font-weight:700;letter-spacing:.02em}
.market-stall-copy{font-size:.72rem;line-height:1.45;color:rgba(226,232,240,.9)}
.market-contest{margin-top:6px;padding:6px 8px;border-radius:8px;background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.28);color:#fca5a5;font-weight:700;font-size:.68rem}
.market-lease{width:100%;max-width:120px;margin-top:8px}
.market-lease-bar{
  height:6px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden;margin-bottom:4px;
}
.market-lease-bar > i{display:block;height:100%;background:linear-gradient(90deg,#e8c547,#f59e0b);border-radius:99px}
.market-shop-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.market-slots-visual{display:flex;gap:3px;flex-wrap:wrap}
.market-slot-dot{
  width:10px;height:10px;border-radius:3px;border:1px solid rgba(232,197,71,.35);
  background:rgba(255,255,255,.06);
}
.market-slot-dot.filled{background:linear-gradient(145deg,#fde68a,#d4a017);border-color:#e8c547;box-shadow:0 0 6px rgba(232,197,71,.45)}
.market-overlay-modal{
  position:absolute;inset:0;z-index:40;
  display:flex;align-items:center;justify-content:center;padding:14px;
}
.market-overlay-modal.hidden{display:none !important}
.market-overlay-backdrop{
  position:absolute;inset:0;background:rgba(4,6,12,.72);
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
}
.market-overlay-panel{
  position:relative;z-index:1;width:min(100%,520px);max-height:min(82vh,640px);
  display:flex;flex-direction:column;border-radius:16px;overflow:hidden;
  border:1px solid rgba(232,197,71,.35);
  background:linear-gradient(165deg,rgba(28,24,16,.97),rgba(12,14,22,.98));
  box-shadow:0 18px 48px rgba(0,0,0,.55);
}
.market-overlay-panel-compact{max-height:min(72vh,480px);width:min(100%,440px)}
.market-overlay-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;
}
.market-overlay-head strong{font-size:.9rem;color:#fde68a}
.market-overlay-body{
  padding:12px 14px 14px;overflow-y:auto;min-height:0;flex:1 1 auto;
  display:flex;flex-direction:column;gap:10px;
}
.market-toolbar{display:flex;flex-direction:column;gap:6px;flex-shrink:0}
.market-search{
  width:100%;min-height:36px;padding:7px 12px;border-radius:11px;box-sizing:border-box;
  border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.42);color:#e2e8f0;font-size:.74rem;
}
.market-search:focus{outline:none;border-color:rgba(232,197,71,.45);box-shadow:0 0 0 2px rgba(232,197,71,.12)}
.market-filters{
  display:flex;flex-wrap:nowrap;gap:4px;
  overflow-x:auto;overflow-y:hidden;
  padding:2px 2px 4px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  overscroll-behavior-x:contain;
}
.market-filters::-webkit-scrollbar{height:3px}
.market-filters::-webkit-scrollbar-thumb{background:rgba(232,197,71,.35);border-radius:99px}
.market-sorts{margin-top:0;opacity:.95}
.market-filter{
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);
  color:rgba(226,232,240,.75);border-radius:999px;padding:5px 10px;font-size:.6rem;font-weight:750;cursor:pointer;
  flex:0 0 auto;white-space:nowrap;
}
.market-filter.is-active{border-color:rgba(232,197,71,.45);background:rgba(232,197,71,.16);color:#fde68a}
.market-listings,.market-sell-list{
  display:flex;flex-direction:column;gap:8px;padding:2px 2px 10px;overflow-y:auto;
  flex:1 1 auto;min-height:120px;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
}
.market-listing,.market-sell-row{
  display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;
  border:1px solid rgba(255,255,255,.08);background:rgba(6,8,14,.52);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  transition:border-color .15s ease, background .15s ease, transform .12s ease;
}
.market-listing[hidden],
.market-sell-row[hidden],
.market-listing.is-filtered-out,
.market-sell-row.is-filtered-out,
.market-filter-empty[hidden]{
  display:none !important;
}
.market-sell-row{flex-direction:column;align-items:stretch;gap:8px;padding:12px}
.market-sell-top{display:flex;align-items:center;gap:10px;min-width:0}
.market-listing:hover,.market-sell-row:hover{border-color:rgba(232,197,71,.3);background:rgba(18,14,8,.88)}
.market-listing.mine{border-color:rgba(232,197,71,.42);background:linear-gradient(120deg,rgba(232,197,71,.16),rgba(10,12,18,.82))}
.market-listing-ico{
  width:2.55rem;height:2.55rem;border-radius:11px;display:grid;place-items:center;flex-shrink:0;
  font-size:1.3rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  overflow:hidden;
}
.market-listing-ico .item-ico,
.market-listing-ico img{
  width:100%;height:100%;object-fit:contain;display:block;
}
.market-listing-ico .item-ico-fb{
  width:100%;height:100%;display:grid;place-items:center;
  font-size:1.25rem;line-height:1;
}
.market-listing-main{flex:1;min-width:0}
.market-listing-name{font-size:.8rem;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.market-qty-badge{font-size:.65rem;opacity:.8;font-weight:700}
.market-listing-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px;font-size:.58rem;color:rgba(226,232,240,.62)}
.market-quality{font-weight:700}
.market-tag{
  padding:1px 6px;border-radius:999px;border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);font-weight:700;
}
.market-tag.mine{border-color:rgba(232,197,71,.4);color:#fde68a}
.market-seller{font-weight:750;color:rgba(253,230,138,.92)}
.market-seller-guild{
  padding:1px 6px;border-radius:999px;border:1px solid rgba(96,165,250,.3);
  background:rgba(96,165,250,.1);color:#93c5fd;font-weight:700;
}
.market-listing-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0;min-width:6.5rem}
.market-listing-price{font-size:.9rem;font-weight:800;color:#fde68a;line-height:1.1}
.market-listing-price small{font-size:.58rem;opacity:.7}
.market-listing-compare{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.market-compare-pill{
  font-size:.55rem;font-weight:750;padding:2px 6px;border-radius:999px;
  background:rgba(96,165,250,.12);border:1px solid rgba(96,165,250,.28);color:#93c5fd;
}
.market-compare-pill--npc{
  background:rgba(134,239,172,.1);border-color:rgba(134,239,172,.28);color:#86efac;
}
.market-act-btn{min-width:100%;justify-content:center}
.market-sell-controls{
  display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;
}
.market-field{display:flex;flex-direction:column;gap:3px;font-size:.58rem;font-weight:700;color:rgba(226,232,240,.62);min-width:0}
.market-qty-input,.market-price-input{
  width:100%;box-sizing:border-box;min-height:34px;padding:6px 8px;border-radius:9px;font-size:.76rem;
  border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.4);color:#e2e8f0;
}
.market-sell-controls .market-list-btn{min-height:34px;padding:0 14px;white-space:nowrap}
.market-fee-hint{margin:0;font-size:.62rem;color:rgba(226,232,240,.55);text-align:left}
.market-fee-amt{color:#fde68a;font-weight:750}
.market-warn{color:#fca5a5;font-weight:700;font-size:.7rem;margin:0}
.market-empty-state{
  text-align:center;padding:32px 16px;border-radius:12px;
  border:1px dashed rgba(255,255,255,.14);background:rgba(0,0,0,.28);
}
.market-empty-state--sm{padding:18px 12px}
.market-empty-ico{font-size:1.9rem;margin-bottom:6px}
.market-empty-title{font-weight:800;font-size:.88rem;color:#fde68a;margin-bottom:4px}
.market-rules{display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding:4px 2px 8px}
.market-rule{
  display:grid;grid-template-columns:92px 1fr;gap:10px;padding:10px 12px;border-radius:12px;
  background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.08);font-size:.68rem;line-height:1.4;
}
.market-rule strong{color:#fde68a;font-size:.72rem}
@media (min-width:901px){
  .market-tabs .market-tab[data-market-tab]{display:none}
  .market-tabs{justify-content:flex-end}
  .market-tab--ghost{display:inline-flex!important}
  .market-filters{flex-wrap:wrap;overflow:visible}
}
@media (max-width:900px){
  body.screen-panel:has(#panel-card.panel-market) #app,
  body.rpg-market-fs #app,
  html.rpg-market-fs body.screen-panel #app{
    padding-left:max(6px,env(safe-area-inset-left,0px))!important;
    padding-right:max(6px,env(safe-area-inset-right,0px))!important;
  }
  body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-market) .top-bar,
  body.rpg-fixed-topbar.rpg-market-fs .top-bar{
    padding-left:max(8px,env(safe-area-inset-left,0px))!important;
    padding-right:max(8px,env(safe-area-inset-right,0px))!important;
  }
  .market-workshop{border-radius:0}
  .market-layout{
    grid-template-columns:1fr;
    min-height:0;
    flex:1 1 auto;
    height:100%;
  }
  .market-topbar{
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-areas:"back title seal" "stats stats stats";
    gap:6px;padding:7px 8px;
  }
  .market-back-btn{grid-area:back;padding-inline:8px}
  .market-topbar-title{grid-area:title}
  .market-seal{grid-area:seal;width:48px;height:48px}
  .market-title{font-size:clamp(.95rem,3.8vw,1.2rem)}
  .market-topbar-stats{grid-area:stats;justify-content:stretch;gap:4px}
  .market-pill{flex:1 1 0;min-width:0;align-items:flex-start;padding:4px 7px}
  .market-pill strong{font-size:.74rem}
  .market-tab{padding:7px 8px;font-size:.68rem;gap:4px}
  .market-col,.market-side-card{padding:8px;gap:6px}
  /* Tabs zeigen schon den Bereich — doppelte Überschrift sparen Platz */
  .market-col-board > .market-col-head,
  .market-sell-card > .market-col-head{display:none}
  .market-col-board,.market-sell-card,.market-col-side{
    flex:1 1 auto;min-height:0;height:100%;
  }
  .market-listings,.market-sell-list{
    min-height:0;
    flex:1 1 auto;
  }
  .market-listing{
    flex-wrap:wrap;align-items:flex-start;gap:8px;padding:10px;
  }
  .market-listing-main{flex:1 1 140px}
  .market-listing-side{
    flex-direction:row;align-items:center;justify-content:space-between;
    width:100%;min-width:0;gap:8px;
  }
  .market-listing-compare{flex:1 1 auto;min-width:0}
  .market-act-btn{min-width:0;width:auto;flex:0 0 auto;padding-inline:12px}
  #panel-card.panel-market.market-tab-board .market-col-side{display:none}
  #panel-card.panel-market.market-tab-sell .market-col-board,
  #panel-card.panel-market.market-tab-sell .market-stall-card{display:none}
  #panel-card.panel-market.market-tab-sell .market-col-side{display:flex;flex:1 1 auto;min-height:0}
  #panel-card.panel-market.market-tab-stall .market-col-board,
  #panel-card.panel-market.market-tab-stall .market-sell-card{display:none}
  #panel-card.panel-market.market-tab-stall .market-col-side{display:flex;flex:1 1 auto;min-height:0}
  #panel-card.panel-market.market-tab-stall .market-stall-card{
    flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;
  }
  .market-overlay-modal{
    padding:10px max(10px,env(safe-area-inset-right,0px)) max(10px,env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px));
    align-items:flex-end;
  }
  .market-overlay-panel,.market-overlay-panel-compact{
    width:100%;max-height:min(78dvh,560px);border-radius:16px 16px 10px 10px;
  }
}
@media (max-width:480px){
  .market-panel-content{gap:6px;padding:6px 6px max(8px,env(safe-area-inset-bottom,0px))}
  .market-kicker{font-size:.48rem;letter-spacing:.12em}
  .market-search{min-height:34px;font-size:.7rem;padding:6px 10px}
  .market-filter{padding:4px 8px;font-size:.56rem}
  .market-sell-controls{grid-template-columns:1fr 1fr}
  .market-sell-controls .market-list-btn{grid-column:1 / -1}
  .market-rule{grid-template-columns:1fr}
  .market-listing-name{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .market-slots-visual{display:none}
  .market-listing-meta{gap:4px;font-size:.54rem}
  .market-listing-price{font-size:.82rem}
}
@media (max-height:640px){
  .market-topbar{padding:5px 7px}
  .market-kicker{display:none}
  .market-title{font-size:1rem}
  .market-pill{padding:3px 6px}
  .market-pill-k{font-size:.45rem}
  .market-tab{padding:6px 7px}
  .market-panel-content{gap:4px}
  .market-toolbar{gap:4px}
  .market-listings,.market-sell-list{min-height:0}
}
/* Querformat / sehr kurze Höhe: Stats-Zeile kompakter, Sortierung in eine Scroll-Zeile */
@media (max-height:520px){
  .market-topbar-stats .market-pill:nth-child(1){display:none}
  .market-sorts{margin-top:-2px}
}

/* ── Shop / Gemshop / Craft — Vollbild (wie Markt) ── */
/* Unter PC-Scale: #app-Maße nur per JS-Stage — sonst Letterbox durch scale()+100vw */
html:not(.flix-rpg-pc-scale) body.rpg-shop-fs #app,
html:not(.flix-rpg-pc-scale) body.rpg-gemshop-fs #app,
html:not(.flix-rpg-pc-scale) body.rpg-craft-fs #app,
html:not(.flix-rpg-pc-scale) body.rpg-market-fs #app,
html:not(.flix-rpg-pc-scale).rpg-shop-fs body.screen-panel #app,
html:not(.flix-rpg-pc-scale).rpg-gemshop-fs body.screen-panel #app,
html:not(.flix-rpg-pc-scale).rpg-craft-fs body.screen-panel #app,
html:not(.flix-rpg-pc-scale).rpg-market-fs body.screen-panel #app,
html:not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-shop) #app,
html:not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-gemshop) #app,
html:not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-craft) #app,
html:not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-market) #app{
  max-width:100vw!important;
  width:100%!important;
  height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  padding-left:0!important;
  padding-right:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  box-sizing:border-box!important;
}
body.rpg-shop-fs .top-bar,
body.rpg-gemshop-fs .top-bar,
body.rpg-craft-fs .top-bar,
body.screen-panel:has(#panel-card.panel-shop) .top-bar,
body.screen-panel:has(#panel-card.panel-gemshop) .top-bar,
body.screen-panel:has(#panel-card.panel-craft) .top-bar{
  max-width:100%!important;width:100%!important;margin-inline:0!important;transform:none!important;
}
body.rpg-fixed-topbar.rpg-shop-fs .top-bar,
body.rpg-fixed-topbar.rpg-gemshop-fs .top-bar,
body.rpg-fixed-topbar.rpg-craft-fs .top-bar,
body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-shop) .top-bar,
body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-gemshop) .top-bar,
body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-craft) .top-bar{
  left:0!important;right:0!important;transform:none!important;
  width:100%!important;max-width:100vw!important;
  border-radius:0 0 14px 14px!important;
  padding-left:clamp(8px,1vw,16px)!important;
  padding-right:clamp(48px,4vw,68px)!important;
  box-sizing:border-box!important;
}
/* Craft behält Menü-Scroll-Höhe; Shop/Gem: Full-Bleed (sonst :has() schlägt spätere FS-Regeln) */
body.rpg-craft-fs #screen-panel:not(.hidden),
body.screen-panel:has(#panel-card.panel-craft) #screen-panel:not(.hidden){
  flex:1 1 auto!important;min-height:0!important;
  height:var(--rpg-menu-scroll-max,calc(100dvh - 64px))!important;
  max-height:var(--rpg-menu-scroll-max,calc(100dvh - 64px))!important;
  overflow:hidden!important;width:100%!important;max-width:100%!important;margin:0!important;
  display:flex!important;flex-direction:column!important;
}
body.rpg-shop-fs #screen-panel:not(.hidden),
body.rpg-gemshop-fs #screen-panel:not(.hidden),
body.screen-panel:has(#panel-card.panel-shop) #screen-panel:not(.hidden),
body.screen-panel:has(#panel-card.panel-gemshop) #screen-panel:not(.hidden){
  position:fixed!important;inset:0!important;z-index:20060!important;
  flex:1 1 auto!important;min-height:100dvh!important;
  height:100dvh!important;max-height:100dvh!important;
  overflow:hidden!important;width:100vw!important;max-width:100vw!important;
  margin:0!important;padding:0!important;
  display:flex!important;flex-direction:column!important;
  background:#07060a!important;border:0!important;border-radius:0!important;box-shadow:none!important;
}
html.flix-rpg-pc-scale body.rpg-shop-fs #screen-panel:not(.hidden),
html.flix-rpg-pc-scale body.rpg-gemshop-fs #screen-panel:not(.hidden),
html.flix-rpg-pc-scale body.screen-panel:has(#panel-card.panel-shop) #screen-panel:not(.hidden),
html.flix-rpg-pc-scale body.screen-panel:has(#panel-card.panel-gemshop) #screen-panel:not(.hidden){
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  min-height:0!important;min-width:0!important;
}
#panel-card.panel-shop,
#panel-card.panel-shop.glass,
#panel-card.panel-shop.card,
#panel-card.panel-gemshop,
#panel-card.panel-gemshop.glass,
#panel-card.panel-gemshop.card,
#panel-card.panel-craft,
#panel-card.panel-craft.glass,
#panel-card.panel-craft.card{
  width:100%;max-width:100%;
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;
  height:100%!important;max-height:100%!important;min-height:0!important;
  overflow:hidden;box-sizing:border-box;
  padding:0!important;margin:0!important;
  border:none!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  position:relative;
}
#panel-card.panel-shop::before,
#panel-card.panel-shop::after,
#panel-card.panel-shop .ui-theme-frame,
#panel-card.panel-shop .ui-theme-bg,
#panel-card.panel-gemshop::before,
#panel-card.panel-gemshop::after,
#panel-card.panel-gemshop .ui-theme-frame,
#panel-card.panel-gemshop .ui-theme-bg,
#panel-card.panel-craft::before,
#panel-card.panel-craft::after,
#panel-card.panel-craft .ui-theme-frame,
#panel-card.panel-craft .ui-theme-bg{display:none!important}

/* Shop shell — rahmenlos */
.shop-workshop{
  position:relative;display:flex;flex-direction:column;
  flex:1 1 auto;min-height:0;height:100%;overflow:hidden;
  border-radius:0;border:none;background:transparent;box-shadow:none;
}
.shop-panel-bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;
  opacity:.9;pointer-events:none;z-index:0;
  filter:saturate(1.12) contrast(1.05) brightness(.7);
}
.shop-panel-veil{
  position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    linear-gradient(180deg,rgba(4,8,16,.3) 0%,rgba(4,8,16,.2) 24%,rgba(4,8,16,.55) 60%,rgba(4,5,10,.9) 100%),
    radial-gradient(ellipse 70% 45% at 70% 20%, rgba(94,196,255,.16), transparent 55%);
}
.shop-panel-content{
  position:relative;z-index:1;display:flex;flex-direction:column;gap:8px;
  flex:1 1 auto;min-height:0;overflow:hidden;
  padding:clamp(4px,1vh,12px) clamp(8px,1.6vw,22px) max(8px,env(safe-area-inset-bottom,0px));
  max-width:1500px;width:100%;margin-inline:auto;box-sizing:border-box;
}
.shop-topbar{
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;
  flex-shrink:0;padding:4px 0;border-radius:0;
  background:transparent;border:none;box-shadow:none;
}
.shop-topbar-title{min-width:0}
.shop-kicker{
  display:block;font-size:.55rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(147,197,253,.85);margin-bottom:1px;
}
.shop-title{
  margin:0;font-family:Cinzel,Georgia,serif;font-weight:800;
  font-size:clamp(1.35rem,2.2vh + .55rem,2.1rem);line-height:1.12;
  color:#e8f4ff;text-shadow:0 2px 18px rgba(0,0,0,.65), 0 0 40px rgba(96,165,250,.2);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.shop-topbar-stats{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.shop-pill{
  display:flex;flex-direction:column;align-items:flex-end;gap:1px;
  min-width:4.2rem;padding:5px 10px;border-radius:10px;
  background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.1);
}
.shop-pill--gold{
  background:linear-gradient(145deg,rgba(232,197,71,.22),rgba(0,0,0,.42));
  border-color:rgba(232,197,71,.38);
}
.shop-pill-k{
  font-size:.5rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(226,232,240,.55);
}
.shop-pill strong{font-size:.82rem;font-weight:800;color:#93c5fd;line-height:1.1;font-variant-numeric:tabular-nums}
.shop-pill--gold strong{color:#fde68a}
#panel-card.panel-shop .shop-wave,
#panel-card.panel-shop .shop-forge,
#panel-card.panel-shop .shop-category-tabs,
#panel-card.panel-shop .shop-reroll-row{flex-shrink:0}
#panel-card.panel-shop .shop-wave{
  margin:0;padding:8px 0;border-radius:0;
  border:none;border-bottom:1px solid rgba(94,196,255,.18);background:transparent;
  backdrop-filter:none;-webkit-backdrop-filter:none;
}
#panel-card.panel-shop .shop-forge{
  margin:0;padding:10px 0;border-radius:0;
  border:none;border-bottom:1px solid rgba(245,158,11,.2);background:transparent;
  backdrop-filter:none;-webkit-backdrop-filter:none;
  max-height:min(28vh,220px);overflow-y:auto;-webkit-overflow-scrolling:touch;
}
#panel-card.panel-shop .shop-category-tabs{
  display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;overflow-y:hidden;
  margin:0;padding:2px 2px 4px;-webkit-overflow-scrolling:touch;
  scrollbar-width:thin;overscroll-behavior-x:contain;
}
#panel-card.panel-shop .shop-cat-tab{flex:0 0 auto}
#panel-card.panel-shop .shop-scroll-wrap{
  flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding-right:4px;padding-bottom:8px;scrollbar-width:thin;
}
#panel-card.panel-shop .shop-reroll-row{padding-top:2px}
#panel-card.panel-shop .shop-item.shop-item-row{
  background:rgba(8,10,16,.78);backdrop-filter:blur(6px);
}

/* Craft shell — rahmenlos */
.craft-workshop{
  position:relative;display:flex;flex-direction:column;
  flex:1 1 auto;min-height:0;height:100%;overflow:hidden;
  border-radius:0;border:none;background:transparent;box-shadow:none;
}
.craft-panel-bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;
  opacity:1;pointer-events:none;z-index:0;
  filter:saturate(1.18) contrast(1.05) brightness(.82);
}
.craft-panel-veil{
  position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    linear-gradient(180deg,rgba(6,3,2,.18) 0%,rgba(8,4,2,.08) 22%,rgba(6,5,4,.22) 58%,rgba(4,5,10,.55) 100%),
    radial-gradient(ellipse 55% 42% at 18% 72%, rgba(245,158,11,.14), transparent 58%),
    radial-gradient(ellipse 40% 30% at 88% 12%, rgba(251,191,36,.08), transparent 60%);
}
.craft-ember{
  position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden;
  background:
    radial-gradient(circle at 22% 78%, rgba(251,146,60,.18), transparent 8%),
    radial-gradient(circle at 48% 82%, rgba(245,158,11,.1), transparent 6%),
    radial-gradient(circle at 70% 74%, rgba(253,186,116,.12), transparent 7%);
  animation:craftEmberDrift 7s ease-in-out infinite alternate;
  opacity:.85;
}
@keyframes craftEmberDrift{
  from{transform:translateY(0) scale(1);opacity:.7}
  to{transform:translateY(-10px) scale(1.04);opacity:1}
}
.craft-panel-content{
  position:relative;z-index:1;display:flex;flex-direction:column;gap:8px;
  flex:1 1 auto;min-height:0;overflow:hidden;
  padding:clamp(4px,1vh,10px) clamp(6px,1vw,12px) max(8px,env(safe-area-inset-bottom,0px));
  max-width:none;width:100%;margin-inline:0;box-sizing:border-box;
}
.craft-hero{
  position:relative;flex-shrink:0;overflow:hidden;border-radius:16px;
  border:1px solid rgba(251,191,36,.18);
  background:rgba(8,4,2,.28);
  box-shadow:0 10px 28px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,244,220,.06);
  min-height:96px;
  backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
}
.craft-hero-banner{position:absolute;inset:0;pointer-events:none;z-index:0}
.craft-hero-banner img{
  width:100%;height:100%;object-fit:cover;object-position:center 40%;
  display:block;opacity:.45;filter:saturate(1.05) contrast(1.06) brightness(.85);
}
.craft-hero-veil{
  position:absolute;inset:0;
  background:
    linear-gradient(100deg,rgba(8,4,2,.72) 0%,rgba(8,4,2,.35) 45%,rgba(8,4,2,.2) 72%,rgba(8,4,2,.4) 100%),
    linear-gradient(180deg,transparent 45%,rgba(4,5,10,.35) 100%);
}
.craft-hero-row{
  position:relative;z-index:1;
  display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;
  padding:14px 16px 14px;
  text-align:center;
}
.craft-topbar{
  display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;
  flex-shrink:0;padding:4px 0 6px;border-radius:0;
  background:transparent;border:none;box-shadow:none;
}
.craft-topbar-title{
  min-width:0;width:100%;max-width:42rem;margin-inline:auto;
  text-align:center;
}
.craft-kicker{
  display:block;font-size:.55rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(253,230,138,.88);margin-bottom:2px;
  text-shadow:0 1px 8px rgba(0,0,0,.55);
}
.craft-title{
  margin:0;font-family:Cinzel,Georgia,serif;font-weight:800;
  font-size:clamp(1.35rem,2.2vh + .55rem,2.1rem);line-height:1.12;
  color:#fff4dc;text-shadow:0 2px 18px rgba(0,0,0,.65), 0 0 40px rgba(245,158,11,.28);
}
.craft-forge-seal{
  width:62px;height:62px;flex:0 0 auto;border-radius:0;object-fit:contain;
  background:transparent;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.5));
  animation:epicSealFloat 4.5s ease-in-out infinite alternate;
}
.craft-header-actions{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;
  width:100%;
}
.craft-loading-chip{position:relative;z-index:1;margin:0 16px 12px auto;display:inline-flex}
.craft-bench{
  flex:1 1 0%;min-height:0;display:flex;flex-direction:column;gap:10px;
  padding:10px 0 0;border-radius:0;
  border:none;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;-webkit-backdrop-filter:none;
  /* Scroll nur in .craft-recipe-scroll-wrap — nicht die Karten mittig clippen */
  overflow:hidden;
}
#panel-card.panel-craft .craft-search-row{
  position:relative;flex-shrink:0;margin:0 auto 2px;
  width:min(100%,420px);
}
#panel-card.panel-craft .craft-search-ico{
  position:absolute;left:10px;top:50%;transform:translateY(-50%);
  width:1.05rem;height:1.05rem;font-size:.85rem;opacity:.7;pointer-events:none;z-index:1;
  display:inline-flex;align-items:center;justify-content:center;
  filter:drop-shadow(0 0 6px rgba(251,191,36,.35));
}
#panel-card.panel-craft .craft-category-tabs,
#panel-card.panel-craft .craft-class-tabs,
#panel-card.panel-craft .craft-species-tabs{flex-shrink:0;margin-bottom:0}
/* Kategorie-Pills: volle Höhe + runder unterer Rand (kein overflow-Clip) */
#panel-card.panel-craft .craft-category-tabs{
  display:flex;flex-wrap:wrap;gap:8px;
  justify-content:center;align-items:stretch;align-content:flex-start;
  overflow:visible!important;
  height:auto!important;max-height:none!important;min-height:3.75rem;
  padding:8px 4px 12px;
  margin:0 0 10px;
  grid-template-columns:none;max-width:none;
  text-align:center;box-sizing:border-box;
}
#panel-card.panel-craft .craft-class-tabs,
#panel-card.panel-craft .craft-species-tabs{
  display:flex;flex-wrap:wrap;gap:6px;
  justify-content:center;align-items:center;
  overflow:visible;
  padding:4px 2px 8px;
  grid-template-columns:none;max-width:none;
  text-align:center;
}
#panel-card.panel-craft .craft-cat-tab,
#panel-card.panel-craft .craft-class-tab,
#panel-card.panel-craft .craft-species-tab{flex:0 0 auto}
#panel-card.panel-craft .craft-cat-tab{
  overflow:visible;
  box-sizing:border-box;
  height:auto;min-height:3.25rem;
  padding:10px 12px 12px;
  border-radius:12px;
  border-color:rgba(255,244,220,.14);
  background:
    radial-gradient(120% 90% at 20% 0%,rgba(255,255,255,.06),transparent 55%),
    linear-gradient(165deg,rgba(0,0,0,.55),rgba(0,0,0,.78));
  color:rgba(246,238,226,.92);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 4px 12px rgba(0,0,0,.35);
}
#panel-card.panel-craft .craft-cat-tab.craft-cat-tone-gold{--cat-fill-a:rgba(226,192,122,.18);--cat-fill-b:rgba(8,6,3,.88);background:linear-gradient(165deg,var(--cat-fill-a),var(--cat-fill-b));border-color:rgba(226,192,122,.45)}
#panel-card.panel-craft .craft-cat-tab.craft-cat-tone-amber{--cat-fill-a:rgba(245,158,11,.16);--cat-fill-b:rgba(12,8,2,.88);background:linear-gradient(165deg,var(--cat-fill-a),var(--cat-fill-b));border-color:rgba(251,191,36,.42)}
#panel-card.panel-craft .craft-cat-tab.craft-cat-tone-steel{--cat-fill-a:rgba(100,116,139,.18);--cat-fill-b:rgba(6,8,12,.88);background:linear-gradient(165deg,var(--cat-fill-a),var(--cat-fill-b));border-color:rgba(148,163,184,.4)}
#panel-card.panel-craft .craft-cat-tab.craft-cat-tone-teal{--cat-fill-a:rgba(20,184,166,.16);--cat-fill-b:rgba(2,10,10,.88);background:linear-gradient(165deg,var(--cat-fill-a),var(--cat-fill-b));border-color:rgba(45,212,191,.42)}
#panel-card.panel-craft .craft-cat-tab.craft-cat-tone-copper{--cat-fill-a:rgba(234,88,12,.16);--cat-fill-b:rgba(12,6,2,.88);background:linear-gradient(165deg,var(--cat-fill-a),var(--cat-fill-b));border-color:rgba(251,146,60,.42)}
#panel-card.panel-craft .craft-cat-tab.craft-cat-tone-violet{--cat-fill-a:rgba(124,58,237,.16);--cat-fill-b:rgba(8,4,14,.88);background:linear-gradient(165deg,var(--cat-fill-a),var(--cat-fill-b));border-color:rgba(167,139,250,.42)}
#panel-card.panel-craft .craft-cat-tab.craft-cat-tone-ember{--cat-fill-a:rgba(239,68,68,.16);--cat-fill-b:rgba(12,4,4,.88);background:linear-gradient(165deg,var(--cat-fill-a),var(--cat-fill-b));border-color:rgba(248,113,113,.42)}
#panel-card.panel-craft .craft-cat-tab.craft-cat-tone-parchment{--cat-fill-a:rgba(180,140,70,.16);--cat-fill-b:rgba(10,8,4,.88);background:linear-gradient(165deg,var(--cat-fill-a),var(--cat-fill-b));border-color:rgba(214,184,120,.42)}
#panel-card.panel-craft .craft-cat-tab.craft-cat-tone-slate{--cat-fill-a:rgba(71,85,105,.18);--cat-fill-b:rgba(6,8,12,.88);background:linear-gradient(165deg,var(--cat-fill-a),var(--cat-fill-b));border-color:rgba(148,163,184,.38)}
#panel-card.panel-craft .craft-cat-tab.craft-cat-tone-blade{--cat-fill-a:rgba(71,85,105,.2);--cat-fill-b:rgba(6,8,12,.9);background:linear-gradient(165deg,var(--cat-fill-a),var(--cat-fill-b));border-color:rgba(148,163,184,.45)}
#panel-card.panel-craft .craft-cat-tab.craft-cat-tone-rose{--cat-fill-a:rgba(244,63,94,.16);--cat-fill-b:rgba(12,4,8,.88);background:linear-gradient(165deg,var(--cat-fill-a),var(--cat-fill-b));border-color:rgba(251,113,133,.42)}
#panel-card.panel-craft .craft-cat-tab.craft-cat-tone-azure{--cat-fill-a:rgba(59,130,246,.16);--cat-fill-b:rgba(4,8,16,.88);background:linear-gradient(165deg,var(--cat-fill-a),var(--cat-fill-b));border-color:rgba(96,165,250,.42)}
#panel-card.panel-craft .craft-cat-tab:hover{
  filter:brightness(1.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 6px 14px rgba(0,0,0,.4),0 0 12px var(--cat-glow);
}
#panel-card.panel-craft .craft-cat-tab.active{
  background:
    linear-gradient(165deg,rgba(0,0,0,.35),rgba(0,0,0,.72)),
    linear-gradient(165deg,var(--cat-fill-a,rgba(251,191,36,.22)),var(--cat-fill-b,rgba(12,8,4,.9)));
  border-color:rgba(251,191,36,.7);
  color:#fff8ee;
  box-shadow:inset 0 1px 0 rgba(255,244,220,.14),0 0 0 1px rgba(251,191,36,.18),0 8px 18px rgba(0,0,0,.4),0 0 16px var(--cat-glow);
  filter:none;
}
#panel-card.panel-craft .craft-cat-tab .cat-count{
  opacity:.85;color:rgba(255,244,220,.78);
  line-height:1.25;padding-bottom:1px;display:block;
}
#panel-card.panel-craft .craft-class-tab,
#panel-card.panel-craft .craft-species-tab{
  background:rgba(0,0,0,.62);
  border:1px solid rgba(251,191,36,.28);
  color:rgba(246,238,226,.9);
  box-shadow:0 4px 10px rgba(0,0,0,.3);
}
#panel-card.panel-craft .craft-class-tab:hover,
#panel-card.panel-craft .craft-species-tab:hover{
  background:rgba(0,0,0,.72);
  border-color:rgba(251,191,36,.45);
}
#panel-card.panel-craft .craft-class-tab.active,
#panel-card.panel-craft .craft-species-tab.active{
  background:rgba(20,12,6,.85);
  border-color:rgba(251,191,36,.7);
  color:#fde68a;
  box-shadow:0 0 14px rgba(245,158,11,.18), inset 0 1px 0 rgba(255,244,220,.1);
}
#panel-card.panel-craft .craft-search-input{
  width:100%;min-height:32px;padding:5px 12px 5px 30px;border-radius:999px;box-sizing:border-box;
  border:1px solid rgba(251,191,36,.22);background:rgba(0,0,0,.4);color:#e2e8f0;font-size:.72rem;
  box-shadow:inset 0 1px 0 rgba(255,244,220,.05),0 4px 10px rgba(0,0,0,.14);
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
}
#panel-card.panel-craft .craft-search-input:focus{
  outline:none;border-color:rgba(251,191,36,.5);
  box-shadow:inset 0 1px 0 rgba(255,244,220,.08),0 0 0 2px rgba(245,158,11,.18);
}
#panel-card.panel-craft .craft-search-input::placeholder{
  color:rgba(226,232,240,.45);font-size:.7rem;
}
#panel-card.panel-craft .craft-recipe-scroll-wrap{
  flex:1 1 0%;min-height:0;height:auto;max-height:none;
  overflow-y:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding-right:4px;padding-bottom:16px;
  touch-action:pan-y;
}
#panel-card.panel-craft .craft-recipes-head{
  margin:8px 2px 12px;
  justify-content:center;
  text-align:center;
  width:100%;
}
#panel-card.panel-craft .craft-section-head{
  justify-content:center;
}
#panel-card.panel-craft .craft-recipe-card,
#panel-card.panel-craft .craft-plaque{
  position:relative;overflow:visible;
  display:flex;flex-direction:column;gap:8px;
  height:auto;min-height:0;max-height:none;box-sizing:border-box;
  padding:12px 12px 10px;
  background:rgba(8,5,3,.42);
  backdrop-filter:none;-webkit-backdrop-filter:none;
  border-radius:16px;
  border:1px solid rgba(251,191,36,.28);
  box-shadow:
    0 14px 28px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,220,150,.12);
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
#panel-card.panel-craft .craft-plaque-tex{
  position:absolute;inset:0;pointer-events:none;z-index:0;
  background-size:100% 100%;background-position:center;background-repeat:no-repeat;
  opacity:1;mix-blend-mode:normal;filter:saturate(1.05) contrast(1.06) brightness(.88);
}
#panel-card.panel-craft .craft-plaque-rail{
  position:absolute;left:8%;right:8%;top:2%;height:14%;pointer-events:none;z-index:1;
  background-size:100% 100%;background-position:center;background-repeat:no-repeat;
  opacity:.55;border-radius:0;
  mask-image:linear-gradient(180deg,#000 10%,transparent 100%);
  -webkit-mask-image:linear-gradient(180deg,#000 10%,transparent 100%);
}
#panel-card.panel-craft .craft-plaque-rivets{display:none}
#panel-card.panel-craft .craft-plaque::before,
#panel-card.panel-craft .craft-plaque::after{display:none}
#panel-card.panel-craft .craft-plaque-frame{
  position:absolute;inset:6px;pointer-events:none;z-index:1;border-radius:12px;
  border:1px solid rgba(251,191,36,.14);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);
}
#panel-card.panel-craft .craft-plaque-ember{
  position:absolute;inset:auto -10% -30% -10%;height:45%;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse at center,rgba(245,158,11,.28),transparent 68%);
  filter:blur(16px);opacity:0;transition:opacity .2s ease;
}
#panel-card.panel-craft .craft-recipe-card:hover{
  border-color:rgba(251,191,36,.55);
  transform:translateY(-2px);
  box-shadow:
    0 18px 34px rgba(0,0,0,.42),
    0 0 20px rgba(245,158,11,.12),
    inset 0 1px 0 rgba(255,220,150,.16);
}
#panel-card.panel-craft .craft-recipe-card.can-craft{
  border-color:rgba(251,191,36,.62);
  box-shadow:
    0 14px 28px rgba(0,0,0,.38),
    0 0 22px rgba(245,158,11,.18),
    inset 0 1px 0 rgba(255,220,150,.16);
}
#panel-card.panel-craft .craft-recipe-card.can-craft .craft-plaque-ember{opacity:1}
#panel-card.panel-craft .craft-recipe-card > *:not(.craft-plaque-tex):not(.craft-plaque-frame):not(.craft-plaque-ember):not(.craft-plaque-rivets):not(.craft-plaque-rail){
  position:relative;z-index:2;
}
#panel-card.panel-craft .craft-plaque-tag{display:none}
#panel-card.panel-craft .craft-card-top{
  display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;flex:0 0 auto;
}
#panel-card.panel-craft .craft-card-heading{
  width:100%;align-items:center;
}
#panel-card.panel-craft .craft-recipe-name{
  align-self:stretch;width:100%;
}
.panel-craft .craft-recipe-emoji,
.panel-craft .craft-anvil-socket,
.panel-craft .craft-card-art,
#panel-card.panel-craft .craft-recipe-emoji,
#panel-card.panel-craft .craft-anvil-socket,
#panel-card.panel-craft .craft-card-art{
  width:2.55rem;height:2.55rem;border-radius:10px;
  background:rgba(0,0,0,.28);
  border:1px solid rgba(251,191,36,.4);
  box-shadow:inset 0 1px 0 rgba(255,244,220,.12), 0 4px 10px rgba(0,0,0,.28);
  overflow:hidden;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  flex:0 0 auto;
  padding:3px;box-sizing:border-box;text-align:center;
}
.panel-craft .craft-card-art-img,
.panel-craft .craft-anvil-socket .item-ico,
.panel-craft .craft-card-art .item-ico,
.panel-craft .craft-card-art .craft-ui-ico,
#panel-card.panel-craft .craft-card-art-img,
#panel-card.panel-craft .craft-anvil-socket .item-ico,
#panel-card.panel-craft .craft-card-art .item-ico,
#panel-card.panel-craft .craft-card-art .craft-ui-ico{
  width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;
  display:block!important;margin:0 auto!important;border-radius:0;
}
#panel-card.panel-craft .craft-card-art .item-ico-fb,
#panel-card.panel-craft .craft-anvil-socket .item-ico-fb,
#panel-card.panel-craft .craft-card-art .rpg-ei,
#panel-card.panel-craft .craft-ingredient-emoji .item-ico-fb,
#panel-card.panel-craft .craft-ingredient-emoji .rpg-ei{
  width:100%!important;height:100%!important;
  display:inline-flex!important;align-items:center;justify-content:center;
  font-size:1.35rem;line-height:1;object-fit:contain;
}
#panel-card.panel-craft .craft-ui-ico,
#panel-card.panel-craft .craft-stat-ico,
#panel-card.panel-craft .craft-btn-ico,
#panel-card.panel-craft .craft-search-ico .craft-ui-ico,
#panel-card.panel-craft .craft-pane-label .craft-ui-ico,
#panel-card.panel-craft .craft-forge-btn .craft-ui-ico,
#panel-card.panel-craft .craft-compare-btn .craft-ui-ico{
  width:.95em;height:.95em;object-fit:contain;object-position:center;display:inline-block;vertical-align:-.16em;
  border-radius:3px;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));
}
#panel-card.panel-craft .craft-search-ico{
  display:inline-flex;align-items:center;justify-content:center;
  width:1rem;height:1rem;font-size:.8rem;line-height:1;
}
#panel-card.panel-craft .craft-search-ico .craft-ui-ico{
  width:100%;height:100%;
}
#panel-card.panel-craft .craft-pane-label .craft-ui-ico{width:.95em;height:.95em}
#panel-card.panel-craft .craft-result-stats{
  display:flex;flex-wrap:wrap;gap:4px;align-items:center;
}
#panel-card.panel-craft .craft-stat,
#panel-card.panel-craft .craft-result-xp{
  display:inline-flex;align-items:center;gap:4px;
  padding:2px 6px;border-radius:6px;
  background:rgba(0,0,0,.28);border:1px solid rgba(251,191,36,.18);
  font-size:.56rem;font-weight:700;color:#e2e8f0;
}
#panel-card.panel-craft .craft-stat b,
#panel-card.panel-craft .craft-result-xp b{color:#fde68a;font-weight:900}
#panel-card.panel-craft .craft-stat-ico{
  width:.9rem;height:.9rem;border-radius:3px;flex:0 0 auto;object-fit:contain;
}
#panel-card.panel-craft .craft-forge-btn,
#panel-card.panel-craft .craft-compare-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
}
#panel-card.panel-craft .craft-recipe-name{
  font-family:Cinzel,Georgia,serif;font-size:.88rem;color:#fff4dc;font-weight:800;line-height:1.25;
  text-shadow:0 2px 12px rgba(0,0,0,.7), 0 0 14px rgba(0,0,0,.45);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  overflow-wrap:anywhere;word-break:break-word;
}
#panel-card.panel-craft .craft-recipe-meta{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:3px;max-height:none;overflow:visible;width:100%;
}
#panel-card.panel-craft .craft-meta-chip{
  background:rgba(0,0,0,.32);border-color:rgba(251,191,36,.22);color:#fde68a;
  border-radius:6px;font-size:.5rem;padding:2px 6px;
}
#panel-card.panel-craft .craft-card-body{
  display:grid;grid-template-columns:1fr 1fr;
  gap:6px;align-items:stretch;flex:0 1 auto;min-height:0;
}
#panel-card.panel-craft .craft-anvil-join{display:none!important}
#panel-card.panel-craft .craft-pane-label{
  display:flex;align-items:center;flex-wrap:wrap;gap:4px;
  font-size:.48rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(253,230,138,.92);margin:0 0 5px;line-height:1.25;
  text-shadow:0 1px 6px rgba(0,0,0,.65);
}
#panel-card.panel-craft .craft-card-mats,
#panel-card.panel-craft .craft-card-result{
  display:flex;flex-direction:column;align-items:stretch;
  padding:4px 2px;border-radius:0;min-height:0;height:100%;
  background:transparent;border:none;box-shadow:none;
}
#panel-card.panel-craft .craft-card-result{
  border-left:1px solid rgba(251,191,36,.2);
  padding-left:8px;background:transparent;box-shadow:none;
}
#panel-card.panel-craft .craft-pane-content{
  display:flex;flex-direction:column;flex-wrap:nowrap;gap:4px;
  align-content:flex-start;align-items:stretch;
  flex:0 1 auto;min-height:0;overflow:visible;
}
#panel-card.panel-craft .craft-pane-result{flex-direction:column;align-items:flex-start;gap:4px}
#panel-card.panel-craft .craft-ingredient-wrap{display:block;width:100%}
#panel-card.panel-craft .craft-ingredient,
#panel-card.panel-craft .craft-ingredient.stat-hover-wrap{
  width:100%;box-sizing:border-box;
  display:flex;align-items:center;gap:6px;
  padding:3px 4px;border-radius:6px;margin:0;
  background:rgba(0,0,0,.22);border:1px solid rgba(255,244,220,.08);
}
#panel-card.panel-craft .craft-ingredient.ok{border-color:rgba(52,211,153,.35)}
#panel-card.panel-craft .craft-ingredient.missing{border-color:rgba(248,113,113,.35)}
#panel-card.panel-craft .craft-ingredient-qty{
  margin-left:auto;font-variant-numeric:tabular-nums;font-size:.66rem;font-weight:800;
  color:#e2e8f0;
}
#panel-card.panel-craft .craft-ingredient.ok .craft-ingredient-qty{color:#86efac}
#panel-card.panel-craft .craft-ingredient.missing .craft-ingredient-qty{color:#fca5a5}
#panel-card.panel-craft .craft-ingredient-sep{opacity:.55;margin:0 1px;font-weight:700}
#panel-card.panel-craft .craft-out-emoji{display:none}
#panel-card.panel-craft .craft-ingredient-emoji{
  width:1.35rem;height:1.35rem;border-radius:6px;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.25);border:1px solid rgba(251,191,36,.22);
  box-shadow:none;flex:0 0 auto;padding:2px;box-sizing:border-box;
}
#panel-card.panel-craft .craft-ingredient-emoji .item-ico,
#panel-card.panel-craft .craft-ingredient-emoji .craft-ui-ico{
  width:100%!important;height:100%!important;object-fit:contain;object-position:center;display:block;
}
#panel-card.panel-craft .craft-card-actions{
  margin-top:auto;flex:0 0 auto;display:flex;flex-direction:column;gap:6px;
  padding-top:8px;border-top:1px solid rgba(251,191,36,.18);
}
#panel-card.panel-craft .craft-qty-row{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  min-height:28px;
}
#panel-card.panel-craft .craft-qty-row.is-empty{
  visibility:hidden;pointer-events:none;
}
#panel-card.panel-craft .craft-card-foot{
  display:flex;align-items:center;gap:8px;margin-top:0;padding-top:0;border-top:none;
}
#panel-card.panel-craft .craft-forge-btn{
  flex:1 1 auto;min-height:38px;padding:0 12px;border-radius:10px;font-weight:900;
  letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;
  border:1px solid rgba(251,191,36,.55);
  background:
    linear-gradient(180deg,rgba(251,191,36,.35),rgba(146,64,14,.95) 42%,rgba(69,26,3,.98));
  color:#fff7ed;
  box-shadow:
    inset 0 1px 0 rgba(255,244,220,.28),
    inset 0 -8px 14px rgba(0,0,0,.35),
    0 8px 14px rgba(0,0,0,.35);
}
#panel-card.panel-craft .craft-forge-btn.is-ready{
  border-color:rgba(253,224,71,.75);
  background:
    linear-gradient(180deg,#fbbf24,#d97706 38%,#92400e 78%,#78350f);
  box-shadow:
    inset 0 1px 0 rgba(255,244,220,.35),
    0 0 22px rgba(245,158,11,.35),
    0 10px 18px rgba(0,0,0,.38);
  animation:craftForgePulse 2.4s ease-in-out infinite alternate;
}
@keyframes craftForgePulse{
  from{box-shadow:inset 0 1px 0 rgba(255,244,220,.3),0 0 14px rgba(245,158,11,.22),0 10px 18px rgba(0,0,0,.35)}
  to{box-shadow:inset 0 1px 0 rgba(255,244,220,.4),0 0 28px rgba(251,191,36,.42),0 12px 22px rgba(0,0,0,.4)}
}
#panel-card.panel-craft .craft-forge-btn.is-ready:hover{filter:brightness(1.08);animation:none}
#panel-card.panel-craft .craft-forge-btn.is-blocked,
#panel-card.panel-craft .craft-forge-btn:disabled{
  opacity:.78;cursor:not-allowed;animation:none;
  background:linear-gradient(180deg,rgba(40,32,24,.7),rgba(16,14,12,.9));
  border-color:rgba(120,100,70,.35);color:rgba(226,232,240,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
#panel-card.panel-craft .craft-only-btn.active{
  border-color:rgba(251,191,36,.55);color:#fde68a;background:rgba(245,158,11,.16);
}
#panel-card.panel-craft .craft-recipe-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,340px));
  gap:14px;
  align-items:stretch;
  justify-content:center;
  justify-items:stretch;
}
#panel-card.panel-craft .craft-recipe-grid.is-virtual{
  display:block!important;
  position:relative;
  /* kein contain:paint — sonst hartes Abschneiden mittig in der Karte */
  contain:none;
  width:100%;
  overflow:visible;
}
#panel-card.panel-craft .craft-virt-spacer{
  position:relative;
  width:100%;
  overflow:visible;
}
#panel-card.panel-craft .craft-virt-window{
  position:absolute;left:0;right:0;top:0;
  pointer-events:auto;
  display:grid!important;
  grid-template-columns:repeat(var(--craft-virt-cols, 2),minmax(0,1fr));
  gap:14px;
  align-content:start;
  align-items:start;
  will-change:transform;
  contain:none;
  overflow:visible;
}
#panel-card.panel-craft .craft-forge-btn,
#panel-card.panel-craft .craft-qty-btn,
#panel-card.panel-craft .craft-compare-btn{
  pointer-events:auto!important;
  position:relative;
  z-index:5;
}
#panel-card.panel-craft .craft-forge-btn.is-forging{
  opacity:.92;cursor:wait;
  filter:brightness(1.05);
}
#panel-card.panel-craft .craft-recipe-card{
  /* content-visibility + zu kleine intrinsic-size hat Karten mittig geclippt */
  content-visibility:visible;
  contain:none;
}
#panel-card.panel-craft .craft-qty-btn{
  border-color:rgba(251,191,36,.3);background:rgba(0,0,0,.45);border-radius:9px;
}
#panel-card.panel-craft .craft-qty-input{
  border-color:rgba(251,191,36,.3);background:rgba(0,0,0,.45);border-radius:9px;
}
#panel-card.panel-craft .craft-skeleton{
  min-height:188px;opacity:.55;
  animation:craftSkeletonPulse 1.4s ease-in-out infinite alternate;
}
@keyframes craftSkeletonPulse{
  from{opacity:.4}
  to{opacity:.7}
}
@media (max-width:520px){
  #panel-card.panel-craft .craft-card-body{
    grid-template-columns:1fr;
  }
  #panel-card.panel-craft .craft-anvil-join{display:none!important}
}

/* Gemshop FS — rahmenlos */
body.rpg-gemshop-fs #panel-card.panel-gemshop,
#panel-card.panel-gemshop{
  padding:0!important;
}
.gemshop-shell{
  flex:1 1 auto;min-height:0;height:100%;
  border-radius:0!important;border:none!important;box-shadow:none!important;
  background:transparent!important;overflow:hidden;position:relative;
  display:flex;flex-direction:column;
}
.gemshop-panel-bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;
  opacity:.9!important;pointer-events:none;z-index:0;border-radius:0!important;
  filter:saturate(1.18) contrast(1.08) brightness(.7)!important;
}
.gemshop-panel-veil{
  position:absolute;inset:0;pointer-events:none;z-index:0;border-radius:0!important;
  background:
    linear-gradient(180deg,rgba(4,8,20,.32) 0%,rgba(4,8,20,.2) 24%,rgba(4,8,18,.55) 58%,rgba(4,6,14,.9) 100%),
    radial-gradient(ellipse 70% 50% at 80% 30%, rgba(96,165,250,.18), transparent 55%)!important;
}
.gemshop-panel-content{
  position:relative;z-index:1;display:flex;flex-direction:column;gap:0;
  flex:1 1 auto;min-height:0;overflow:hidden;
  padding:clamp(6px,1.2vh,14px) clamp(12px,2.2vw,28px) max(10px,env(safe-area-inset-bottom,0px));
  max-width:1400px;width:100%;margin-inline:auto;box-sizing:border-box;
}
.gemshop-hero{
  flex-shrink:0;padding:4px 0 12px;
  border-bottom:1px solid rgba(147,197,253,.12);
  background:transparent;backdrop-filter:none;
}
.gemshop-scroll{
  padding:12px 0 14px;
}
.gemshop-title{
  margin:0;font-size:clamp(1.35rem,2.2vh + .55rem,2.1rem);font-weight:950;letter-spacing:.01em;
  color:#f0f7ff;text-shadow:0 2px 18px rgba(0,0,0,.55), 0 0 40px rgba(59,130,246,.25);
}

@media (max-width:900px){
  /* Ohne PC-Scale: Safe-Area. Mit Scale erzeugt Padding schwarze Seitenränder. */
  html:not(.flix-rpg-pc-scale) body.rpg-shop-fs #app,
  html:not(.flix-rpg-pc-scale) body.rpg-gemshop-fs #app,
  html:not(.flix-rpg-pc-scale) body.rpg-craft-fs #app,
  html:not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-shop) #app,
  html:not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-gemshop) #app,
  html:not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-craft) #app{
    padding-left:max(6px,env(safe-area-inset-left,0px))!important;
    padding-right:max(6px,env(safe-area-inset-right,0px))!important;
  }
  html.flix-rpg-pc-scale body.rpg-shop-fs #app,
  html.flix-rpg-pc-scale body.rpg-market-fs #app,
  html.flix-rpg-pc-scale body.rpg-gemshop-fs #app,
  html.flix-rpg-pc-scale body.rpg-craft-fs #app,
  html.flix-rpg-pc-scale body.screen-panel:has(#panel-card.panel-shop) #app,
  html.flix-rpg-pc-scale body.screen-panel:has(#panel-card.panel-market) #app,
  html.flix-rpg-pc-scale body.screen-panel:has(#panel-card.panel-gemshop) #app,
  html.flix-rpg-pc-scale body.screen-panel:has(#panel-card.panel-craft) #app{
    padding:0!important;gap:0!important;
  }
  body.rpg-fixed-topbar.rpg-shop-fs .top-bar,
  body.rpg-fixed-topbar.rpg-gemshop-fs .top-bar,
  body.rpg-fixed-topbar.rpg-craft-fs .top-bar,
  body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-shop) .top-bar,
  body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-gemshop) .top-bar,
  body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-craft) .top-bar{
    padding-left:max(8px,env(safe-area-inset-left,0px))!important;
    padding-right:max(8px,env(safe-area-inset-right,0px))!important;
  }
  .shop-workshop,.craft-workshop,.gemshop-shell,.market-workshop{border-radius:0!important;border:none!important;box-shadow:none!important}
  .shop-topbar{
    grid-template-columns:1fr;
    grid-template-areas:"title" "stats";
    gap:6px;padding:7px 8px;
  }
  .shop-topbar-title{grid-area:title}
  .shop-topbar-stats{grid-area:stats;justify-content:stretch;gap:4px}
  .shop-pill{flex:1 1 0;min-width:0;align-items:flex-start;padding:4px 7px}
  .shop-pill strong{font-size:.74rem}
  .shop-title,.craft-title{font-size:clamp(.95rem,3.8vw,1.2rem)}
  #panel-card.panel-shop .shop-forge{max-height:min(22vh,160px)}
  .shop-card-row{flex-wrap:wrap;gap:8px}
  .shop-card-aside{
    flex-direction:row;align-items:center;justify-content:space-between;
    width:100%;min-width:0;padding-left:0;
  }
  .shop-price-line{align-items:flex-start}
  .gemshop-cards{grid-template-columns:1fr}
  .gemshop-hero-top{flex-direction:column}
  .gemshop-wallet{flex-direction:row;width:100%;min-width:0}
  .gemshop-wallet-chip{flex:1;min-width:0}
  .gemshop-tabs{grid-template-columns:1fr;gap:5px}
  .gemshop-lead{font-size:clamp(.62rem,2.6vw,.78rem);line-height:1.35;max-height:4.2em;overflow:auto}
  #panel-card.panel-craft .craft-recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .craft-card-body{grid-template-columns:1fr}
  .craft-topbar{padding:7px 8px;gap:6px}
  .craft-hero-row{padding:12px;gap:10px}
  .craft-forge-seal{width:48px;height:48px}
  .craft-bench{padding:8px 0 0;gap:8px;border-radius:0}
}
@media (max-width:480px){
  .shop-panel-content,.craft-panel-content{gap:6px;padding:6px 6px max(8px,env(safe-area-inset-bottom,0px))}
  .shop-kicker,.craft-kicker{font-size:.48rem;letter-spacing:.12em}
  .gemshop-title{font-size:1.05rem}
  .gemshop-active{margin-top:8px;padding:6px 8px}
  .gemshop-tab{padding:7px}
  .gemshop-tab-text small{display:inline;font-size:.58rem;opacity:.85}
  #panel-card.panel-shop .shop-forge-grid{grid-template-columns:1fr}
  .craft-search-input{min-height:34px;font-size:.7rem}
}
@media (max-height:640px){
  .shop-kicker,.craft-kicker,.gemshop-kicker{font-size:.48rem;letter-spacing:.1em;opacity:.9}
  .shop-topbar,.craft-topbar{padding:5px 7px}
  .gemshop-hero{padding:8px 10px 8px}
  .gemshop-active{margin-top:6px;padding:5px 7px;font-size:.68rem}
  #panel-card.panel-shop .shop-wave .tiny.muted{font-size:.62rem;opacity:.85}
  #panel-card.panel-shop .shop-forge{max-height:min(22vh,160px);overflow:auto}
  .shop-hero-art{min-height:72px;max-height:110px}
  .market-seal{width:48px;height:48px}
  .market-lead,.shop-lead,.craft-lead{font-size:.68rem;line-height:1.35;max-height:3.6em;overflow:auto}
  .craft-hero{min-height:92px}
  .craft-forge-seal{width:48px;height:48px}
}

/* ═══ Epic Showcase Layer (Shop / Market / Gem / Craft) ═══ */
.shop-hero{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(180px,.9fr);
  gap:16px;align-items:end;flex-shrink:0;
  padding:2px 0 8px;border-radius:0;
  background:transparent;border:none;box-shadow:none;
  overflow:visible;position:relative;
}
.shop-hero-copy{min-width:0;display:flex;flex-direction:column;gap:10px;z-index:1}
.shop-lead,.market-lead,.craft-lead{
  margin:0;font-size:.78rem;line-height:1.45;color:rgba(241,245,249,.82);max-width:38em;
  text-shadow:0 1px 8px rgba(0,0,0,.45);
}
#panel-card.panel-craft .craft-lead{
  margin-inline:auto;text-align:center;max-width:36em;
}
.shop-hero-art{
  position:relative;border-radius:18px;overflow:hidden;min-height:150px;max-height:200px;
  border:none;box-shadow:0 18px 40px rgba(0,0,0,.4);
  mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%);
}
.shop-hero-art img{width:100%;height:100%;object-fit:cover;display:block;min-height:120px}
.shop-hero-art-glow{
  position:absolute;inset:auto -20% -40% auto;width:60%;height:70%;
  background:radial-gradient(circle,rgba(96,165,250,.45),transparent 70%);
  filter:blur(18px);pointer-events:none;animation:epicGlowPulse 3.6s ease-in-out infinite alternate;
}
@keyframes epicGlowPulse{
  from{opacity:.45;transform:scale(.92)}
  to{opacity:.85;transform:scale(1.08)}
}
.shop-section-head,.market-section-head,.gemshop-section-head,.craft-section-head{
  display:flex;align-items:baseline;gap:8px;margin:0 0 8px;
}
.shop-section-kicker,.market-section-kicker,.gemshop-section-kicker,.craft-section-kicker{
  font-size:.52rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(253,230,138,.75);
}
.shop-section-head strong,.market-section-head strong,.gemshop-section-head strong,.craft-section-head strong{
  font-family:Cinzel,Georgia,serif;font-size:.88rem;color:#fff4dc;
}
.shop-showcase{margin-bottom:14px}
.shop-showcase-rail{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;
}
.shop-feature-card,.shop-tile-card{
  position:relative;overflow:hidden;display:flex;flex-direction:column;gap:10px;
  padding:14px;border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(8,12,20,.48);
  box-shadow:0 12px 28px rgba(0,0,0,.28);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  transition:transform .15s ease, border-color .15s ease, background .15s ease;
}
.shop-feature-card{min-height:180px}
.shop-feature-card:hover,.shop-tile-card:hover{border-color:rgba(94,196,255,.4);transform:translateY(-2px)}
.shop-epic-glow{
  position:absolute;inset:auto -25% -45% auto;width:140px;height:140px;border-radius:50%;
  background:#3b82f6;filter:blur(30px);opacity:.28;pointer-events:none;
}
.shop-feature-card.quality-legendary .shop-epic-glow,
.shop-tile-card.quality-legendary .shop-epic-glow{background:#a855f7;opacity:.4}
.shop-feature-card.quality-ultimate .shop-epic-glow,
.shop-tile-card.quality-ultimate .shop-epic-glow{background:#f59e0b;opacity:.42}
.shop-epic-icon{
  width:3.2rem;height:3.2rem;border-radius:12px;display:grid;place-items:center;
  background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12);font-size:1.6rem;
  position:relative;z-index:1;
}
.shop-feature-card .shop-epic-icon{width:3.8rem;height:3.8rem;font-size:1.85rem}
.shop-epic-body{position:relative;z-index:1;flex:1;min-width:0}
.shop-epic-foot{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px;margin-top:auto}
.shop-tile-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;
}
.shop-workshop--epic .shop-panel-bg{opacity:.9;filter:saturate(1.12) contrast(1.05) brightness(.7)}
.market-workshop--epic .market-panel-bg{opacity:.88;filter:saturate(1.12) contrast(1.05) brightness(.72)}
.craft-workshop--epic .craft-panel-bg{opacity:1;filter:saturate(1.12) contrast(1.04) brightness(.84)}
.gemshop-shell{border:none!important;box-shadow:none!important}
.gemshop-panel-bg{opacity:.9!important;filter:saturate(1.18) contrast(1.08) brightness(.7)!important}
.market-hero{
  grid-template-columns:auto minmax(0,1fr) auto;
  grid-template-areas:"back title seal" "stats stats stats";
  align-items:center;
}
.market-hero .market-back-btn{grid-area:back}
.market-hero .market-topbar-title{grid-area:title}
.market-hero .market-seal{grid-area:seal}
.market-hero .market-topbar-stats{grid-area:stats;justify-content:flex-start}
.market-seal{
  width:64px;height:64px;object-fit:contain;border-radius:50%;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.45));
  animation:epicSealFloat 4.5s ease-in-out infinite alternate;
}
@keyframes epicSealFloat{
  from{transform:translateY(0) rotate(-2deg)}
  to{transform:translateY(-4px) rotate(2deg)}
}
.market-spotlight{flex-shrink:0;margin-bottom:8px}
.market-spotlight.is-empty{display:none}
.market-spotlight-rail{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;
}
.market-spotlight-card{
  position:relative;overflow:hidden;flex-direction:column;align-items:stretch!important;
  padding:12px!important;min-height:132px;
  background:linear-gradient(155deg,rgba(40,28,10,.85),rgba(10,12,18,.9))!important;
  border-color:rgba(232,197,71,.35)!important;
  box-shadow:0 10px 22px rgba(0,0,0,.3);
}
.market-spotlight-glow{
  position:absolute;inset:auto -30% -50% auto;width:120px;height:120px;border-radius:50%;
  background:#e8c547;filter:blur(28px);opacity:.28;pointer-events:none;
}
.market-spotlight-card .market-listing-ico{width:3rem;height:3rem;font-size:1.5rem}
.market-spotlight-card .market-listing-side{
  flex-direction:row;align-items:center;justify-content:space-between;width:100%;min-width:0;margin-top:auto;
}

/* Gemshop epic */
.gemshop-shell{border:none!important;box-shadow:none!important;background:transparent!important}
.gemshop-panel-bg{opacity:.9!important;filter:saturate(1.18) contrast(1.08) brightness(.7)!important}
.gemshop-spotlight{margin-bottom:12px}
.gemshop-card--spotlight{
  grid-column:1 / -1;
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(140px,.7fr);
  gap:14px;align-items:center;
  min-height:150px;padding:16px;
  background:linear-gradient(135deg,rgba(20,40,80,.72),rgba(8,10,22,.78));
  border:1px solid rgba(96,165,250,.28);
  border-radius:18px;
  box-shadow:0 14px 32px rgba(0,0,0,.28);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.gemshop-card--spotlight .gemshop-icon{width:56px;height:56px;font-size:1.6rem;border-radius:14px}
.gemshop-card--spotlight .gemshop-name{font-size:1.05rem}
.gemshop-card--spotlight .gemshop-buy{align-self:end;min-height:44px}
.gemshop-cards--rest{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}

/* Craft epic */
.craft-workshop--epic .craft-panel-bg{opacity:1;filter:saturate(1.14) contrast(1.05) brightness(.86)}
#panel-card.panel-craft .craft-recipe-card.can-craft .craft-plaque-ember{opacity:1}

@media (max-width:900px){
  .shop-hero{grid-template-columns:1fr}
  .shop-hero-art{max-height:140px}
  .shop-showcase-rail{grid-template-columns:repeat(3,minmax(200px,1fr));overflow-x:auto;display:flex}
  .shop-feature-card{flex:0 0 min(78vw,260px);min-height:160px}
  .market-hero{
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-areas:"back title seal" "stats stats stats";
  }
  .market-spotlight-rail{display:flex;overflow-x:auto;gap:8px}
  .market-spotlight-card{flex:0 0 min(78vw,240px)}
  .gemshop-card--spotlight{grid-template-columns:1fr}
  .gemshop-cards--rest{grid-template-columns:1fr}
}
@media (max-width:480px){
  .shop-tile-grid{grid-template-columns:1fr}
  .market-seal{width:44px;height:44px}
}

/* ═══ Laden-Tresen (Shop + Gemshop) ═══ */
.shop-store-head,.gemshop-store-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;
  flex-shrink:0;padding:2px 0 6px;
}
.shop-store-head-copy,.gemshop-store-head .gemshop-hero-copy{min-width:0}
.gemshop-store-head .gemshop-wallet{flex-direction:row;min-width:0;gap:8px}
.gemshop-store-head .gemshop-wallet-chip{padding:6px 8px}
.shop-wave--slim{padding:4px 0 2px!important;border:none!important;background:transparent!important}
.gemshop-active--slim{
  margin:0 0 8px;padding:6px 0;border:none;background:transparent;
  border-bottom:1px solid rgba(147,197,253,.12);
}

.shop-workshop--store .shop-panel-bg{
  opacity:.22;filter:saturate(.85) contrast(1.02) brightness(.45) blur(2px);
}
.shop-workshop--store .shop-panel-veil{
  background:linear-gradient(180deg,rgba(6,8,12,.62) 0%,rgba(6,8,12,.18) 22%,rgba(6,8,12,.08) 48%,rgba(4,5,10,.55) 100%);
}
.gemshop-shell--store .gemshop-panel-bg{
  opacity:.2!important;filter:saturate(.95) contrast(1.02) brightness(.42) blur(2px)!important;
}
#panel-card.panel-shop .shop-scroll-wrap,
.gemshop-shell--store .gemshop-scroll{
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;
}
.shop-storefront,.gemshop-storefront{
  position:relative;display:flex;flex-direction:column;
  flex:1 1 auto;min-height:min(68vh,620px);width:100%;
}
.shop-counter,.gemshop-counter{
  position:relative;flex:1 1 auto;min-height:min(58vh,540px);width:100%;
  border-radius:14px;overflow:hidden;
  box-shadow:0 18px 50px rgba(0,0,0,.45);
}
.shop-counter-img,.gemshop-counter-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;
  pointer-events:none;z-index:0;
  filter:saturate(1.06) contrast(1.05) brightness(.96);
}
.shop-counter-stage,.gemshop-counter-stage{
  position:absolute;z-index:2;
  left:5%;right:5%;
  top:28%;bottom:10%;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(112px,1fr));
  grid-auto-rows:minmax(120px,1fr);
  align-content:end;
  align-items:end;
  justify-items:center;
  gap:10px 14px;
  padding:8px 4px 4px;
  pointer-events:none;
}
.shop-counter-stage > .shop-good,
.gemshop-counter-stage > .gemshop-good{
  pointer-events:auto;
  max-width:140px;
}
.gemshop-counter-stage{
  top:34%;bottom:12%;
  grid-template-columns:repeat(auto-fit,minmax(118px,1fr));
}
.shop-good,.gemshop-good{
  position:relative;width:100%;min-width:0;
  display:flex;flex-direction:column;align-items:center;gap:2px;
  background:transparent!important;border:0!important;box-shadow:none!important;outline:none!important;
  padding:0;margin:0;cursor:pointer;color:inherit;font:inherit;line-height:1;
  transition:transform .16s ease;appearance:none;-webkit-appearance:none;
}
.shop-good:hover,.gemshop-good:hover{transform:translateY(-12px) scale(1.06)}
.shop-good:focus-visible,.gemshop-good:focus-visible{
  outline:2px solid rgba(232,197,71,.75)!important;outline-offset:6px;border-radius:10px;
}
.shop-good-sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;
}
.shop-good-price{
  position:relative;z-index:3;margin:0 0 4px;
  padding:3px 9px 4px;border-radius:4px;
  font-size:.7rem;font-weight:900;letter-spacing:.01em;color:#2a1a08;
  font-variant-numeric:tabular-nums;
  background:linear-gradient(180deg,#f3e0b0 0%,#c9953a 100%);
  border:1px solid rgba(90,55,20,.55);
  box-shadow:0 3px 0 rgba(70,40,10,.45),0 6px 12px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.35);
  white-space:nowrap;pointer-events:none;
}
.shop-good-price::before{
  content:'';position:absolute;left:50%;top:100%;transform:translateX(-50%);
  width:2px;height:8px;background:rgba(90,55,20,.55);
}
.gemshop-good-price{
  color:#061018;
  background:linear-gradient(180deg,#d7ebff 0%,#5b9de8 100%);
  border-color:rgba(30,80,150,.5);
  box-shadow:0 3px 0 rgba(20,50,100,.4),0 6px 12px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.4);
}
.shop-good-prop,.gemshop-good-prop{
  position:relative;width:100%;display:flex;flex-direction:column;align-items:center;z-index:1;
}
.shop-good-hook{display:none}
/* Legacy-Kreis nur außerhalb Zelda-Shops — Zelda nie mehr erben */
.shop-workshop--zelda .shop-good-sprite,
.shop-workshop--zelda .gemshop-good-sprite,
.gemshop-shell--zelda .shop-good-sprite,
.gemshop-shell--zelda .gemshop-good-sprite,
.market-workshop--zelda .shop-good-sprite{
  border-radius:0!important;
  background:none!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.45))!important;
}
.shop-good-sprite,.gemshop-good-sprite{
  width:min(7.4rem,22vw);height:min(7.4rem,22vw);display:grid;place-items:center;
  font-size:2.8rem;line-height:1;border-radius:50%;
  background:
    radial-gradient(ellipse 62% 40% at 50% 78%,rgba(0,0,0,.55),transparent 72%),
    radial-gradient(circle at 50% 42%,rgba(40,28,16,.55),rgba(10,8,6,.15) 58%,transparent 70%);
  filter:drop-shadow(0 16px 12px rgba(0,0,0,.55));
  border:none!important;box-shadow:none!important;
}
.shop-good-sprite .item-ico,
.gemshop-good-sprite .item-ico,
.gemshop-good-sprite .gemshop-ico{
  width:92%;height:92%;object-fit:contain;display:block;
  filter:drop-shadow(0 4px 3px rgba(0,0,0,.35));
  border-radius:10px;
}
.gemshop-good-sprite{
  background:
    radial-gradient(ellipse 62% 40% at 50% 78%,rgba(0,0,0,.5),transparent 72%),
    radial-gradient(circle at 50% 42%,rgba(30,60,110,.45),rgba(8,14,28,.2) 58%,transparent 72%);
  box-shadow:0 0 24px rgba(59,130,246,.22);
}
.shop-good-shadow,.gemshop-good-shadow{
  display:block;width:3.6rem;height:11px;margin-top:-6px;
  border-radius:50%;background:rgba(0,0,0,.55);filter:blur(3px);opacity:.9;
}
.shop-good.shop-locked,.gemshop-good.is-locked{opacity:.62;filter:saturate(.65) brightness(.9)}
.zelda-good.shop-soldout,
.shop-good.shop-soldout{
  opacity:.55;filter:grayscale(.35) brightness(.82);cursor:not-allowed!important;pointer-events:none;
}
.zelda-good.shop-soldout:hover,
.shop-good.shop-soldout:hover{
  transform:translate(-50%, -100%)!important;filter:grayscale(.35) brightness(.82);
}
.zelda-good .shop-good-price.is-soldout,
.shop-good .shop-good-price.is-soldout{
  background:linear-gradient(180deg,#c9c0b0,#9a9080)!important;color:#2a2218!important;
  border-color:rgba(40,30,20,.5)!important;
}
.zelda-good .shop-soldout-badge,
.shop-good .shop-soldout-badge{
  position:absolute;left:50%;top:42%;transform:translate(-50%,-50%) rotate(-8deg);
  z-index:6;pointer-events:none;
  font-size:clamp(.45rem,.9cqw,.62rem);font-weight:800;letter-spacing:.02em;text-transform:uppercase;
  color:#f5e6c8;background:rgba(40,18,10,.82);border:1px solid rgba(232,180,90,.45);
  padding:3px 7px;border-radius:4px;white-space:nowrap;
  box-shadow:0 2px 6px rgba(0,0,0,.45);
}
.zelda-break.is-lockpick:not(.is-broken){cursor:pointer}
.zelda-break.is-lockpick:not(.is-broken):hover{filter:brightness(1.12) drop-shadow(0 0 6px rgba(232,197,71,.35))}
.zelda-layout-check{
  display:flex;align-items:center;gap:8px;font-size:.78rem;color:#fff4dc;margin:4px 0;
}
.zelda-layout-check input{width:auto;accent-color:#e8c547}
.shop-good.quality-legendary .shop-good-sprite{filter:drop-shadow(0 0 14px rgba(168,85,247,.55)) drop-shadow(0 16px 12px rgba(0,0,0,.5))}
.shop-good.quality-ultimate .shop-good-sprite{filter:drop-shadow(0 0 14px rgba(245,158,11,.55)) drop-shadow(0 16px 12px rgba(0,0,0,.5))}
.shop-good.quality-rare .shop-good-sprite{filter:drop-shadow(0 0 12px rgba(59,130,246,.45)) drop-shadow(0 16px 12px rgba(0,0,0,.5))}
/* Zelda-Regal: Qualitäts-Glow ohne Kreis-Aura */
.zelda-good.quality-legendary .shop-good-sprite,
.zelda-good.quality-legendary .zelda-good-sprite{filter:drop-shadow(0 0 10px rgba(168,85,247,.4)) drop-shadow(0 2px 3px rgba(0,0,0,.45))!important}
.zelda-good.quality-ultimate .shop-good-sprite,
.zelda-good.quality-ultimate .zelda-good-sprite{filter:drop-shadow(0 0 10px rgba(245,158,11,.4)) drop-shadow(0 2px 3px rgba(0,0,0,.45))!important}
.zelda-good.quality-rare .shop-good-sprite,
.zelda-good.quality-rare .zelda-good-sprite{filter:drop-shadow(0 0 8px rgba(59,130,246,.35)) drop-shadow(0 2px 3px rgba(0,0,0,.45))!important}


.gemshop-active-emoji .gemshop-active-ico{width:1.6rem;height:1.6rem;object-fit:contain;display:block}
.shop-buy-modal{
  position:absolute;inset:0;z-index:50;
  display:flex;align-items:center;justify-content:center;
  padding:max(12px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom));
}
.shop-buy-modal.hidden{display:none!important}
.shop-buy-modal-backdrop{
  position:absolute;inset:0;background:rgba(2,4,8,.78);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.shop-buy-modal-panel{
  position:relative;z-index:1;width:min(100%,460px);max-height:min(90dvh,680px);
  display:flex;flex-direction:column;overflow:hidden;border-radius:18px;
  border:1px solid rgba(232,197,71,.28);
  background:#0a0c12;
  box-shadow:0 28px 70px rgba(0,0,0,.6);
}
.shop-buy-modal-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0;
  background:rgba(8,10,14,.92);
}
.shop-buy-modal-head strong{font-family:Cinzel,Georgia,serif;color:#fde68a;font-size:.9rem}
.shop-buy-modal-body{
  overflow-y:auto;min-height:0;flex:1 1 auto;
  display:flex;flex-direction:column;
}
.shop-buy-stage{
  position:relative;height:min(42vh,260px);flex-shrink:0;overflow:hidden;
}
.shop-buy-stage-bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;
}
.shop-buy-stage-veil{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.08),transparent 40%,rgba(8,10,16,.72) 82%,rgba(8,10,16,.98));
  pointer-events:none;
}
.shop-buy-stage-item{
  position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);
  width:7.2rem;height:7.2rem;display:grid;place-items:center;font-size:3.6rem;
  filter:drop-shadow(0 18px 22px rgba(0,0,0,.65));
  z-index:2;animation:shopBuyPop .35s ease;
}
@keyframes shopBuyPop{
  from{opacity:0;transform:translate(-50%,-42%) scale(.86)}
  to{opacity:1;transform:translate(-50%,-50%) scale(1)}
}
.shop-buy-stage-item .item-ico,
.shop-buy-stage-item .gemshop-ico{width:100%;height:100%;object-fit:contain}
.gemshop-buy-stage .shop-buy-stage-item,
.gemshop-buy-stage-item{
  top:50%;width:6.4rem;height:6.4rem;font-size:3.1rem;
  border-radius:50%;
  background:radial-gradient(circle at 40% 30%,rgba(147,197,253,.28),rgba(30,58,110,.25) 65%,transparent 72%);
  box-shadow:0 0 32px rgba(59,130,246,.35);
}
.shop-buy-info{
  padding:12px 16px 16px;display:flex;flex-direction:column;gap:10px;
  background:linear-gradient(180deg,rgba(10,12,18,.98),rgba(8,10,14,1));
}
.shop-buy-name{
  margin:0;font-family:Cinzel,Georgia,serif;font-size:1.12rem;font-weight:800;color:#fff4dc;
  text-shadow:0 2px 12px rgba(0,0,0,.4);
}
.shop-buy-desc{margin:0;font-size:.78rem;line-height:1.45;color:rgba(226,232,240,.82)}
.shop-buy-footer{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;
  margin-top:4px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);
}
.shop-price-chip--lg{font-size:.9rem;padding:6px 12px}
.shop-buy-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.shop-buy-actions .shop-buy-row{display:flex;flex-wrap:wrap;gap:6px}
.shop-buy-actions .btn,.shop-buy-actions .gemshop-buy{min-width:7.5rem}

@media (max-width:900px){
  .shop-counter-stage,.gemshop-counter-stage{
    top:30%;bottom:8%;
    grid-template-columns:repeat(auto-fit,minmax(96px,1fr));
    gap:8px 10px;
  }
  .shop-good-sprite,.gemshop-good-sprite{width:min(6.2rem,26vw);height:min(6.2rem,26vw)}
}
@media (max-width:480px){
  .shop-counter,.gemshop-counter{min-height:min(52vh,420px);border-radius:10px}
  .shop-counter-stage,.gemshop-counter-stage{
    left:2%;right:2%;top:26%;
    grid-template-columns:repeat(auto-fit,minmax(84px,1fr));
  }
  .shop-good-sprite,.gemshop-good-sprite{width:min(5.6rem,28vw);height:min(5.6rem,28vw)}
  .shop-buy-modal-panel{width:100%;max-height:min(94dvh,720px);border-radius:16px 16px 8px 8px}
  .shop-buy-modal{align-items:flex-end;padding:0}
  .shop-buy-stage{height:min(36vh,220px)}
}



/* Zelda-Shop / Markt: echtes Vollbild ohne Topbar / Hub-BG */
html.rpg-shop-fs,
html.rpg-gemshop-fs,
html.rpg-market-fs,
body.rpg-shop-fs,
body.rpg-gemshop-fs,
body.rpg-market-fs{
  background:#07060a!important;
}
body.rpg-shop-fs .top-bar,
body.rpg-gemshop-fs .top-bar,
body.rpg-market-fs .top-bar,
body.rpg-shop-fs #top-bar,
body.rpg-gemshop-fs #top-bar,
body.rpg-market-fs #top-bar,
html.rpg-shop-fs .top-bar,
html.rpg-gemshop-fs .top-bar,
html.rpg-market-fs .top-bar,
html.rpg-shop-fs #top-bar,
html.rpg-gemshop-fs #top-bar,
html.rpg-market-fs #top-bar,
html.abenteuer-app body.rpg-shop-fs .top-bar,
html.abenteuer-app body.rpg-shop-fs #top-bar,
html.flix-rpg-web body.rpg-shop-fs .top-bar,
html.flix-rpg-web body.rpg-shop-fs #top-bar{
  display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;height:0!important;overflow:hidden!important;
}
body.rpg-shop-fs #app,
body.rpg-gemshop-fs #app,
body.rpg-market-fs #app,
html.rpg-shop-fs body.screen-panel #app,
html.rpg-gemshop-fs body.screen-panel #app,
html.rpg-market-fs body.screen-panel #app{
  padding:0!important;margin:0!important;
  height:100dvh!important;max-height:100dvh!important;min-height:100dvh!important;
  width:100vw!important;max-width:100vw!important;
  overflow:hidden!important;background:#07060a!important;
}
/* PC-Scale: #app-Maße nur per JS-Stage — 100dvh/100vw unter scale() erzeugt Unterkanten-Letterbox */
html.flix-rpg-pc-scale body.rpg-shop-fs #app,
html.flix-rpg-pc-scale body.rpg-gemshop-fs #app,
html.flix-rpg-pc-scale body.rpg-market-fs #app,
html.flix-rpg-pc-scale.rpg-shop-fs body.screen-panel #app,
html.flix-rpg-pc-scale.rpg-gemshop-fs body.screen-panel #app,
html.flix-rpg-pc-scale.rpg-market-fs body.screen-panel #app{
  width:auto!important;height:auto!important;
  max-width:none!important;max-height:none!important;
  min-width:0!important;min-height:0!important;
}
body.rpg-shop-fs #screen-panel:not(.hidden),
body.rpg-gemshop-fs #screen-panel:not(.hidden),
body.rpg-market-fs #screen-panel:not(.hidden),
html.rpg-shop-fs body.screen-panel #screen-panel:not(.hidden),
html.rpg-gemshop-fs body.screen-panel #screen-panel:not(.hidden),
html.rpg-market-fs body.screen-panel #screen-panel:not(.hidden),
body.screen-panel:has(#panel-card.panel-shop) #screen-panel:not(.hidden),
body.screen-panel:has(#panel-card.panel-gemshop) #screen-panel:not(.hidden),
body.screen-panel:has(#panel-card.panel-market) #screen-panel:not(.hidden){
  position:fixed!important;inset:0!important;z-index:20060!important;
  height:100dvh!important;max-height:100dvh!important;min-height:100dvh!important;
  width:100vw!important;max-width:100vw!important;
  margin:0!important;padding:0!important;
  background:#07060a!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;overflow:hidden!important;
}
/* PC-Scale: Panel füllt die Design-Stage (100%), nicht den physikalischen Viewport (100dvh) */
html.flix-rpg-pc-scale body.rpg-shop-fs #screen-panel:not(.hidden),
html.flix-rpg-pc-scale body.rpg-gemshop-fs #screen-panel:not(.hidden),
html.flix-rpg-pc-scale body.rpg-market-fs #screen-panel:not(.hidden),
html.flix-rpg-pc-scale body.screen-panel:has(#panel-card.panel-shop) #screen-panel:not(.hidden),
html.flix-rpg-pc-scale body.screen-panel:has(#panel-card.panel-gemshop) #screen-panel:not(.hidden),
html.flix-rpg-pc-scale body.screen-panel:has(#panel-card.panel-market) #screen-panel:not(.hidden){
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  min-height:0!important;min-width:0!important;
}
body.rpg-shop-fs #panel-card.panel-shop,
body.rpg-gemshop-fs #panel-card.panel-gemshop,
body.rpg-market-fs #panel-card.panel-market,
body.screen-panel:has(#panel-card.panel-shop) #panel-card.panel-shop,
body.screen-panel:has(#panel-card.panel-gemshop) #panel-card.panel-gemshop,
body.screen-panel:has(#panel-card.panel-market) #panel-card.panel-market{
  position:absolute!important;inset:0!important;
  height:100%!important;max-height:none!important;min-height:100%!important;
  width:100%!important;max-width:none!important;
  margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  background:#07060a!important;overflow:hidden!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body.rpg-shop-fs .activity-bg-overlay,
body.rpg-gemshop-fs .activity-bg-overlay,
body.rpg-market-fs .activity-bg-overlay,
body.rpg-shop-fs .screen-fx-layer,
body.rpg-gemshop-fs .screen-fx-layer,
body.rpg-market-fs .screen-fx-layer,
body.rpg-shop-fs .hub-bg,
body.rpg-gemshop-fs .hub-bg,
body.rpg-market-fs .hub-bg,
body.rpg-shop-fs .hub-atmosphere,
body.rpg-gemshop-fs .hub-atmosphere,
body.rpg-market-fs .hub-atmosphere,
body.rpg-shop-fs #hub-bg,
body.rpg-gemshop-fs #hub-bg,
body.rpg-market-fs #hub-bg{
  display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;
}
body.rpg-shop-fs .shop-workshop--zelda,
body.rpg-gemshop-fs .gemshop-shell--zelda,
body.rpg-market-fs .market-workshop--zelda{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
}


/* ═══ Zelda-Laden-Szene ═══ */
.shop-workshop--zelda,
.gemshop-shell--zelda,
.market-workshop--zelda{
  position:relative;display:flex;flex-direction:column;
  flex:1 1 auto;min-height:0;height:100%;width:100%;overflow:hidden;
  border:none;background:#07060a;box-shadow:none;padding:0;
}
.zelda-scene{
  position:absolute;inset:0;width:100%;height:100%;
  overflow:hidden;background:#0a0806;
  container-type:size;
  /* Stage zentrieren — ganze 16:9-Szene sichtbar, Props/% bleiben auf den Brettern */
  display:grid;place-items:center;
}
/*
 * Shop/Markt/Gem: 16:9-Stage als Cover (Vollbild, kein Letterbox).
 * Props/Ware/NPC in % der Stage → skalieren 1:1 mit der Raumgrafik.
 * data-shop-stage-fit=contain bleibt als Opt-out (ganze Szene sichtbar).
 */
.zelda-stage{
  --zelda-art-ar:16 / 9;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  aspect-ratio:auto;
  overflow:hidden;
  transform-style:flat;
  margin:0;
  flex:none;
  /* Overlays (Welle, HUD, Blase, Preise …) relativ zur 16:9-Stage — nicht rem/vw */
  container-type:size;
  container-name:zelda-stage;
}
.zelda-scene-bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:fill;object-position:center center;
  background:#0a0806;
  pointer-events:none;z-index:0;
  filter:saturate(1.06) contrast(1.04);
  transition:filter .35s ease;
}
.shop-workshop--zelda.is-layered .zelda-scene,
.gemshop-shell--zelda .zelda-scene,
.market-workshop--zelda .zelda-scene{
  display:grid;place-items:center;
  position:absolute;inset:0;width:100%;height:100%;
  background:#0a0806;
}
.shop-workshop--zelda.is-layered .zelda-stage,
.gemshop-shell--zelda .zelda-stage,
.market-workshop--zelda .zelda-stage{
  position:absolute;inset:0;
  width:100%;
  height:100%;
  max-width:none;max-height:none;
  aspect-ratio:auto;
  flex:none;margin:0;
}
.shop-workshop--zelda.is-layered .zelda-scene-bg,
.gemshop-shell--zelda .zelda-scene-bg,
.market-workshop--zelda .zelda-scene-bg{
  object-fit:fill!important;object-position:center center!important;
}
/* PC-Scale Default: 16:9-Cover (Vollbild, kein Letterbox an den Seiten) */
html.flix-rpg-pc-scale body.rpg-shop-fs .zelda-scene,
html.flix-rpg-pc-scale body.rpg-market-fs .zelda-scene,
html.flix-rpg-pc-scale body.rpg-gemshop-fs .zelda-scene{
  display:grid!important;place-items:center!important;
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
}
html.flix-rpg-pc-scale .shop-workshop--zelda .zelda-stage,
html.flix-rpg-pc-scale .gemshop-shell--zelda .zelda-stage,
html.flix-rpg-pc-scale .market-workshop--zelda .zelda-stage,
html.flix-rpg-pc-scale body.rpg-shop-fs .zelda-stage,
html.flix-rpg-pc-scale body.rpg-market-fs .zelda-stage,
html.flix-rpg-pc-scale body.rpg-gemshop-fs .zelda-stage{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  aspect-ratio:auto!important;margin:0!important;transform:none!important;
}
/* PC (nicht APK/Mobile): Shop/Markt/Gem — Cover Vollbild.
 * Host/Scene dark full-bleed (#0a0806). Opt-out: data-shop-stage-fit=contain.
 * APK/Mobile: weiterhin Contain in abenteuer-apk-only.css. */
html.flix-rpg-pc-scale:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-shop-fs .zelda-scene,
html.flix-rpg-pc-scale:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-market-fs .zelda-scene,
html.flix-rpg-pc-scale:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-gemshop-fs .zelda-scene,
html.flix-rpg-pc-scale:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .shop-workshop--zelda .zelda-scene,
html.flix-rpg-pc-scale:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .gemshop-shell--zelda .zelda-scene,
html.flix-rpg-pc-scale:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .market-workshop--zelda .zelda-scene,
html[data-desktop-web="1"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-shop-fs .zelda-scene,
html[data-desktop-web="1"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-market-fs .zelda-scene,
html[data-desktop-web="1"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-gemshop-fs .zelda-scene,
html[data-desktop-web="1"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .shop-workshop--zelda .zelda-scene,
html[data-desktop-web="1"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .gemshop-shell--zelda .zelda-scene,
html[data-desktop-web="1"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .market-workshop--zelda .zelda-scene,
html.flix-rpg-pc-scale[data-shop-stage-fit="cover"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-shop-fs .zelda-scene,
html.flix-rpg-pc-scale[data-shop-stage-fit="cover"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-market-fs .zelda-scene,
html.flix-rpg-pc-scale[data-shop-stage-fit="cover"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-gemshop-fs .zelda-scene,
html.flix-rpg-pc-scale[data-shop-stage-fit="cover"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .shop-workshop--zelda .zelda-scene,
html.flix-rpg-pc-scale[data-shop-stage-fit="cover"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .gemshop-shell--zelda .zelda-scene,
html.flix-rpg-pc-scale[data-shop-stage-fit="cover"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .market-workshop--zelda .zelda-scene,
html.flix-rpg-pc-scale[data-shop-stage-fit="contain"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-shop-fs .zelda-scene,
html.flix-rpg-pc-scale[data-shop-stage-fit="contain"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-market-fs .zelda-scene,
html.flix-rpg-pc-scale[data-shop-stage-fit="contain"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-gemshop-fs .zelda-scene,
html.flix-rpg-pc-scale[data-shop-stage-fit="contain"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .shop-workshop--zelda .zelda-scene,
html.flix-rpg-pc-scale[data-shop-stage-fit="contain"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .gemshop-shell--zelda .zelda-scene,
html.flix-rpg-pc-scale[data-shop-stage-fit="contain"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .market-workshop--zelda .zelda-scene{
  display:grid!important;place-items:center!important;
  overflow:hidden!important;background:#0a0806!important;
}
html.flix-rpg-pc-scale:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .shop-workshop--zelda .zelda-stage,
html.flix-rpg-pc-scale:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .gemshop-shell--zelda .zelda-stage,
html.flix-rpg-pc-scale:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .market-workshop--zelda .zelda-stage,
html.flix-rpg-pc-scale:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-shop-fs .zelda-stage,
html.flix-rpg-pc-scale:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-market-fs .zelda-stage,
html.flix-rpg-pc-scale:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-gemshop-fs .zelda-stage,
html[data-desktop-web="1"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .shop-workshop--zelda .zelda-stage,
html[data-desktop-web="1"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .gemshop-shell--zelda .zelda-stage,
html[data-desktop-web="1"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .market-workshop--zelda .zelda-stage,
html[data-desktop-web="1"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-shop-fs .zelda-stage,
html[data-desktop-web="1"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-market-fs .zelda-stage,
html[data-desktop-web="1"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-gemshop-fs .zelda-stage,
html.flix-rpg-pc-scale[data-shop-stage-fit="cover"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .shop-workshop--zelda .zelda-stage,
html.flix-rpg-pc-scale[data-shop-stage-fit="cover"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .gemshop-shell--zelda .zelda-stage,
html.flix-rpg-pc-scale[data-shop-stage-fit="cover"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .market-workshop--zelda .zelda-stage,
html.flix-rpg-pc-scale[data-shop-stage-fit="cover"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-shop-fs .zelda-stage,
html.flix-rpg-pc-scale[data-shop-stage-fit="cover"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-market-fs .zelda-stage,
html.flix-rpg-pc-scale[data-shop-stage-fit="cover"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-gemshop-fs .zelda-stage{
  position:absolute!important;inset:0!important;
  left:0!important;right:0!important;top:0!important;bottom:0!important;
  width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  aspect-ratio:auto!important;margin:0!important;
  transform:none!important;
}
html.flix-rpg-pc-scale[data-shop-stage-fit="contain"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .shop-workshop--zelda .zelda-stage,
html.flix-rpg-pc-scale[data-shop-stage-fit="contain"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .gemshop-shell--zelda .zelda-stage,
html.flix-rpg-pc-scale[data-shop-stage-fit="contain"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) .market-workshop--zelda .zelda-stage,
html.flix-rpg-pc-scale[data-shop-stage-fit="contain"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-shop-fs .zelda-stage,
html.flix-rpg-pc-scale[data-shop-stage-fit="contain"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-market-fs .zelda-stage,
html.flix-rpg-pc-scale[data-shop-stage-fit="contain"]:not([data-abenteuer-apk="1"]):not([data-mobile-shell="1"]):not(.flix-rpg-mobile) body.rpg-gemshop-fs .zelda-stage{
  position:relative!important;inset:auto!important;
  left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  width:min(100cqw, calc(100cqh * 16 / 9))!important;
  height:min(100cqh, calc(100cqw * 9 / 16))!important;
  max-width:100%!important;max-height:100%!important;
  aspect-ratio:16 / 9!important;margin:0!important;
  transform:none!important;
}
html.flix-rpg-pc-scale body.rpg-shop-fs #top-bar,
html.flix-rpg-pc-scale body.rpg-market-fs #top-bar,
html.flix-rpg-pc-scale body.rpg-gemshop-fs #top-bar,
body.rpg-shop-fs #top-bar,
body.rpg-market-fs #top-bar,
body.rpg-gemshop-fs #top-bar,
body.screen-panel:has(#panel-card.panel-shop) #top-bar,
body.screen-panel:has(#panel-card.panel-market) #top-bar,
body.screen-panel:has(#panel-card.panel-gemshop) #top-bar,
body.rpg-shop-fs .top-bar,
body.rpg-market-fs .top-bar,
body.rpg-gemshop-fs .top-bar{
  display:none!important;visibility:hidden!important;pointer-events:none!important;
  height:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;
}
/* Shop: Gesicht/Hände-Overlay über idle-Szene (kein Vollszenen-Swap → kein Doppel-Tisch) */
.zelda-npc-expr{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;object-position:center center;
  pointer-events:none;z-index:2;
  opacity:0;transition:opacity .2s ease;
  background:transparent!important;border:0!important;
}
.zelda-npc-expr.is-on{opacity:1}
/* Default: Vollszene. Layer-Shop/Markt/Gem: Sprites an */
.zelda-npc-sprite,
.zelda-door-leaf{display:none!important}
.shop-workshop--zelda.is-layered .zelda-npc-sprite,
.market-workshop--zelda.is-layered .zelda-npc-sprite,
.gemshop-shell--zelda.is-layered .zelda-npc-sprite,
.shop-workshop--zelda.is-layered .zelda-stage.is-npc-talking .zelda-npc-sprite,
.market-workshop--zelda.is-layered .zelda-stage.is-npc-talking .zelda-npc-sprite,
.gemshop-shell--zelda.is-layered .zelda-stage.is-npc-talking .zelda-npc-sprite{
  display:block!important;position:absolute;visibility:visible!important;opacity:1;
  object-fit:fill;object-position:center bottom;
  max-width:none;max-height:none;
  pointer-events:none;z-index:var(--zelda-z);background:transparent!important;border:0!important;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.35));
  animation:none!important;transition:none!important;
}
.gemshop-shell--zelda.is-layered .zelda-npc-sprite,
.gemshop-shell--zelda.is-layered .zelda-npc-sprite--crystal_keeper{
  object-fit:fill!important;object-position:center bottom!important;
  animation:none!important;transition:none!important;
}
.shop-workshop--zelda.is-layered .zelda-npc-sprite,
.shop-workshop--zelda.is-layered .zelda-npc-sprite--elf_merchant{
  object-fit:fill!important;object-position:center bottom!important;
  animation:none!important;transition:none!important;
}
/* Körper hinter Theke; Hands-Overlay nur beim Anbieten — Shop und Gem getrennt */
.shop-workshop--zelda.is-layered .zelda-npc-hands{
  display:none;position:absolute;
  object-fit:fill;object-position:center bottom;
  max-width:none;max-height:none;
  pointer-events:none;
  z-index:var(--zelda-hands-z, var(--zelda-z));
  background:transparent!important;border:0!important;
  opacity:0;transition:opacity .18s ease;
  filter:brightness(.93) contrast(1.03) saturate(.98);
  -webkit-mask-image:none;
  mask-image:none;
}
.gemshop-shell--zelda.is-layered .zelda-npc-hands{
  display:none;position:absolute;
  object-fit:fill;object-position:center bottom;
  max-width:none;max-height:none;
  overflow:visible;
  height:var(--zelda-hands-h, auto);
  pointer-events:none;
  z-index:var(--zelda-hands-z, var(--zelda-z));
  background:transparent!important;border:0!important;
  opacity:0;transition:opacity .18s ease;
  filter:brightness(.93) contrast(1.03) saturate(.98);
  -webkit-mask-image:none;
  mask-image:none;
}
.shop-workshop--zelda.is-layered .zelda-stage:not(.is-zelda-offer) .zelda-npc-hands{
  display:none!important;opacity:0;
}
.gemshop-shell--zelda.is-layered .zelda-stage:not(.is-zelda-offer) .zelda-npc-hands{
  display:none!important;opacity:0;
}
.shop-workshop--zelda.is-layered .zelda-stage.is-zelda-offer .zelda-npc-hands.is-on{
  display:block!important;opacity:1;
  z-index:var(--zelda-hands-z, var(--zelda-z))!important;
}
/* Present: Körper bleibt hinter der Theke — Gürtel nicht auf den Läufer heben */
.shop-workshop--zelda.is-layered .zelda-stage.is-zelda-offer .zelda-npc-sprite,
.shop-workshop--zelda.is-layered .zelda-stage.is-zelda-offer .zelda-npc-sprite--elf_merchant{
  z-index:var(--zelda-z)!important;
}
.shop-workshop--zelda.is-layered .zelda-counter-fg{
  opacity:1!important;
  mix-blend-mode:normal!important;
}
.gemshop-shell--zelda.is-layered .zelda-stage.is-zelda-offer .zelda-npc-sprite,
.gemshop-shell--zelda.is-layered .zelda-stage.is-zelda-offer .zelda-npc-sprite--crystal_keeper{
  z-index:var(--zelda-z)!important;
}
.gemshop-shell--zelda.is-layered .zelda-stage.is-zelda-offer .zelda-npc-hands.is-on{
  display:block!important;opacity:1;
  overflow:visible!important;
  object-fit:fill!important;
  object-position:center bottom!important;
  z-index:var(--zelda-hands-z, var(--zelda-z))!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  filter:brightness(.93) contrast(1.03) saturate(.98) drop-shadow(0 4px 6px rgba(0,0,0,.50));
}
.shop-workshop--zelda.is-layered .zelda-stage.is-zelda-offer .zelda-offer-item{
  z-index:12;
}
.gemshop-shell--zelda.is-layered .zelda-stage.is-zelda-offer .zelda-offer-item{
  z-index:12;
}
/* Welle-Banner unter Present-Item — kein Clip der Robe */
.shop-workshop--zelda.is-layered .zelda-stage.is-zelda-offer .zelda-wave-plaque{
  z-index:5;
}
/* Shop: keine Türgrafik — nur Exit-Glow auf dem Gang */
.shop-workshop--zelda.is-layered .zelda-door-leaf{display:none!important}
.shop-workshop--zelda.is-layered .zelda-door-open-layer{display:none!important}
.shop-workshop--zelda.is-layered .zelda-door-hall{display:none!important}
.shop-workshop--zelda.is-layered .zelda-door{
  background:transparent!important;border:0!important;box-shadow:none!important;
  outline:none!important;z-index:var(--zelda-z);overflow:visible;
}
/* Exit: kein Blob/Glow — nur dezente Aufhellung des dunklen Gangs */
.shop-workshop--zelda.is-layered .zelda-door--exit-glow .zelda-exit-glow{
  position:absolute;inset:0;
  pointer-events:none;border-radius:0;
  opacity:0;
  background:linear-gradient(90deg,
    rgba(255,236,200,.16) 0%,
    rgba(255,220,170,.08) 55%,
    transparent 100%);
  mix-blend-mode:soft-light;
  filter:none;
  transition:opacity .22s ease;
}
.shop-workshop--zelda.is-layered .zelda-door--exit-glow:hover .zelda-exit-glow,
.shop-workshop--zelda.is-layered .zelda-door--exit-glow.is-open .zelda-exit-glow,
.shop-workshop--zelda.is-layered .zelda-door--exit-glow:focus-visible .zelda-exit-glow{
  opacity:1;
}
/* Gemshop / Markt: Tür aus BG geschnitten — Exit-Glow wie Shop */
.gemshop-shell--zelda .zelda-door--exit-glow,
.market-workshop--zelda .zelda-door--exit-glow{
  background:transparent!important;border:0!important;box-shadow:none!important;
  outline:none!important;z-index:var(--zelda-z);overflow:visible;
}
.gemshop-shell--zelda .zelda-door--exit-glow .zelda-exit-glow,
.market-workshop--zelda .zelda-door--exit-glow .zelda-exit-glow{
  position:absolute;inset:0;
  pointer-events:none;border-radius:0;
  opacity:0;
  background:linear-gradient(90deg,
    rgba(255,236,200,.16) 0%,
    rgba(255,220,170,.08) 55%,
    transparent 100%);
  mix-blend-mode:soft-light;
  filter:none;
  transition:opacity .22s ease;
}
/* Rechte Tür (Gem): Glow von links (Raum) in die Nische */
.gemshop-shell--zelda .zelda-door--exit-glow.zelda-door--right .zelda-exit-glow{
  background:linear-gradient(270deg,
    rgba(255,236,200,.18) 0%,
    rgba(255,220,170,.09) 55%,
    transparent 100%);
}
.gemshop-shell--zelda .zelda-door--exit-glow:hover .zelda-exit-glow,
.gemshop-shell--zelda .zelda-door--exit-glow.is-open .zelda-exit-glow,
.gemshop-shell--zelda .zelda-door--exit-glow:focus-visible .zelda-exit-glow{
  opacity:1;
}
/* Edelstein / Markt: Lit immer Farbe (Rahmen). Innen-Layer = schwarzes Loch, Hover weg. */
.gemshop-shell--zelda.is-layered .zelda-door--hall-glow,
.market-workshop--zelda.is-layered .zelda-door--hall-glow{
  background:transparent!important;border:0!important;box-shadow:none!important;
  outline:none!important;overflow:hidden!important;padding:0;margin:0;
  z-index:var(--zelda-z);
  cursor:pointer;
  isolation:isolate;
  appearance:none;-webkit-appearance:none;
  -webkit-tap-highlight-color:transparent;
  filter:none!important;transform:none!important;
}
.gemshop-shell--zelda.is-layered .zelda-door--hall-glow::-moz-focus-inner,
.market-workshop--zelda.is-layered .zelda-door--hall-glow::-moz-focus-inner{
  border:0!important;outline:none!important;padding:0;
}
.gemshop-shell--zelda.is-layered .zelda-door--hall-glow{
  border-radius:0;
}
.market-workshop--zelda.is-layered .zelda-door--hall-glow{
  border-radius:0;
}
.gemshop-shell--zelda.is-layered .zelda-hall-dark,
.market-workshop--zelda.is-layered .zelda-hall-dark{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.gemshop-shell--zelda.is-layered .zelda-hall-lit,
.gemshop-shell--zelda.is-layered .zelda-hall-inner,
.market-workshop--zelda.is-layered .zelda-hall-lit,
.market-workshop--zelda.is-layered .zelda-hall-inner{
  position:absolute;inset:0;left:0;top:0;right:0;bottom:0;
  width:100%;height:100%;
  object-fit:fill!important;object-position:center center!important;
  max-width:none!important;max-height:none!important;
  pointer-events:none;display:block;
  border-radius:inherit;
  box-shadow:none!important;outline:none!important;border:0!important;
  transform:none!important;
  background:transparent!important;
}
.gemshop-shell--zelda.is-layered .zelda-hall-lit,
.market-workshop--zelda.is-layered .zelda-hall-lit{
  z-index:1;
  opacity:1;
  filter:none;
}
.gemshop-shell--zelda.is-layered .zelda-hall-inner,
.market-workshop--zelda.is-layered .zelda-hall-inner{
  z-index:2;
  opacity:1;
  filter:none;
  transition:opacity .25s ease;
}
.gemshop-shell--zelda.is-layered .zelda-door--hall-glow:hover .zelda-hall-inner,
.gemshop-shell--zelda.is-layered .zelda-door--hall-glow.is-open .zelda-hall-inner,
.gemshop-shell--zelda.is-layered .zelda-door--hall-glow:focus .zelda-hall-inner,
.gemshop-shell--zelda.is-layered .zelda-door--hall-glow:focus-visible .zelda-hall-inner,
.market-workshop--zelda.is-layered .zelda-door--hall-glow:hover .zelda-hall-inner,
.market-workshop--zelda.is-layered .zelda-door--hall-glow.is-open .zelda-hall-inner,
.market-workshop--zelda.is-layered .zelda-door--hall-glow:focus .zelda-hall-inner,
.market-workshop--zelda.is-layered .zelda-door--hall-glow:focus-visible .zelda-hall-inner{
  opacity:0;
}
.gemshop-shell--zelda.is-layered .zelda-counter-fg--gem{
  z-index:var(--zelda-z);
  object-fit:fill;object-position:center bottom;
  opacity:1!important;
  mix-blend-mode:normal!important;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.34));
}
.gemshop-anger-timer{
  display:inline-block;margin-top:2px;
  padding:.12em .55em;
  border-radius:999px;
  font-size:.72rem;font-weight:800;letter-spacing:.02em;
  color:#ffe8e4;
  background:linear-gradient(180deg,rgba(140,32,28,.72),rgba(70,12,12,.78));
  border:1px solid rgba(255,180,160,.35);
  text-shadow:0 1px 2px rgba(0,0,0,.45);
}
.gemshop-anger-timer.is-calm,
.gemshop-anger-timer[hidden]{display:none!important}
.gemshop-fly-gem{
  position:absolute;left:-10%;top:var(--gem-fly-y,28%);
  width:4.6%;z-index:14;
  border:0;padding:0;margin:0;background:transparent;
  cursor:pointer;appearance:none;-webkit-appearance:none;
  animation:gemshop-fly-across 5.1s linear forwards;
  filter:drop-shadow(0 0 10px rgba(80,210,255,.9));
}
.gemshop-fly-gem img{width:100%;height:auto;display:block;pointer-events:none}
.gemshop-fly-gem.is-caught{
  animation:gemshop-fly-catch .28s ease forwards;
}
@keyframes gemshop-fly-across{
  0%{left:-8%;transform:translateY(0) rotate(0deg) scale(.72)}
  22%{transform:translateY(-14px) rotate(50deg) scale(1)}
  52%{left:48%;transform:translateY(8px) rotate(190deg) scale(1.08)}
  100%{left:108%;transform:translateY(-8px) rotate(360deg) scale(.7)}
}
@keyframes gemshop-fly-catch{
  0%{transform:scale(1);opacity:1}
  100%{transform:scale(1.7) translateY(-18px);opacity:0}
}
.zelda-prop-layer{
  position:absolute;box-sizing:border-box;
  object-fit:fill;object-position:center bottom;
  pointer-events:none;z-index:var(--zelda-z);background:transparent!important;border:0!important;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.28));
  max-width:none;max-height:none;
}
.zelda-counter-fg{
  position:absolute;object-fit:fill;object-position:center bottom;
  max-width:none;max-height:none;
  pointer-events:none;z-index:var(--zelda-z);background:transparent!important;border:0!important;
  outline:none!important;box-shadow:none!important;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.28));
}
.market-workshop--zelda.is-layered .zelda-counter-fg--market{
  z-index:var(--zelda-z);
  opacity:1!important;
  mix-blend-mode:normal!important;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.22));
  outline:none!important;border:0!important;box-shadow:none!important;
}
.market-workshop--zelda.is-layered .zelda-npc-sprite{z-index:var(--zelda-z)}
.shop-workshop--zelda.is-layered .zelda-break{z-index:var(--zelda-z)}
.shop-workshop--zelda.is-layered .zelda-npc-hit{z-index:var(--zelda-z)}
.gemshop-shell--zelda.is-layered .zelda-npc-hit{z-index:var(--zelda-z)}
.market-workshop--zelda.is-layered .zelda-npc-hit{
  z-index:var(--zelda-z);
  pointer-events:auto;
  /* Volle Layout-Box (Körper über der Theke) — kein Face-Clip */
  clip-path:none;
  -webkit-clip-path:none;
}
/* Ware über NPC-Hit, Overlay selbst ohne Pointer — Theke/Aushang bleiben klickbar */
.market-workshop--zelda .zelda-slots{
  z-index:6;
}
/* Wellen-Plakette — Text nur in der hellen Pergamentfläche */
.zelda-wave-plaque{
  position:absolute;z-index:var(--zelda-z);pointer-events:none;
  left:52.6%;top:58.5%;
  width:11.2%;height:9.2%;
  transform:translateX(-50%);
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.5));
  container-type:size;
  container-name:zelda-wave;
  overflow:visible;
  font-size:6px;
  font-size:1cqh;
}
.zelda-wave-plaque-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:fill;object-position:center center;
  display:block;
  pointer-events:none;
}
.zelda-wave-plaque-text{
  position:absolute;
  /* Pergament: unter Stern-Medaillon, Text sichtbar (leicht nach oben) */
  left:10%;right:10%;top:33%;bottom:10%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:0;
  text-align:center;color:#3a2410;
  overflow:hidden;box-sizing:border-box;
  pointer-events:none;
  line-height:1;
  transform:translateY(-2%);
  padding:0;
}
.zelda-wave-plaque-text strong{
  font-family:Cinzel,Georgia,"Times New Roman",serif;
  /* an Plakettenhöhe koppeln — nicht rem (APK-Root-Font bläht rem auf) */
  /* vorher: clamp(9px, 40cqh, 18px) — APK/Shop noch zu klein */
  font-size:14px;
  font-size:clamp(12px, 52cqh, 24px);
  font-weight:800;letter-spacing:.01em;line-height:1.05;
  text-shadow:0 1px 0 rgba(255,240,200,.45);
  max-width:100%;
  white-space:nowrap;
  margin:0;padding:0;
  overflow:hidden;text-overflow:clip;
}
.zelda-wave-plaque-text span{
  font-family:Cinzel,Georgia,"Times New Roman",serif;
  /* vorher: clamp(7px, 28cqh, 14px) */
  font-size:11px;
  font-size:clamp(10px, 38cqh, 18px);
  font-weight:700;line-height:1.05;
  color:#5a3a18;opacity:.92;
  max-width:100%;
  white-space:nowrap;
  margin:0;padding:0;
  overflow:hidden;text-overflow:clip;
}
/* Hängeschild — Fallback; Live-Größe aus Layout (z hinter NPC: Default 2 < npc 3) */
.zelda-hanging-sign{
  position:absolute;z-index:var(--zelda-z, 2);pointer-events:none;
  left:52.4%;top:0.6%;
  width:16%;height:11%;
  transform:translateX(-50%);
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.55));
}
.zelda-hanging-sign-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:fill;object-position:center top;
  max-width:none;max-height:none;
  display:block;
}
.zelda-hanging-sign-text{display:none!important}
.zelda-hud{
  position:absolute;z-index:8;left:1.2%;right:1.2%;
  top:1.4%;
  display:flex;align-items:flex-start;justify-content:flex-end;gap:0.9cqi;
  pointer-events:none;
}
.zelda-hud--minimal{justify-content:flex-end}
.zelda-hud--minimal .zelda-hud-left{display:none}
.zelda-hud-title{
  display:block;font-family:Cinzel,Georgia,serif;font-size:2.05cqi;
  color:#fff4dc;text-shadow:0 2px 10px rgba(0,0,0,.85);
}
.zelda-hud-meta{
  display:block;font-size:1.15cqi;color:rgba(255,244,220,.75);
  text-shadow:0 1px 6px rgba(0,0,0,.8);margin-top:0.2cqi;
}
button.zelda-hud-meta.market-hud-trade-log{
  pointer-events:auto;
  appearance:none;-webkit-appearance:none;
  border:0;background:transparent;padding:0;margin:0;
  font:inherit;color:inherit;text-align:left;cursor:pointer;
  text-decoration:underline;text-decoration-color:rgba(232,197,71,.45);
  text-underline-offset:0.18em;
}
button.zelda-hud-meta.market-hud-trade-log:hover,
button.zelda-hud-meta.market-hud-trade-log:focus-visible{
  color:#fff4dc;
  text-decoration-color:rgba(232,197,71,.9);
  outline:none;
}
.zelda-hud-right{display:flex;flex-direction:column;align-items:flex-end;gap:0.35cqi}
.zelda-rupee{
  pointer-events:auto;
  padding:0.35cqi 0.85cqi;border-radius:0.7cqi;
  font-weight:900;font-size:1.45cqi;color:#fde68a;
  background:rgba(0,0,0,.55);border:1px solid rgba(232,197,71,.35);
  text-shadow:0 1px 0 rgba(0,0,0,.5);
}
.zelda-rupee--gem{color:#bfdbfe;border-color:rgba(96,165,250,.4)}
.zelda-cats{
  position:absolute;z-index:5;left:1%;right:1%;
  top:9.5%;
  display:flex;flex-wrap:nowrap;gap:0.45cqi;overflow-x:auto;
  padding:0.2cqi;scrollbar-width:thin;
  background:rgba(0,0,0,.35);border-radius:0.9cqi;
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.zelda-cats .craft-cat-tab,
.zelda-cats .gemshop-tab{
  flex:0 0 auto;min-height:0;padding:0.45cqi 0.8cqi;font-size:1.15cqi;
}
.zelda-cats .gemshop-tab{display:flex;align-items:center;gap:6px}
.zelda-cats .gemshop-tab small{display:none}
.zelda-slots{
  position:absolute;inset:0;z-index:3;pointer-events:none;overflow:visible;
}

/* Ware: Slot-Box — Unterkante (--sy) = Regalboden; Icons bleiben im Fach */
.zelda-good{
  position:absolute!important;
  left:var(--sx,50%)!important;
  top:var(--sy,50%)!important;
  transform:translate(-50%, -100%)!important;
  width:var(--sw,7.6%)!important;
  height:var(--sh,11%)!important;
  min-width:0;max-width:none;
  display:flex!important;flex-direction:column;align-items:center;justify-content:flex-end;
  overflow:visible!important; /* Preis darf über dem Fach stehen */
  background:transparent!important;border:0!important;box-shadow:none!important;
  padding:0!important;margin:0!important;cursor:pointer;pointer-events:auto;
  appearance:none;-webkit-appearance:none;color:inherit;font:inherit;line-height:1;
  transition:filter .16s ease, transform .16s ease;
  z-index:4;
}
.zelda-good:hover{
  transform:translate(-50%, -100%) scale(1.05)!important;
  transform-origin:center bottom!important;
  z-index:6;filter:brightness(1.08);
}
.zelda-good:focus-visible{
  outline:2px solid rgba(232,197,71,.85);outline-offset:4px;border-radius:8px;
}
.zelda-good-prop{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
  width:100%;height:100%;max-width:100%;max-height:100%;
  overflow:hidden; /* kein Überstand in Nachbarfächer */
  box-sizing:border-box;
  padding:0;
}
.zelda-good > .shop-good-price{
  /* Unter dem Fach auf dem Brett — Icons dürfen den Chip nicht überdecken */
  position:absolute;left:50%;top:calc(100% + 0.35cqi);bottom:auto;transform:translateX(-50%);
  margin:0;white-space:nowrap;z-index:8;
  font-size:1.05cqi;font-weight:800;letter-spacing:0;
  padding:0.22cqi 0.62cqi 0.28cqi;min-width:max-content;width:max-content;
  box-sizing:border-box;
  color:#3a2412;background:linear-gradient(180deg,#ffe9a8,#f0c14b);
  border:1px solid rgba(90,50,10,.45);border-radius:0.7cqi;
  box-shadow:0 2px 0 rgba(70,40,10,.45),0 4px 10px rgba(0,0,0,.4);
  pointer-events:none;
  font-variant-numeric:tabular-nums;
  display:block!important;
}
.zelda-good > .shop-good-price::before{display:none}
/* Regal: KEIN Kreis/Glow/Shadow — Legacy .shop-good-sprite nie mehr an Zelda-Slots */
.shop-workshop--zelda .shop-good-sprite,
.shop-workshop--zelda .gemshop-good-sprite,
.gemshop-shell--zelda .shop-good-sprite,
.gemshop-shell--zelda .gemshop-good-sprite,
.market-workshop--zelda .shop-good-sprite,
.zelda-good .shop-good-sprite,
.zelda-good .zelda-good-sprite,
.zelda-good .gemshop-good-sprite,
.gemshop-good.zelda-good .gemshop-good-sprite{
  width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;
  border-radius:0!important;
  background:none!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.45))!important;
  display:flex!important;align-items:flex-end;justify-content:center;
  overflow:hidden!important;
  box-sizing:border-box!important;
  margin:0 auto;
  padding:0 2% 4%!important;
  border:0!important;
}
.zelda-good-sprite,
.zelda-good .zelda-good-sprite{
  width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;
  border-radius:0!important;
  background:none!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.45))!important;
  display:flex!important;align-items:flex-end;justify-content:center;
  overflow:hidden!important;
  box-sizing:border-box!important;
  margin:0 auto;
  padding:0 2% 4%!important;
  border:0!important;
}
.zelda-good-sprite::before,
.zelda-good-sprite::after,
.zelda-good-prop::before,
.zelda-good-prop::after,
.zelda-good .shop-good-sprite::before,
.zelda-good .shop-good-sprite::after,
.zelda-good .gemshop-good-sprite::before,
.zelda-good .gemshop-good-sprite::after{
  content:none!important;display:none!important;background:none!important;
}
/* Ein klares Item-Icon — kein CSS-Kreis-Mask (sonst Doppelkreis auf Craft-Portraits) */
.zelda-good .shop-good-sprite .item-ico,
.zelda-good .shop-good-sprite .gemshop-ico,
.zelda-good .shop-good-sprite img,
.zelda-good-sprite .item-ico,
.zelda-good-sprite .gemshop-ico,
.zelda-good-sprite img,
.zelda-good-sprite span{
  width:92%!important;height:92%!important;
  max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center bottom!important;
  display:block!important;
  border-radius:0!important;background:none!important;vertical-align:middle;
  font-size:clamp(1.1rem, 3.6cqi, 2.6rem)!important;
  line-height:1!important;
  overflow:visible!important;
  align-self:center;
  text-align:center;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.45));
  margin:0!important;padding:0!important;
  box-shadow:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
}
.zelda-good-sprite img.item-ico,
.zelda-good-sprite img.gemshop-ico{
  display:block!important;
}
/* Kein zweites Coin-/Emoji-Icon im Fach (Preis-Chip bleibt separat darüber) */
.zelda-good-sprite > img.rpg-ei,
.zelda-good-sprite img.rpg-ei:not(.item-ico):not(.gemshop-ico),
.zelda-good-sprite .shop-good-mini,
.zelda-good-sprite .shop-good-corner,
.zelda-good .shop-good-shadow,
.zelda-good .gemshop-good-shadow,
.zelda-good-prop > .shop-good-shadow,
.zelda-good-prop > .gemshop-good-shadow{
  display:none!important;
  width:0!important;height:0!important;opacity:0!important;
  pointer-events:none!important;
}
/* Preis-Coin nur im Chip, nicht als Overlay am Portrait */
.zelda-good > .shop-good-price img.rpg-ei{
  width:1.05em!important;height:1.05em!important;
  vertical-align:-0.15em;margin:0 0.12em 0 0;
  display:inline-block!important;
}

/* Tür-Hotspot */
.zelda-door{
  position:absolute;z-index:var(--zelda-z);border:0;padding:0;margin:0;
  background:transparent;cursor:pointer;appearance:none;-webkit-appearance:none;
  overflow:visible;
  border-radius:48% 48% 4px 4px / 12% 12% 4px 4px;
}
.zelda-door:focus-visible{outline:2px solid rgba(232,197,71,.55);outline-offset:2px}
.gemshop-shell--zelda.is-layered .zelda-door--hall-glow:hover,
.gemshop-shell--zelda.is-layered .zelda-door--hall-glow:focus,
.gemshop-shell--zelda.is-layered .zelda-door--hall-glow:focus-visible,
.gemshop-shell--zelda.is-layered .zelda-door--hall-glow.is-open,
.market-workshop--zelda.is-layered .zelda-door--hall-glow:hover,
.market-workshop--zelda.is-layered .zelda-door--hall-glow:focus,
.market-workshop--zelda.is-layered .zelda-door--hall-glow:focus-visible,
.market-workshop--zelda.is-layered .zelda-door--hall-glow.is-open{
  outline:none!important;box-shadow:none!important;border:0!important;
  filter:none!important;background:transparent!important;transform:none!important;
}
/* Shop-Tür: kein Rahmen/Highlight */
.shop-workshop--zelda .zelda-door,
.shop-workshop--zelda .zelda-door:hover,
.shop-workshop--zelda .zelda-door:focus-visible,
.shop-workshop--zelda .zelda-door.is-open{
  box-shadow:none!important;
  background:transparent!important;
  outline:none!important;
  border:0!important;
}
.shop-workshop--zelda .zelda-door-hall{display:none!important}
.shop-workshop--zelda:not(.is-layered) .zelda-door-leaf{display:none!important}
/* Offene Tür als Overlay — Original-Szene bleibt */
.zelda-door-open-layer{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;object-position:center center;
  pointer-events:none;z-index:1;
  opacity:0;visibility:hidden;
  transition:opacity .22s ease, visibility .22s ease;
}
.zelda-door-open-layer.is-on{
  opacity:1;visibility:visible;
}
.zelda-stage.is-door-peek .zelda-door{cursor:pointer}
.zelda-door-hall{
  position:absolute;inset:1% 4% 0 0;
  border-radius:50% 4px 2px 2px / 12% 4px 2px 2px;
  background:radial-gradient(ellipse at 28% 45%, #1c140c 0%, #0a0705 68%, #040302 100%);
  opacity:0;transition:opacity .2s ease;pointer-events:none;
}
.zelda-door.is-open .zelda-door-hall,
.zelda-door:hover .zelda-door-hall{opacity:1}
.zelda-door-leaf{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:fill;pointer-events:none;opacity:0;
  transform-origin:left center;
  transition:transform .32s ease, opacity .08s ease;
}
.zelda-door--left .zelda-door-leaf{transform-origin:left center}
.zelda-door--right .zelda-door-leaf{transform-origin:right center}
.zelda-door.is-open .zelda-door-leaf,
.zelda-door:hover .zelda-door-leaf{
  opacity:1;transform:rotateY(-68deg) scaleX(.97);
}
.zelda-door--right.is-open .zelda-door-leaf,
.zelda-door--right:hover .zelda-door-leaf{
  transform:rotateY(68deg) scaleX(.97);
}

/* Markt: kein zentrales Desk-Fenster / keine Filter-Leiste */
.market-workshop--zelda .market-zelda-desk{display:none!important}
.market-workshop--zelda .market-tabs.zelda-cats{display:none!important}
/* Shop: Filter-Tabs aus der ersten Viewport-Komposition entfernen */
.shop-workshop--zelda .zelda-cats{display:none!important}
.market-zelda-actions{z-index:8}

/* Markt: Pergament an Pinnwand + Verkaufs-Banner am Pult */
.market-pin-note{
  position:absolute;z-index:var(--zelda-z);border:0;padding:0;margin:0;
  background:transparent;cursor:pointer;appearance:none;-webkit-appearance:none;
  overflow:visible;
  transition:transform .2s ease, filter .2s ease;
  container-type:size;
}
.market-pin-note:hover,
.market-pin-note:focus-visible{
  transform:translateY(-3%) rotate(-0.6deg);
  filter:brightness(1.06);
  z-index:var(--zelda-z);
}
.market-pin-note-img{
  width:100%;height:100%;object-fit:fill;object-position:center center;
  max-width:none;max-height:none;pointer-events:none;
  filter:none;
}
.market-pin-note-badge{
  position:absolute;right:-6%;top:-8%;
  min-width:22cqi;height:22cqi;padding:0 4cqi;
  border-radius:999px;display:grid;place-items:center;
  font-size:14cqi;font-weight:900;color:#2a1a08;
  background:linear-gradient(180deg,#ffe9a8,#f0c14b);
  border:1px solid rgba(90,50,10,.45);
  box-shadow:0 2px 6px rgba(0,0,0,.4);
}
.market-sell-banner{
  position:absolute;z-index:var(--zelda-z);border:0;padding:0;margin:0;
  background:transparent;cursor:pointer;appearance:none;-webkit-appearance:none;
  border-radius:6px;
  overflow:visible;
}
.market-sell-banner-img{
  display:block;width:100%;height:100%;object-fit:fill;object-position:center center;
  max-width:none;max-height:none;pointer-events:none;
}
.market-sell-banner:hover,
.market-sell-banner:focus-visible{
  box-shadow:none;
  background:transparent;
  outline:none;
}
.market-sell-banner:focus-visible{
  box-shadow:0 0 0 2px rgba(232,197,71,.45);
}
.market-desk-hotspot{
  display:none!important;
}
.market-hall-prop{
  position:absolute;z-index:var(--zelda-z);border:0;padding:0;margin:0;
  background:transparent;cursor:pointer;appearance:none;-webkit-appearance:none;
  overflow:visible;
  transition:filter .16s ease;
}
.market-hall-prop-img{
  display:block;width:100%;height:100%;object-fit:fill;object-position:center center;
  max-width:none;max-height:none;pointer-events:none;
}
.market-hall-prop:hover,
.market-hall-prop:focus-visible{
  filter:brightness(1.08);
  background:transparent;
  outline:none;
  box-shadow:none;
}
.market-hall-prop:focus-visible{
  filter:brightness(1.1);
}
.market-zoom-fs{
  position:absolute;inset:0;z-index:40;
  display:flex;flex-direction:column;
  animation:marketZoomIn .28s ease-out;
}
.market-zoom-fs.hidden{display:none!important}
@keyframes marketZoomIn{
  from{opacity:0;transform:scale(.92)}
  to{opacity:1;transform:scale(1)}
}
.market-zoom-fs-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  filter:saturate(1.05) contrast(1.03);
}
.market-zoom-fs-veil{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.55) 40%,rgba(0,0,0,.72));
  pointer-events:none;
}
.market-zoom-fs-close{
  position:absolute;top:max(10px,env(safe-area-inset-top));right:12px;z-index:3;
  width:36px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.22);
  background:rgba(0,0,0,.55);color:#fff8e7;cursor:pointer;font-size:1rem;
}
.market-zoom-fs-head{
  position:relative;z-index:2;display:flex;flex-direction:column;gap:2px;
  padding:14px 52px 8px 16px;color:#fff4dc;
  text-shadow:0 2px 8px rgba(0,0,0,.75);
}
.market-zoom-fs-head strong{font-family:Cinzel,Georgia,serif;font-size:1.05rem}
.market-pinboard-grid{
  position:relative;z-index:2;flex:1 1 auto;min-height:0;
  overflow:auto;padding:8px 14px 18px;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));
  gap:12px;align-content:start;
}
.market-pinboard-grid .market-listing{
  background:linear-gradient(180deg,rgba(255,248,230,.94),rgba(240,220,180,.9));
  border:1px solid rgba(90,55,20,.35);color:#3a2412;
  box-shadow:0 8px 18px rgba(0,0,0,.35);
}
.market-pinboard-grid .market-listing-name,
.market-pinboard-grid .market-listing-price{color:#2a1a08}
.market-pinboard-grid .market-listing-meta,
.market-pinboard-grid .muted{color:#5a4030!important}
.market-sell-desk-body{
  position:relative;z-index:2;flex:1 1 auto;min-height:0;
  display:flex;flex-direction:column;padding:0 14px 14px;
}
.market-sell-list--desk{
  flex:1 1 auto;min-height:0;overflow:auto;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));
  gap:10px;align-content:start;
}
.market-sell-list--desk .market-sell-row{
  background:rgba(8,10,14,.78);
  border:1px solid rgba(232,197,71,.28);
  border-radius:12px;padding:10px;
  backdrop-filter:blur(4px);
}
.zelda-stage.is-market-zoom{pointer-events:auto}

/* Admin Slot-Editor */
.zelda-layout-editor{
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.8fr);gap:12px;align-items:start;
}
.zelda-layout-editor-tabs{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}
.zelda-layout-editor-stage{
  position:relative;aspect-ratio:16/9;width:100%;overflow:hidden;border-radius:10px;
  border:1px solid rgba(232,197,71,.25);background:#0a0806;
}
.zelda-layout-editor-map{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
/* Live wie Layer-Shop: fill, damit Prop-% zum BG passen */
.zelda-layout-editor-stage.is-live .zelda-layout-editor-map{object-fit:fill;object-position:center center}
.zelda-layout-editor-overlay{position:absolute;inset:0}
.zelda-layout-pin{
  position:absolute;transform:translate(-50%,-100%);
  min-width:28px;padding:2px 6px;border-radius:8px;border:1px solid rgba(232,197,71,.55);
  background:rgba(0,0,0,.72);color:#fde68a;font-size:.65rem;cursor:grab;z-index:2;
}
.zelda-layout-pin.is-selected{outline:2px solid #e8c547}
.zelda-layout-slot{
  position:absolute;transform:translate(-50%,-100%);
  border:2px dashed rgba(232,197,71,.75);
  background:rgba(232,197,71,.14);
  border-radius:6px;cursor:grab;z-index:22;padding:0;margin:0;
  color:#fde68a;appearance:none;-webkit-appearance:none;
  overflow:hidden;pointer-events:auto;isolation:isolate;
}
.zelda-layout-slot.is-selected{
  border-style:solid;background:rgba(232,197,71,.28);
  box-shadow:0 0 0 2px rgba(232,197,71,.55);
  overflow:visible;z-index:24;
}
.zelda-layout-slot-preview{
  display:none;position:absolute;inset:0;width:100%;height:100%;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 78%, rgba(232,197,71,.55) 0 28%, transparent 32%),
    linear-gradient(180deg, transparent 35%, rgba(232,197,71,.22) 100%);
  border-radius:6px;
  box-shadow:inset 0 -2px 0 rgba(232,197,71,.35);
  object-fit:fill;object-position:center center;
}
.zelda-layout-editor-stage.is-live .zelda-layout-slot{
  background:rgba(232,197,71,.06);
  border-color:rgba(232,197,71,.45);
}
.zelda-layout-editor-stage.is-live .zelda-layout-slot-preview{display:block}
.zelda-layout-slot .zelda-layout-live-img,
.zelda-layout-slot img{
  position:absolute;inset:0;width:100%!important;height:100%!important;
  object-fit:fill!important;object-position:center center!important;
  max-width:none!important;max-height:none!important;pointer-events:none;
}
.zelda-layout-slot-label{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  font-size:.62rem;font-weight:800;pointer-events:none;
  text-shadow:0 1px 3px rgba(0,0,0,.85);z-index:1;
}
.zelda-layout-editor-stage.is-live .zelda-layout-slot-label{
  top:10%;transform:translateX(-50%);font-size:.55rem;opacity:.85;
}
.zelda-layout-hotspot{
  position:absolute;border:2px solid rgba(120,200,255,.7);
  background:rgba(80,160,255,.18);border-radius:8px;cursor:grab;z-index:3;
  color:#dbeafe;font-size:.62rem;font-weight:800;padding:0;margin:0;
  appearance:none;-webkit-appearance:none;
  display:grid;place-items:center;text-align:center;overflow:hidden;
}
.zelda-layout-hotspot--centerx{transform:translateX(-50%)}
.zelda-layout-hotspot--sell{border-color:rgba(250,180,80,.75);background:rgba(250,160,40,.18);color:#ffe7b8}
.zelda-layout-hotspot--door{border-color:rgba(180,140,90,.85);background:rgba(120,80,40,.22);color:#f5e6c8}
.zelda-layout-hotspot--npc{border-color:rgba(160,220,140,.8);background:rgba(80,180,90,.2);color:#e8ffe0}
.zelda-layout-hotspot--counter{border-color:rgba(140,200,255,.8);background:rgba(60,140,220,.18);color:#dcecff}
.zelda-layout-hotspot--sign{border-color:rgba(255,210,120,.85);background:rgba(180,120,40,.16);color:#ffe9c0}
.zelda-layout-hotspot--wave{border-color:rgba(160,220,255,.85);background:rgba(60,140,200,.16);color:#dff4ff}
.zelda-layout-hotspot--layer{border-color:rgba(120,255,220,.75);background:rgba(40,180,150,.16);color:#d8fff4;font-size:.55rem}
.zelda-layout-hotspot--pin{border-color:rgba(220,160,255,.75);background:rgba(140,80,200,.2);color:#f0e0ff}
.zelda-layout-hotspot--scale{border-color:rgba(232,197,71,.8);background:rgba(180,140,40,.2);color:#ffe9b8}
.zelda-layout-hotspot--book{border-color:rgba(90,180,110,.8);background:rgba(40,120,70,.2);color:#d8f5dc}
.zelda-layout-hotspot--prop{border-color:rgba(255,120,160,.8);background:rgba(220,60,100,.18);color:#ffe0ec;font-size:.55rem}
.zelda-layout-hotspot.is-selected{box-shadow:0 0 0 2px rgba(255,255,255,.45);overflow:visible}
.zelda-layout-live-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:fill;object-position:center bottom;pointer-events:none;
  max-width:none;max-height:none;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));
}
/* Gang: Sprite füllt die Hotspot-Box — kein contain-Letterbox (schwarze Luft) */
.zelda-layout-hotspot--door .zelda-layout-live-img,
.zelda-layout-hotspot--door .zelda-layout-live-img--hall{
  object-fit:fill!important;object-position:center center!important;
  width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  position:absolute!important;inset:0!important;
}
.zelda-layout-hotspot--scale .zelda-layout-live-img,
.zelda-layout-hotspot--book .zelda-layout-live-img{object-fit:fill;object-position:center center;filter:none}
.zelda-layout-hotspot--wave .zelda-layout-live-img{object-position:center center}
.zelda-layout-hotspot--counter .zelda-layout-live-img{object-fit:fill;object-position:center center;filter:none}
.zelda-layout-live-cap{
  position:relative;z-index:1;padding:2px 4px;border-radius:4px;
  background:rgba(0,0,0,.45);font-size:.55rem;line-height:1.1;
  text-shadow:0 1px 2px rgba(0,0,0,.8);pointer-events:none;
}
.zelda-layout-editor-stage.is-live .zelda-layout-hotspot{
  background:rgba(0,0,0,.04);
}
.zelda-layout-editor-stage.is-live .zelda-layout-hotspot--door,
.zelda-layout-editor-stage.is-live .zelda-layout-hotspot--npc:not(:has(.zelda-layout-live-img)){
  background:rgba(80,160,255,.12);
}
.zelda-layout-editor-stage-wrap{position:relative}
.zelda-layout-toast{
  position:absolute;left:50%;bottom:12px;transform:translateX(-50%);
  z-index:30;padding:8px 14px;border-radius:10px;
  font-size:.78rem;font-weight:800;pointer-events:none;white-space:nowrap;
  border:1px solid rgba(232,197,71,.45);
  background:rgba(8,10,16,.94);color:#fff6dc;
  box-shadow:0 8px 20px rgba(0,0,0,.45);
}
.zelda-layout-toast.is-ok{border-color:rgba(74,222,128,.5);color:#d1fae5}
.zelda-layout-toast.is-err{border-color:rgba(248,113,113,.55);color:#fecaca}
.zelda-layout-toast.hidden{display:none!important}
.zelda-layout-editor-toolbar{display:flex;flex-wrap:wrap;gap:6px;position:relative;z-index:4}
.zelda-layout-editor [data-zl-save]{position:relative;z-index:5;pointer-events:auto}
.zelda-layout-resize{
  position:absolute;z-index:6;
  border-radius:2px;border:1px solid rgba(255,255,255,.75);
  background:linear-gradient(135deg,#f0c14b,#c9892a);
  pointer-events:auto;
  box-shadow:0 1px 4px rgba(0,0,0,.45);
}
.zelda-layout-resize--n,
.zelda-layout-resize--s{width:16px;height:8px;left:50%;margin-left:-8px}
.zelda-layout-resize--e,
.zelda-layout-resize--w{width:8px;height:16px;top:50%;margin-top:-8px}
.zelda-layout-resize--n{top:-5px;cursor:ns-resize}
.zelda-layout-resize--s{bottom:-5px;cursor:ns-resize}
.zelda-layout-resize--e{right:-5px;cursor:ew-resize}
.zelda-layout-resize--w{left:-5px;cursor:ew-resize}
.zelda-layout-resize--ne,
.zelda-layout-resize--nw,
.zelda-layout-resize--se,
.zelda-layout-resize--sw{width:12px;height:12px}
.zelda-layout-resize--ne{top:-5px;right:-5px;cursor:nesw-resize}
.zelda-layout-resize--nw{top:-5px;left:-5px;cursor:nwse-resize}
.zelda-layout-resize--se{bottom:-5px;right:-5px;cursor:nwse-resize}
.zelda-layout-resize--sw{bottom:-5px;left:-5px;cursor:nesw-resize}
.zelda-layout-size-btns{display:flex;gap:6px;margin:4px 0 2px}
.zelda-layout-size-btns .btn{flex:1}
.zelda-layout-bulk{
  padding:8px;
  border-radius:8px;
  border:1px solid rgba(232,197,71,.22);
  background:rgba(0,0,0,.28);
  display:flex;
  flex-direction:column;
  gap:6px;
}
.zelda-layout-bulk-title{margin:0;font-size:.72rem;color:#e8c547}
.zelda-layout-editor-side{display:flex;flex-direction:column;gap:8px}
.zelda-layout-list-item{
  display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;
  padding:6px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.35);color:#fff4dc;cursor:pointer;font-size:.75rem;
}
.zelda-layout-list-item.is-vis-hidden{opacity:.72}
.zelda-layout-vis{
  width:22px;height:22px;padding:0;flex-shrink:0;line-height:1;font-size:.85rem;
  border-radius:4px;border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.45);color:#fff4dc;cursor:pointer;
}
.zelda-layout-vis:not(.is-on){color:#f87171;border-color:rgba(248,113,113,.45)}
.zelda-layout-hotspot.is-vis-hidden{visibility:hidden}
.zelda-layout-hotspot.is-vis-hidden.is-selected{visibility:visible;opacity:.55}
.zelda-layout-hotspot--sell .zelda-layout-live-img{display:block;visibility:inherit}
.zelda-layout-list-item-body{flex:1;min-width:0;text-align:left;display:flex;flex-direction:column;gap:2px}
.zelda-layout-list-item-body span{opacity:.72;font-size:.68rem}
.zelda-layout-z{display:flex;flex-direction:column;gap:2px;flex-shrink:0}
.zelda-layout-z-btn{
  width:22px;height:16px;padding:0;line-height:1;font-size:.62rem;
  border-radius:4px;border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.45);color:#fff4dc;cursor:pointer;
}
.zelda-layout-z-btn:hover{border-color:rgba(232,197,71,.55);color:#e8c547}
.zelda-layout-list-item.is-selected{border-color:rgba(232,197,71,.45)}
.zelda-layout-list-item.is-selected .zelda-layout-list-item-body span{color:#e8c547;opacity:1}
.zelda-layout-field{display:flex;flex-direction:column;gap:4px;font-size:.75rem;color:#fff4dc}
.zelda-layout-field input,
.zelda-layout-select{
  padding:6px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.15);
  background:rgba(0,0,0,.45);color:#fff;width:100%;box-sizing:border-box;
}
.zelda-layout-editor-addrow{display:flex;gap:6px;align-items:center;margin:6px 0}
.zelda-layout-editor-addrow .zelda-layout-select{flex:1}
@media (max-width:900px){
  .zelda-layout-editor{grid-template-columns:1fr}
}

/* NPC ansprechen → nur Sprite-Expression wechselt + Sprechblase */
.zelda-npc-hit{
  position:absolute;z-index:var(--zelda-z);border:0;padding:0;margin:0;
  background:transparent;cursor:pointer;appearance:none;-webkit-appearance:none;
  overflow:visible;
}
.zelda-npc-hit:focus-visible{
  outline:2px solid rgba(232,197,71,.55);outline-offset:2px;border-radius:50% / 40%;
}
.zelda-stage.is-npc-angry .zelda-scene-bg{
  filter:saturate(1.02) contrast(1.06) brightness(.97);
}

/* Comic-Sprechblase: Anker = NPC-Hotspot, Unterkante knapp über dem Kopf */
.zelda-npc-speech{
  position:absolute;z-index:12;
  pointer-events:none;overflow:visible;
}
.zelda-bubble,
.zelda-npc-bubble{
  position:absolute;z-index:12;
  left:50%;
  top:auto;
  bottom:calc(100% + 0.28cqi);
  transform:translateX(-50%) scale(.96);
  width:max-content;
  max-width:15cqi;
  box-sizing:border-box;
  padding:0.32cqi 0.52cqi 0.36cqi;
  border-radius:0.7cqi;
  background:linear-gradient(180deg, rgba(255,252,244,.96), rgba(255,244,220,.92));
  border:1.5px solid rgba(70,42,18,.35);
  box-shadow:0 5px 14px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.65);
  opacity:0;pointer-events:none;
  transition:opacity .22s ease, transform .22s ease;
}
.zelda-bubble.is-on{
  opacity:1;
  transform:translateX(-50%) scale(1);
}
.zelda-bubble::after{
  content:"";position:absolute;left:50%;top:auto;bottom:-0.36cqi;
  width:0.62cqi;height:0.62cqi;
  background:inherit;border-right:1.5px solid rgba(70,42,18,.35);border-bottom:1.5px solid rgba(70,42,18,.35);
  transform:translateX(-50%) rotate(45deg);
}
/* Fallback: Blase als Stage-Kind — gleicher Kopf-Anker über CSS-Vars */
.zelda-stage > .zelda-bubble,
.zelda-stage > .zelda-npc-bubble{
  left:calc(var(--zelda-npc-left, 42%) + var(--zelda-npc-w, 18%) * 0.5);
  top:var(--zelda-npc-top, 16%);
  bottom:auto;
  max-width:15%;
  transform:translate(-50%, calc(-100% - 0.28cqi)) scale(.96);
}
.zelda-stage > .zelda-bubble.is-on{
  transform:translate(-50%, calc(-100% - 0.12cqi)) scale(1);
}
.shop-workshop--zelda .zelda-npc-speech,
.market-workshop--zelda .zelda-npc-speech,
.gemshop-shell--zelda .zelda-npc-speech{
  z-index:12;
}
.zelda-bubble--shop{
  background:linear-gradient(180deg, rgba(255,252,244,.96), rgba(255,244,220,.92));
  border-color:rgba(70,42,18,.35);
}
.zelda-bubble--market{
  background:linear-gradient(180deg, rgba(255,248,230,.96), rgba(244,228,190,.93));
  border-color:rgba(92,58,18,.4);
}
.zelda-bubble--gem{
  background:linear-gradient(180deg, rgba(246,248,255,.96), rgba(226,236,252,.93));
  border-color:rgba(48,62,110,.38);
}
.zelda-bubble-text{
  margin:0;font-family:Cinzel,Georgia,serif;
  font-size:0.9cqi;
  color:#3a2412;line-height:1.25;text-align:center;
  text-wrap:balance;
}
.zelda-stage.is-npc-angry .zelda-bubble{
  background:linear-gradient(180deg, rgba(255,236,232,.97), rgba(255,220,210,.93));
  border-color:rgba(140,40,30,.45);
}
.zelda-stage.is-npc-angry .zelda-bubble::after{
  border-right-color:rgba(140,40,30,.45);
  border-bottom-color:rgba(140,40,30,.45);
}

/* Zerstörbare Props: % der 16:9-Stage — skalieren mit Raumgrafik */
.zelda-break{
  position:absolute;z-index:var(--zelda-z);border:0;padding:0;margin:0;
  background:transparent;cursor:crosshair;appearance:none;-webkit-appearance:none;
  overflow:visible;box-sizing:border-box;
  max-width:none;max-height:none;
}
.zelda-break-erase{
  position:absolute;inset:-6% -8% -2%;
  width:116%;height:112%;
  object-fit:fill;pointer-events:none;
  opacity:0;filter:none;
  transition:opacity .1s ease;
}
.zelda-break-intact{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:fill;object-position:center bottom;pointer-events:none;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.35));
  transition:opacity .1s ease, transform .16s ease;
  animation:none;
}
/* Prop sitzt schon im BG-Bild → Intact-Overlay aus */
.zelda-break.is-bg-prop .zelda-break-intact{opacity:0!important;filter:none}
.zelda-break:hover .zelda-break-intact{
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.35)) brightness(1.04);
  animation:none;
}
.zelda-break.is-bg-prop:hover .zelda-break-intact{filter:none}
.zelda-break-debris{
  position:absolute;left:50%;bottom:42%;
  width:125%;height:125%;
  transform:translate(-50%,0) scale(.88);
  object-fit:contain;object-position:center bottom;
  pointer-events:none;
  opacity:0;
  background:transparent!important;
  mix-blend-mode:normal;
  filter:drop-shadow(0 3px 4px rgba(0,0,0,.4));
  transition:opacity .1s ease, transform .3s ease;
}
.zelda-break.is-broken{
  cursor:default;pointer-events:none;
}
/* Offene Truhe: weiter klickbar (Loot erneut öffnen) */
.zelda-break.is-lockpick.is-broken,
.zelda-break.is-lockpick.is-open{
  cursor:pointer;pointer-events:auto;
}
.zelda-break.is-broken .zelda-break-erase{opacity:1}
.zelda-break.is-broken .zelda-break-intact{
  opacity:0!important;transform:none;pointer-events:none;
}
.zelda-break.is-broken .zelda-break-debris{
  opacity:1;
  /* Scherben/Truhe bleiben am Boden — kein Nach-oben-Schweben */
  left:50%;bottom:0;top:auto;
  width:110%;height:100%;
  transform:translateX(-50%) scale(1);
  object-fit:contain;object-position:center bottom;
  animation:zeldaBreakSettle .28s ease-out;
}
/* Offene Truhe: gleicher Boden-Anker wie Intact; nur Höhe nach oben für Deckel */
.zelda-break.is-lockpick.is-open .zelda-break-debris,
.zelda-break.is-open .zelda-break-debris{
  left:0;right:0;bottom:0;top:auto;
  width:100%;
  height:145%;
  transform:none;
  object-fit:contain;object-position:center bottom;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.35));
  animation:zeldaChestOpenSettle .28s ease-out;
}
@keyframes zeldaChestOpenSettle{
  0%{opacity:.7}
  100%{opacity:1}
}
@keyframes zeldaBreakSettle{
  0%{transform:translateX(-50%) scale(.92);opacity:.55}
  100%{transform:translateX(-50%) scale(1);opacity:1}
}

/* Übergabe: Item über Handflächen + Info-Fenster daneben */
.zelda-stage.is-zelda-offer .zelda-slots{opacity:.35;pointer-events:none}
.zelda-stage.is-zelda-offer .zelda-cats{opacity:.4;pointer-events:none}
.zelda-offer{
  position:absolute;inset:0;z-index:10;pointer-events:none;
}
.zelda-offer.hidden{display:none!important}
.zelda-offer-item{
  /* left/top werden per JS auf die Handflächen gesetzt */
  position:absolute;left:52.3%;top:63.9%;
  /* höher + höherer Kasten: Roben nicht an Welle-Plakette abschneiden */
  transform:translate(-50%,-72%);
  width:min(18cqi, 22%);height:min(22cqi, 28%);
  display:grid;place-items:center;
  border-radius:0!important;
  background:none!important;
  background-image:none!important;
  box-shadow:none!important;
  outline:none!important;
  border:0!important;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.55));
  animation:zeldaOfferPop .28s ease-out;
  pointer-events:none;
  z-index:12;
  overflow:visible!important;
}
.zelda-offer-item::before,
.zelda-offer-item::after{
  content:none!important;display:none!important;
}
.zelda-stage.is-zelda-offer-angry .zelda-offer-item{
  transform:translate(-50%,-72%) rotate(-3deg);
}
.zelda-offer-item .item-ico,
.zelda-offer-item img,
.zelda-offer-item > *{
  width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center bottom!important;
  border-radius:0!important;
  background:none!important;
  background-image:none!important;
  box-shadow:none!important;
  outline:none!important;
  border:0!important;
  display:block!important;
  filter:none!important;
  opacity:1!important;
  /* Kein Kreis-Mask — Present zeigt volles Item (contain) */
  -webkit-mask-image:none!important;
  mask-image:none!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
}
.zelda-offer-item img.rpg-ei,
.zelda-offer-item .rpg-ei:not(.item-ico),
.zelda-offer-item img + img{
  display:none!important;
}
@keyframes zeldaOfferPop{
  from{transform:translate(-50%,-55%) scale(.72);opacity:0}
  to{transform:translate(-50%,-72%) scale(1);opacity:1}
}
.zelda-offer-panel{
  position:absolute;right:1.2%;top:10%;bottom:8%;
  width:36%;pointer-events:auto;
  overflow:auto;padding:2.8cqi 2.5cqi 2.2cqi;
  border-radius:0;
  color:#1a1006;
  /* echtes Pergament-Asset (Alpha-Kanten), kein dunkler Kasten */
  background-color:transparent;
  background-size:100% 100%;
  background-position:center;
  background-repeat:no-repeat;
  border:0;
  box-shadow:none;
  filter:drop-shadow(0 16px 28px rgba(0,0,0,.45));
  backdrop-filter:none;-webkit-backdrop-filter:none;
  container-type:inline-size;
}
.zelda-offer-panel::before{display:none!important;content:none!important}

/* ═══ Present-Vollbild — gleicher Mechanismus wie Markt-Zoom (.market-zoom-fs) ═══ */
.zelda-present-fs{
  position:absolute;inset:0;z-index:40;
  pointer-events:none;
  animation:zeldaPresentFsIn .28s ease-out;
  overflow:hidden;
  background:#0a0806;
}
.zelda-present-fs.hidden{display:none!important}
@keyframes zeldaPresentFsIn{
  from{opacity:0;transform:scale(.92)}
  to{opacity:1;transform:scale(1)}
}
.zelda-present-fs-bg{
  position:absolute;inset:0;width:100%;height:100%;
  /* Kamera weiter weg: mehr NPC sichtbar, Platz unter den Händen für Kauffenster */
  object-fit:cover!important;object-position:center 38%!important;
  transform:scale(0.78);
  transform-origin:center 36%;
  pointer-events:none;z-index:0;
  display:block;
  filter:saturate(1.05) contrast(1.03);
}
/* Exakt wie is-market-zoom: alles außer dem FS-Overlay unsichtbar */
.zelda-stage.is-zelda-present-fs > :not(.zelda-present-fs){
  visibility:hidden!important;
  pointer-events:none!important;
  opacity:0!important;
}
.zelda-stage.is-zelda-present-fs{
  pointer-events:auto;
}
.zelda-stage.is-zelda-present-fs .zelda-present-fs{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
/* Slots/Filter/Dialog zusätzlich hart aus (falls außerhalb Stage) */
.zelda-stage.is-zelda-present-fs .zelda-slots,
.zelda-stage.is-zelda-present-fs .zelda-cats,
.zelda-stage.is-zelda-present-fs .gemshop-tabs,
.zelda-stage.is-zelda-present-fs .zelda-dialog,
.zelda-stage.is-zelda-present-fs .zelda-forge,
.zelda-stage.is-zelda-present-fs .zelda-overflow,
.zelda-stage.is-zelda-present-fs [data-zelda-overflow-note],
.zelda-stage.is-zelda-present-fs [data-zelda-anger-note],
.zelda-stage.is-zelda-present-fs .zelda-hud,
.zelda-stage.is-zelda-present-fs .zelda-bubble,
.zelda-stage.is-zelda-present-fs .zelda-npc-bubble{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
  opacity:0!important;
}
/* Offer liegt IN .zelda-present-fs — gleiche Bezugsfläche wie Fullscene-BG */
.zelda-stage.is-zelda-present-fs .zelda-present-fs [data-zelda-offer],
.zelda-stage.is-zelda-present-fs [data-zelda-offer]{
  position:absolute!important;inset:0!important;
  z-index:8!important;visibility:visible!important;
  pointer-events:none!important;
}
/* Item: groß zwischen den Händen — Panel sitzt darunter (kein Überdecken) */
.zelda-stage.is-zelda-present-fs .zelda-offer-item{
  transform:translate(-50%, -50%)!important;
  width:min(13cqi, 15%);
  height:min(16cqi, 18.5%);
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.65));
  z-index:9!important; /* unter Panel, über Szene */
  animation:zeldaOfferPopPresent .28s ease-out!important;
  pointer-events:none!important;
  /* Deckend über NPC — kein Durchscheinen des Gesichts */
  opacity:1!important;
  mix-blend-mode:normal!important;
  isolation:isolate;
}
@keyframes zeldaOfferPopPresent{
  from{transform:translate(-50%,-42%) scale(.72);opacity:0}
  to{transform:translate(-50%,-50%) scale(1);opacity:1}
}
.zelda-stage.is-zelda-present-fs.is-zelda-offer-angry .zelda-offer-item,
.zelda-stage.is-zelda-present-fs.is-zelda-present-fs-angry .zelda-offer-item{
  transform:translate(-50%, -50%) rotate(-2deg)!important;
  animation:none!important;
}
.zelda-stage.is-zelda-present-fs .zelda-offer-item .item-ico,
.zelda-stage.is-zelda-present-fs .zelda-offer-item img,
.zelda-stage.is-zelda-present-fs .zelda-offer-item > *{
  object-fit:contain!important;
  object-position:center center!important;
  width:100%!important;
  height:100%!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
  filter:none!important;
}
.zelda-stage.is-zelda-present-fs .zelda-offer-panel{
  z-index:11!important; /* Titel/Inhalt nie vom Item verdeckt */
}
.zelda-stage.is-zelda-present-fs .zelda-offer-close{
  z-index:12!important;
}
/*
 * Kauffenster = In-Scene-Tafel auf der Theke (kein Rechts-Overlay).
 * left/top/width setzt JS (ZELDA_PRESENT_PLAQUE); hier Look & Feel.
 */
.zelda-stage.is-zelda-present-fs .zelda-offer-panel{
  position:absolute!important;
  right:auto!important;
  bottom:auto!important;
  /* top setzt JS (~63%+ unter Händen); genug Höhe + Luft unten für Preis/Button */
  max-height:min(32%, 40cqi)!important;
  height:auto!important;
  min-height:0!important;
  padding:2.2cqi 2.4cqi 3.8cqi 2.4cqi!important;
  overflow:visible!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  filter:drop-shadow(0 14px 22px rgba(0,0,0,.55))!important;
  background-size:100% 100%!important;
  pointer-events:auto!important;
  z-index:11!important;
  transform:none!important;
  box-sizing:border-box!important;
}
.zelda-stage.is-zelda-present-fs--shop .zelda-offer-panel{
  filter:drop-shadow(0 12px 18px rgba(40,20,0,.55)) saturate(1.05)!important;
  background-color:transparent!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  border:none!important;
  box-shadow:none!important;
}
.zelda-stage.is-zelda-present-fs--gem .zelda-offer-panel{
  filter:drop-shadow(0 12px 20px rgba(0,20,60,.65)) brightness(1.02)!important;
  background-color:transparent!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  border:none!important;
  box-shadow:none!important;
}
/* ── Kauffenster Present: zentrierte Texte + Hierarchie (Shop + Gem) ── */
.zelda-stage.is-zelda-present-fs .zelda-offer-panel .shop-buy-info{
  gap:9px!important;
  padding:10px 12px 8px!important;
  text-align:center!important;
  align-items:center!important;
}
.zelda-stage.is-zelda-present-fs .zelda-offer-panel .shop-buy-name,
.zelda-stage.is-zelda-present-fs .zelda-offer-panel h3,
.zelda-stage.is-zelda-present-fs .zelda-offer-panel .gemshop-name{
  display:flex!important;
  flex-wrap:wrap;
  justify-content:center!important;
  align-items:baseline;
  gap:6px 10px;
  width:100%;
  text-align:center!important;
  margin:0!important;
  line-height:1.2!important;
}
.zelda-stage.is-zelda-present-fs .zelda-offer-panel .shop-tags,
.zelda-stage.is-zelda-present-fs .zelda-offer-panel .gemshop-meta{
  display:flex!important;
  flex-wrap:wrap;
  justify-content:center!important;
  align-items:center;
  width:100%;
  margin:0 0 2px!important;
  gap:6px!important;
}
.zelda-stage.is-zelda-present-fs .zelda-offer-panel .shop-buy-desc,
.zelda-stage.is-zelda-present-fs .zelda-offer-panel p.shop-buy-desc,
.zelda-stage.is-zelda-present-fs .zelda-offer-panel .gemshop-desc{
  width:100%;
  text-align:center!important;
  margin:2px 0 4px!important;
  padding:0 4px!important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.zelda-stage.is-zelda-present-fs .zelda-offer-panel .shop-buy-footer{
  margin-top:auto!important;
  padding-top:10px!important;
  padding-bottom:1.6cqi!important;
  margin-bottom:0.4cqi!important;
  display:flex!important;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:center!important;
  gap:14px!important;
  width:100%;
  flex-shrink:0!important;
}
.zelda-stage.is-zelda-present-fs .zelda-offer-panel .shop-price-line{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:2px!important;
}
.zelda-stage.is-zelda-present-fs .zelda-offer-panel .shop-buy-actions{
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.zelda-stage.is-zelda-present-fs--shop .zelda-offer-panel{
  /* Crest oben + Siegel/Beutel unten freilassen */
  padding:3.6cqi 3.0cqi 5.2cqi 2.8cqi!important;
  max-height:min(36%, 44cqi)!important;
}
.zelda-stage.is-zelda-present-fs--shop .zelda-offer-panel,
.zelda-stage.is-zelda-present-fs--shop .zelda-offer-panel .shop-buy-info,
.zelda-stage.is-zelda-present-fs--shop .zelda-offer-panel .shop-buy-info *:not(.item-ico):not(img):not(svg):not(.shop-buy-btn):not(.btn-primary):not(.stat-hover-trigger){
  color:#1c1208!important;
  opacity:1!important;
}
.zelda-stage.is-zelda-present-fs--shop .zelda-offer-panel .shop-buy-name,
.zelda-stage.is-zelda-present-fs--shop .zelda-offer-panel h3{
  color:#0a0602!important;
  font-family:Cinzel,Palatino,Georgia,serif!important;
  font-size:clamp(18px, 8.6cqi, 30px)!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  text-transform:uppercase;
  /* harter Kontrast über Crest/Pergament */
  text-shadow:
    0 0 2px rgba(255,248,230,.98),
    0 1px 0 #fff8e8,
    0 -1px 0 #fff8e8,
    1px 0 0 #fff8e8,
    -1px 0 0 #fff8e8,
    0 2px 4px rgba(0,0,0,.35)!important;
  -webkit-text-stroke:0.35px rgba(20,10,2,.35);
}
.zelda-stage.is-zelda-present-fs--shop .zelda-offer-panel .shop-buy-title-text{
  position:relative;
  z-index:2;
  display:inline-block;
  padding:0.15em 0.45em;
  border-radius:6px;
  background:linear-gradient(180deg,rgba(255,248,230,.82),rgba(255,240,210,.72))!important;
  box-shadow:0 1px 0 rgba(255,255,255,.55), 0 2px 8px rgba(40,20,0,.18);
  color:#0a0602!important;
}
.zelda-stage.is-zelda-present-fs--shop .zelda-offer-panel .shop-buy-tip-row{
  display:flex;
  justify-content:center;
  margin:0 0 2px;
}
.zelda-stage.is-zelda-present-fs--shop .zelda-offer-panel .shop-buy-tip-row .stat-hover-wrap{
  margin:0;
}
.zelda-stage.is-zelda-present-fs--shop .zelda-offer-panel .shop-tag{
  color:#2a1808!important;
  font-family:Cinzel,Georgia,serif!important;
  font-size:clamp(11px, 3.8cqi, 13px)!important;
  font-weight:800!important;
  letter-spacing:.04em;
  line-height:1.2!important;
  padding:0.35em 0.7em!important;
  border-radius:6px!important;
  background:rgba(70,42,18,.10)!important;
  border:1px solid rgba(70,42,18,.38)!important;
  box-shadow:inset 0 1px 0 rgba(255,248,230,.55)!important;
  text-shadow:none!important;
}
.zelda-stage.is-zelda-present-fs--shop .zelda-offer-panel .shop-buy-desc,
.zelda-stage.is-zelda-present-fs--shop .zelda-offer-panel p.shop-buy-desc{
  color:#2a1a0c!important;
  font-family:Palatino,"Palatino Linotype",Georgia,serif!important;
  font-size:clamp(13px, 5.4cqi, 18px)!important;
  font-weight:600!important;
  font-style:italic;
  line-height:1.5!important;
  text-shadow:0 1px 0 rgba(255,248,230,.7)!important;
}
.zelda-stage.is-zelda-present-fs--shop .zelda-offer-panel .shop-buy-footer{
  border-top:1px solid rgba(70,42,18,.28)!important;
  padding-bottom:1.8cqi!important;
}
.zelda-stage.is-zelda-present-fs--shop .zelda-offer-panel .shop-price-chip,
.zelda-stage.is-zelda-present-fs--shop .zelda-offer-panel .shop-price-chip--lg,
.zelda-stage.is-zelda-present-fs--shop .zelda-offer-panel .shop-price{
  color:#5c3008!important;
  font-family:Cinzel,Georgia,serif!important;
  font-size:clamp(16px, 6.8cqi, 24px)!important;
  font-weight:900!important;
  letter-spacing:.02em;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  text-shadow:0 1px 0 rgba(255,248,230,.85)!important;
}
.zelda-stage.is-zelda-present-fs--shop .zelda-offer-panel .shop-stock-chip,
.zelda-stage.is-zelda-present-fs--shop .zelda-offer-panel .tiny,
.zelda-stage.is-zelda-present-fs--shop .zelda-offer-panel .muted{
  color:#5a4030!important;
  font-size:clamp(11px, 3.6cqi, 13px)!important;
  font-weight:700!important;
  opacity:.92!important;
  text-shadow:none!important;
}
.zelda-stage.is-zelda-present-fs--shop .zelda-offer-panel .shop-buy-btn,
.zelda-stage.is-zelda-present-fs--shop .zelda-offer-panel .btn-primary{
  color:#fffdf5!important;
  font-family:Cinzel,Georgia,serif!important;
  font-size:clamp(13px, 5.0cqi, 17px)!important;
  font-weight:900!important;
  letter-spacing:.06em;
  text-transform:uppercase;
  min-height:2.45em;
  padding:0.5em 1.35em!important;
  border-radius:10px!important;
  text-shadow:0 1px 2px rgba(0,0,0,.45)!important;
  background:linear-gradient(180deg,#3d8a36 0%,#245c20 55%,#1a4518 100%)!important;
  border:1px solid rgba(20,50,16,.55)!important;
  box-shadow:0 3px 0 rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.28)!important;
}
/* Gem: zentriert + klare Hierarchie auf dunklem Schild */
.zelda-stage.is-zelda-present-fs--gem .zelda-offer-panel{
  padding:3.4cqi 3.0cqi 5.0cqi!important;
  max-height:min(36%, 44cqi)!important;
}
.zelda-stage.is-zelda-present-fs--gem .zelda-offer-panel,
.zelda-stage.is-zelda-present-fs--gem .zelda-offer-panel .shop-buy-info,
.zelda-stage.is-zelda-present-fs--gem .zelda-offer-panel .shop-buy-info *:not(.item-ico):not(img):not(svg):not(.gemshop-buy):not(.btn-primary){
  color:#f3f6ff!important;
  opacity:1!important;
}
.zelda-stage.is-zelda-present-fs--gem .zelda-offer-panel .shop-buy-name,
.zelda-stage.is-zelda-present-fs--gem .zelda-offer-panel h3,
.zelda-stage.is-zelda-present-fs--gem .zelda-offer-panel .gemshop-name{
  color:#fffef8!important;
  font-family:Cinzel,Palatino,Georgia,serif!important;
  font-size:clamp(18px, 8.4cqi, 30px)!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  text-transform:uppercase;
  text-shadow:0 0 3px rgba(0,0,0,.98), 0 2px 5px rgba(0,0,0,.9), 0 1px 0 #000!important;
  -webkit-text-stroke:0.3px rgba(0,0,0,.55);
}
.zelda-stage.is-zelda-present-fs--gem .zelda-offer-panel .shop-buy-title-text{
  position:relative;
  z-index:2;
  display:inline-block;
  padding:0.15em 0.5em;
  border-radius:6px;
  background:linear-gradient(180deg,rgba(8,16,40,.72),rgba(4,10,28,.78))!important;
  box-shadow:0 0 0 1px rgba(160,200,255,.28), 0 2px 10px rgba(0,0,0,.45);
  color:#fffef8!important;
}
.zelda-stage.is-zelda-present-fs--gem .zelda-offer-panel .shop-buy-desc,
.zelda-stage.is-zelda-present-fs--gem .zelda-offer-panel p.shop-buy-desc,
.zelda-stage.is-zelda-present-fs--gem .zelda-offer-panel .gemshop-desc{
  color:#dce6fb!important;
  font-family:Palatino,"Palatino Linotype",Georgia,serif!important;
  font-size:clamp(13px, 5.2cqi, 18px)!important;
  font-weight:600!important;
  font-style:italic;
  line-height:1.5!important;
  text-shadow:0 0 2px rgba(0,0,0,.95), 0 1px 3px rgba(0,0,0,.9)!important;
}
.zelda-stage.is-zelda-present-fs--gem .zelda-offer-panel .shop-tag,
.zelda-stage.is-zelda-present-fs--gem .zelda-offer-panel .gemshop-tag{
  color:#eef4ff!important;
  font-family:Cinzel,Georgia,serif!important;
  font-size:clamp(11px, 3.7cqi, 13px)!important;
  font-weight:800!important;
  letter-spacing:.03em;
  padding:0.35em 0.75em!important;
  border-radius:6px!important;
  background:rgba(6,14,36,.78)!important;
  border:1px solid rgba(160,200,255,.42)!important;
  box-shadow:inset 0 1px 0 rgba(180,210,255,.18)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.85)!important;
}
.zelda-stage.is-zelda-present-fs--gem .zelda-offer-panel .shop-buy-footer{
  border-top:1px solid rgba(160,200,255,.28)!important;
  padding-bottom:1.8cqi!important;
}
.zelda-stage.is-zelda-present-fs--gem .zelda-offer-panel .shop-price-line,
.zelda-stage.is-zelda-present-fs--gem .zelda-offer-panel .gemshop-price,
.zelda-stage.is-zelda-present-fs--gem .zelda-offer-panel .shop-price-chip{
  color:#ffe9a8!important;
  font-family:Cinzel,Georgia,serif!important;
  font-size:clamp(16px, 6.6cqi, 24px)!important;
  font-weight:900!important;
  letter-spacing:.02em;
  text-shadow:0 0 3px rgba(0,0,0,.95), 0 1px 0 #000!important;
}
.zelda-stage.is-zelda-present-fs--gem .zelda-offer-panel .gemshop-buy,
.zelda-stage.is-zelda-present-fs--gem .zelda-offer-panel .btn-primary{
  color:#0b1220!important;
  font-family:Cinzel,Georgia,serif!important;
  font-size:clamp(13px, 5.0cqi, 17px)!important;
  font-weight:900!important;
  letter-spacing:.06em;
  text-transform:uppercase;
  min-height:2.45em;
  padding:0.5em 1.35em!important;
  border-radius:10px!important;
  text-shadow:none!important;
  background:linear-gradient(90deg,#7dd3fc 0%,#fbbf24 100%)!important;
  border:1px solid rgba(255,255,255,.35)!important;
  box-shadow:0 4px 12px rgba(0,0,0,.45)!important;
}
.zelda-stage.is-zelda-present-fs .zelda-offer-panel .shop-buy-btn,
.zelda-stage.is-zelda-present-fs .zelda-offer-panel .gemshop-buy,
.zelda-stage.is-zelda-present-fs .zelda-offer-panel .btn-primary{
  min-height:2.45em;
  padding:0.5em 1.3em!important;
  border-radius:10px!important;
  flex:0 0 auto;
}
/* Vergleich/Mat-Blöcke in Present-Tafel kompakt halten */
.zelda-stage.is-zelda-present-fs .zelda-offer-panel .shop-card-mats,
.zelda-stage.is-zelda-present-fs .zelda-offer-panel .parchment-set-boni,
.zelda-stage.is-zelda-present-fs .zelda-offer-panel .equip-compare-trigger,
.zelda-stage.is-zelda-present-fs .zelda-offer-panel .shop-buy-stage{
  display:none!important;
}
.zelda-stage.is-zelda-present-fs .zelda-offer-close{
  position:absolute!important;
  width:2.2cqi;
  height:2.2cqi;
  min-width:26px;min-height:26px;
  border-radius:999px;
  background:rgba(255,248,230,.94)!important;
  color:#1a1006!important;
  border:1px solid rgba(70,42,18,.4)!important;
  box-shadow:0 4px 12px rgba(0,0,0,.4);
  z-index:14!important;
  pointer-events:auto!important;
}
/* Legacy-Klasse aus BG-Swap */
.zelda-stage.is-zelda-present-scene .zelda-npc-sprite,
.zelda-stage.is-zelda-present-scene .zelda-npc-hands,
.zelda-stage.is-zelda-present-scene .zelda-counter-fg{
  display:none!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Kauffenster Idle (ohne Present): Shop + Gem auto-Höhe */
.shop-workshop--zelda .zelda-offer-panel,
.gemshop-shell--zelda .zelda-offer-panel{
  top:12%;
  bottom:auto;
  height:auto;
  max-height:72%;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:3.2cqi 3.2cqi 4.2cqi 2.8cqi;
}
.shop-workshop--zelda .zelda-offer-panel{
  /* Geschenk-/Regal-Ästhetik: etwas breiter, Siegel unten rechts sichtbar */
  width:min(38%, 42cqi);
  right:1.4%;
  top:11%;
  padding:3.4cqi 3.0cqi 4.6cqi 2.9cqi;
}
.shop-workshop--zelda .zelda-offer-panel .shop-buy-info,
.gemshop-shell--zelda .zelda-offer-panel .shop-buy-info{
  flex:0 0 auto;
  height:auto!important;
  min-height:0!important;
  justify-content:flex-start!important;
  gap:8px!important;
}
.shop-workshop--zelda .zelda-offer-panel .shop-buy-desc,
.shop-workshop--zelda .zelda-offer-panel p.shop-buy-desc,
.gemshop-shell--zelda .zelda-offer-panel .shop-buy-desc,
.gemshop-shell--zelda .zelda-offer-panel p.shop-buy-desc{
  flex:0 0 auto!important;
}
.shop-workshop--zelda .zelda-offer-panel .shop-buy-footer,
.gemshop-shell--zelda .zelda-offer-panel .shop-buy-footer{
  margin-top:8px!important;
  margin-bottom:0!important;
  padding-top:10px!important;
}
/* Shop-Offer: genug Luft über dem Wax-Seal */
.shop-workshop--zelda .zelda-offer-panel .shop-buy-footer{
  padding-bottom:1.2cqi!important;
}
.zelda-offer-panel > *{position:relative;z-index:1}
.zelda-offer-panel .shop-buy-stage{display:none!important}
/* Tinte auf Pergament — alle hellen Shop-Farben überschreiben */
.zelda-offer-panel,
.zelda-offer-panel .shop-buy-info,
.zelda-offer-panel .shop-buy-info *:not(.item-ico):not(img):not(svg){
  color:#1a1006!important;
  text-shadow:none!important;
  opacity:1!important;
}
.zelda-offer-panel .shop-buy-info{
  display:flex;flex-direction:column;gap:10px!important;
  padding:4px 2px 6px!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.zelda-offer-panel .shop-buy-name,
.zelda-offer-panel h3{
  color:#141008!important;
  font-family:Cinzel,Palatino,Georgia,serif;
  font-size:7.4cqi!important;
  font-weight:800!important;
  letter-spacing:.06em;
  line-height:1.22!important;
  padding:0!important;
  background:transparent!important;
  margin:0 0 2px!important;
  text-shadow:0 1px 0 rgba(255,236,200,.4)!important;
}
.zelda-offer-panel .shop-tags{
  display:flex;flex-wrap:wrap;gap:0.5cqi;margin:2px 0 4px;
}
.zelda-offer-panel .shop-tag{
  font-size:4.2cqi!important;
  font-weight:700!important;
  padding:0.35cqi 0.75cqi!important;
  border-radius:999px!important;
  background:rgba(70,42,18,.12)!important;
  border:1px solid rgba(70,42,18,.32)!important;
  color:#1a1006!important;
}
.zelda-offer-panel .shop-buy-desc,
.zelda-offer-panel p.shop-buy-desc{
  font-family:Palatino,"Palatino Linotype",Georgia,"Times New Roman",serif;
  font-size:5.8cqi!important;
  color:#1a1008!important;
  font-weight:700!important;
  line-height:1.48!important;
  padding:0.2cqi 0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  margin:0!important;
  text-shadow:0 1px 0 rgba(255,236,200,.32)!important;
}
.zelda-offer-panel .muted,
.zelda-offer-panel .tiny{
  color:#3a2814!important;
  font-weight:650!important;
  font-size:4.3cqi!important;
}
/* Set-Boni direkt auf Pergament — Tinte, keine Hover-Kachel */
.zelda-offer-panel .parchment-set-boni{
  margin:4px 0 2px;
  padding:0.4cqi 0 0.6cqi;
  border-radius:0;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.zelda-offer-panel .parchment-set-boni-title{
  font-family:Cinzel,Georgia,serif!important;
  font-size:4.7cqi!important;
  font-weight:800!important;
  color:#141008!important;
  letter-spacing:.02em;
  margin:0 0 0.7cqi!important;
  padding-bottom:0.5cqi;
  border-bottom:1px solid rgba(90,55,20,.22);
}
.zelda-offer-panel .parchment-set-boni .bag-tip-set{
  margin:0!important;padding:0!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
}
.zelda-offer-panel .parchment-set-boni .bag-tip-set + .bag-tip-set{margin-top:0.85cqi!important}
.zelda-offer-panel .parchment-set-boni .bag-tip-set-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:0.7cqi;flex-wrap:wrap;
  margin-bottom:2px;
}
.zelda-offer-panel .parchment-set-boni .bag-tip-set-name{
  font-weight:800!important;color:#141008!important;font-size:4.6cqi!important;
}
.zelda-offer-panel .parchment-set-boni .bag-tip-set-progress,
.zelda-offer-panel .parchment-set-boni .bag-tip-set-meta{
  color:#5a4030!important;font-size:4cqi!important;font-weight:650!important;
}
.zelda-offer-panel .parchment-set-boni .bag-tip-set-progress.is-on{color:#14532d!important}
.zelda-offer-panel .parchment-set-boni .bag-tip-set-tiers{
  display:flex;flex-direction:column;gap:0.5cqi;margin-top:0.5cqi;
}
.zelda-offer-panel .parchment-set-boni .bag-tip-set-tier{
  padding:0.6cqi 0.75cqi;border-radius:0.75cqi;
  background:rgba(90,55,20,.06)!important;
  border:1px solid rgba(90,55,20,.16)!important;
}
.zelda-offer-panel .parchment-set-boni .bag-tip-set-tier.is-active{
  background:rgba(40,110,50,.10)!important;
  border-color:rgba(40,100,50,.28)!important;
}
.zelda-offer-panel .parchment-set-boni .bag-tip-set-tier-req{
  display:flex;justify-content:space-between;gap:0.7cqi;
  font-size:4cqi!important;font-weight:700!important;color:#1a1006!important;
  margin-bottom:3px;
}
.zelda-offer-panel .parchment-set-boni .bag-tip-set-check{color:#14532d!important}
.zelda-offer-panel .parchment-set-boni .bag-tip-set-missing{color:#7f1d1d!important}
.zelda-offer-panel .parchment-set-boni .bag-tip-set-bonus-list{
  margin:0;padding:0 0 0 1.1em;list-style:disc;
  color:#1a1006!important;font-size:4.1cqi!important;line-height:1.4;
}
.zelda-offer-panel .parchment-set-boni .bag-tip-set-bonus-list li{margin:1px 0}
.zelda-offer-panel .parchment-set-boni .bag-tip-set-bonus-empty{color:#5a4030!important;font-size:4cqi}
.zelda-offer-panel .shop-buy-footer{
  border-top:1px solid rgba(90,55,20,.3)!important;
  background:transparent!important;
  margin-top:4px!important;padding-top:12px!important;
}
.zelda-offer-panel .shop-card-mats,
.zelda-offer-panel .shop-mat-row,
.zelda-offer-panel .shop-buy-info > div{
  background:transparent!important;
  box-shadow:none!important;
}
.zelda-offer-panel .shop-price-chip{
  background:linear-gradient(180deg,#ffe9a8,#e0b04a)!important;
  color:#1a1006!important;
  font-weight:800!important;
  border:1px solid rgba(90,55,20,.35)!important;
}
.zelda-offer-panel .shop-stock-chip{
  color:#3a2814!important;
  background:rgba(90,55,20,.1)!important;
  border:1px solid rgba(90,55,20,.25)!important;
}
.zelda-offer-panel .shop-mat-chip,
.zelda-offer-panel .shop-mat-chip-face,
.zelda-offer-panel .shop-card-mats,
.zelda-offer-panel .shop-mat-group{
  background:rgba(255,252,242,.88)!important;
  border:1px solid rgba(90,55,20,.3)!important;
  box-shadow:none!important;
  color:#1a1006!important;
}
.zelda-offer-panel .shop-mat-label-text,
.zelda-offer-panel .shop-mat-source,
.zelda-offer-panel .shop-mat-have,
.zelda-offer-panel .shop-mat-group-label,
.zelda-offer-panel .shop-mat-status,
.zelda-offer-panel .shop-mat-body,
.zelda-offer-panel .shop-endgame-group .shop-mat-group-label,
.zelda-offer-panel .shop-boss-group .shop-mat-group-label{
  color:#1a1006!important;
  background:transparent!important;
}
.zelda-offer-panel .shop-mat-have{
  background:rgba(90,55,20,.1)!important;
  border-radius:6px!important;
  color:#1a1006!important;
}
.zelda-offer-panel .shop-mat-chip.cost-ok{background:rgba(40,110,50,.14)!important;border-color:rgba(40,100,50,.4)!important}
.zelda-offer-panel .shop-mat-chip.cost-missing{background:rgba(120,40,30,.12)!important;border-color:rgba(120,40,30,.4)!important}
.zelda-offer-panel .shop-mat-chip.cost-ok .shop-mat-status,
.zelda-offer-panel .shop-mat-chip.cost-ok .shop-mat-have{color:#14532d!important}
.zelda-offer-panel .shop-mat-chip.cost-missing .shop-mat-status,
.zelda-offer-panel .shop-mat-chip.cost-missing .shop-mat-have{color:#7f1d1d!important}
.zelda-offer-panel .btn,
.zelda-offer-panel .shop-buy-btn,
.zelda-offer-panel .shop-craft-missing-btn,
.zelda-offer-panel .equip-compare-trigger{
  font-weight:800!important;
  color:#1a1006!important;
  background:linear-gradient(180deg,#f6e7c0,#e2b65a)!important;
  border:1px solid rgba(90,55,20,.42)!important;
  box-shadow:0 2px 0 rgba(90,55,20,.22)!important;
  text-shadow:none!important;
}
.zelda-offer-panel .btn-primary,
.zelda-offer-panel .shop-buy-btn.btn-primary{
  color:#fff8e7!important;
  background:linear-gradient(180deg,#3d8b4a,#1f6b32)!important;
  border-color:rgba(20,60,28,.45)!important;
}
.zelda-offer-panel .gemshop-buy{
  font-weight:800!important;
  color:#fff8e7!important;
  background:linear-gradient(180deg,#3d8b4a,#1f6b32)!important;
  border:1px solid rgba(20,60,28,.45)!important;
  box-shadow:0 2px 0 rgba(20,60,28,.22)!important;
  text-shadow:none!important;
  width:auto;min-width:7.5rem;border-radius:8px;
}
.zelda-offer-panel .gemshop-buy.is-refresh:not(:disabled){
  color:#1a1006!important;
  background:linear-gradient(180deg,#f6e7c0,#e2b65a)!important;
  border-color:rgba(90,55,20,.42)!important;
}
.zelda-offer-panel .gemshop-buy:disabled,
.zelda-offer-panel .gemshop-buy.is-disabled{
  opacity:.55!important;
  color:#3a2814!important;
  background:rgba(90,55,20,.12)!important;
  box-shadow:none!important;
}
.zelda-offer-panel .gemshop-meta{display:flex;flex-wrap:wrap;gap:4px}
.zelda-offer-panel .gemshop-tag{
  color:#1a1008!important;
  font-weight:700!important;
  background:rgba(90,55,20,.10)!important;
  border:1px solid rgba(90,55,20,.32)!important;
}
.zelda-offer-panel .gemshop-price{
  color:#1a1006!important;
  font-weight:800;
}
.zelda-offer-panel .btn:disabled,
.zelda-offer-panel .shop-buy-btn:disabled{
  opacity:.55!important;
  color:#3a2814!important;
}
.zelda-offer-panel .stat-hover-trigger,
.zelda-offer-panel .stat-hover-trigger.chip-more{
  color:#1a1006!important;
  background:rgba(90,55,20,.12)!important;
  border-color:rgba(90,55,20,.35)!important;
}
.zelda-offer-panel .equip-set-bonus-btn{
  color:#3a2814!important;
  background:linear-gradient(180deg,rgba(120,80,30,.18),rgba(90,55,20,.1))!important;
  border:1px solid rgba(90,55,20,.4)!important;
  box-shadow:0 1px 3px rgba(0,0,0,.12)!important;
}
.zelda-offer-panel .equip-set-bonus-btn:hover,
.zelda-offer-panel .equip-set-bonus-btn:focus-visible{
  color:#1a1006!important;
  background:linear-gradient(180deg,rgba(120,80,30,.28),rgba(90,55,20,.16))!important;
  border-color:rgba(90,55,20,.6)!important;
}
/* Info-Tooltip im Shop: nur wenn .visible — nie Opacity auf versteckte Portale (sonst beige Ghost-Box) */
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip),
body.rpg-shop-fs .rpg-tooltip-portal.visible:not(#cos-badge-tooltip),
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip),
html.rpg-shop-fs .rpg-tooltip-portal.visible:not(#cos-badge-tooltip){
  min-width:min(92vw,280px);max-width:min(94vw,340px);
  padding:14px 16px 16px;
  border-radius:14px;
  background:
    linear-gradient(165deg, rgba(255,250,236,.99) 0%, rgba(244,224,186,.99) 55%, rgba(234,208,158,.99) 100%)!important;
  border:1px solid rgba(90,55,20,.4)!important;
  box-shadow:0 16px 36px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.55)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  color:#1a1006!important;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) *:not(img):not(svg),
body.rpg-shop-fs .rpg-tooltip-portal.visible:not(#cos-badge-tooltip) *:not(img):not(svg),
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) *:not(img):not(svg),
html.rpg-shop-fs .rpg-tooltip-portal.visible:not(#cos-badge-tooltip) *:not(img):not(svg){
  color:#1a1006!important;
  text-shadow:none!important;
  border-color:rgba(90,55,20,.22)!important;
}
/* Versteckte Portale bleiben unsichtbar — auch im Shop */
body.rpg-shop-fs .rpg-tooltip-portal:not(.visible),
body.rpg-shop-fs .stat-hover-tooltip-portal:not(.visible),
html.rpg-shop-fs .rpg-tooltip-portal:not(.visible),
html.rpg-shop-fs .stat-hover-tooltip-portal:not(.visible),
#cos-badge-tooltip:not(.visible),
#stat-hover-tooltip:not(.visible){
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .stat-hover-title,
body.rpg-shop-fs .rpg-tooltip-portal.visible:not(#cos-badge-tooltip) .tip-name,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .stat-hover-title,
html.rpg-shop-fs .rpg-tooltip-portal.visible:not(#cos-badge-tooltip) .tip-name{
  color:#141008!important;
  font-family:Cinzel,Georgia,serif!important;
  font-size:.9rem!important;font-weight:800!important;
  border-bottom:1px solid rgba(90,55,20,.25)!important;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .stat-hover-k,
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .stat-hover-row.is-block .stat-hover-k,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .stat-hover-k,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .stat-hover-row.is-block .stat-hover-k{
  color:#5a4030!important;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .stat-hover-v,
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .stat-hover-row.is-block .stat-hover-v,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .stat-hover-v,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .stat-hover-row.is-block .stat-hover-v{
  color:#141008!important;
  font-weight:700!important;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .stat-hover-desc,
body.rpg-shop-fs .rpg-tooltip-portal.visible:not(#cos-badge-tooltip) .tip-desc,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .stat-hover-desc,
html.rpg-shop-fs .rpg-tooltip-portal.visible:not(#cos-badge-tooltip) .tip-desc{
  color:#2a1808!important;
  border-top-color:rgba(90,55,20,.2)!important;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .stat-hover-row,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .stat-hover-row{
  border-top-color:rgba(90,55,20,.14)!important;
  border-bottom-color:rgba(90,55,20,.14)!important;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .stat-hover-warn,
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .stat-hover-warn .stat-hover-v,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .stat-hover-warn,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .stat-hover-warn .stat-hover-v{
  color:#7f1d1d!important;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-sec span,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-sec span{
  color:#5a4030!important;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-sec::after,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-sec::after{
  background:linear-gradient(90deg, rgba(90,55,20,.35), transparent)!important;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set{
  margin:10px 0 0;padding:12px 13px 11px;border-radius:14px;
  background:linear-gradient(165deg, rgba(255,250,235,.92), rgba(246,236,214,.78))!important;
  border:1px solid rgba(90,55,20,.22)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
  display:flex;flex-direction:column;gap:8px;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-head,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-head{
  display:flex;justify-content:space-between;align-items:baseline;gap:10px;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-name,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-name{
  color:#2a1808!important;
  font-family:"Cinzel",ui-serif,Georgia,serif!important;
  font-weight:800!important;font-size:.78rem!important;
  letter-spacing:.04em;line-height:1.2;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-progress,
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-meta,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-progress,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-meta{
  color:#6b4a32!important;font-size:.62rem!important;font-weight:700!important;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-progress.is-on,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-progress.is-on{
  color:#1d5c32!important;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-tiers,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-tiers{
  display:flex;flex-direction:column;gap:6px;margin-top:2px;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-tier,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-tier{
  background:rgba(90,55,20,.06)!important;
  border:1px solid rgba(90,55,20,.14)!important;
  border-radius:10px;padding:7px 9px 8px;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-tier.is-active,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-tier.is-active{
  background:rgba(40,110,50,.11)!important;
  border-color:rgba(40,100,50,.28)!important;
  box-shadow:inset 0 0 0 1px rgba(40,100,50,.08);
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-tier-req,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-tier-req{
  display:flex;justify-content:space-between;align-items:center;gap:8px;
  color:#2c1a0c!important;font-size:.68rem!important;font-weight:800!important;
  margin-bottom:4px;letter-spacing:.01em;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-bonus-list,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-bonus-list{
  margin:0;padding:0 0 0 1.05em;display:flex;flex-direction:column;gap:2px;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-bonus-list li,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-bonus-list li{
  color:#3a2414!important;font-size:.66rem!important;line-height:1.4!important;
  font-weight:650!important;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-tier.is-active .bag-tip-set-bonus-list li,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-tier.is-active .bag-tip-set-bonus-list li{
  color:#1a3d24!important;font-weight:750!important;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-check,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-check{
  color:#1d5c32!important;font-size:.58rem!important;font-weight:800!important;
  letter-spacing:.05em;text-transform:uppercase;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-missing,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .bag-tip-set-missing{
  color:#8a5a3a!important;font-size:.58rem!important;font-weight:700!important;
  opacity:.92;
}
body.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .stat-hover-title,
html.rpg-shop-fs .stat-hover-tooltip-portal.visible:not(#cos-badge-tooltip) .stat-hover-title{
  font-family:"Cinzel",ui-serif,Georgia,serif!important;
  letter-spacing:.05em;font-weight:800!important;
}
.zelda-offer-close{
  position:absolute;right:calc(1.2% + 1.5cqi);top:calc(10% + 1.5cqi);
  z-index:11;pointer-events:auto;
  width:2.6cqi;height:2.6cqi;border-radius:999px;border:1px solid rgba(90,50,20,.35);
  background:rgba(255,244,220,.92);color:#3a2412;cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.25);
  font-size:1.4cqi;
}

.zelda-dialog{
  position:absolute;z-index:8;
  left:50%;bottom:2.2%;
  transform:translateX(-50%);
  width:52%;
  padding:1.05cqi 1.2cqi 0.9cqi;
  border-radius:1.2cqi;
  background:rgba(4,6,10,.82);
  border:2px solid rgba(255,255,255,.22);
  box-shadow:0 12px 36px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.zelda-dialog--controls{
  width:auto;min-width:0;max-width:70%;
  padding:0.7cqi 1.05cqi;background:rgba(4,6,10,.55);border-width:1px;
}
.zelda-dialog-text{
  margin:0;font-family:Cinzel,Georgia,serif;font-size:1.75cqi;
  color:#fff8e7;line-height:1.35;text-align:center;
  text-shadow:0 2px 8px rgba(0,0,0,.6);
}
.zelda-dialog-text::after{
  content:'▼';display:block;margin-top:0.35cqi;font-size:0.95cqi;opacity:.55;animation:zeldaBlink 1.1s steps(2,end) infinite;
}
@keyframes zeldaBlink{50%{opacity:.15}}
.zelda-dialog-foot{
  display:flex;align-items:center;justify-content:center;gap:0.9cqi;flex-wrap:wrap;margin-top:0;
}
.zelda-dialog--controls .zelda-dialog-foot{margin-top:0}
.zelda-overflow{font-size:1.15cqi;color:rgba(255,244,220,.65)}
.zelda-forge{
  position:absolute;z-index:7;right:1cqi;bottom:12cqi;
  max-width:28cqi;max-height:40%;overflow:auto;
  background:rgba(0,0,0,.72);border:1px solid rgba(245,158,11,.35);
  border-radius:0.9cqi;padding:0.5cqi 0.7cqi;color:#fde68a;font-size:1.3cqi;
}
.zelda-forge summary{cursor:pointer;font-weight:800}
.zelda-forge[open]{padding:0.7cqi}
.gemshop-shell--zelda .zelda-dialog{border-color:rgba(96,165,250,.35)}

/* ═══ Auktionshalle / Spielermarkt ═══ */
.zelda-scene--market .zelda-scene-bg{filter:saturate(1.08) contrast(1.05) brightness(.96)}
.market-workshop--zelda .zelda-cats.market-tabs{
  top:9%;
  background:rgba(8,6,4,.55);
  border:1px solid rgba(232,197,71,.22);
}
.market-workshop--zelda .market-tab{
  flex:0 0 auto;border-radius:10px;padding:6px 10px;font-size:.7rem;
}
.market-workshop--zelda .market-tab em{
  font-style:normal;font-size:.62rem;padding:1px 6px;border-radius:999px;
  background:rgba(255,255,255,.08);color:rgba(253,230,138,.9);
}
.market-workshop--zelda .market-tab.is-active{
  border-color:rgba(232,197,71,.5);background:rgba(232,197,71,.2);color:#fde68a;
}
.market-zelda-desk{
  position:absolute;z-index:4;
  left:9%;right:9%;top:18%;bottom:15%;
  display:flex;flex-direction:column;min-height:0;overflow:hidden;
  padding:10px 12px;
  border-radius:16px;
  background:
    linear-gradient(180deg,rgba(18,12,8,.78),rgba(8,6,4,.88)),
    repeating-linear-gradient(0deg,transparent,transparent 27px,rgba(245,215,110,.04) 28px);
  border:1px solid rgba(232,197,71,.32);
  box-shadow:
    0 18px 48px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,244,220,.1),
    inset 0 0 0 1px rgba(0,0,0,.35);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.market-zelda-desk > [data-market-pane]{
  display:none;flex:1 1 auto;min-height:0;flex-direction:column;gap:8px;overflow:hidden;
}
#panel-card.panel-market.market-tab-board .market-zelda-desk > [data-market-pane="board"],
#panel-card.panel-market.market-tab-sell .market-zelda-desk > [data-market-pane="sell"],
#panel-card.panel-market.market-tab-stall .market-zelda-desk > [data-market-pane="stall"]{
  display:flex;
}
.market-workshop--zelda .market-col-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;
  color:#fff4dc;font-family:Cinzel,Georgia,serif;
}
.market-workshop--zelda .market-toolbar{flex-shrink:0;gap:6px}
.market-workshop--zelda .market-search{
  width:100%;min-height:34px;border-radius:10px;padding:6px 10px;
  border:1px solid rgba(232,197,71,.25);background:rgba(0,0,0,.4);color:#fff4dc;
}
.market-workshop--zelda .market-filters{display:flex;flex-wrap:wrap;gap:4px}
.market-workshop--zelda .market-filter{
  padding:4px 8px;border-radius:999px;font-size:.62rem;cursor:pointer;
  border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.3);color:rgba(255,244,220,.8);
}
.market-workshop--zelda .market-filter.is-active{
  border-color:rgba(232,197,71,.45);background:rgba(232,197,71,.18);color:#fde68a;
}
.market-workshop--zelda .market-listings,
.market-workshop--zelda .market-sell-list{
  flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;
  display:flex;flex-direction:column;gap:6px;padding-right:2px;
}
.market-workshop--zelda .market-listing,
.market-workshop--zelda .market-sell-row{
  background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.1);border-radius:12px;
}
.market-workshop--zelda .zelda-dialog{
  border-color:rgba(232,197,71,.35);
  background:rgba(10,7,4,.86);
}
.market-workshop--zelda .panel-inline-msg{
  position:absolute;z-index:6;left:50%;top:15.5%;transform:translateX(-50%);
  width:70%;margin:0;pointer-events:none;
  font-size:1.35cqi;
}

@media (max-width:700px){
  .zelda-good-sprite{
    width:100%!important;
    height:100%!important;
  }
  .zelda-dialog{width:min(92%,100%);bottom:1.5%;border-radius:1cqi;padding:0.9cqi 1.05cqi 0.7cqi}
  .zelda-cats{top:11%}
  .market-zelda-desk{
    left:3%;right:3%;top:20%;bottom:16%;
    padding:0.7cqi;border-radius:1cqi;
  }
  .market-workshop--zelda .zelda-cats.market-tabs{top:10.5%}
  .market-workshop--zelda .market-col-head{display:none}
}

/* Arcade Setup Modal + Quiz Ladder + Fishing rod */
.arcade-setup-overlay{
  position:fixed;inset:0;z-index:2147482400;
  display:flex;align-items:center;justify-content:center;
  padding:max(12px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom));
  background:
    radial-gradient(ellipse at 50% 18%,rgba(0,220,255,.1),transparent 42%),
    radial-gradient(ellipse at 50% 80%,rgba(240,180,70,.08),transparent 46%),
    rgba(3,6,12,.82);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.arcade-setup-card{
  width:min(94vw,400px);max-height:min(92dvh,640px);overflow:auto;
  padding:0;display:flex;flex-direction:column;gap:0;
  border-radius:18px;border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(165deg,rgba(22,30,46,.96),rgba(10,14,22,.98));
}
.arcade-setup-title{font-weight:800;font-size:1.05rem}
.arcade-setup-hint{margin:0;opacity:.8}
.arcade-setup-options{display:flex;flex-direction:column;gap:8px}
.arcade-setup-options-row{flex-direction:row;flex-wrap:wrap}
.arcade-setup-opt{
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  text-align:left;padding:10px 12px;border-radius:12px;
  border:1px solid rgba(148,163,184,.28);background:rgba(255,255,255,.04);
}
.arcade-setup-opt strong{font-size:.92rem}
.arcade-setup-opt span{font-size:.72rem;opacity:.75}
.arcade-setup-opt.is-default{border-color:rgba(251,191,36,.55);box-shadow:0 0 0 1px rgba(251,191,36,.2)}
.arcade-setup-options-row .arcade-setup-opt{flex:1 1 30%;min-width:100px}
.arcade-setup-cancel{align-self:center}

/* Wer wird Millionär — Vollbild */
.rpg-wwm-fs{
  position:fixed;inset:0;z-index:2147482000;display:flex;align-items:stretch;justify-content:center;
  padding:max(8px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));
  background:
    radial-gradient(ellipse at 50% 0%,rgba(232,197,71,.16),transparent 45%),
    radial-gradient(ellipse at 80% 100%,rgba(56,120,255,.12),transparent 40%),
    linear-gradient(165deg,#07090f 0%,#10162a 48%,#0a0c14 100%);
}
.rpg-wwm-fs.hidden{display:none!important}
.rpg-wwm-fs-shell{
  width:min(1100px,100%);height:100%;max-height:100%;
  display:flex;flex-direction:column;min-height:0;
  border-radius:18px;overflow:hidden;
  border:1px solid rgba(232,197,71,.35);
  background:linear-gradient(180deg,rgba(16,20,34,.96),rgba(6,8,14,.98));
  box-shadow:0 24px 70px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.4);
}
.rpg-wwm-fs-body{
  flex:1;min-height:0;overflow:auto;padding:12px 14px 16px;
  display:flex;flex-direction:column;gap:10px;
}
.rpg-wwm-fs-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:4px 2px 8px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;
}
.rpg-wwm-fs-brand{display:flex;align-items:center;gap:10px}
.rpg-wwm-fs-brand>span{font-size:1.45rem;line-height:1}
.rpg-wwm-fs-brand strong{display:block;font-size:1.05rem;font-weight:900;color:#ffe7b0}
.rpg-wwm-fs-brand .tiny{margin:2px 0 0;color:rgba(246,238,226,.62)}
body.wwm-fullscreen-active{overflow:hidden}
body.wwm-fullscreen-active .top-bar{opacity:.35;pointer-events:none}
body.arcade-game-fullscreen-active .rpg-wwm-fs-shell.rpg-arcade-fs-shell{
  background:linear-gradient(165deg,rgba(12,18,28,.96),rgba(8,12,20,.98));
}
body.arcade-game-fullscreen-active .arcade-game-header{
  display:flex;align-items:center;gap:10px;flex-shrink:0;
  padding:4px 2px 10px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:8px;
}
body.arcade-game-fullscreen-active .rpg-wwm-fs-body{
  display:flex;flex-direction:column;min-height:0;flex:1;overflow:auto;
}
.quiz-board-wwm{
  flex:1;min-height:0;
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.06);
  border-radius:14px;padding:12px;
}
.quiz-board-wwm .quiz-question{
  font-size:clamp(1.05rem,2.6vw,1.35rem);font-weight:800;line-height:1.35;
  margin:8px 0 14px;color:#fff8ee;
}
.quiz-board-wwm .quiz-answers{gap:10px}
.quiz-board-wwm .btn-quiz{min-height:52px;font-size:.95rem;padding:12px 14px}
.quiz-board-wwm .quiz-ladder{max-height:min(70vh,560px)}
@media (max-width:720px){
  .rpg-wwm-fs{padding:max(6px,env(safe-area-inset-top)) 6px max(8px,env(safe-area-inset-bottom))}
  .rpg-wwm-fs-shell{border-radius:14px}
  .quiz-board-wwm .quiz-ladder{max-height:140px}
}

.quiz-board-ladder{display:grid;grid-template-columns:minmax(110px,34%) 1fr;gap:12px;align-items:start}
.quiz-ladder-wrap{position:sticky;top:0}
.quiz-ladder{display:flex;flex-direction:column;gap:4px;max-height:min(58vh,420px);overflow:auto;padding:4px}
.quiz-ladder-rung{
  display:grid;grid-template-columns:28px 1fr auto;gap:6px;align-items:center;
  padding:5px 8px;border-radius:8px;font-size:.72rem;
  background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.08);
}
.quiz-ladder-rung.is-safe{border-color:rgba(56,189,248,.45);background:rgba(14,116,144,.18)}
.quiz-ladder-rung.is-current{border-color:rgba(251,191,36,.7);background:rgba(251,191,36,.16);font-weight:800}
.quiz-ladder-rung.is-cleared{opacity:.55}
.quiz-ladder-idx{opacity:.7;font-variant-numeric:tabular-nums}
.quiz-ladder-status{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0 4px}
.quiz-jokers{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 2px}
.quiz-joker-btn:disabled{opacity:.4;filter:grayscale(.4)}
.quiz-timer{margin:8px 0 10px}
.quiz-timer-bar{height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin-bottom:4px}
.quiz-timer-bar>span{display:block;height:100%;width:100%;background:linear-gradient(90deg,#22c55e,#eab308);transition:width .2s linear}
.quiz-timer.is-urgent .quiz-timer-bar>span{background:linear-gradient(90deg,#f59e0b,#ef4444)}
.quiz-timer.is-dead .quiz-timer-bar>span{background:#ef4444;width:0!important}
.quiz-timer strong{font-variant-numeric:tabular-nums;font-size:.85rem}
.btn-quiz.is-eliminated{opacity:.28;pointer-events:none;filter:grayscale(.7)}
.quiz-audience{display:flex;flex-direction:column;gap:4px;margin:8px 0}
.quiz-audience-row{display:grid;grid-template-columns:1.2em 1fr 2.6em;gap:6px;align-items:center;font-size:.75rem}
.quiz-audience-row.is-gone{opacity:.35}
.quiz-audience-track{height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.quiz-audience-track>span{display:block;height:100%;background:linear-gradient(90deg,#38bdf8,#818cf8)}
.quiz-phone-hint{margin:8px 0;padding:8px 10px;border-radius:10px;border:1px solid rgba(226,192,122,.35);background:rgba(226,192,122,.08);font-size:.82rem}
.fishing-rod-chip{opacity:.85;margin:0 0 4px;text-align:center}
@media (max-width:640px){
  .quiz-board-ladder{grid-template-columns:1fr}
  .quiz-ladder{max-height:160px;flex-direction:row;flex-wrap:nowrap;overflow-x:auto}
  .quiz-ladder-rung{min-width:118px}
}

/* Emoji → transparente Icon-PNGs (Spiel-UI; Chat-Text ausgenommen) */
img.rpg-ei{
  display:inline-block;
  width:1.15em;
  height:1.15em;
  vertical-align:-0.2em;
  object-fit:contain;
  margin:0 0.06em;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}
img.rpg-ei.rpg-ei-lg{
  width:1.65em;
  height:1.65em;
  vertical-align:-0.35em;
}
img.rpg-ei.rpg-ei-toast{
  width:1.85em;
  height:1.85em;
  margin:0;
  vertical-align:middle;
}
.push-toast-icon:empty,
.quest-toast-emoji:empty{display:none}
button img.rpg-ei,
.btn img.rpg-ei,
.chip img.rpg-ei{
  width:1.05em;
  height:1.05em;
}
.top-chat-btn img.rpg-ei,
.btn-icon img.rpg-ei{
  width:1.25em;
  height:1.25em;
  margin:0;
}
.region-emoji img.rpg-ei,
.dungeon-panel-emoji img.rpg-ei,
.job-emoji img.rpg-ei,
.quest-claim-emoji img.rpg-ei,
.pet-owned-emoji img.rpg-ei{
  width:1.75em;
  height:1.75em;
  margin:0;
}

/* ── Pet Evolution cinematic ── */
.rpg-pet-evolve-overlay{
  position:fixed;inset:0;z-index:12010;
  display:flex;align-items:center;justify-content:center;
  padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));
}
.rpg-pet-evolve-overlay.hidden{display:none!important}
.rpg-pet-evolve-bg{
  position:absolute;inset:0;pointer-events:none;
  background-color:#0a0614;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  transform:scale(1.04);
  animation:rpgEvoBgDrift 14s ease-in-out infinite alternate;
}
.rpg-pet-evolve-veil{
  position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 50% 42%,rgba(120,80,220,.12),transparent 55%),
    radial-gradient(ellipse at 50% 70%,rgba(255,180,80,.08),transparent 45%);
  opacity:.85;
}
.rpg-pet-evolve-glow{
  position:absolute;width:min(90vw,520px);height:min(90vw,520px);border-radius:50%;
  background:radial-gradient(circle,rgba(255,210,140,.22),rgba(160,120,255,.1) 45%,transparent 70%);
  filter:blur(10px);pointer-events:none;opacity:.45;
  transition:opacity .55s ease,transform .7s ease,background .5s ease;
}
.rpg-pet-evolve-overlay[data-phase="darken"] .rpg-pet-evolve-glow{
  opacity:.25;transform:scale(.92);
  background:radial-gradient(circle,rgba(20,16,32,.55),transparent 70%);
}
.rpg-pet-evolve-overlay[data-phase="sparkle"] .rpg-pet-evolve-glow,
.rpg-pet-evolve-overlay[data-phase="sparkle-new"] .rpg-pet-evolve-glow{
  opacity:.7;transform:scale(1.08);
  background:radial-gradient(circle,rgba(255,230,160,.32),rgba(180,140,255,.14) 48%,transparent 70%);
}
.rpg-pet-evolve-overlay[data-phase="shadow"] .rpg-pet-evolve-glow{
  opacity:.3;transform:scale(.94);
  background:radial-gradient(circle,rgba(18,14,28,.55),transparent 70%);
}
.rpg-pet-evolve-overlay[data-phase="flash"] .rpg-pet-evolve-glow{
  opacity:.95;transform:scale(1.22);
  background:radial-gradient(circle,rgba(255,248,210,.6),transparent 65%);
}
.rpg-pet-evolve-overlay[data-phase="reveal"] .rpg-pet-evolve-glow{
  opacity:.55;transform:scale(1.06);
}
.rpg-pet-evolve-flash{
  position:absolute;inset:0;pointer-events:none;z-index:2;
  background:radial-gradient(circle at 50% 45%,rgba(255,250,230,.95),rgba(255,220,160,.4) 36%,transparent 68%);
  opacity:0;transition:opacity .2s ease-out;
}
.rpg-pet-evolve-flash.is-on{opacity:1;transition:opacity .07s ease-in}
.rpg-pet-evolve-sparkles{
  position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;
  background:
    radial-gradient(circle at 28% 36%,rgba(255,236,180,.55) 0 1px,transparent 3px),
    radial-gradient(circle at 72% 42%,rgba(220,190,255,.5) 0 1px,transparent 3px),
    radial-gradient(circle at 46% 28%,rgba(255,255,255,.65) 0 1.5px,transparent 4px),
    radial-gradient(circle at 58% 68%,rgba(255,210,140,.5) 0 1px,transparent 3px),
    radial-gradient(circle at 35% 62%,rgba(255,240,200,.45) 0 1px,transparent 3px),
    radial-gradient(circle at 66% 30%,rgba(200,170,255,.45) 0 1px,transparent 3px);
  transition:opacity .4s ease;
  animation:none;
}
.rpg-pet-evolve-sparkles.is-on{
  opacity:1;
  animation:rpgEvoSparkleDrift 2.4s linear infinite;
}
.rpg-pet-evolve-card{
  position:relative;z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:14px;
  width:min(96vw,560px);text-align:center;
}
.rpg-pet-evolve-title{
  margin:0;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,236,200,.82);text-shadow:0 2px 12px rgba(0,0,0,.65);
}
.rpg-pet-evolve-art{
  position:relative;
  width:min(82vw,400px);height:min(82vw,400px);
  display:grid;place-items:center;
}
.rpg-pet-evolve-art.is-pulse{animation:rpgEvoPulse 1.6s ease-in-out infinite}
.rpg-pet-evolve-img{
  position:absolute;inset:0;margin:auto;
  width:88%;height:88%;object-fit:contain;
  filter:drop-shadow(0 18px 36px rgba(0,0,0,.55));
  opacity:0;pointer-events:none;transition:filter .7s ease,opacity .55s ease,transform .7s ease;
}
.rpg-pet-evolve-img.hidden{display:none!important}
.rpg-pet-evolve-img.is-visible{opacity:1}
.rpg-pet-evolve-img.is-dark{
  filter:brightness(0) drop-shadow(0 18px 28px rgba(0,0,0,.65));
  transform:scale(.96);
}
.rpg-pet-evolve-img.is-sparkle{
  animation:rpgEvoSparkleForm 2.4s cubic-bezier(.16,1,.3,1) both;
}
.rpg-pet-evolve-img.is-fade-out{
  opacity:0!important;transform:scale(1.08);filter:brightness(2) drop-shadow(0 0 24px rgba(255,230,160,.8));
  transition:opacity .35s ease,transform .35s ease,filter .35s ease;
}
.rpg-pet-evolve-img.is-reveal{
  animation:rpgEvoReveal 1.6s cubic-bezier(.16,1,.3,1) both;
}
.rpg-pet-evolve-label{
  margin:0;font-size:clamp(1.15rem,4.2vw,1.55rem);font-weight:800;letter-spacing:.01em;
  color:#f7f1e6;text-shadow:0 2px 16px rgba(0,0,0,.75);min-height:1.4em;
}
.rpg-pet-evolve-sub{margin:0;opacity:.78;letter-spacing:.04em;font-size:.78rem;max-width:36ch}
.rpg-pet-evolve-continue{min-width:160px;margin-top:4px}
body.rpg-pet-evolve-open{overflow:hidden}

/* Pet Absorbieren */
body.pet-ritual-fullscreen #screen-panel,
html.pet-ritual-fullscreen #screen-panel{
  position:fixed!important;inset:0!important;z-index:7500!important;
  width:100vw!important;height:100dvh!important;max-width:100vw!important;
  margin:0!important;padding:0!important;display:flex!important;
  background:#05070c;
}
body.pet-ritual-fullscreen .top-bar,
body.pet-ritual-fullscreen #top-bar{
  display:none!important;visibility:hidden!important;pointer-events:none!important;
}
body.pet-ritual-fullscreen #panel-card.panel-pet{
  width:100%!important;max-width:100%!important;height:100%!important;min-height:100%!important;
  margin:0!important;border-radius:0!important;border:none!important;
  box-shadow:none!important;display:flex!important;flex-direction:column;
}
.panel-pet-absorb{
  display:flex!important;flex-direction:column;min-height:0;
}
#panel-card.panel-pet.panel-pet-absorb{
  display:flex;flex-direction:column;min-height:0;padding:8px 0 0;
  background:linear-gradient(165deg,rgba(20,60,48,.12) 0%,rgba(8,12,14,.98) 40%,rgba(4,6,10,.99) 100%);
  border-color:rgba(120,220,180,.22);
}
.panel-pet-absorb .panel-pet-scroll,
#panel-card.panel-pet.panel-pet-absorb .panel-pet-scroll{
  display:flex;flex-direction:column;padding:0;overflow:hidden;flex:1 1 auto;min-height:0;
  position:relative;z-index:1;
}
.panel-pet-absorb .pet-panel-sticky-head,
#panel-card.panel-pet.panel-pet-absorb .pet-panel-sticky-head{
  margin:0 8px 0;padding:2px 6px 8px;position:relative;z-index:30;pointer-events:auto!important;
  flex:0 0 auto;
  background:linear-gradient(180deg,rgba(4,8,10,.98) 65%,rgba(4,8,10,.55));
}
.panel-pet-absorb .pet-panel-tabs,
#panel-card.panel-pet.panel-pet-absorb .pet-panel-tabs,
#panel-card.panel-pet.panel-pet-fusion .pet-panel-tabs{
  position:relative;z-index:31;pointer-events:auto!important;
}
.pet-hall-fs.panel-pet-absorb .pet-panel-sticky-head,
.pet-hall-mount.panel-pet-absorb .pet-panel-sticky-head{
  margin:0;padding:0 2px 6px;background:transparent;
}
.pet-hall-fs #panel-card.panel-pet.panel-pet-absorb,
.pet-hall-fs #panel-card.panel-pet.panel-pet-absorb .panel-pet-scroll,
.pet-hall-fs .pet-absorb-shell,
.pet-hall-fs .pet-absorb-panel{
  min-height:0!important;overflow:hidden!important;
}
.pet-hall-fs .pet-absorb-pick-block{
  min-height:0!important;overflow:hidden!important;pointer-events:auto!important;
}
.pet-hall-fs .pet-absorb-pick-list{
  min-height:0!important;
  overflow-y:scroll!important;overflow-x:hidden!important;
  pointer-events:auto!important;touch-action:pan-y!important;
  overscroll-behavior:contain!important;
}
.pet-absorb-shell{
  position:relative;flex:1 1 auto;min-height:0;height:100%;
  display:flex;flex-direction:column;overflow:hidden;
  border-radius:0;border:none;box-shadow:none;
}
.pet-absorb-shell--empty{min-height:360px;justify-content:center}
.pet-absorb-bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  filter:saturate(1.08) brightness(.88);transform:scale(1.05);
  animation:petAbsorbBgDrift 18s ease-in-out infinite alternate;
  pointer-events:none;z-index:0;
}
.pet-absorb-veil{
  position:absolute;inset:0;pointer-events:none;z-index:1;
  background:
    radial-gradient(ellipse at 50% 18%,rgba(60,160,120,.18),transparent 55%),
    linear-gradient(180deg,rgba(4,10,12,.35),rgba(4,8,12,.62) 42%,rgba(2,4,8,.88));
}
.pet-absorb-panel{
  position:relative;z-index:2;flex:1 1 auto;min-height:0;
  display:flex;flex-direction:column;gap:6px;
  margin:0;padding:6px 10px max(10px,env(safe-area-inset-bottom,0px));
  background:transparent!important;border:none;backdrop-filter:none;
  overflow:hidden;
}
.pet-absorb-head{flex-shrink:0;text-align:center;margin:0}
.pet-absorb-title{
  margin:0;font-size:.62rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase;
  color:#9fe8c8;
}
.pet-absorb-lead{
  margin:2px auto 0;max-width:42ch;font-size:.68rem;line-height:1.2;
  color:rgba(220,240,230,.68);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.pet-absorb-stage{
  flex:0 0 auto;
  display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:stretch;
  margin:0;
}
.pet-absorb-slot{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:5px 6px 6px;border-radius:12px;min-height:0;text-align:center;
  background:linear-gradient(165deg,rgba(10,22,20,.78),rgba(4,8,12,.82));
  border:1px solid rgba(120,200,170,.3);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 6px 16px rgba(0,0,0,.22);
}
.pet-absorb-slot-target{border-color:rgba(96,165,250,.42);box-shadow:inset 0 0 0 1px rgba(96,165,250,.12),0 10px 28px rgba(0,0,0,.28)}
.pet-absorb-slot-fodder{border-color:rgba(248,113,113,.42);box-shadow:inset 0 0 0 1px rgba(248,113,113,.1),0 10px 28px rgba(0,0,0,.28)}
.pet-absorb-slot.is-empty{
  justify-content:center;border-style:dashed;opacity:.88;min-height:72px;
}
.pet-absorb-slot-label{
  font-size:.66rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;
  color:#9fe8c8;opacity:.92;
}
.pet-absorb-slot-fodder .pet-absorb-slot-label{color:#fecaca}
.pet-absorb-slot-target .pet-absorb-slot-label{color:#bfdbfe}
.pet-absorb-slot-hint{font-size:.78rem;color:rgba(220,240,230,.55)}
.pet-absorb-slot-art{width:100%;max-width:72px}
.pet-absorb-slot-art .pet-showcase{margin:0}
.pet-absorb-slot-art .pet-name-banner,
.pet-absorb-slot-art .pet-showcase-vignette,
.pet-absorb-slot-art .pet-showcase-top{display:none}
.pet-absorb-slot-art .pet-showcase-sm .pet-showcase-frame,
.pet-absorb-slot-art .pet-showcase-md .pet-showcase-frame{
  height:52px;max-width:100%;border-radius:10px;
}
.pet-absorb-slot-name{font-size:.78rem;line-height:1.15;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pet-absorb-slot-meta{display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap}
.pet-absorb-clear-fodder{
  position:absolute;top:8px;right:8px;width:28px;height:28px;padding:0;border-radius:9px;
}
.pet-absorb-flow{
  width:28px;position:relative;display:grid;place-items:center;align-self:center;
}
.pet-absorb-flow-core{
  width:18px;height:18px;border-radius:50%;
  background:radial-gradient(circle,#d8ffe8,#2dd4a8 55%,transparent 70%);
  box-shadow:0 0 18px rgba(45,212,168,.65);
  animation:petAbsorbPulse 1.4s ease-in-out infinite;
}
.pet-absorb-flow-spark{
  position:absolute;width:6px;height:6px;border-radius:50%;background:#b8ffd8;
  box-shadow:0 0 10px #7ef0c0;opacity:.8;
  animation:petAbsorbSpark 1.8s linear infinite;
}
.pet-absorb-flow-spark.s1{top:18%;animation-delay:0s}
.pet-absorb-flow-spark.s2{top:48%;animation-delay:.35s}
.pet-absorb-flow-spark.s3{top:72%;animation-delay:.7s}
.pet-absorb-status-wrap{flex-shrink:0}
.pet-absorb-status{margin:0;font-size:.74rem;color:rgba(230,245,238,.9);text-align:center;line-height:1.25}
.pet-absorb-status.is-max{color:#fbbf24}
.pet-absorb-actions{display:flex;justify-content:center;flex-shrink:0}
.pet-absorb-run{
  min-width:min(200px,82vw);font-weight:850;padding:7px 14px;border-radius:12px;font-size:.82rem;
  box-shadow:0 8px 20px rgba(45,212,168,.2);
}
.pet-absorb-pick-block{
  flex:1 1 auto;min-height:0;max-height:100%;
  display:flex;flex-direction:column;gap:4px;
  overflow:hidden;pointer-events:auto;isolation:isolate;
}
.pet-absorb-pick-label{
  flex-shrink:0;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(180,220,200,.7);
}
.pet-absorb-pick-list{
  flex:1 1 auto;min-height:0;height:auto;
  overflow-x:hidden;overflow-y:scroll;
  display:flex;flex-direction:column;gap:5px;
  padding:2px 2px 10px;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  touch-action:pan-y;
  pointer-events:auto;
  scrollbar-width:thin;
  scrollbar-gutter:stable;
}
.pet-absorb-pick{
  display:flex;align-items:stretch;gap:0;width:100%;padding:0;overflow:hidden;flex-shrink:0;
  border-radius:12px;border:1px solid rgba(232,192,122,.32);
  background:linear-gradient(165deg,rgba(62,38,22,.78),rgba(22,14,10,.9));
  color:#fff6e8;
  box-shadow:inset 0 1px 0 rgba(255,230,180,.1),0 6px 14px rgba(0,0,0,.28);
  transition:border-color .15s,background .15s,box-shadow .15s,transform .12s;
}
.pet-absorb-pick-main{
  flex:1;min-width:0;display:flex;align-items:center;gap:10px;
  padding:6px 10px 6px 7px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;
}
.pet-absorb-pick:hover{
  border-color:rgba(255,214,140,.62);
  background:linear-gradient(165deg,rgba(78,48,26,.86),rgba(28,16,10,.92));
  box-shadow:inset 0 1px 0 rgba(255,230,180,.16),0 8px 18px rgba(0,0,0,.32);
}
.pet-absorb-pick:active{transform:scale(.995)}
.pet-absorb-pick.is-target{
  border-color:rgba(147,197,253,.7);
  background:linear-gradient(165deg,rgba(36,48,72,.82),rgba(16,18,28,.92));
  box-shadow:inset 0 0 0 1px rgba(96,165,250,.22),0 0 16px rgba(59,130,246,.16);
}
.pet-absorb-pick.is-fodder{
  border-color:rgba(252,165,165,.62);
  background:linear-gradient(165deg,rgba(72,28,24,.82),rgba(28,12,10,.92));
  box-shadow:inset 0 0 0 1px rgba(248,113,113,.18),0 0 16px rgba(248,113,113,.12);
}
.pet-absorb-pick-main:disabled{opacity:.88;cursor:default}
.pet-pick-thumb{
  position:relative;width:44px;height:44px;flex-shrink:0;border-radius:10px;overflow:hidden;
  border:1px solid rgba(232,192,122,.42);
  background:radial-gradient(circle at 50% 38%,rgba(92,56,28,.55),rgba(10,8,6,.92));
  box-shadow:inset 0 0 0 1px rgba(255,220,160,.08);
}
.pet-pick-img,
.pet-pick-img.pet-realistic-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;object-position:center center;padding:5%;
  background:transparent;filter:none!important;
}
.pet-pick-name{
  font-family:"Cinzel",Georgia,serif;font-size:.82rem;font-weight:800;letter-spacing:.02em;
  line-height:1.15;color:#fff6e8;
  display:inline-flex;align-items:center;gap:4px;min-width:0;
}
.pet-pick-meta{font-size:.62rem;letter-spacing:.04em;color:rgba(255,236,210,.62);line-height:1.2}
.pet-pick-rarity{
  flex-shrink:0;font-size:.58rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  padding:3px 8px;border-radius:999px;border:1px solid rgba(232,192,122,.28);
  background:rgba(12,8,6,.42);color:#e8d4b0;
}
.pet-pick-rarity.quality-common{color:#d7dde6;border-color:rgba(168,176,188,.4);background:rgba(40,44,52,.4)}
.pet-pick-rarity.quality-uncommon{color:#bbf7d0;border-color:rgba(74,222,128,.45);background:rgba(16,48,28,.45)}
.pet-pick-rarity.quality-rare{color:#bfdbfe;border-color:rgba(96,165,250,.5);background:rgba(20,40,72,.45)}
.pet-pick-rarity.quality-epic{color:#e9d5ff;border-color:rgba(192,132,252,.5);background:rgba(48,24,72,.45)}
.pet-pick-rarity.quality-legendary{color:#fde68a;border-color:rgba(251,191,36,.55);background:rgba(64,40,8,.48)}
.pet-absorb-set-target-mini{
  flex:0 0 46px;border:0;border-left:1px solid rgba(232,192,122,.22);
  background:rgba(255,220,160,.06);color:#e8c07a;
  font-family:"Cinzel",Georgia,serif;font-size:.58rem;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;cursor:pointer;
}
.pet-absorb-set-target-mini.is-active,
.pet-absorb-set-target-mini:disabled{
  background:rgba(96,165,250,.28);color:#fff;cursor:default;
}
.pet-absorb-pick-art{display:none}
.pet-absorb-pick-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.pet-absorb-pick-tag{
  font-size:.65rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;
  padding:3px 8px;border-radius:999px;background:rgba(96,165,250,.25);color:#bfdbfe;
}
.pet-absorb-pick-tag.is-danger{background:rgba(248,113,113,.25);color:#fecaca}
.pet-absorb-pick-tag.hidden{display:none!important}
.pet-absorb-target-row{display:none!important}
.pet-absorb-empty{position:relative;z-index:2;margin:24px 16px}

.rpg-pet-absorb-overlay{
  /* Über Pets-Hall / Arcade-Fullscreen (#rpg-wwm-fs ~2147482000) */
  position:fixed;inset:0;z-index:2147482600;display:grid;place-items:center;padding:0;
  pointer-events:auto;
}
.rpg-pet-absorb-overlay.hidden{
  display:none!important;pointer-events:none!important;visibility:hidden!important;z-index:-1!important;
}
.rpg-pet-absorb-bg{
  position:absolute;inset:0;background-size:cover;background-position:center 55%;
  animation:petAbsorbBgDrift 14s ease-in-out infinite alternate;
}
.rpg-pet-absorb-veil{
  position:absolute;inset:0;background:radial-gradient(ellipse at 50% 48%,rgba(12,40,36,.12),rgba(2,4,8,.78) 74%);
}
.rpg-pet-absorb-sparks{
  position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s;
  background:
    radial-gradient(circle at 28% 48%,rgba(160,255,200,.22),transparent 12%),
    radial-gradient(circle at 72% 48%,rgba(255,220,120,.2),transparent 12%),
    radial-gradient(circle at 50% 42%,rgba(120,255,210,.12),transparent 28%);
}
.rpg-pet-absorb-sparks.is-on{opacity:1;animation:petAbsorbSparkPulse 1.2s ease-in-out infinite}
.rpg-pet-absorb-sparks.is-fail{
  background:
    radial-gradient(circle at 28% 48%,rgba(248,113,113,.25),transparent 14%),
    radial-gradient(circle at 72% 48%,rgba(248,113,113,.2),transparent 14%);
}
.rpg-pet-absorb-flash{
  position:absolute;inset:0;background:#e8fff4;opacity:0;pointer-events:none;
  transition:opacity .08s ease-in;
}
.rpg-pet-absorb-flash.is-on{opacity:.85}
.rpg-pet-absorb-flash.is-fail{background:#fecaca}
.rpg-pet-absorb-card{
  position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:12px;
  width:100%;height:100%;padding:max(20px,6vh) 16px max(22px,env(safe-area-inset-bottom,0px));
  border-radius:0;max-width:none;
  background:transparent;border:none;
  box-shadow:none;backdrop-filter:none;text-align:center;
}
.rpg-pet-absorb-title{
  margin:0;font-size:.78rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase;color:#9fe8c8;
  text-shadow:0 2px 12px rgba(0,0,0,.65);align-self:center;margin-top:auto;
}
.rpg-pet-absorb-scene{
  position:relative;width:min(920px,96vw);height:min(52vh,420px);margin:0 auto;
  flex:1 1 auto;max-height:min(58vh,460px);
}
.rpg-pet-absorb-podium{
  position:absolute;top:18%;width:min(34%,220px);height:58%;
  display:flex;align-items:flex-end;justify-content:center;pointer-events:none;
}
.rpg-pet-absorb-podium.is-left{left:8%}
.rpg-pet-absorb-podium.is-right{right:8%}
.rpg-pet-absorb-podium-glow{
  position:absolute;left:50%;bottom:6%;width:70%;height:28%;transform:translateX(-50%);
  background:radial-gradient(ellipse at center,rgba(140,255,200,.45),transparent 70%);
  filter:blur(6px);opacity:.7;animation:petAbsorbPodiumGlow 2.2s ease-in-out infinite;
}
.rpg-pet-absorb-podium.is-right .rpg-pet-absorb-podium-glow{
  background:radial-gradient(ellipse at center,rgba(255,220,120,.42),transparent 70%);
}
.rpg-pet-absorb-img{
  position:relative;z-index:2;width:100%;height:100%;object-fit:contain;object-position:center bottom;
  opacity:0;filter:drop-shadow(0 14px 24px rgba(0,0,0,.55));
  transition:opacity .4s,filter .45s,transform .7s cubic-bezier(.2,.8,.2,1);
  transform:translateY(8px) scale(.96);
}
.rpg-pet-absorb-img.hidden{display:none!important}
.rpg-pet-absorb-img.is-visible{opacity:1;transform:translateY(0) scale(1)}
.rpg-pet-absorb-img.is-drain{filter:brightness(.85) saturate(1.25) drop-shadow(0 0 18px rgba(255,210,100,.55))}
.rpg-pet-absorb-img.is-glow{filter:brightness(1.12) drop-shadow(0 0 26px rgba(140,255,210,.75))}
.rpg-pet-absorb-img.is-pull-in{transform:translateY(-6%) scale(.88)}
.rpg-pet-absorb-scene.is-merging .rpg-pet-absorb-podium.is-left .rpg-pet-absorb-img.is-pull-in{
  transform:translate(42%,-4%) scale(.72);opacity:.55;
}
.rpg-pet-absorb-scene.is-merging .rpg-pet-absorb-podium.is-right .rpg-pet-absorb-img.is-pull-in{
  transform:translate(-42%,-4%) scale(.72);opacity:.55;
}
.rpg-pet-absorb-img.is-vanish{opacity:0;transform:scale(.4);filter:brightness(2) blur(4px)}
.rpg-pet-absorb-img.is-reveal{animation:petAbsorbReveal .95s ease-out both}
.rpg-pet-absorb-img.is-shake{animation:petAbsorbShake .55s ease-in-out}
.rpg-pet-absorb-beam{
  position:absolute;left:22%;right:22%;top:38%;height:10%;
  opacity:0;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(140,255,210,.15) 12%,rgba(180,255,220,.85) 35%,rgba(255,230,140,.9) 65%,rgba(255,210,100,.2) 88%,transparent);
  filter:blur(1.5px);box-shadow:0 0 24px rgba(140,255,200,.45);
  transform:scaleX(.2);transform-origin:center;
  transition:opacity .35s,transform .7s cubic-bezier(.2,.8,.2,1);
}
.rpg-pet-absorb-beam.is-on{opacity:1;transform:scaleX(1);animation:petAbsorbBeamFlow 1.1s ease-in-out infinite}
.rpg-pet-absorb-beam.is-pull{height:16%;top:34%;filter:blur(2px) brightness(1.35);box-shadow:0 0 36px rgba(180,255,220,.7)}
.rpg-pet-absorb-beam.is-fail{
  background:linear-gradient(90deg,transparent,rgba(248,113,113,.2),rgba(252,165,165,.85),rgba(248,113,113,.2),transparent);
  box-shadow:0 0 24px rgba(248,113,113,.5);
}
.rpg-pet-absorb-merge{
  position:absolute;left:50%;top:22%;width:min(42%,260px);height:62%;
  transform:translateX(-50%);display:flex;align-items:flex-end;justify-content:center;
}
.rpg-pet-absorb-merge.hidden{display:none!important}
.rpg-pet-absorb-merge.is-on .rpg-pet-absorb-img{opacity:1;transform:translateY(0) scale(1)}
.rpg-pet-absorb-merge-ring{
  position:absolute;left:50%;top:42%;width:78%;aspect-ratio:1;transform:translate(-50%,-50%) scale(.6);
  border-radius:50%;border:2px solid rgba(160,255,210,.55);
  box-shadow:0 0 28px rgba(140,255,200,.45),inset 0 0 24px rgba(160,255,210,.2);
  opacity:0;pointer-events:none;
}
.rpg-pet-absorb-merge.is-reveal .rpg-pet-absorb-merge-ring{
  opacity:1;animation:petAbsorbMergeRing .9s ease-out both;
}
.rpg-pet-absorb-merge-burst{
  position:absolute;left:50%;top:42%;width:90%;aspect-ratio:1;transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(220,255,230,.55),rgba(140,255,200,.15) 40%,transparent 70%);
  opacity:0;pointer-events:none;
}
.rpg-pet-absorb-merge.is-reveal .rpg-pet-absorb-merge-burst{
  animation:petAbsorbMergeBurst .85s ease-out both;
}
.rpg-pet-absorb-merge.is-fail .rpg-pet-absorb-merge-ring{
  opacity:.7;border-color:rgba(248,113,113,.55);box-shadow:0 0 20px rgba(248,113,113,.35);
}
.rpg-pet-absorb-label{
  margin:0;font-size:clamp(1.15rem,3.8vw,1.55rem);font-weight:800;color:#f0fff8;
  text-shadow:0 2px 14px rgba(0,0,0,.75);min-height:1.35em;
}
.rpg-pet-absorb-sub{margin:0;opacity:.85;font-size:.86rem;max-width:38ch;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.rpg-pet-absorb-continue{min-width:180px;margin-top:4px;padding:12px 20px;border-radius:14px;pointer-events:auto;position:relative;z-index:5}
body.rpg-pet-absorb-open,html.rpg-pet-absorb-open{overflow:hidden}
@keyframes petAbsorbBgDrift{
  from{transform:scale(1.02) translateY(0)}
  to{transform:scale(1.06) translateY(-1%)}
}
@keyframes petAbsorbPodiumGlow{
  0%,100%{opacity:.55;transform:translateX(-50%) scaleX(1)}
  50%{opacity:.95;transform:translateX(-50%) scaleX(1.08)}
}
@keyframes petAbsorbSparkPulse{
  0%,100%{opacity:.65;filter:brightness(1)}
  50%{opacity:1;filter:brightness(1.25)}
}
@keyframes petAbsorbBeamFlow{
  0%,100%{filter:blur(1.5px) brightness(1);opacity:.75}
  50%{filter:blur(2px) brightness(1.35);opacity:1}
}
@keyframes petAbsorbMergeRing{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}
  55%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}
  100%{opacity:.55;transform:translate(-50%,-50%) scale(1)}
}
@keyframes petAbsorbMergeBurst{
  0%{opacity:.9;transform:translate(-50%,-50%) scale(.4)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.45)}
}
@keyframes petAbsorbReveal{
  0%{opacity:.55;transform:translateY(10px) scale(.86);filter:brightness(1.45) drop-shadow(0 0 28px rgba(160,255,210,.85))}
  100%{opacity:1;transform:translateY(0) scale(1);filter:brightness(1) drop-shadow(0 14px 24px rgba(0,0,0,.55))}
}
@keyframes petAbsorbShake{
  0%,100%{transform:translateX(0)}
  20%{transform:translateX(-7px) rotate(-2deg)}
  40%{transform:translateX(7px) rotate(2deg)}
  60%{transform:translateX(-5px)}
  80%{transform:translateX(4px)}
}
@media (max-width:700px){
  .rpg-pet-absorb-scene{height:min(46vh,340px)}
  .rpg-pet-absorb-podium{width:min(40%,170px);top:20%;height:54%}
  .rpg-pet-absorb-podium.is-left{left:2%}
  .rpg-pet-absorb-podium.is-right{right:2%}
  .rpg-pet-absorb-merge{width:min(48%,200px)}
}
@media (max-width:560px){
  .pet-absorb-stage{grid-template-columns:1fr auto 1fr;gap:5px}
  .pet-absorb-flow{width:22px;height:auto}
  .pet-absorb-slot{min-height:0;padding:4px 4px 5px}
  .pet-absorb-slot-art{max-width:56px}
  .pet-absorb-slot-art .pet-showcase-sm .pet-showcase-frame,
  .pet-absorb-slot-art .pet-showcase-md .pet-showcase-frame{height:44px}
  .pet-absorb-pick-block,.pet-absorb-pick-list{min-height:0}
}

@keyframes rpgEvoBgDrift{
  from{transform:scale(1.03) translateY(0)}
  to{transform:scale(1.07) translateY(-1.2%)}
}
@keyframes rpgEvoPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.03)}
}
@keyframes rpgEvoSparkleDrift{
  0%{transform:translateY(0);opacity:.55}
  50%{opacity:1}
  100%{transform:translateY(-12px);opacity:.7}
}
@keyframes rpgEvoSparkleForm{
  0%{filter:brightness(0) drop-shadow(0 0 0 rgba(255,220,140,0));transform:scale(.94)}
  35%{filter:brightness(.15) drop-shadow(0 0 18px rgba(255,220,160,.55));transform:scale(1.02)}
  70%{filter:brightness(.55) drop-shadow(0 0 28px rgba(200,160,255,.55));transform:scale(1.04)}
  100%{filter:brightness(1) drop-shadow(0 18px 36px rgba(0,0,0,.55));transform:scale(1)}
}
@keyframes rpgEvoReveal{
  0%{opacity:.85;transform:scale(.96)}
  60%{opacity:1;transform:scale(1.04)}
  100%{opacity:1;transform:scale(1)}
}

/* ── Pet Fusion tab + fullscreen ───────────────────────────── */
.panel-pet-fusion{
  display:flex!important;flex-direction:column;min-height:0;height:100%;
}
.panel-pet-fusion .pet-panel-sticky-head{
  flex:0 0 auto;z-index:20;position:relative;pointer-events:auto;
  background:linear-gradient(180deg,rgba(8,10,20,.96),rgba(8,10,20,.78));
}
.panel-pet-fusion .panel-pet-scroll{
  padding:0!important;overflow:auto;flex:1 1 auto;min-height:0;
  display:flex;flex-direction:column;
}
.panel-pet .pet-tab-btn{pointer-events:auto;position:relative;z-index:22}
.pet-fusion-shell{
  position:relative;flex:1 1 auto;min-height:0;height:100%;
  display:flex;flex-direction:column;overflow:hidden;border-radius:0;
}
.pet-fusion-shell--empty{min-height:360px;justify-content:center}
.pet-fusion-bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  filter:saturate(1.12) brightness(.82);transform:scale(1.04);
  animation:petFusionBgDrift 22s ease-in-out infinite alternate;pointer-events:none;
}
.pet-fusion-veil{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse at 30% 18%,rgba(255,190,80,.14),transparent 48%),
    radial-gradient(ellipse at 72% 22%,rgba(80,160,255,.14),transparent 46%),
    linear-gradient(180deg,rgba(6,8,18,.28),rgba(4,6,14,.55) 42%,rgba(2,3,8,.88));
}
.pet-fusion-panel{
  position:relative;z-index:2;flex:1 1 auto;min-height:0;
  display:flex;flex-direction:column;gap:12px;
  margin:0;padding:14px 14px max(16px,env(safe-area-inset-bottom,0px));
  overflow:auto;pointer-events:auto;backdrop-filter:blur(2px);
}
.pet-fusion-head{flex-shrink:0;text-align:center}
.pet-fusion-title{margin:0;font-size:.72rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase;color:#f0c878}
.pet-fusion-lead{margin:6px auto 0;max-width:40ch;font-size:.8rem;line-height:1.4;color:rgba(230,236,255,.74)}
.pet-fusion-stage{flex-shrink:0;display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch;min-height:210px}
.pet-fusion-slot{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:14px 12px 16px;border-radius:18px;min-height:210px;text-align:center;
  background:linear-gradient(165deg,rgba(18,16,28,.78),rgba(6,8,16,.82));
  border:1px solid rgba(240,200,120,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 12px 32px rgba(0,0,0,.32);
}
.pet-fusion-slot.is-empty{justify-content:center;border-style:dashed;opacity:.9}
.pet-fusion-slot-label{font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#f0c878}
.pet-fusion-slot-hint{font-size:.75rem;color:rgba(220,230,255,.55)}
.pet-fusion-slot-name{font-size:.95rem}
.pet-fusion-slot-meta{display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap}
.pet-fusion-slot-art{
  width:min(100%,148px);height:132px;display:grid;place-items:center;border-radius:16px;overflow:hidden;
  background:radial-gradient(circle at 50% 60%,rgba(255,210,120,.14),transparent 70%);
}
.pet-fusion-slot-img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 8px 14px rgba(0,0,0,.45))}
.pet-fusion-clear{position:absolute;top:8px;right:8px;z-index:2}
.pet-fusion-orbit{width:58px;align-self:center;position:relative;height:58px;display:grid;place-items:center}
.pet-fusion-orbit-ring{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(240,200,120,.45);animation:petFusionOrbitSpin 4.5s linear infinite}
.pet-fusion-orbit-ring.r2{inset:8px;border-color:rgba(100,180,255,.5);animation-direction:reverse;animation-duration:3.2s}
.pet-fusion-orbit-core{width:12px;height:12px;border-radius:50%;background:radial-gradient(circle,#fff6d0,#f0a848 55%,transparent 70%);box-shadow:0 0 16px rgba(255,200,100,.7)}
.pet-fusion-orbit-spark{position:absolute;width:5px;height:5px;border-radius:50%;background:#9fd0ff;box-shadow:0 0 8px #7ec8ff;animation:petFusionSpark 1.8s ease-in-out infinite}
.pet-fusion-orbit-spark.s1{top:2px;left:50%}
.pet-fusion-orbit-spark.s2{bottom:4px;left:8px;animation-delay:.4s;background:#ffd080}
.pet-fusion-orbit-spark.s3{bottom:6px;right:6px;animation-delay:.8s}
.pet-fusion-status{margin:0;text-align:center;font-size:.86rem;color:rgba(230,236,255,.86)}
.pet-fusion-status.is-ok{color:#b7f0c8}
.pet-fusion-status.is-warn{color:#f6d58a}
.pet-fusion-status.is-bad{color:#fca5a5}
.pet-fusion-checks{display:flex;flex-direction:column;gap:4px}
.pet-fusion-check{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:center;padding:6px 10px;border-radius:10px;background:rgba(8,10,18,.55);border:1px solid rgba(255,255,255,.06);font-size:.78rem}
.pet-fusion-check.is-ok{border-color:rgba(110,220,150,.28)}
.pet-fusion-check.is-bad{border-color:rgba(248,113,113,.28)}
.pet-fusion-check-mark{font-weight:800}
.pet-fusion-check.is-ok .pet-fusion-check-mark{color:#86efac}
.pet-fusion-check.is-bad .pet-fusion-check-mark{color:#fca5a5}
.pet-fusion-preview-card{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;background:linear-gradient(120deg,rgba(255,190,80,.14),rgba(80,140,255,.12));border:1px solid rgba(240,200,120,.3)}
.pet-fusion-preview-img{width:64px;height:64px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 4px 10px rgba(0,0,0,.4))}
.pet-fusion-preview-emoji{font-size:1.6rem}
.pet-fusion-actions{display:flex;justify-content:center}
.pet-fusion-run{min-width:min(100%,300px);min-height:44px}
.pet-fusion-pick-label{font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(240,200,120,.8);margin:4px 0}
.pet-fusion-pick-list{display:grid;grid-template-columns:1fr;gap:8px}
.pet-fusion-pick{display:grid;grid-template-columns:44px 1fr auto auto;gap:10px;align-items:center;padding:6px 10px 6px 7px;border-radius:12px;text-align:left;background:linear-gradient(165deg,rgba(62,38,22,.78),rgba(22,14,10,.9));border:1px solid rgba(232,192,122,.32);color:#fff6e8;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,230,180,.1),0 6px 14px rgba(0,0,0,.28);transition:border-color .15s,transform .12s,box-shadow .15s,background .15s}
.pet-fusion-pick:hover{border-color:rgba(255,214,140,.62);background:linear-gradient(165deg,rgba(78,48,26,.86),rgba(28,16,10,.92))}
.pet-fusion-pick.is-a{border-color:rgba(250,204,100,.62);box-shadow:inset 0 0 0 1px rgba(250,204,100,.18),0 0 16px rgba(250,200,80,.12)}
.pet-fusion-pick.is-b{border-color:rgba(96,165,250,.62);box-shadow:inset 0 0 0 1px rgba(96,165,250,.18),0 0 16px rgba(80,140,255,.12)}
.pet-fusion-pick-thumb{display:none}
.pet-fusion-pick-emoji{display:none}
.pet-fusion-pick-body{min-width:0;display:flex;flex-direction:column;gap:2px}
.pet-fusion-pick-tag{font-size:.58rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:rgba(250,204,100,.22);color:#fde68a}
.pet-fusion-pick.is-b .pet-fusion-pick-tag{background:rgba(96,165,250,.22);color:#bfdbfe}
@media (max-width:560px){
  .pet-fusion-stage{grid-template-columns:1fr;gap:8px}
  .pet-fusion-orbit{width:100%;height:28px}
  .pet-fusion-shell{min-height:min(78vh,760px)}
}

/* ── Pet Farm / Gehege — Szene-Layout (≠ Fusion A/B/Mitte) ─── */
#panel-card.panel-pet.panel-pet-farm .pet-panel-tabs{
  position:relative;z-index:31;pointer-events:auto!important;
}
.panel-pet-farm{
  display:flex!important;flex-direction:column;min-height:0;height:100%;
}
#panel-card.panel-pet.panel-pet-farm{
  background:#1a1610;
  border-color:rgba(120,90,50,.35);
}
.panel-pet-farm .pet-panel-sticky-head{
  flex:0 0 auto;z-index:30;position:relative;pointer-events:auto!important;
  background:linear-gradient(180deg,rgba(28,22,14,.97) 70%,rgba(28,22,14,.5));
  border-bottom:1px solid rgba(90,70,40,.35);
}
.panel-pet-farm .panel-pet-scroll{
  padding:0!important;overflow:auto;flex:1 1 auto;min-height:0;
  display:flex;flex-direction:column;position:relative;z-index:1;
  -webkit-overflow-scrolling:touch;
}
.pet-farm-shell{
  --farm-cream:#f0e6d2;
  --farm-dusk:#c9a66b;
  --farm-moss:#6a8f5a;
  position:relative;flex:1 0 auto;min-height:100%;height:auto;
  display:flex;flex-direction:column;overflow:visible;color:var(--farm-cream);
}
.pet-farm-shell--empty{min-height:360px;justify-content:center;align-items:center}
.pet-farm-scene{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background-size:cover;background-position:center 82%;background-repeat:no-repeat;
  transform:scale(1.04);
  transform-origin:center bottom;
  animation:petFarmSceneDrift 32s ease-in-out infinite alternate;
}
.pet-farm-shell.nest-busy .pet-farm-scene{filter:brightness(.88) saturate(.92)}
.pet-farm-shell.nest-ready .pet-farm-scene{filter:brightness(1.06) saturate(1.08)}
.pet-farm-scene-veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(18,14,10,.42) 0%,transparent 22%,transparent 62%,rgba(16,12,8,.28) 88%,rgba(12,10,8,.45) 100%),
    radial-gradient(ellipse at 50% 100%,transparent 40%,rgba(10,8,6,.2) 100%);
}
.pet-farm-shell--empty > .pet-farm-scene,
.pet-farm-shell--empty > .pet-farm-scene-veil{inset:0}

.pet-farm-yard{
  position:relative;z-index:2;flex:0 0 auto;min-height:0;
  display:flex;flex-direction:column;gap:0;
  margin:0;padding:0 0 max(28px, calc(12px + env(safe-area-inset-bottom, 0px)));
  overflow:visible;pointer-events:auto;
}

.pet-farm-vista{
  position:relative;flex:0 0 auto;overflow:hidden;
  min-height:min(52vh,400px);height:min(54vh,440px);
  padding:8px 10px 0;
  isolation:isolate;
}
.pet-farm-signboard{
  position:relative;z-index:4;max-width:min(100%,320px);margin:0 auto 4px;
  padding:7px 12px 8px;text-align:center;
  background:linear-gradient(180deg,rgba(78,54,28,.88),rgba(36,24,12,.9));
  border:1px solid rgba(160,120,70,.5);
  box-shadow:0 4px 14px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,220,160,.12);
}
.pet-farm-sign-title{
  margin:0;font-size:.88rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;
  color:#f3e4c4;text-shadow:0 1px 2px rgba(0,0,0,.55);
  font-family:Georgia,'Times New Roman',serif;
}
.pet-farm-sign-sub{
  margin:4px 0 0;font-size:.7rem;line-height:1.35;color:rgba(230,210,170,.82);
}
.pet-farm-hotspots{
  position:absolute;inset:0;z-index:3;pointer-events:none;
}
.pet-farm-spot{
  position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;
  pointer-events:auto;text-align:center;
}
.pet-farm-spot--west{left:7%;top:auto;bottom:40%;width:34%;max-width:150px}
.pet-farm-spot--east{right:6%;top:auto;bottom:36%;width:34%;max-width:150px}
.pet-farm-spot--nest{
  left:50%;bottom:6%;width:min(28%,108px);transform:translateX(-50%);
  pointer-events:none;position:absolute;z-index:4;
}
.pet-farm-spot.has-pet{
  justify-content:flex-end;
  gap:2px;
  padding-bottom:2px;
  min-height:168px;
}
.pet-farm-paddock-ring{
  width:min(88%,120px);height:min(88%,120px);aspect-ratio:1;
  border:2px dashed rgba(230,200,140,.55);
  border-radius:50%;
  background:
    radial-gradient(ellipse at 50% 60%,rgba(90,120,50,.28),transparent 62%),
    rgba(30,22,12,.18);
  box-shadow:inset 0 0 18px rgba(0,0,0,.2),0 0 0 1px rgba(40,28,14,.35);
  animation:petFarmPinPulse 2.8s ease-in-out infinite;
}
.pet-farm-spot-badge{
  font-size:.6rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;
  color:#f4e6c4;text-shadow:0 1px 3px rgba(0,0,0,.75);
  padding:3px 9px;
  background:linear-gradient(180deg,rgba(92,64,34,.82),rgba(42,28,14,.88));
  border:1px solid rgba(170,130,70,.55);
  border-radius:999px;
  box-shadow:0 2px 8px rgba(0,0,0,.35);
}
.pet-farm-spot-badge.is-occupied{opacity:.92}
.pet-farm-spot-invite{
  font-size:.78rem;font-weight:700;color:#f0e2c0;
  text-shadow:0 1px 4px rgba(0,0,0,.8);
  padding:2px 0 0;
}
.pet-farm-spot.is-empty{justify-content:flex-end;gap:8px;min-height:150px;padding-bottom:6px}
.pet-farm-spot-art{
  position:relative;z-index:1;
  width:min(100%,150px);height:118px;display:grid;place-items:end center;
  margin-bottom:0;
  animation:petFarmIdleBob 3.4s ease-in-out infinite;
}
.pet-farm-spot--east .pet-farm-spot-art{animation-delay:.7s}
.pet-farm-spot-shadow{
  position:absolute;left:50%;bottom:2px;z-index:0;
  width:58%;height:14px;transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.5),transparent 70%);
  filter:blur(1px);
  animation:petFarmShadowPulse 3.4s ease-in-out infinite;
}
.pet-farm-spot--east .pet-farm-spot-shadow{animation-delay:.7s}
.pet-farm-slot-img{
  position:relative;z-index:1;width:100%;height:100%;
  object-fit:contain;object-position:center bottom;
  filter:drop-shadow(0 10px 14px rgba(0,0,0,.45));
}
.pet-farm-slot-emoji{position:relative;z-index:1;font-size:2.6rem;margin-bottom:8px}
.pet-farm-spot-plate{
  position:relative;z-index:2;margin:0 0 2px;padding:5px 10px 6px;min-width:78%;
  background:linear-gradient(180deg,#8a6238 0%,#5a3c20 55%,#3d2814 100%);
  border:1px solid #2a1c10;
  box-shadow:
    inset 0 1px 0 rgba(255,230,180,.22),
    0 3px 0 #24180c,
    0 6px 12px rgba(0,0,0,.35);
  clip-path:polygon(4% 0,96% 0,100% 18%,100% 82%,96% 100%,4% 100%,0 82%,0 18%);
}
.pet-farm-spot-care-btns{
  display:flex;justify-content:center;gap:4px;margin-top:4px;
}
.pet-farm-care-btn{
  appearance:none;border:1px solid rgba(170,130,70,.55);
  background:rgba(40,28,14,.75);border-radius:8px;
  font-size:.72rem;line-height:1;padding:3px 6px;cursor:pointer;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.4));
}
.pet-farm-care-btn:hover{background:rgba(70,48,22,.9)}
.pet-farm-care-btn:disabled{opacity:.45;cursor:not-allowed}
.pet-farm-spot.is-busy .pet-farm-spot-art{filter:saturate(.85) brightness(.92)}
.pet-farm-spot-name{
  display:inline-flex;align-items:center;justify-content:center;gap:3px;
  font-size:.8rem;line-height:1.15;max-width:min(100%,14ch);margin:0 auto;
  overflow:hidden;color:#fff4dc;white-space:nowrap;
  font-family:Georgia,serif;font-weight:700;text-shadow:0 1px 1px rgba(0,0,0,.45);
}
.pet-farm-spot-meta{display:block;font-size:.6rem;color:rgba(240,220,180,.8);margin-top:1px}
.pet-farm-spot-care{
  position:relative;display:block;margin:5px auto 0;width:88%;height:8px;
  background:rgba(20,12,6,.55);border:1px solid rgba(60,40,20,.65);overflow:hidden;
}
.pet-farm-spot-care i{
  display:block;height:100%;
  background:linear-gradient(90deg,#3d6a40,#8ab85a);
}
.pet-farm-spot-care em{
  position:absolute;inset:0;display:grid;place-items:center;
  font-size:.5rem;font-style:normal;font-weight:800;color:#f4eedc;
  text-shadow:0 1px 1px rgba(0,0,0,.55);
}
.pet-farm-gender{display:none}
/* Pet-Geschlecht: Icon-PNG neben dem Namen (kein farbiges Feld, kein Avatar-Corner) */
.pet-gender-beside{
  display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 auto;margin-left:4px;vertical-align:middle;
  line-height:0;background:none;border:0;padding:0;box-shadow:none;
}
.pet-gender-beside .pet-gender-icon{
  display:block;width:1em;height:1em;object-fit:contain;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.55));
  pointer-events:none;user-select:none;
}
.pet-gender-beside.is-sm .pet-gender-icon{width:.92em;height:.92em}
.pet-gender-beside.is-lg .pet-gender-icon{width:1.15em;height:1.15em}
.pet-name-banner .pet-gender-beside .pet-gender-icon{width:1.05em;height:1.05em}
.pet-owned-name .pet-gender-beside .pet-gender-icon,
.pet-farm-pick-name .pet-gender-beside .pet-gender-icon,
.pet-egg-name .pet-gender-beside .pet-gender-icon,
.pet-pick-name .pet-gender-beside .pet-gender-icon,
.pet-view-meta .pet-gender-beside .pet-gender-icon,
.pet-farm-spot-name .pet-gender-beside .pet-gender-icon{
  width:1em;height:1em;
}
.pet-gender-icon.is-inline{
  display:inline-block;width:1.05em;height:1.05em;vertical-align:-.15em;
  margin:0 1px;object-fit:contain;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.5));
}
.pet-farm-gender-pair{
  display:inline-flex;align-items:center;gap:2px;vertical-align:middle;
}
.pet-farm-gender-plus{
  font-size:.7em;font-weight:800;opacity:.7;margin:0 1px;
}
.pet-farm-gender-muted{opacity:.75}
.pet-gender-badge,
.pet-gender-chip{display:none!important}
.pet-farm-clear{
  position:absolute;top:0;right:4%;z-index:5;
  width:24px;height:24px;padding:0;border:1px solid rgba(100,70,40,.75);
  border-radius:50%;background:rgba(40,28,16,.82);color:#e8d8b8;
  font-size:.9rem;line-height:1;cursor:pointer;
  box-shadow:0 2px 6px rgba(0,0,0,.35);
}
.pet-farm-clear:hover{background:rgba(70,45,25,.95)}
.pet-farm-nest-img{
  width:100%;height:auto;max-height:100px;object-fit:contain;
  background:transparent;mix-blend-mode:normal;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.45));
  animation:petFarmNestSway 3.8s ease-in-out infinite;
}
.pet-farm-spot--nest.is-busy .pet-farm-nest-img{animation:petFarmNestWarm 1.9s ease-in-out infinite}
.pet-farm-nest-egg{
  position:absolute;left:50%;top:28%;transform:translateX(-50%);
  font-size:1.35rem;line-height:1;filter:drop-shadow(0 3px 4px rgba(0,0,0,.45));
  z-index:2;
}
.pet-farm-nest-egg.is-hidden{display:none}
.pet-farm-nest-caption{
  margin-top:2px;font-size:.6rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:#f4e8c8;text-shadow:0 1px 3px rgba(0,0,0,.75);
  padding:2px 8px;
  background:rgba(28,20,12,.55);
  border:1px solid rgba(140,110,70,.4);
  border-radius:999px;
}
.pet-farm-empty{
  position:relative;z-index:2;text-align:center;padding:24px 18px;max-width:28ch;
  background:rgba(28,20,12,.72);border:1px solid rgba(120,90,50,.45);
  box-shadow:0 8px 24px rgba(0,0,0,.4);
}
.pet-farm-empty-art{display:block;width:56px;height:56px;margin:0 auto 10px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.45))}
.pet-farm-empty strong{display:block;font-size:.95rem;color:#f0e0c0;font-family:Georgia,serif}
.pet-farm-empty p{margin:6px 0 0;font-size:.78rem;color:rgba(220,200,160,.75);line-height:1.4}
.pet-farm-dock{
  position:relative;z-index:4;flex:0 0 auto;
  display:flex;flex-direction:column;gap:7px;
  padding:8px 12px 6px;
  background:linear-gradient(180deg,rgba(22,16,10,.55),rgba(18,14,10,.88));
  border-top:1px solid rgba(120,90,50,.35);
}
.pet-farm-status{margin:0;text-align:center;font-size:.78rem;color:rgba(240,230,210,.9);text-shadow:0 1px 2px rgba(0,0,0,.4)}
.pet-farm-status.is-ok{color:#c8e8b0}
.pet-farm-status.is-warn{color:#f0d090}
.pet-farm-status.is-bad{color:#f0b0a0}
.pet-farm-compat{display:flex;flex-direction:column;align-items:center;gap:3px;flex-shrink:0}
.pet-farm-compat-track{
  width:min(100%,260px);height:7px;overflow:hidden;
  background:rgba(20,14,8,.55);border:1px solid rgba(90,65,35,.55);
}
.pet-farm-compat-fill{
  height:100%;
  background:linear-gradient(90deg,#3d6a40 0%,#8a9a4a 55%,#c9a66b 100%);
  transition:width .25s ease;
}
.pet-farm-compat-label{font-size:.7rem;font-weight:750;color:rgba(230,210,160,.88)}
.pet-farm-compat-label.is-muted{color:rgba(190,180,150,.5);font-weight:600}
.pet-farm-checks{display:flex;flex-direction:column;gap:3px}
.pet-farm-check{
  display:grid;grid-template-columns:16px 1fr auto;gap:8px;align-items:center;
  padding:5px 8px;font-size:.72rem;
  background:rgba(30,24,16,.5);border-left:3px solid rgba(120,90,50,.45);
}
.pet-farm-check.is-ok{border-left-color:#6a9a58}
.pet-farm-check.is-bad{border-left-color:#b07050}
.pet-farm-check-mark{font-weight:800;color:rgba(200,190,160,.5)}
.pet-farm-check.is-ok .pet-farm-check-mark{color:#9ccc7a}
.pet-farm-check.is-bad .pet-farm-check-mark{color:#d09070}
.pet-farm-check-detail{font-size:.66rem;color:rgba(200,190,160,.55)}
.pet-farm-ledger{
  display:flex;align-items:flex-start;gap:10px;padding:8px 10px;
  background:rgba(35,28,18,.6);border:1px solid rgba(100,75,40,.4);
  border-top:2px solid rgba(140,110,60,.45);
}
.pet-farm-ledger-ico{font-size:1.1rem;line-height:1;margin-top:1px}
.pet-farm-ledger strong{display:block;font-size:.78rem;color:#ecd9b0;font-family:Georgia,serif}
.pet-farm-ledger p{margin:2px 0 0;font-size:.7rem;color:rgba(210,195,160,.72);line-height:1.3}
.pet-farm-ledger.is-busy{border-top-color:#7a8a9a}
.pet-farm-ledger.is-ready{border-top-color:#8aba68;background:rgba(40,50,30,.5)}
.pet-farm-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:2px 0}
.pet-farm-cta{
  min-height:40px;padding:8px 16px;cursor:pointer;font-weight:850;font-size:.76rem;
  letter-spacing:.04em;border-radius:3px;
  font-family:Georgia,'Times New Roman',serif;
  transition:filter .15s,transform .1s,opacity .15s;
}
.pet-farm-cta:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.25)}
.pet-farm-cta:not(:disabled):active{transform:translateY(1px)}
.pet-farm-cta-primary{
  min-width:min(100%,220px);
  color:#1e1810;
  background:linear-gradient(180deg,#c4a86a 0%,#8a6838 55%,#5e4524 100%);
  border:2px solid #2a1c10;
  box-shadow:inset 0 1px 0 rgba(255,240,200,.3),0 3px 0 #2a1c10;
}
.pet-farm-cta-primary:not(:disabled):hover{filter:brightness(1.05)}
.pet-farm-cta-secondary{
  min-width:min(46%,128px);
  color:#e8d8b8;
  background:linear-gradient(180deg,#4a3a28,#2e2216);
  border:1px solid #6a5234;
  box-shadow:inset 0 1px 0 rgba(255,220,160,.08);
}
.pet-farm-cta-secondary:not(:disabled):hover{filter:brightness(1.08)}
.pet-farm-stable{
  position:relative;z-index:4;flex:0 0 auto;min-height:0;
  display:flex;flex-direction:column;gap:8px;
  margin:0;padding:12px 12px max(22px, calc(14px + env(safe-area-inset-bottom, 0px)));
  background:
    linear-gradient(180deg,rgba(22,16,10,.78),rgba(18,14,10,.92)),
    var(--farm-stable-wood) center/cover no-repeat;
  border-top:2px solid rgba(120,90,50,.55);
  box-shadow:inset 0 1px 0 rgba(255,220,160,.08);
}
.pet-farm-stable-label{
  flex-shrink:0;font-size:.64rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(230,205,155,.85);font-family:Georgia,serif;
}
.pet-farm-pick-list{
  display:flex;flex-direction:row;flex-wrap:nowrap;gap:10px;
  overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
  padding:2px 2px 10px;scroll-snap-type:x proximity;
  scrollbar-width:thin;scrollbar-color:rgba(180,140,80,.55) rgba(20,14,8,.35);
}
.pet-farm-pick-list::-webkit-scrollbar{height:6px}
.pet-farm-pick-list::-webkit-scrollbar-thumb{
  background:rgba(180,140,80,.55);border-radius:999px;
}
.pet-farm-pick{
  flex:0 0 auto;width:112px;scroll-snap-align:start;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:8px 7px 9px;text-align:center;cursor:pointer;color:var(--farm-cream);
  background:
    linear-gradient(180deg,rgba(72,50,28,.92),rgba(28,20,12,.94));
  border:2px solid rgba(120,88,48,.7);
  border-radius:10px;
  box-shadow:
    inset 0 1px 0 rgba(255,230,180,.14),
    0 4px 0 rgba(24,16,8,.65),
    0 8px 16px rgba(0,0,0,.28);
  transition:transform .15s,border-color .15s,box-shadow .15s,filter .15s;
}
.pet-farm-pick:hover{
  transform:translateY(-2px);
  border-color:rgba(210,170,100,.75);
  filter:brightness(1.05);
}
.pet-farm-pick:active{transform:translateY(0)}
.pet-farm-pick.is-a{
  border-color:#d4b06a;
  box-shadow:
    inset 0 1px 0 rgba(255,230,180,.2),
    0 0 0 1px rgba(212,176,106,.35),
    0 0 18px rgba(200,160,70,.28),
    0 4px 0 rgba(24,16,8,.65);
}
.pet-farm-pick.is-b{
  border-color:#7aaa68;
  box-shadow:
    inset 0 1px 0 rgba(200,230,170,.16),
    0 0 0 1px rgba(122,170,104,.35),
    0 0 18px rgba(100,160,80,.25),
    0 4px 0 rgba(24,16,8,.65);
}
.pet-farm-pick-frame{
  position:relative;width:88px;height:88px;
  border-radius:12px;overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 70%,rgba(90,120,55,.35),transparent 60%),
    linear-gradient(180deg,#3a2a18,#1c140c);
  border:1px solid rgba(160,120,70,.45);
  box-shadow:inset 0 0 0 1px rgba(255,220,160,.06);
}
.pet-farm-pick-art{
  display:grid;place-items:center;width:100%;height:100%;
}
.pet-farm-pick-img{
  width:100%;height:100%;object-fit:contain;object-position:center bottom;
  filter:drop-shadow(0 4px 6px rgba(0,0,0,.4));
}
.pet-farm-pick-emoji{font-size:2rem}
.pet-farm-pick-care{
  position:absolute;left:6px;right:6px;bottom:5px;height:5px;
  background:rgba(10,8,4,.55);border-radius:999px;overflow:hidden;
  border:1px solid rgba(80,55,30,.45);
}
.pet-farm-pick-care i{
  display:block;height:100%;
  background:linear-gradient(90deg,#3d6a40,#9ccc6a);
}
.pet-farm-pick-body{min-width:0;width:100%;display:flex;flex-direction:column;gap:2px}
.pet-farm-pick-name{
  display:inline-flex;align-items:center;justify-content:center;gap:3px;
  font-size:.74rem;font-weight:750;color:#f6ead0;font-family:Georgia,serif;
  overflow:hidden;white-space:nowrap;max-width:100%;
}
.pet-farm-pick-meta{font-size:.58rem;color:rgba(210,190,150,.75);line-height:1.25}
.pet-farm-pick-tag{
  font-size:.52rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;
  padding:3px 7px;border-radius:999px;
  background:rgba(120,90,45,.7);color:#ffe9b8;border:1px solid rgba(180,140,80,.45);
}
.pet-farm-pick.is-b .pet-farm-pick-tag{
  background:rgba(55,90,45,.7);color:#d4f0b8;border-color:rgba(100,150,80,.45);
}
@keyframes petFarmSceneDrift{
  0%{transform:scale(1.04) translate3d(0,0,0)}
  100%{transform:scale(1.06) translate3d(-.8%,0,0)}
}
@keyframes petFarmPinPulse{
  0%,100%{opacity:.75;transform:scale(1)}
  50%{opacity:1;transform:scale(1.04)}
}
@keyframes petFarmIdleBob{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
@keyframes petFarmShadowPulse{
  0%,100%{transform:translateX(-50%) scaleX(1);opacity:.85}
  50%{transform:translateX(-50%) scaleX(.88);opacity:.55}
}
@keyframes petFarmNestSway{
  0%,100%{transform:rotate(-1.5deg) translateY(0)}
  50%{transform:rotate(1.5deg) translateY(-2px)}
}
@keyframes petFarmNestWarm{
  0%,100%{transform:scale(1);filter:drop-shadow(0 6px 10px rgba(0,0,0,.45))}
  50%{transform:scale(1.04);filter:drop-shadow(0 4px 12px rgba(200,160,70,.35))}
}
.pet-farm-event-banner{
  position:absolute;z-index:4;left:50%;top:10%;transform:translateX(-50%);
  display:flex;align-items:center;gap:8px;max-width:min(92%,320px);
  padding:6px 12px;border-radius:10px;
  background:rgba(18,22,36,.72);border:1px solid rgba(180,200,255,.28);
  box-shadow:0 4px 14px rgba(0,0,0,.35);pointer-events:none;
  backdrop-filter:blur(4px);
}
.pet-farm-event-banner.is-moon{
  background:rgba(28,24,48,.78);border-color:rgba(255,220,140,.4);
}
.pet-farm-event-banner.is-night:not(.is-moon){
  background:rgba(16,24,40,.74);border-color:rgba(140,170,220,.3);
}
.pet-farm-event-ico{font-size:1.15rem;line-height:1}
.pet-farm-event-body{min-width:0;display:flex;flex-direction:column;gap:1px}
.pet-farm-event-body strong{font-size:.72rem;color:#f0e6d2;font-family:Georgia,serif;letter-spacing:.04em}
.pet-farm-event-body span{font-size:.62rem;color:rgba(210,200,180,.78);line-height:1.25}
.pet-farm-shell.event-moon .pet-farm-scene{filter:brightness(.92) saturate(1.05) hue-rotate(-8deg)}
.pet-farm-shell.event-night:not(.event-moon) .pet-farm-scene{filter:brightness(.86) saturate(.95)}
.pet-farm-shell.event-moon .pet-farm-nest-img{
  filter:drop-shadow(0 0 10px rgba(255,220,140,.45));
}
.pet-farm-traits{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}
.pet-farm-trait,.pet-egg-card .pet-farm-trait{
  display:inline-block;font-style:normal;font-size:.58rem;font-weight:700;
  padding:1px 6px;border-radius:6px;
  background:rgba(90,70,40,.55);color:#e8d5a8;border:1px solid rgba(180,150,90,.35);
}
.pet-trait-chip{background:rgba(90,70,40,.45)!important;border-color:rgba(180,150,90,.4)!important}
@media (max-width:560px){
  .pet-farm-vista{min-height:min(48vh,360px);height:min(50vh,380px)}
  .pet-farm-spot--west{left:3%;top:auto;bottom:42%;width:38%}
  .pet-farm-spot--east{right:2%;top:auto;bottom:38%;width:38%}
  .pet-farm-spot--nest{bottom:5%}
  .pet-farm-spot-art{height:110px;width:min(100%,128px)}
  .pet-farm-shell{min-height:100%}
  .pet-farm-sign-title{font-size:.78rem;letter-spacing:.12em}
  .pet-farm-pick{width:100px}
  .pet-farm-pick-frame{width:78px;height:78px}
}
@media (min-width:700px){
  .pet-farm-vista{min-height:min(54vh,460px);height:min(56vh,480px)}
  .pet-farm-spot--west{left:9%;top:auto;bottom:43%}
  .pet-farm-spot--east{right:8%;top:auto;bottom:39%}
  .pet-farm-spot--nest{bottom:7%}
  .pet-farm-spot-art{height:140px;width:min(100%,158px)}
  .pet-farm-pick{width:120px}
  .pet-farm-pick-frame{width:96px;height:96px}
}

.rpg-pet-fusion-overlay{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:0;pointer-events:auto}
.rpg-pet-fusion-overlay.hidden{display:none!important;pointer-events:none!important;visibility:hidden!important}
.rpg-pet-fusion-bg{position:absolute;inset:0;background-size:cover;background-position:center 55%;animation:petFusionBgDrift 16s ease-in-out infinite alternate}
.rpg-pet-fusion-veil{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 48%,rgba(30,20,60,.2),rgba(2,4,10,.82) 74%)}
.rpg-pet-fusion-runes{position:absolute;left:50%;top:42%;width:min(70vw,420px);height:min(70vw,420px);transform:translate(-50%,-50%);opacity:0;pointer-events:none;z-index:1;background:radial-gradient(circle at 50% 50%,transparent 58%,rgba(255,210,140,.12) 59%,transparent 62%),conic-gradient(from 0deg,transparent,rgba(255,200,120,.14),transparent 30%,rgba(120,180,255,.12),transparent 60%,rgba(255,200,120,.1),transparent);border-radius:50%;transition:opacity .5s ease}
.rpg-pet-fusion-runes.is-on{opacity:1;animation:petFusionOrbitSpin 18s linear infinite}
.rpg-pet-fusion-fx{position:absolute;left:50%;top:42%;width:min(96vw,620px);height:min(96vw,620px);transform:translate(-50%,-50%);pointer-events:none;z-index:1;opacity:.95}
.rpg-pet-fusion-vortex{position:absolute;left:50%;top:42%;width:min(78vw,460px);height:min(78vw,460px);transform:translate(-50%,-50%) scale(.72);opacity:0;pointer-events:none;z-index:1;mix-blend-mode:screen;transition:opacity .55s ease,transform .7s ease;filter:brightness(.85) saturate(1.05)}
.rpg-pet-fusion-vortex.is-on{opacity:.72}
.rpg-pet-fusion-vortex.is-spin{animation:petFusionVortexSpin 2.8s linear infinite}
.rpg-pet-fusion-vortex.is-nova{animation:petFusionVortexNova 1.15s ease-in forwards}
.rpg-pet-fusion-beams{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:1;transition:opacity .4s}
.rpg-pet-fusion-beams.is-on{opacity:1}
.rpg-pet-fusion-beams span{position:absolute;left:50%;top:42%;width:2px;height:min(34vh,220px);transform-origin:50% 0;background:linear-gradient(180deg,rgba(255,220,160,0),rgba(255,200,120,.45),transparent);filter:blur(.4px)}
.rpg-pet-fusion-beams span:nth-child(1){transform:translate(-50%,0) rotate(-28deg)}
.rpg-pet-fusion-beams span:nth-child(2){transform:translate(-50%,0) rotate(0deg);height:min(28vh,180px)}
.rpg-pet-fusion-beams span:nth-child(3){transform:translate(-50%,0) rotate(28deg)}
.rpg-pet-fusion-beams.is-pull span{animation:petFusionBeamPull 1.1s ease-in forwards}
.rpg-pet-fusion-shock{position:absolute;left:50%;top:42%;width:12px;height:12px;border-radius:50%;transform:translate(-50%,-50%) scale(0);opacity:0;pointer-events:none;z-index:2;border:2px solid rgba(255,230,190,.7);box-shadow:0 0 28px rgba(255,200,120,.35),0 0 60px rgba(100,180,255,.22)}
.rpg-pet-fusion-shock.is-on{animation:petFusionShockwave .85s ease-out forwards}
.rpg-pet-fusion-sparks{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:1;transition:opacity .35s;background:radial-gradient(circle at 32% 46%,rgba(255,210,120,.18),transparent 14%),radial-gradient(circle at 68% 46%,rgba(120,180,255,.18),transparent 14%),radial-gradient(circle at 50% 40%,rgba(255,255,255,.08),transparent 30%)}
.rpg-pet-fusion-sparks.is-on{opacity:1;animation:petFusionSparkPulse 1.35s ease-in-out infinite}
.rpg-pet-fusion-sparks.is-burst{animation:petFusionSparkBurst .65s ease-out both}
.rpg-pet-fusion-flash{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(255,246,220,.55),rgba(255,220,150,.18) 28%,transparent 68%);opacity:0;pointer-events:none;z-index:3;transition:opacity .12s ease-in}
.rpg-pet-fusion-flash.is-on{opacity:.55}
.rpg-pet-fusion-card{position:relative;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:12px;width:100%;height:100%;padding:max(20px,6vh) 16px max(22px,env(safe-area-inset-bottom,0px));text-align:center;pointer-events:none}
.rpg-pet-fusion-card .btn,.rpg-pet-fusion-actions{pointer-events:auto}
.rpg-pet-fusion-title{margin:0;font-size:.78rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase;color:#f0c878;text-shadow:0 2px 12px rgba(0,0,0,.65);margin-top:auto}
.rpg-pet-fusion-scene{position:relative;width:min(960px,96vw);height:min(54vh,440px);margin:0 auto;flex:1 1 auto;max-height:min(60vh,480px)}
.rpg-pet-fusion-podium{position:absolute;top:14%;width:min(34%,230px);height:62%;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}
.rpg-pet-fusion-podium.is-left{left:7%}
.rpg-pet-fusion-podium.is-right{right:7%}
.rpg-pet-fusion-podium-glow{position:absolute;left:50%;bottom:6%;width:70%;height:28%;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(255,210,120,.4),transparent 70%);filter:blur(6px);opacity:.65;animation:petAbsorbPodiumGlow 2.4s ease-in-out infinite}
.rpg-pet-fusion-podium.is-right .rpg-pet-fusion-podium-glow{background:radial-gradient(ellipse at center,rgba(120,180,255,.4),transparent 70%)}
.rpg-pet-fusion-essence{position:absolute;left:50%;top:28%;width:18px;height:18px;border-radius:50%;transform:translate(-50%,-50%) scale(0);opacity:0;z-index:3;background:radial-gradient(circle,#fff6d8,#f0b050 55%,transparent 70%);box-shadow:0 0 18px rgba(255,200,100,.55);transition:opacity .35s,transform .45s}
.rpg-pet-fusion-essence.e-right{background:radial-gradient(circle,#e8f4ff,#70b0ff 55%,transparent 70%);box-shadow:0 0 18px rgba(110,180,255,.55)}
.rpg-pet-fusion-essence.is-on{opacity:1;transform:translate(-50%,-50%) scale(1);animation:petFusionEssenceRise 1.6s ease-in-out infinite}
.rpg-pet-fusion-img{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;object-position:center bottom;opacity:0;filter:drop-shadow(0 14px 24px rgba(0,0,0,.55));transition:opacity .5s,filter .55s,transform .95s cubic-bezier(.22,.8,.2,1);transform:translateY(10px) scale(.94)}
.rpg-pet-fusion-img.hidden{display:none!important}
.rpg-pet-fusion-img.is-visible{opacity:1;transform:translateY(0) scale(1)}
.rpg-pet-fusion-img.is-orbit{filter:brightness(1.08) drop-shadow(0 0 22px rgba(255,210,120,.45))}
/* Kein Sprite-Wackeln — nur sanfter Glow-Puls */
.rpg-pet-fusion-scene.is-orbiting .rpg-pet-fusion-podium.is-left .rpg-pet-fusion-img.is-orbit{animation:petFusionOrbitGlow 2.8s ease-in-out infinite}
.rpg-pet-fusion-scene.is-orbiting .rpg-pet-fusion-podium.is-right .rpg-pet-fusion-img.is-orbit{animation:petFusionOrbitGlow 2.8s ease-in-out infinite 0.35s}
.rpg-pet-fusion-scene.is-spiral .rpg-pet-fusion-podium.is-left .rpg-pet-fusion-img.is-spiral-in{transform:translate(48%,-8%) scale(.48) rotate(14deg);opacity:.42;filter:brightness(1.2) blur(.6px) drop-shadow(0 0 22px rgba(255,200,100,.7));transition:transform 1.15s cubic-bezier(.35,.1,.2,1),opacity .9s,filter .9s}
.rpg-pet-fusion-scene.is-spiral .rpg-pet-fusion-podium.is-right .rpg-pet-fusion-img.is-spiral-in{transform:translate(-48%,-8%) scale(.48) rotate(-14deg);opacity:.42;filter:brightness(1.2) blur(.6px) drop-shadow(0 0 22px rgba(120,180,255,.7));transition:transform 1.15s cubic-bezier(.35,.1,.2,1),opacity .9s,filter .9s}
.rpg-pet-fusion-img.is-vanish{opacity:0;transform:scale(.18) rotate(52deg);filter:brightness(1.8) blur(5px)}
.rpg-pet-fusion-merge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(54%,320px);height:76%;display:grid;place-items:center}
.rpg-pet-fusion-merge.hidden{display:none!important}
.rpg-pet-fusion-merge-ring{position:absolute;inset:4%;border-radius:50%;border:2px solid rgba(255,220,140,.55);animation:petFusionMergeRing 1.2s ease-out both}
.rpg-pet-fusion-merge-ring.r2{inset:-2%;border-color:rgba(130,190,255,.4);animation-delay:.12s}
.rpg-pet-fusion-merge-burst{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(255,236,200,.45),transparent 62%);opacity:0}
.rpg-pet-fusion-merge.is-reveal .rpg-pet-fusion-merge-burst{animation:petFusionBurst .85s ease-out both}
.rpg-pet-fusion-img.is-reveal{animation:petAbsorbReveal 1.15s ease-out both}
.rpg-pet-fusion-label{margin:0;font-size:clamp(1.08rem,3.6vw,1.5rem);font-weight:800;color:#f7f1e6;text-shadow:0 2px 16px rgba(0,0,0,.75);max-width:36ch}
.rpg-pet-fusion-sub{margin:0;opacity:.75;letter-spacing:.08em}
.rpg-pet-fusion-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.rpg-pet-fusion-skip.hidden,.rpg-pet-fusion-continue.hidden{display:none!important}
body.rpg-pet-fusion-open,html.rpg-pet-fusion-open{overflow:hidden}
@keyframes petFusionBgDrift{from{transform:scale(1.02) translateY(0)}to{transform:scale(1.06) translateY(-1.4%)}}
@keyframes petFusionOrbitSpin{to{transform:rotate(360deg)}}
@keyframes petFusionVortexSpin{to{transform:translate(-50%,-50%) rotate(360deg) scale(.95)}}
@keyframes petFusionVortexNova{0%{transform:translate(-50%,-50%) scale(.85) rotate(0deg);opacity:.75}55%{transform:translate(-50%,-50%) scale(1.2) rotate(110deg);opacity:.85}100%{transform:translate(-50%,-50%) scale(1.5) rotate(190deg);opacity:.08}}
@keyframes petFusionShockwave{0%{transform:translate(-50%,-50%) scale(.2);opacity:.8}100%{transform:translate(-50%,-50%) scale(26);opacity:0}}
@keyframes petFusionSpark{0%,100%{transform:scale(.8);opacity:.45}50%{transform:scale(1.25);opacity:1}}
@keyframes petFusionSparkPulse{0%,100%{opacity:.55;filter:brightness(1)}50%{opacity:.85;filter:brightness(1.12)}}
@keyframes petFusionSparkBurst{0%{opacity:1;filter:brightness(1.25)}100%{opacity:0;filter:brightness(1)}}
@keyframes petFusionBeamPull{0%{opacity:1;height:min(34vh,220px)}100%{opacity:0;height:40px;filter:blur(2px)}}
@keyframes petFusionEssenceRise{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.85}50%{transform:translate(-50%,-70%) scale(1.15);opacity:1}}
@keyframes petFusionOrbitGlow{
  0%,100%{filter:brightness(1.06) drop-shadow(0 0 16px rgba(255,210,120,.35));transform:translateY(0) scale(1)}
  50%{filter:brightness(1.14) drop-shadow(0 0 28px rgba(255,220,150,.55));transform:translateY(-1px) scale(1.012)}
}
@keyframes petFusionMergeRing{0%{transform:scale(.4);opacity:0}35%{opacity:1}100%{transform:scale(1.45);opacity:0}}
@keyframes petFusionBurst{0%{opacity:.95;transform:scale(.2)}100%{opacity:0;transform:scale(1.75)}}
@keyframes petFusionRevealPop{
  0%{opacity:0;transform:translateY(22px) scale(.68);filter:brightness(2.1) blur(6px)}
  40%{opacity:1;transform:translateY(-6px) scale(1.08);filter:brightness(1.35) blur(0)}
  70%{transform:translateY(2px) scale(.98);filter:brightness(1.05)}
  100%{opacity:1;transform:translateY(0) scale(1);filter:brightness(1) blur(0)}
}
@keyframes petFusionRunePulse{0%,100%{opacity:.55;filter:brightness(1)}50%{opacity:1;filter:brightness(1.25)}}
@keyframes petFusionCoreGlow{0%,100%{box-shadow:0 0 18px rgba(255,210,120,.35)}50%{box-shadow:0 0 48px rgba(255,230,160,.75),0 0 90px rgba(120,180,255,.32)}}
.rpg-pet-fusion-scene.is-orbiting .rpg-pet-fusion-podium.is-left .rpg-pet-fusion-img.is-orbit{animation:petFusionOrbitGlow 2.8s ease-in-out infinite}
.rpg-pet-fusion-scene.is-orbiting .rpg-pet-fusion-podium.is-right .rpg-pet-fusion-img.is-orbit{animation:petFusionOrbitGlow 2.8s ease-in-out infinite 0.35s}
.rpg-pet-fusion-runes.is-on{opacity:1;animation:petFusionOrbitSpin 22s linear infinite,petFusionRunePulse 2.4s ease-in-out infinite}
.rpg-pet-fusion-img.is-reveal{animation:petFusionRevealPop 1.45s cubic-bezier(.2,.85,.25,1) both}
.rpg-pet-fusion-merge.is-on{animation:petFusionCoreGlow 1.8s ease-in-out infinite}
.rpg-pet-fusion-flash.is-on{opacity:.85}
.rpg-pet-fusion-vortex.is-on{opacity:.88;filter:brightness(1.1) saturate(1.2)}
.rpg-pet-fusion-scene.is-spiral .rpg-pet-fusion-podium.is-left .rpg-pet-fusion-img.is-spiral-in{
  transform:translate(50%,-10%) scale(.42) rotate(18deg);opacity:.38;
  filter:brightness(1.35) blur(.8px) drop-shadow(0 0 28px rgba(255,200,100,.85));
  transition:transform 1.05s cubic-bezier(.35,.05,.2,1),opacity .85s,filter .85s;
}
.rpg-pet-fusion-scene.is-spiral .rpg-pet-fusion-podium.is-right .rpg-pet-fusion-img.is-spiral-in{
  transform:translate(-50%,-10%) scale(.42) rotate(-18deg);opacity:.38;
  filter:brightness(1.35) blur(.8px) drop-shadow(0 0 28px rgba(120,180,255,.85));
  transition:transform 1.05s cubic-bezier(.35,.05,.2,1),opacity .85s,filter .85s;
}


/* ── Epic Fusion Ritual ── */
.rpg-pet-fusion-overlay.is-epic{background:#010208}
.rpg-pet-fusion-vignette{position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(ellipse at 50% 45%,transparent 30%,rgba(0,0,0,.55) 78%,rgba(0,0,0,.88) 100%)}
.rpg-pet-fusion-stars{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:0;background:
  radial-gradient(1px 1px at 12% 18%,rgba(255,255,255,.7),transparent),
  radial-gradient(1px 1px at 28% 62%,rgba(255,230,180,.55),transparent),
  radial-gradient(1.5px 1.5px at 72% 24%,rgba(180,220,255,.65),transparent),
  radial-gradient(1px 1px at 84% 70%,rgba(255,255,255,.5),transparent),
  radial-gradient(1px 1px at 46% 12%,rgba(255,210,140,.45),transparent),
  radial-gradient(1.5px 1.5px at 58% 80%,rgba(140,190,255,.5),transparent),
  radial-gradient(1px 1px at 8% 84%,rgba(255,255,255,.4),transparent),
  radial-gradient(1px 1px at 92% 40%,rgba(255,230,180,.45),transparent);
  transition:opacity .6s}
.rpg-pet-fusion-stars.is-on{opacity:1;animation:petFusionStarsTwinkle 3.2s ease-in-out infinite alternate}
.rpg-pet-fusion-void{position:absolute;left:50%;top:46%;width:min(55vw,340px);height:min(55vw,340px);transform:translate(-50%,-50%) scale(.2);opacity:0;pointer-events:none;z-index:1;border-radius:50%;background:radial-gradient(circle,rgba(0,0,0,.95) 0%,rgba(20,8,40,.7) 38%,rgba(40,20,80,.2) 62%,transparent 72%);box-shadow:0 0 60px rgba(80,40,140,.35),inset 0 0 40px rgba(0,0,0,.8);transition:opacity .5s,transform .8s cubic-bezier(.2,.8,.2,1)}
.rpg-pet-fusion-void.is-on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.rpg-pet-fusion-void.is-collapse{animation:petFusionVoidCollapse .95s ease-in forwards}
.rpg-pet-fusion-glyphs{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;transition:opacity .45s}
.rpg-pet-fusion-glyphs.is-on{opacity:1}
.rpg-pet-fusion-glyphs span{position:absolute;left:50%;top:46%;font-size:clamp(.7rem,2vw,1.05rem);color:rgba(255,220,160,.55);text-shadow:0 0 10px rgba(255,200,120,.45);animation:petFusionGlyphOrbit 7.5s linear infinite;transform:rotate(calc(var(--i) * 22.5deg)) translateY(min(-28vh,-180px)) rotate(calc(var(--i) * -22.5deg));opacity:.55}
.rpg-pet-fusion-glyphs span:nth-child(odd){color:rgba(160,210,255,.55);animation-duration:9.5s;animation-direction:reverse}
.rpg-pet-fusion-orbit-ring{position:absolute;left:50%;top:46%;width:min(72vw,440px);height:min(72vw,440px);transform:translate(-50%,-50%) scale(.7);opacity:0;pointer-events:none;z-index:1;border-radius:50%;border:1px solid rgba(255,210,140,.22);box-shadow:0 0 30px rgba(100,160,255,.12),inset 0 0 40px rgba(255,200,120,.06);transition:opacity .5s}
.rpg-pet-fusion-orbit-ring.is-on{opacity:1;animation:petFusionOrbitSpin 14s linear infinite}
.rpg-pet-fusion-crack{position:absolute;inset:0;pointer-events:none;z-index:2;opacity:0;background:
  linear-gradient(115deg,transparent 48%,rgba(255,240,200,.18) 49%,transparent 50%),
  linear-gradient(65deg,transparent 52%,rgba(160,210,255,.14) 53%,transparent 54%),
  linear-gradient(160deg,transparent 40%,rgba(255,255,255,.1) 41%,transparent 42%);
  mix-blend-mode:screen;transition:opacity .2s}
.rpg-pet-fusion-crack.is-on{opacity:1;animation:petFusionCrackFlash .7s ease-out forwards}
.rpg-pet-fusion-kicker{margin:0 0 2px;font-size:.62rem;font-weight:800;letter-spacing:.28em;text-transform:uppercase;color:rgba(180,210,255,.7);text-shadow:0 0 12px rgba(100,160,255,.4)}
.rpg-pet-fusion-sigil{position:absolute;top:46%;width:min(28vw,190px);height:min(28vw,190px);transform:translate(-50%,-50%) scale(.6);opacity:0;pointer-events:none;z-index:1;transition:opacity .55s,transform .7s cubic-bezier(.2,.8,.2,1)}
.rpg-pet-fusion-sigil.is-left{left:22%}
.rpg-pet-fusion-sigil.is-right{left:78%}
.rpg-pet-fusion-sigil.is-on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.rpg-pet-fusion-sigil>i{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(255,210,140,.35);animation:petFusionOrbitSpin 10s linear infinite}
.rpg-pet-fusion-sigil>i:nth-child(2){inset:12%;border-color:rgba(120,180,255,.4);animation-duration:7s;animation-direction:reverse}
.rpg-pet-fusion-sigil>i:nth-child(3){inset:24%;border-color:rgba(255,255,255,.2);animation-duration:4.5s;border-style:dashed}
.rpg-pet-fusion-sigil>i:nth-child(4){inset:36%;border-color:rgba(255,180,80,.25);animation-duration:3.2s}
.rpg-pet-fusion-sigil.is-right>i{border-color:rgba(120,180,255,.4)}
.rpg-pet-fusion-sigil.is-right>i:nth-child(2){border-color:rgba(255,210,140,.35)}
.rpg-pet-fusion-tether{position:absolute;left:22%;right:22%;top:46%;height:3px;transform:translateY(-50%) scaleX(0);opacity:0;pointer-events:none;z-index:1;transform-origin:center;transition:opacity .4s,transform .7s cubic-bezier(.2,.85,.2,1)}
.rpg-pet-fusion-tether.is-on{opacity:1;transform:translateY(-50%) scaleX(1)}
.rpg-pet-fusion-tether>span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,rgba(255,200,120,.15),rgba(255,230,180,.95),rgba(160,210,255,.95),rgba(100,160,255,.15));box-shadow:0 0 18px rgba(255,210,140,.55),0 0 28px rgba(100,170,255,.4);animation:petFusionTetherPulse 1.1s ease-in-out infinite}
.rpg-pet-fusion-tether>b{position:absolute;left:50%;top:50%;width:14px;height:14px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,#fff,#ffe7a8 50%,transparent 70%);box-shadow:0 0 20px rgba(255,230,160,.8);animation:petFusionCorePulse .8s ease-in-out infinite}
.rpg-pet-fusion-core{position:absolute;left:50%;top:46%;width:18px;height:18px;border-radius:50%;transform:translate(-50%,-50%) scale(0);opacity:0;pointer-events:none;z-index:2;background:radial-gradient(circle,#fff,#ffe7a8 40%,#7eb6ff 70%,transparent 75%);box-shadow:0 0 30px rgba(255,230,160,.8),0 0 60px rgba(100,170,255,.45);transition:opacity .35s}
.rpg-pet-fusion-core.is-on{opacity:1;transform:translate(-50%,-50%) scale(1);animation:petFusionCorePulse .9s ease-in-out infinite}
.rpg-pet-fusion-core.is-bloom{animation:petFusionCoreBloom 1.05s ease-out forwards}
.rpg-pet-fusion-core>b{position:absolute;inset:-140%;border-radius:50%;border:2px solid rgba(255,230,180,.35);animation:petFusionOrbitSpin 1.6s linear infinite}
.rpg-pet-fusion-core>em{position:absolute;inset:-280%;border-radius:50%;border:1px dashed rgba(140,190,255,.3);animation:petFusionOrbitSpin 2.4s linear infinite reverse}
.rpg-pet-fusion-chrysalis{position:absolute;left:50%;top:46%;width:min(42vw,260px);height:min(52vw,320px);transform:translate(-50%,-50%) scale(.4);opacity:0;pointer-events:none;z-index:2;border-radius:50% 50% 46% 46%;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.55),rgba(255,220,160,.28) 40%,rgba(80,140,255,.12) 68%,transparent 72%);box-shadow:0 0 40px rgba(255,220,150,.35),inset 0 0 40px rgba(255,255,255,.15);filter:blur(.4px);transition:opacity .4s,transform .55s}
.rpg-pet-fusion-chrysalis.is-on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.rpg-pet-fusion-chrysalis.is-crack{animation:petFusionChrysalisCrack .7s ease-in forwards}
.rpg-pet-fusion-chrysalis>span{position:absolute;inset:8%;border-radius:inherit;border:1px solid rgba(255,255,255,.25);animation:petFusionOrbitSpin 3s linear infinite}
.rpg-pet-fusion-rays{position:absolute;left:50%;top:46%;width:min(120vw,900px);height:min(120vw,900px);transform:translate(-50%,-50%) scale(.4);opacity:0;pointer-events:none;z-index:2;background:conic-gradient(from 0deg,transparent 0 8deg,rgba(255,230,180,.18) 9deg,transparent 14deg,transparent 28deg,rgba(140,190,255,.14) 29deg,transparent 34deg);mix-blend-mode:screen;transition:opacity .3s}
.rpg-pet-fusion-rays.is-on{opacity:1;animation:petFusionRaysBurst 1.4s ease-out forwards}
.rpg-pet-fusion-embers{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:2;background:
  radial-gradient(circle at 20% 70%,rgba(255,180,80,.2),transparent 8%),
  radial-gradient(circle at 80% 65%,rgba(120,180,255,.18),transparent 8%),
  radial-gradient(circle at 45% 30%,rgba(255,240,200,.12),transparent 10%),
  radial-gradient(circle at 60% 80%,rgba(255,160,60,.14),transparent 7%);
  transition:opacity .35s}
.rpg-pet-fusion-embers.is-on{opacity:1;animation:petFusionEmberDrift 2.8s ease-in-out infinite alternate}
.rpg-pet-fusion-ring-floor{position:absolute;left:50%;bottom:2%;width:78%;height:18%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,210,140,.35),transparent 70%);filter:blur(2px);opacity:.7}
.rpg-pet-fusion-podium.is-right .rpg-pet-fusion-ring-floor{background:radial-gradient(ellipse at center,rgba(120,180,255,.35),transparent 70%)}
.rpg-pet-fusion-merge-ring.r3{inset:-10%;border-color:rgba(255,255,255,.28);animation-delay:.22s}
.rpg-pet-fusion-overlay.is-quake .rpg-pet-fusion-card{animation:petFusionQuake .55s ease-in-out}
.rpg-pet-fusion-overlay.is-charge .rpg-pet-fusion-veil{background:radial-gradient(ellipse at 50% 48%,rgba(40,24,70,.28),rgba(2,4,10,.86) 74%)}
.rpg-pet-fusion-overlay.is-link .rpg-pet-fusion-title{letter-spacing:.22em}
.rpg-pet-fusion-overlay.is-singularity .rpg-pet-fusion-bg{filter:brightness(1.15) saturate(1.25)}
.rpg-pet-fusion-overlay.is-nova .rpg-pet-fusion-bg{filter:brightness(1.45) saturate(1.4)}
.rpg-pet-fusion-overlay.is-birth .rpg-pet-fusion-title{opacity:.35}
.rpg-pet-fusion-overlay.is-birth .rpg-pet-fusion-kicker{opacity:.25}
.rpg-pet-fusion-label.is-slam{animation:petFusionLabelSlam .7s cubic-bezier(.2,.85,.2,1) both}
.rpg-pet-fusion-flash.is-on{opacity:1;background:radial-gradient(circle at 50% 46%,rgba(255,255,255,.92),rgba(255,230,180,.45) 22%,rgba(120,170,255,.18) 48%,transparent 72%)}
.rpg-pet-fusion-shock.s2{border-color:rgba(140,190,255,.65);animation-delay:.08s}
.rpg-pet-fusion-shock.s3{border-color:rgba(255,255,255,.55);box-shadow:0 0 40px rgba(255,255,255,.35);animation-delay:.16s}
.rpg-pet-fusion-title{font-size:clamp(.85rem,2.8vw,1.05rem);letter-spacing:.2em;background:linear-gradient(90deg,#f0c878,#fff6d0,#9fd0ff,#f0c878);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:petFusionTitleShine 3.5s linear infinite;filter:drop-shadow(0 2px 12px rgba(0,0,0,.65))}
.rpg-pet-fusion-scene.is-spiral .rpg-pet-fusion-podium.is-left .rpg-pet-fusion-img.is-spiral-in{
  transform:translate(54%,-12%) scale(.28) rotate(28deg);opacity:.2;
  filter:brightness(1.8) blur(2px) drop-shadow(0 0 36px rgba(255,200,100,.95));
  transition:transform .95s cubic-bezier(.4,0,.2,1),opacity .75s,filter .75s;
}
.rpg-pet-fusion-scene.is-spiral .rpg-pet-fusion-podium.is-right .rpg-pet-fusion-img.is-spiral-in{
  transform:translate(-54%,-12%) scale(.28) rotate(-28deg);opacity:.2;
  filter:brightness(1.8) blur(2px) drop-shadow(0 0 36px rgba(120,180,255,.95));
  transition:transform .95s cubic-bezier(.4,0,.2,1),opacity .75s,filter .75s;
}
.rpg-pet-fusion-img.is-vanish{opacity:0;transform:scale(.05) rotate(90deg);filter:brightness(2.4) blur(8px);transition:transform .55s ease-in,opacity .45s,filter .45s}
.rpg-pet-fusion-img.is-reveal{animation:petFusionRevealPop 1.55s cubic-bezier(.15,.9,.2,1) both}
@keyframes petFusionTetherPulse{0%,100%{filter:brightness(1);opacity:.85}50%{filter:brightness(1.35);opacity:1}}
@keyframes petFusionCorePulse{0%,100%{transform:translate(-50%,-50%) scale(1);filter:brightness(1)}50%{transform:translate(-50%,-50%) scale(1.35);filter:brightness(1.3)}}
@keyframes petFusionCoreBloom{0%{transform:translate(-50%,-50%) scale(1);opacity:1}100%{transform:translate(-50%,-50%) scale(18);opacity:0}}
@keyframes petFusionChrysalisCrack{0%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:brightness(1)}55%{opacity:1;transform:translate(-50%,-50%) scale(1.15);filter:brightness(1.6)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.6);filter:brightness(2.2) blur(6px)}}
@keyframes petFusionRaysBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(0deg)}35%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.35) rotate(40deg)}}
@keyframes petFusionEmberDrift{from{transform:translateY(0) scale(1)}to{transform:translateY(-2%) scale(1.04)}}
@keyframes petFusionQuake{0%,100%{transform:translate(0,0)}20%{transform:translate(-3px,2px)}40%{transform:translate(3px,-2px)}60%{transform:translate(-2px,-1px)}80%{transform:translate(2px,2px)}}
@keyframes petFusionLabelSlam{0%{opacity:0;transform:translateY(24px) scale(.82);letter-spacing:.2em;filter:blur(4px)}60%{opacity:1;transform:translateY(-4px) scale(1.04);filter:blur(0)}100%{opacity:1;transform:translateY(0) scale(1);letter-spacing:normal}}
@keyframes petFusionVoidCollapse{0%{transform:translate(-50%,-50%) scale(1);opacity:1}70%{transform:translate(-50%,-50%) scale(.15);opacity:1}100%{transform:translate(-50%,-50%) scale(8);opacity:0}}
@keyframes petFusionGlyphOrbit{to{transform:rotate(calc(var(--i) * 22.5deg + 360deg)) translateY(min(-28vh,-180px)) rotate(calc(var(--i) * -22.5deg - 360deg))}}
@keyframes petFusionCrackFlash{0%{opacity:0}30%{opacity:1}100%{opacity:0}}
@keyframes petFusionStarsTwinkle{from{opacity:.55;filter:brightness(.9)}to{opacity:1;filter:brightness(1.25)}}
@keyframes petFusionTitleShine{to{background-position:200% 0}}


/* ══════════════════════════════════════════════════════════════
   BESTIARIUM — echtes Fullscreen-Archiv
══════════════════════════════════════════════════════════════ */
body.bestiary-fullscreen-active,
body.screen-bestiary{
  overflow:hidden!important;
}
/* Cosmetic-Partikel im Kodex aus — spart spürbar FPS */
body.bestiary-fullscreen-active .cos-particle,
body.screen-bestiary .cos-particle,
body.bestiary-fullscreen-active .cos-fx-layer .cos-particle,
body.bestiary-fullscreen-active .cos-fx-layer .cos-flake,
body.bestiary-fullscreen-active .cos-fx-layer .cos-ember,
body.bestiary-fullscreen-active .cos-fx-layer .cos-rainbow-dot,
body.bestiary-fullscreen-active .cos-fx-layer .cos-matrix-col,
body.bestiary-fullscreen-active .cos-fx-layer .cos-staff-emoji,
body.bestiary-fullscreen-active .cos-fx-layer .cos-feather-particle,
body.bestiary-fullscreen-active .cos-fx-layer .cos-feather-mote,
body.bestiary-fullscreen-active .cos-fx-layer .cos-feather-fall,
body.bestiary-fullscreen-active .cos-fx-layer .cos-feather-plume,
body.bestiary-fullscreen-active .cos-fx-layer .cos-owner-dust,
body.bestiary-fullscreen-active .cos-fx-layer .cos-gm-spark,
body.bestiary-fullscreen-active .cos-fx-layer .cos-gm-beam,
body.bestiary-fullscreen-active .cos-fx-layer .cos-crown-dust,
body.bestiary-fullscreen-active .cos-fx-layer .cos-crown-glint{
  display:none!important;
  animation:none!important;
  visibility:hidden!important;
}
#screen-bestiary{
  --bestiary-ink:#f6eee2;
  --bestiary-muted:rgba(246,238,226,.78);
  --bestiary-panel:rgba(28,16,10,.62);
  --bestiary-panel-2:rgba(22,12,8,.72);
  --bestiary-line:rgba(232,192,122,.38);
  --bestiary-accent:#e8c07a;
  --bestiary-teal:#e8c07a;
  --bestiary-bg:none;
}
#screen-bestiary.screen:not(.hidden),
#screen-bestiary:not(.hidden){
  display:flex!important;
  position:fixed!important;
  inset:0!important;
  z-index:7600!important;
  width:100vw!important;
  max-width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#05070a!important;
}
.bestiary-fs{
  position:relative;
  width:100%;
  height:100%;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  isolation:isolate;
  overflow:hidden;
}
.bestiary-fs-bg{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:var(--bestiary-bg);
  background-size:cover;
  background-position:center 38%;
  background-repeat:no-repeat;
  filter:saturate(1.06) contrast(1.02) brightness(.52) blur(14px);
  transform:scale(1.14);
}
.bestiary-fs-veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(ellipse 70% 42% at 50% 18%,rgba(255,186,92,.12),transparent 58%),
    linear-gradient(180deg,rgba(20,10,6,.32) 0%,rgba(20,10,6,.1) 36%,rgba(12,7,4,.5) 100%);
}
.bestiary-fs-glow,.bestiary-fs-frame{display:none!important}
.bestiary-window{
  position:absolute;inset:0;z-index:2;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.bestiary-window-stage{
  position:relative;
  width:min(100%, calc(100dvh * 1536 / 1024));
  height:min(100%, calc(100vw * 1024 / 1536));
  max-width:100%;
  max-height:100%;
  aspect-ratio:1536 / 1024;
  flex:0 0 auto;
}
.bestiary-window-page{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:var(--bestiary-bg);
  background-repeat:no-repeat;
  background-position:center;
  background-size:100% 100%;
}
.bestiary-window-art{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background-repeat:no-repeat;background-position:center;background-size:100% 100%;
}
.bestiary-window-inner{
  position:absolute;z-index:3;
  /* Bündig an der inneren Goldkante / den Schlössern (nicht am PNG-Loch). */
  left:10.25%;
  right:11.05%;
  top:7.15%;
  bottom:8.40%;
  display:flex;flex-direction:column;min-height:0;
  overflow:hidden;
  box-sizing:border-box;
  border-radius:4.2% / 6.2%;
  background:linear-gradient(180deg,rgba(24,14,8,.97),rgba(10,6,4,.99));
  box-shadow:none;
}
.bestiary-page-back{
  appearance:none;-webkit-appearance:none;
  flex:0 0 auto;align-self:center;
  margin:0;padding:8px 14px 8px 12px;
  display:inline-flex;align-items:center;gap:8px;
  cursor:pointer;
  color:#f6e2b8;
  font-family:"Cinzel",Georgia,serif;
  font-weight:800;font-size:.72rem;
  letter-spacing:.14em;text-transform:uppercase;line-height:1;
  border-radius:8px;
  border:1px solid rgba(232,196,118,.7);
  background:linear-gradient(180deg,#6a4424 0%,#3a2010 55%,#241208 100%);
  box-shadow:
    0 0 0 1px rgba(20,10,4,.45),
    inset 0 1px 0 rgba(255,230,180,.28),
    0 6px 12px rgba(0,0,0,.28);
  text-shadow:0 1px 2px rgba(0,0,0,.65);
}
.bestiary-page-back-ico{
  font-size:.85em;color:#f0d78c;line-height:1;
}
.bestiary-page-back:hover,
.bestiary-page-back:focus-visible{
  outline:none;
  border-color:rgba(255,220,150,.95);
  color:#fff6e4;
  filter:brightness(1.08);
}
.bestiary-page-back:active{transform:translateY(1px);filter:brightness(.96)}
html body.screen-bestiary #rpg-chrome-back-dock,
html body.bestiary-fullscreen-active #rpg-chrome-back-dock{
  display:none!important;visibility:hidden!important;pointer-events:none!important;
}
@keyframes bestiary-bg-drift{
  from{transform:scale(1.03) translate3d(0,0,0)}
  to{transform:scale(1.07) translate3d(0,-1.2%,0)}
}
@keyframes bestiary-glow-pulse{0%,100%{opacity:.45}50%{opacity:.9}}

.bestiary-shell{
  position:relative;z-index:3;
  display:flex;flex-direction:column;gap:8px;
  width:100%;max-width:none;margin:0;
  height:100%;min-height:0;
  padding:6px 8px 8px;
  box-sizing:border-box;
  color:var(--bestiary-ink);
  font-family:"Rajdhani",ui-sans-serif,system-ui,sans-serif;
  animation:bestiary-shell-in .4s cubic-bezier(.22,.9,.3,1) both;
}
@keyframes bestiary-shell-in{
  from{opacity:0}
  to{opacity:1}
}
.bestiary-head{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  align-items:end;justify-content:space-between;gap:12px 16px;
  padding:10px 12px;border-radius:14px;flex-shrink:0;
  border:1px solid var(--bestiary-line);
  background:linear-gradient(135deg,rgba(48,28,16,.72),rgba(22,12,8,.78));
  box-shadow:inset 0 1px 0 rgba(255,230,180,.1);
}
.bestiary-kicker,.bestiary-detail-kicker{
  font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--bestiary-accent);margin-bottom:4px;
  font-family:"Cinzel",Georgia,serif;
  text-shadow:0 2px 10px rgba(0,0,0,.55);
}
.bestiary-head-title{
  margin:0;font-size:clamp(1.35rem,3vw,2rem);font-weight:800;letter-spacing:.08em;color:#fff8ee;
  font-family:"Cinzel",Georgia,serif;text-transform:uppercase;
  text-shadow:0 2px 14px rgba(0,0,0,.55);
}
.bestiary-head-ornament{
  width:min(220px,40vw);height:2px;margin:8px 0 6px;border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(226,192,122,.85),transparent);
}
.bestiary-head-sub{
  margin:0;font-size:.78rem;line-height:1.4;color:var(--bestiary-muted);max-width:62ch;
}
.bestiary-head-progress{min-width:min(34vw,260px)}
.bestiary-head-progress-label{
  display:flex;justify-content:space-between;gap:8px;font-size:.74rem;margin-bottom:6px;color:var(--bestiary-muted);
}
.bestiary-head-progress-bar,.bestiary-tab-bar{
  height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}
.bestiary-head-progress-bar > span,.bestiary-tab-bar > span{
  display:block;height:100%;border-radius:inherit;
  background:linear-gradient(90deg,#5fd0c4,#e2c07a,#f0d78c);
  box-shadow:0 0 12px rgba(226,192,122,.35);
}
.bestiary-head-progress-hint{
  margin-top:5px;font-size:.68rem;font-weight:700;color:rgba(226,192,122,.85);text-align:right;
}
.bestiary-tabs{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;flex-shrink:0;
}
.bestiary-tab{
  appearance:none;border:1px solid rgba(232,192,122,.28);border-radius:14px;
  background:rgba(28,16,10,.55);color:var(--bestiary-ink);padding:12px 12px 10px;
  display:flex;flex-direction:column;gap:7px;cursor:pointer;text-align:left;
  transition:border-color .15s ease, background .15s ease, transform .12s ease, box-shadow .15s ease;
}
.bestiary-tab:hover{border-color:rgba(232,192,122,.55);transform:translateY(-1px)}
.bestiary-tab.active{
  border-color:rgba(232,192,122,.7);
  background:linear-gradient(165deg,rgba(72,42,18,.88),rgba(28,16,10,.9));
  box-shadow:0 8px 18px rgba(0,0,0,.28);
}
.bestiary-tab-top{display:flex;align-items:center;gap:7px;min-width:0}
.bestiary-tab-emoji{font-size:1.05rem;line-height:1;filter:drop-shadow(0 0 8px rgba(226,192,122,.25))}
.bestiary-tab-label{font-size:.88rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bestiary-tab-count{font-size:.8rem;font-weight:800;color:#fff}
.bestiary-tab-total{color:var(--bestiary-muted);font-weight:600}
.bestiary-toolbar{display:flex;gap:8px;align-items:center;flex-shrink:0}
.bestiary-search{
  flex:1;min-width:0;height:42px;border-radius:14px;border:1px solid rgba(232,192,122,.28);
  background:rgba(22,12,8,.78);color:var(--bestiary-ink);padding:0 14px;font-size:.92rem;
}
.bestiary-search:focus{outline:none;border-color:rgba(232,192,122,.7);box-shadow:0 0 0 2px rgba(232,192,122,.16)}
.bestiary-filter-chip{
  border:1px solid rgba(232,192,122,.28);background:rgba(28,16,10,.7);color:var(--bestiary-muted);
  border-radius:999px;padding:9px 13px;font-size:.74rem;font-weight:800;cursor:pointer;white-space:nowrap;
}
.bestiary-filter-chip.active{border-color:rgba(232,192,122,.7);background:rgba(72,42,18,.55);color:#ffe9c4}
.bestiary-item-cats{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0}
.bestiary-body{
  display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.95fr);gap:14px;
  min-height:0;flex:1;overflow:hidden;
}
.bestiary-list-pane{
  display:flex;flex-direction:column;gap:8px;min-height:0;overflow:hidden;
  border:1px solid rgba(232,192,122,.28);border-radius:18px;padding:12px;
  background:rgba(22,12,8,.55);
}
.bestiary-list-meta{font-size:.74rem;color:var(--bestiary-muted);padding:0 2px;flex-shrink:0}
.bestiary-list{
  overflow:auto!important;min-height:0;flex:1;padding:2px;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  touch-action:pan-y;
}
.bestiary-list.is-virtual{
  display:block!important;
  position:relative;
  contain:layout paint style;
}
.bestiary-virt-spacer{
  position:relative;
  width:100%;
  pointer-events:none;
}
.bestiary-virt-window{
  position:absolute;
  left:0;right:0;top:0;
  pointer-events:auto;
  will-change:transform;
  contain:layout paint style;
}
.bestiary-virt-window.is-tiles{
  display:grid!important;
  grid-template-columns:repeat(var(--bestiary-virt-cols, 3),minmax(0,1fr));
  gap:8px;
  align-content:start;
}
.bestiary-virt-window.is-rows{
  display:flex!important;
  flex-direction:column;
  gap:3px;
}
.bestiary-list.is-tiles{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(128px,1fr));
  grid-auto-rows:auto;
  gap:12px;align-content:start;align-items:stretch;
}
.bestiary-list.is-tiles.is-virtual{display:block!important}
.bestiary-list.is-rows{display:flex;flex-direction:column;gap:3px}
.bestiary-list.is-rows.is-virtual{display:block!important}
.bestiary-list.is-virtual{
  position:relative;
  display:block!important;
}
.bestiary-virt-spacer{position:relative;width:100%;pointer-events:none}
.bestiary-virt-window{
  position:absolute;left:0;right:0;top:0;
  pointer-events:auto;
  will-change:transform;
}
.bestiary-virt-window.is-tiles{
  display:grid!important;
  grid-template-columns:repeat(var(--bestiary-virt-cols,2),minmax(0,1fr));
  gap:12px;align-content:start;align-items:stretch;
}
.bestiary-virt-window.is-rows{display:flex;flex-direction:column;gap:3px}
.bestiary-filter-host:empty{display:none}
.bestiary-tile.active,.bestiary-row.active{outline:2px solid rgba(232,192,122,.65);outline-offset:1px}
.bestiary-empty{
  padding:32px 14px;text-align:center;color:var(--bestiary-muted);font-size:.9rem;
  border:1px dashed rgba(255,255,255,.12);border-radius:14px;
}
/* Discord/SDK-Button-Styles dürfen Kacheln nicht plattdrücken */
#screen-bestiary button.bestiary-tile,
.bestiary-tile{
  appearance:none!important;-webkit-appearance:none!important;
  border:1px solid rgba(255,255,255,.12)!important;border-radius:16px!important;
  background:linear-gradient(180deg,rgba(14,16,22,.95),rgba(6,8,12,.98))!important;
  color:inherit!important;
  padding:0!important;margin:0!important;cursor:pointer;
  overflow:hidden!important;
  display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;
  gap:0!important;
  width:100%!important;height:auto!important;min-height:248px!important;max-height:none!important;
  line-height:1.2!important;font:inherit!important;text-align:center!important;
  transition:border-color .12s ease, transform .12s ease, box-shadow .12s ease;
  content-visibility:auto;
  contain:layout paint style;
}
.bestiary-tile:hover{transform:translateY(-2px);border-color:rgba(226,192,122,.45)!important;box-shadow:0 10px 22px rgba(0,0,0,.32)}
.bestiary-tile.active{
  border-color:rgba(226,192,122,.8)!important;
  box-shadow:0 0 0 1px rgba(226,192,122,.28),0 12px 26px rgba(0,0,0,.38);
}
.bestiary-tile.locked{opacity:1}
.bestiary-tile.locked .bestiary-tile-name{color:rgba(200,210,220,.72)}
.bestiary-tile.is-boss{border-color:rgba(248,113,113,.42)!important}
.bestiary-tile-face{
  position:relative;display:block;width:100%;
  flex:0 0 auto;
  aspect-ratio:3/4;
  min-height:156px;height:auto!important;
  overflow:hidden;border:0;border-radius:0;
  background:linear-gradient(180deg,#141a22 0%,#07090e 100%);
}
/* Fallback falls aspect-ratio gekickt wird */
@supports not (aspect-ratio: 3/4){
  .bestiary-tile-face{height:0;padding-bottom:133.333%;min-height:0}
}
.bestiary-tile-face::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:14%;pointer-events:none;z-index:2;
  background:linear-gradient(180deg,transparent,rgba(4,6,10,.55));
}
.bestiary-card-stage-bg{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center center!important;
  z-index:0;pointer-events:none;border:0!important;margin:0!important;padding:0!important;
  filter:saturate(1.05) brightness(.92);
}
/* Klassen: männlich + weiblich schräg hintereinander */
.bestiary-dual-gender{
  position:absolute;inset:0;z-index:1;
  display:block;overflow:hidden;
  pointer-events:none;
}
.bestiary-dual-gender .bestiary-gender-slot{
  position:absolute;inset:0;min-width:0;min-height:0;overflow:visible;
  display:block;
}
.bestiary-dual-gender .bestiary-gender-slot[data-gender="male"]{z-index:1}
.bestiary-dual-gender .bestiary-gender-slot[data-gender="female"]{z-index:2}
.bestiary-dual-gender .bestiary-card-art--figure,
.bestiary-tile-face .bestiary-dual-gender .bestiary-card-art--figure,
.bestiary-detail-hero .bestiary-dual-gender .bestiary-card-art--figure,
.bestiary-detail-hero .bestiary-dual-gender .bestiary-card-art--combat,
.bestiary-detail-hero .bestiary-dual-gender .bestiary-card-art--figure:not(.is-mystery){
  position:absolute!important;
  inset:auto!important;
  top:auto!important;bottom:2%!important;
  left:50%!important;right:auto!important;
  height:78%!important;width:62%!important;
  max-height:none!important;
  margin:0!important;
  object-fit:contain!important;object-position:center bottom!important;
  transform-origin:center bottom;
}
/* ♂ hinten links/oben, ♀ vorne rechts/unten */
.bestiary-dual-gender .bestiary-gender-slot[data-gender="male"] .bestiary-card-art--figure{
  left:50%!important;
  transform:translate(-76%, -4%) scale(.9)!important;
  filter:brightness(.86) saturate(.92)!important;
}
.bestiary-dual-gender .bestiary-gender-slot[data-gender="female"] .bestiary-card-art--figure{
  left:50%!important;right:auto!important;width:64%!important;
  transform:translate(-20%, 1%) scale(1.04)!important;
  filter:drop-shadow(-6px 4px 12px rgba(0,0,0,.45))!important;
}
/* Kacheln: tiefer + stärkerer Diagonal-Versatz */
.bestiary-tile-face .bestiary-dual-gender .bestiary-card-art--figure{
  height:70%!important;
  bottom:-1%!important;
}
.bestiary-tile-face .bestiary-dual-gender .bestiary-gender-slot[data-gender="male"] .bestiary-card-art--figure{
  transform:translate(-80%, -8%) scale(.86)!important;
  filter:brightness(.84) saturate(.9)!important;
}
.bestiary-tile-face .bestiary-dual-gender .bestiary-gender-slot[data-gender="female"] .bestiary-card-art--figure{
  width:68%!important;
  transform:translate(-16%, 4%) scale(1.05)!important;
  filter:drop-shadow(-5px 4px 10px rgba(0,0,0,.48))!important;
}
.bestiary-dual-gender.is-lg .bestiary-card-art--figure,
.bestiary-detail-hero .bestiary-dual-gender.is-lg .bestiary-card-art--figure,
.bestiary-detail-hero .bestiary-dual-gender.is-lg .bestiary-card-art--combat,
.bestiary-detail-hero .bestiary-dual-gender.is-lg .bestiary-card-art--figure:not(.is-mystery){
  height:92%!important;
  bottom:0%!important;
  width:62%!important;
}
.bestiary-dual-gender.is-lg .bestiary-gender-slot[data-gender="male"] .bestiary-card-art--figure{
  transform:translate(-70%, -4%) scale(.96)!important;
}
.bestiary-dual-gender.is-lg .bestiary-gender-slot[data-gender="female"] .bestiary-card-art--figure{
  width:66%!important;
  transform:translate(-24%, 1%) scale(1.1)!important;
}
.bestiary-gender-tag{
  position:absolute;bottom:6px;z-index:3;
  font-size:.68rem;font-weight:700;line-height:1;
  padding:3px 6px;border-radius:999px;
  background:rgba(0,0,0,.55);color:rgba(245,230,184,.95);
  border:1px solid rgba(232,197,71,.28);
  pointer-events:none;
}
.bestiary-dual-gender .bestiary-gender-slot[data-gender="male"] .bestiary-gender-tag{
  left:6px;right:auto;
}
.bestiary-dual-gender .bestiary-gender-slot[data-gender="female"] .bestiary-gender-tag{
  left:auto;right:6px;
}
.bestiary-detail-hero .bestiary-dual-gender .bestiary-gender-tag{
  font-size:.78rem;padding:4px 8px;bottom:8px;
}
.bestiary-detail-hero .bestiary-dual-gender .bestiary-gender-slot[data-gender="male"] .bestiary-gender-tag{
  left:8px;
}
.bestiary-detail-hero .bestiary-dual-gender .bestiary-gender-slot[data-gender="female"] .bestiary-gender-tag{
  right:8px;
}
.bestiary-tile-face .bestiary-card-art,
.bestiary-detail-hero .bestiary-card-art{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  padding:0!important;margin:0!important;display:block!important;border:0!important;
}
/* Bleed nur im Detail — auf Kacheln zu teuer (Blur × 200) */
.bestiary-list .bestiary-card-art--bleed{
  display:none!important;
}
.bestiary-card-art--bleed{
  object-fit:cover!important;object-position:center center!important;
  filter:blur(12px) saturate(1.1) brightness(.75);
  transform:scale(1.15);z-index:0;pointer-events:none;
}
.bestiary-card-art--figure{
  object-fit:contain!important;object-position:center center!important;
  z-index:1;filter:none!important;transform:none!important;
  /* großzügiger Innenabstand — alle Pets vollständig sichtbar */
  inset:11% !important;width:78%!important;height:78%!important;margin:auto!important;
  left:11%!important;right:11%!important;top:11%!important;bottom:11%!important;
}
/* Gegner-Cutouts: IMMER vollständig sichtbar — nie abschneiden */
.bestiary-tile-face--combat .bestiary-card-art--combat,
.bestiary-detail-hero .bestiary-card-art--combat{
  object-fit:contain!important;object-position:center center!important;
  inset:3% !important;width:94%!important;height:94%!important;
  left:3%!important;right:3%!important;top:3%!important;bottom:3%!important;
}
/* Große Detail-Previews: maximal groß, trotzdem komplett (contain) — nicht Dual-Gender */
.bestiary-detail-hero > .bestiary-card-art--combat,
.bestiary-detail-hero > .bestiary-card-art--figure{
  object-fit:contain!important;object-position:center bottom!important;
  inset:1% !important;width:98%!important;height:98%!important;
  left:1%!important;right:1%!important;top:1%!important;bottom:1%!important;
}
.bestiary-tile-face--combat{
  overflow:hidden; /* Rahmen bleibt; Figur passt durch contain+Padding rein */
}
.bestiary-detail-hero.is-boss,
.bestiary-detail-hero{
  overflow:hidden;
}
.bestiary-phase-tabs{
  display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px;
}
.bestiary-phase-tab{
  appearance:none;border:1.5px solid rgba(232,192,122,.38);
  background:rgba(22,12,8,.78);color:#f3e8d6;
  border-radius:999px;padding:5px 11px;font-size:.72rem;font-weight:750;
  letter-spacing:.02em;cursor:pointer;line-height:1.2;
  display:inline-flex;align-items:center;gap:5px;
  box-shadow:inset 0 1px 0 rgba(255,240,200,.06);
  transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease;
}
.bestiary-phase-tab:hover:not(:disabled){
  border-color:rgba(232,192,122,.62);color:#fff8ee;
  background:rgba(48,28,14,.82);
}
/* Klar wie Dungeon-Pills: Gold-Fill + dunkler Text */
.bestiary-phase-tab.active{
  border-color:#f0d78c;
  background:linear-gradient(180deg,#ffe9b8 0%,#e8b45a 100%);
  color:#2a160c;
  box-shadow:0 0 0 1px rgba(255,230,170,.45),0 0 14px rgba(232,192,122,.4),inset 0 1px 0 rgba(255,255,255,.35);
  font-weight:850;
}
.bestiary-phase-tab.locked,
.bestiary-phase-tab:disabled{
  opacity:.45;cursor:not-allowed;color:rgba(200,210,220,.7);
  box-shadow:none;
}
.bestiary-phase-tab.active.locked,
.bestiary-phase-tab.active:disabled{
  background:linear-gradient(180deg,#ffe9b8 0%,#e8b45a 100%);
  color:#2a160c;opacity:.7;
}
/* Kampfphasen: etwas breiter + leichte Ton-Varianz (inaktiv) */
.bestiary-phase-tab--fight{
  border-radius:10px;padding:6px 12px;font-size:.74rem;min-height:30px;
}
.bestiary-phase-tab-ico{font-size:.85em;line-height:1;opacity:.92}
.bestiary-phase-tab.active .bestiary-phase-tab-ico{opacity:1;filter:none}
.bestiary-phase-tab--tone-throne:not(.active):not(:disabled){
  border-color:rgba(232,192,122,.48);background:rgba(42,28,12,.82);
}
.bestiary-phase-tab--tone-rage:not(.active):not(:disabled){
  border-color:rgba(248,113,113,.42);background:rgba(48,16,14,.82);color:#fecaca;
}
.bestiary-phase-tab--tone-fire:not(.active):not(:disabled){
  border-color:rgba(251,146,60,.42);background:rgba(48,22,10,.82);color:#fed7aa;
}
.bestiary-phase-tab--tone-ice:not(.active):not(:disabled){
  border-color:rgba(125,211,252,.4);background:rgba(12,24,40,.82);color:#bae6fd;
}
.bestiary-phase-tab--tone-shadow:not(.active):not(:disabled){
  border-color:rgba(167,139,250,.4);background:rgba(24,14,40,.82);color:#ddd6fe;
}
.bestiary-phase-tab--tone-storm:not(.active):not(:disabled){
  border-color:rgba(250,204,21,.42);background:rgba(36,28,8,.82);color:#fef08a;
}
.bestiary-phase-caption{
  margin:0 0 10px;font-size:.78rem;color:rgba(210,220,230,.78);
}
.bestiary-card-art.hidden,.bestiary-card-art--bleed.hidden{display:none!important}
.bestiary-tile-face .bestiary-card-emoji,
.bestiary-tile-face .bestiary-unknown{
  position:absolute;inset:0;display:grid;place-items:center;margin:0;z-index:1;
}
.bestiary-tile-face .bestiary-unknown{z-index:4}
.bestiary-tile-face .bestiary-tile-badge{
  position:absolute;top:8px;right:8px;z-index:3;
  font-size:.58rem;font-weight:800;padding:3px 7px;border-radius:999px;
  background:rgba(8,10,14,.85);color:#f3dfb4;border:1px solid rgba(226,192,122,.35);
}
.bestiary-tile.is-boss .bestiary-tile-face .bestiary-tile-badge{
  background:rgba(60,16,16,.82);color:#fecaca;border-color:rgba(248,113,113,.4);
}
.bestiary-tile-meta{
  display:flex;flex-direction:column;align-items:center;gap:3px;
  padding:10px 8px 12px;min-height:52px;justify-content:center;flex:0 0 auto;
  background:rgba(4,6,10,.72);
  border-radius:0 0 15px 15px;
  overflow:visible;
}
.bestiary-tile-name{
  font-size:.74rem;font-weight:780;text-align:center;line-height:1.2;
  max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  color:#fff8ee;
}
.bestiary-tile-owned{
  font-size:.66rem;font-weight:800;color:#f3dfb4;line-height:1.2;
  padding-bottom:1px;
}
.bestiary-tile-owned-badge{
  position:absolute;top:6px;left:6px;z-index:5;
  font-size:.58rem;font-weight:850;letter-spacing:.02em;
  padding:3px 7px;border-radius:999px;
  background:rgba(16,70,66,.88);border:1px solid rgba(110,231,216,.35);
  color:#9ff3e6;box-shadow:0 4px 12px rgba(0,0,0,.35);
  pointer-events:none;
}
.bestiary-tile-sub{
  font-size:.62rem;font-weight:750;color:rgba(243,223,180,.9);line-height:1.25;
  text-align:center;max-width:100%;
  white-space:normal;overflow:visible;
}
.bestiary-tile-badge{
  font-size:.6rem;font-weight:800;padding:2px 7px;border-radius:999px;
  background:rgba(226,192,122,.18);color:#f3dfb4;
}
.bestiary-tile.is-boss .bestiary-tile-badge{background:rgba(248,113,113,.24);color:#fecaca}
.bestiary-row{
  appearance:none;width:100%;border:1px solid transparent;border-radius:12px;
  background:rgba(255,255,255,.03);color:inherit;padding:9px 10px;cursor:pointer;
  display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;
}
.bestiary-row:hover{background:rgba(255,255,255,.06)}
.bestiary-row.active{border-color:rgba(226,192,122,.55);background:rgba(226,192,122,.1)}
.bestiary-row.locked{opacity:1}
.bestiary-row.locked .bestiary-row-name,
.bestiary-row.locked .bestiary-row-sub{color:rgba(180,190,200,.7)}
.bestiary-row-face{
  width:44px;height:44px;border-radius:11px;overflow:hidden;display:block;position:relative;
  background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.08);
}
.bestiary-row-face .bestiary-card-art{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:contain!important;object-position:center center!important;
  padding:0!important;margin:0!important;display:block;
}
.bestiary-row-face .bestiary-card-emoji,
.bestiary-row-face .bestiary-unknown{
  position:absolute;inset:0;display:grid;place-items:center;margin:0;
}
.bestiary-row-face .bestiary-unknown{z-index:4}
.bestiary-row-copy{min-width:0;display:flex;flex-direction:column;gap:1px}
.bestiary-row-name{font-size:.86rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bestiary-row-sub{font-size:.7rem;color:var(--bestiary-muted)}
.bestiary-row-qty{font-size:.74rem;font-weight:800;color:#f3dfb4}
.bestiary-card-art{width:100%;height:100%;object-fit:contain;object-position:center center;display:block}
.bestiary-row-face .bestiary-card-art--bleed{display:none!important}
.bestiary-row-face .bestiary-card-art--figure{
  object-fit:contain!important;object-position:center center!important;
  inset:6%!important;width:88%!important;height:88%!important;
  left:6%!important;top:6%!important;right:6%!important;bottom:6%!important;
}
.bestiary-card-emoji{font-size:1.5rem;line-height:1}
.bestiary-card-emoji.is-lg,.bestiary-unknown.is-lg{font-size:2.8rem}
.bestiary-card-emoji--mystery{
  filter:grayscale(1) brightness(.9);
  opacity:.88;
}
/* Unentdeckt: Greyscale + dezente helle Kontur (kein fetter Glow) */
.bestiary-card-art.is-mystery{
  filter:
    grayscale(1) brightness(.88) contrast(1.18)
    drop-shadow(0 0 1px rgba(255,255,255,.7))
    drop-shadow(0 1px 2px rgba(0,0,0,.45)) !important;
  transform:none!important;
  opacity:.96;
}
.bestiary-tile.locked .bestiary-card-art:not(.is-mystery),
.bestiary-row.locked .bestiary-card-art:not(.is-mystery){
  filter:grayscale(1) brightness(.9)!important;
}
.bestiary-card-art--bleed.is-mystery{
  display:none!important;
}
.bestiary-unknown{
  font-size:1.2rem;font-weight:900;letter-spacing:.02em;
  color:rgba(255,255,255,.88);
  text-shadow:0 1px 6px rgba(0,0,0,.8);
  pointer-events:none;z-index:4;
}
.bestiary-detail{min-width:0;min-height:0;overflow:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.bestiary-detail-card,.bestiary-detail-empty,.bestiary-detail-locked{
  min-height:min-content;padding:18px 18px 22px;border-radius:18px;border:1px solid var(--bestiary-line);
  background:linear-gradient(165deg,rgba(48,28,16,.82),rgba(18,10,7,.9));
  box-shadow:inset 0 1px 0 rgba(255,236,180,.08);
  overflow:visible;
}
.bestiary-detail-card.is-boss{border-color:rgba(248,113,113,.45)}
.bestiary-detail-title{
  margin:0 0 8px;font-size:1.15rem;font-weight:900;color:#fff8ee;letter-spacing:.02em;
  line-height:1.25;overflow:visible;word-break:break-word;
}
.bestiary-detail-hero{
  width:100%;aspect-ratio:3/4;max-height:min(420px,48vh);min-height:200px;border-radius:18px;overflow:hidden;
  display:block;margin-bottom:12px;position:relative;
  background:
    radial-gradient(ellipse 70% 55% at 50% 42%, rgba(232,197,71,.10), transparent 62%),
    linear-gradient(165deg, rgba(48,36,24,.72) 0%, rgba(18,22,30,.55) 55%, rgba(10,12,18,.4) 100%);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:inset 0 0 30px rgba(0,0,0,.18);
  flex:0 0 auto;
}
/* Item-Portraits: Stage-BG + Item AUFS Podest (kleiner, zentriert, Unterkante auf Platte) */
.bestiary-detail-hero--item{
  aspect-ratio:4/5;
  max-height:min(360px,42vh);
  background:
    radial-gradient(ellipse 65% 50% at 50% 45%, rgba(232,197,71,.10), transparent 58%),
    linear-gradient(160deg, rgba(56,40,26,.35), rgba(22,18,28,.22));
}
.bestiary-detail-hero--item .bestiary-card-art--bleed{
  display:none!important;
}
.bestiary-detail-hero--item .bestiary-card-stage-bg{
  opacity:1;
  object-fit:cover!important;
  object-position:center center!important;
}
.bestiary-row-face .bestiary-card-art--item{
  mix-blend-mode:normal!important;
  filter:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  inset:8% 8% 4% 8%!important;
  width:84%!important;height:88%!important;
  left:8%!important;top:8%!important;right:8%!important;bottom:4%!important;
  transform:none!important;
}
.bestiary-detail-hero--class,
.bestiary-detail-hero--pet{
  background:
    radial-gradient(ellipse 70% 55% at 50% 40%, rgba(120,160,220,.08), transparent 60%),
    linear-gradient(165deg, rgba(36,42,56,.5), rgba(12,14,22,.28));
}
.bestiary-detail-hero--class{
  aspect-ratio:1/1;max-height:min(400px,46vh);min-height:220px;
}
.bestiary-detail-hero--class .bestiary-card-art--bleed,
.bestiary-detail-hero--pet .bestiary-card-art--bleed{
  display:none!important;
}
.bestiary-detail-hero .bestiary-card-art--bleed{
  filter:blur(22px) saturate(1.25) brightness(.68);
  transform:scale(1.28);
}
.bestiary-detail-hero .bestiary-card-art--bleed.is-mystery{
  display:none!important;
}
.bestiary-detail-hero > .bestiary-card-art--figure.is-mystery{
  filter:
    grayscale(1) brightness(.92) contrast(1.18)
    drop-shadow(0 0 1px rgba(255,255,255,.75))
    drop-shadow(0 2px 4px rgba(0,0,0,.4)) !important;
  opacity:1;
  object-fit:contain!important;object-position:center bottom!important;
  inset:1%!important;width:98%!important;height:98%!important;
  left:1%!important;top:1%!important;right:1%!important;bottom:1%!important;
}
.bestiary-detail-hero.is-mystery{
  border-color:rgba(255,255,255,.12);
  box-shadow:inset 0 0 20px rgba(0,0,0,.28);
  background:linear-gradient(180deg,#1a222c 0%,#0c1016 100%);
}
.bestiary-detail-hero > .bestiary-card-art--figure:not(.is-mystery){
  object-fit:contain!important;object-position:center bottom!important;
  inset:1%!important;width:98%!important;height:98%!important;
  left:1%!important;top:1%!important;right:1%!important;bottom:1%!important;
}
/* Pets: Figur auf dem Habitat-Boden.
   Greyscale für Unentdeckt hat HÖHERE Spezifität — sonst überschreibt drop-shadow die Graustufe. */
.bestiary-tile-face--pet .bestiary-card-stage-bg,
.bestiary-detail-hero--pet .bestiary-card-stage-bg{
  object-fit:cover!important;
  object-position:center bottom!important;
}
.bestiary-tile-face--pet .bestiary-card-art--pet.bestiary-card-art--figure:not(.is-mystery),
.bestiary-tile-face--pet .bestiary-card-art--pet.bestiary-card-art--combat:not(.is-mystery),
.bestiary-detail-hero--pet > .bestiary-card-art--pet.bestiary-card-art--figure:not(.is-mystery),
.bestiary-detail-hero--pet > .bestiary-card-art--pet.bestiary-card-art--combat:not(.is-mystery){
  object-fit:contain!important;
  object-position:center bottom!important;
  inset:auto!important;
  top:auto!important;
  left:50%!important;
  right:auto!important;
  margin:0!important;
  max-width:none!important;
  max-height:none!important;
  transform:translateX(-50%)!important;
  transform-origin:center bottom!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
  filter:drop-shadow(0 10px 12px rgba(0,0,0,.45))!important;
}
/* Kacheln: Füße auf dem Habitat-Boden (unten im Bild) */
.bestiary-tile-face--pet .bestiary-card-art--pet.bestiary-card-art--figure:not(.is-mystery),
.bestiary-tile-face--pet .bestiary-card-art--pet.bestiary-card-art--combat:not(.is-mystery){
  bottom:0%!important;
  width:82%!important;
  height:52%!important;
  filter:drop-shadow(0 6px 8px rgba(0,0,0,.42))!important;
}
/* Große Preview: kompakt auf dem Terrain-Pfad */
.bestiary-detail-hero--pet > .bestiary-card-art--pet.bestiary-card-art--figure:not(.is-mystery),
.bestiary-detail-hero--pet > .bestiary-card-art--pet.bestiary-card-art--combat:not(.is-mystery){
  bottom:0%!important;
  width:72%!important;
  height:48%!important;
  filter:drop-shadow(0 14px 14px rgba(0,0,0,.5))!important;
}
/* Unentdeckt: Greyscale — Spezifität >= farbige Pet-Regeln */
.bestiary-tile-face--pet .bestiary-card-art--pet.bestiary-card-art--figure.is-mystery,
.bestiary-tile-face--pet .bestiary-card-art--pet.bestiary-card-art--combat.is-mystery,
.bestiary-detail-hero--pet > .bestiary-card-art--pet.bestiary-card-art--figure.is-mystery,
.bestiary-detail-hero--pet > .bestiary-card-art--pet.bestiary-card-art--combat.is-mystery,
.bestiary-detail-hero--pet.is-mystery > .bestiary-card-art--pet{
  object-fit:contain!important;
  object-position:center bottom!important;
  inset:auto!important;
  top:auto!important;
  left:50%!important;
  right:auto!important;
  margin:0!important;
  transform:translateX(-50%)!important;
  transform-origin:center bottom!important;
  mix-blend-mode:normal!important;
  bottom:0%!important;
  width:72%!important;
  height:48%!important;
  filter:
    grayscale(1) brightness(.92) contrast(1.12)
    drop-shadow(0 10px 10px rgba(0,0,0,.4)) !important;
  opacity:.98!important;
}
.bestiary-tile-face--pet .bestiary-card-art--pet.is-mystery{
  width:82%!important;
  height:52%!important;
}
/* Eule: wie andere Pets auf dem Habitat-Boden (kein Ast mehr) */
.bestiary-tile-face--pet-owl .bestiary-card-stage-bg,
.bestiary-detail-hero--pet-owl .bestiary-card-stage-bg{
  object-position:center bottom!important;
}
.bestiary-row-face .bestiary-card-art--pet:not(.is-mystery){
  object-position:center bottom!important;
  inset:6% 8% 2% 8%!important;
  width:84%!important;height:88%!important;
  left:8%!important;right:8%!important;top:6%!important;bottom:2%!important;
  transform:none!important;
  filter:none!important;
  mix-blend-mode:normal!important;
}
.bestiary-row-face .bestiary-card-art--pet.is-mystery{
  object-position:center bottom!important;
  inset:6% 8% 2% 8%!important;
  width:84%!important;height:88%!important;
  left:8%!important;right:8%!important;top:6%!important;bottom:2%!important;
  transform:none!important;
  mix-blend-mode:normal!important;
  filter:grayscale(1) brightness(.92) contrast(1.12)!important;
  opacity:.96!important;
}
.bestiary-detail-hero .bestiary-card-emoji,
.bestiary-detail-hero .bestiary-unknown{
  position:absolute;inset:0;display:grid;place-items:center;margin:0;pointer-events:none;
}
.bestiary-detail-hero .bestiary-unknown{z-index:4}
.bestiary-detail-hero .bestiary-card-emoji.hidden{display:none!important}
.bestiary-detail-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.bestiary-detail-chips--status{margin-bottom:6px}
.bestiary-detail-chips--meta{margin-bottom:12px;gap:8px}
.bestiary-pill{
  font-size:.7rem;font-weight:800;padding:4px 9px;border-radius:999px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:var(--bestiary-muted);
}
.bestiary-pill--discovered{
  color:#86efac;border-color:rgba(134,239,172,.35);background:rgba(22,101,52,.28);
}
.bestiary-pill--owned{
  color:#fde68a;border-color:rgba(253,230,138,.4);background:rgba(120,80,10,.32);
}
.bestiary-pill--missing{
  color:rgba(226,232,240,.72);border-color:rgba(148,163,184,.28);
}
.bestiary-pill--evo{
  color:#fda4af;border-color:rgba(253,164,175,.35);background:rgba(80,20,40,.28);
  letter-spacing:.04em;
}
.bestiary-tile-owned-badge{
  position:absolute;top:6px;left:6px;z-index:5;
  font-size:.58rem;font-weight:850;letter-spacing:.02em;
  padding:3px 7px;border-radius:999px;
  color:#fde68a;background:rgba(20,12,4,.82);
  border:1px solid rgba(253,230,138,.45);
  box-shadow:0 4px 10px rgba(0,0,0,.35);
  pointer-events:none;
}
.bestiary-tile-rarity-mark{
  position:absolute;top:7px;right:7px;z-index:6;
  width:18px;height:18px;
  border-radius:5px;
  transform:rotate(45deg);
  background:var(--bestiary-rarity,#9ca3af);
  box-shadow:
    0 0 0 1.5px rgba(255,255,255,.22),
    0 0 12px color-mix(in srgb, var(--bestiary-rarity,#9ca3af) 55%, transparent),
    0 3px 8px rgba(0,0,0,.45);
  pointer-events:none;
}
.bestiary-tile-rarity-mark::after{
  content:'';position:absolute;inset:3px;border-radius:2px;
  background:linear-gradient(145deg,rgba(255,255,255,.45),transparent 55%);
}
.bestiary-tile-rarity-mark.rarity-common{--bestiary-rarity:#9ca3af}
.bestiary-tile-rarity-mark.rarity-uncommon{--bestiary-rarity:#22c55e}
.bestiary-tile-rarity-mark.rarity-rare{--bestiary-rarity:#3b82f6}
.bestiary-tile-rarity-mark.rarity-epic{--bestiary-rarity:#a855f7}
.bestiary-tile-rarity-mark.rarity-legendary{--bestiary-rarity:#f59e0b}
.bestiary-tile-rarity-mark.rarity-mythic{--bestiary-rarity:#e879f9}
.bestiary-tile.is-pet .bestiary-tile-sub--pet{
  display:flex;flex-direction:column;align-items:center;gap:3px;
  font-size:.64rem;font-weight:780;color:rgba(253,230,138,.92);
}
.bestiary-tile-rarity{
  font-weight:850;letter-spacing:.02em;line-height:1.15;
  color:var(--bestiary-rarity,#cbd5e1);
  text-shadow:0 0 10px color-mix(in srgb, var(--bestiary-rarity,#cbd5e1) 35%, transparent);
}
.bestiary-tile-rarity.rarity-common{--bestiary-rarity:#cbd5e1;color:#cbd5e1}
.bestiary-tile-rarity.rarity-uncommon{--bestiary-rarity:#86efac;color:#86efac}
.bestiary-tile-rarity.rarity-rare{--bestiary-rarity:#93c5fd;color:#93c5fd}
.bestiary-tile-rarity.rarity-epic{--bestiary-rarity:#d8b4fe;color:#d8b4fe}
.bestiary-tile-rarity.rarity-legendary{--bestiary-rarity:#fde68a;color:#fde68a}
.bestiary-tile-rarity.rarity-mythic{--bestiary-rarity:#f0abfc;color:#f0abfc}
.bestiary-tile-evo{
  display:inline-flex;align-items:center;gap:4px;
  padding:2px 8px;border-radius:999px;
  font-size:.58rem;font-weight:800;letter-spacing:.04em;
  color:#fda4af;
  background:rgba(80,20,40,.42);
  border:1px solid rgba(253,164,175,.32);
  line-height:1.2;
}
.bestiary-tile-evo-ico{
  font-size:.55rem;opacity:.9;color:#fecdd3;
}
.bestiary-tile.is-pet .bestiary-tile-sub{
  font-size:.64rem;font-weight:780;color:rgba(253,230,138,.92);
}
.bestiary-pill.rarity-common{color:#cbd5e1}
.bestiary-pill.rarity-uncommon{color:#86efac;border-color:rgba(134,239,172,.25)}
.bestiary-pill.rarity-rare{color:#93c5fd;border-color:rgba(147,197,253,.28)}
.bestiary-pill.rarity-epic{color:#d8b4fe;border-color:rgba(216,180,254,.28)}
.bestiary-pill.rarity-legendary{color:#fde68a;border-color:rgba(253,230,138,.3)}
.bestiary-detail-desc{margin:0 0 12px;font-size:.88rem;line-height:1.45;color:var(--bestiary-muted)}
.bestiary-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:8px}
.bestiary-stat{
  display:flex;justify-content:space-between;gap:8px;align-items:baseline;
  padding:10px 11px;border-radius:12px;background:rgba(255,255,255,.045);
  font-size:.8rem;border:1px solid rgba(255,255,255,.06);
}
.bestiary-stat span{color:var(--bestiary-muted)}
.bestiary-stat strong{color:#fff;font-weight:800}
.bestiary-section-label{
  margin:12px 0 6px;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--bestiary-accent);
}
.bestiary-hero-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:5px}
.bestiary-hero-row{
  display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:2px 10px;align-items:baseline;
  padding:9px 10px;border-radius:11px;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);font-size:.78rem;
}
.bestiary-hero-row.is-active{border-color:rgba(110,231,216,.35);background:rgba(16,70,66,.35)}
.bestiary-hero-name{font-weight:800;color:#fff;grid-column:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bestiary-hero-lvl{grid-column:2;color:#f3dfb4;font-weight:800;white-space:nowrap}
.bestiary-hero-stats{grid-column:1 / -1;color:var(--bestiary-muted);font-size:.74rem}
.bestiary-hero-switch{
  display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:8px;align-items:center;
  margin-bottom:8px;padding:8px;border-radius:12px;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}
.bestiary-hero-nav{
  width:40px;height:40px;border-radius:10px;border:1px solid rgba(226,192,122,.35);
  background:rgba(20,28,42,.85);color:#f3dfb4;font-size:1.35rem;font-weight:800;line-height:1;cursor:pointer;
}
.bestiary-hero-nav:hover{border-color:rgba(110,231,216,.5);color:#fff}
.bestiary-hero-switch-copy{min-width:0;display:flex;flex-direction:column;gap:2px;text-align:center}
.bestiary-hero-switch-copy strong{color:#fff;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bestiary-hero-switch-copy span{color:var(--bestiary-muted);font-size:.72rem}
.bestiary-hero-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.bestiary-hero-chip{cursor:pointer}
.bestiary-hero-chip.is-on{
  border-color:rgba(110,231,216,.55)!important;background:rgba(16,70,66,.45)!important;color:#d8fffa!important;
}
.bestiary-gender-switch{
  display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 8px;
}
.bestiary-gender-btn{
  min-height:36px;border-radius:11px;cursor:pointer;
  border:1px solid rgba(226,192,122,.32);
  background:rgba(20,28,42,.85);color:#f3dfb4;
  font-size:.78rem;font-weight:800;letter-spacing:.02em;
}
.bestiary-gender-btn:hover:not(:disabled){border-color:rgba(110,231,216,.5);color:#fff}
.bestiary-gender-btn.is-on{
  border-color:rgba(110,231,216,.55)!important;
  background:rgba(16,70,66,.5)!important;
  color:#d8fffa!important;
}
.bestiary-gender-btn.is-missing,
.bestiary-gender-btn:disabled{
  opacity:.45;cursor:not-allowed;color:rgba(243,223,180,.55);
}
.bestiary-hero-row{padding:0}
.bestiary-hero-pick{
  display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:2px 10px;align-items:baseline;
  width:100%;margin:0;padding:9px 10px;border:0;border-radius:11px;
  background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit;
}
.bestiary-hero-row.is-selected{
  border-color:rgba(226,192,122,.5);background:rgba(70,52,16,.35);
}
.bestiary-hero-row.is-selected.is-active{
  border-color:rgba(110,231,216,.45);background:rgba(16,70,66,.4);
}
.bestiary-loot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.bestiary-loot-list li{
  display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;
  padding:8px 9px;border-radius:11px;background:rgba(255,255,255,.04);font-size:.78rem;
}
.bestiary-loot-meta{color:var(--bestiary-muted);white-space:nowrap}
.bestiary-tile.rarity-rare,.bestiary-row.rarity-rare{border-color:rgba(96,165,250,.22)}
.bestiary-tile.rarity-epic,.bestiary-row.rarity-epic{border-color:rgba(192,132,252,.22)}
.bestiary-tile.rarity-legendary,.bestiary-row.rarity-legendary{border-color:rgba(251,191,36,.28)}
@media (max-width:920px){
  .bestiary-window-inner{left:10.25%;right:11.05%;top:7.15%;bottom:8.40%;border-radius:4.2% / 6.2%}
  .bestiary-shell{padding:4px 6px 6px;max-width:100%}
  .bestiary-head{grid-template-columns:1fr;align-items:stretch}
  .bestiary-page-back{justify-self:start}
  .bestiary-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bestiary-body{grid-template-columns:1fr;overflow:auto}
  .bestiary-list-pane{max-height:40vh}
  .bestiary-list{max-height:34vh;flex:none}
  .bestiary-detail{max-height:none}
  .bestiary-head{flex-direction:column;align-items:stretch}
  .bestiary-head-progress{min-width:0}
}
@media (min-width:1100px){
  .bestiary-list.is-tiles{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}
  #screen-bestiary button.bestiary-tile,.bestiary-tile{min-height:232px!important}
  .bestiary-tile-face{min-height:148px}
}

/* ── Items: freigeschaltet = unentdeckt (gleiche Podest-Pose), NACH allen Override-Regeln ── */
.bestiary-detail-hero.bestiary-detail-hero--item > .bestiary-card-art.bestiary-card-art--item:not(.is-mystery),
.bestiary-detail-hero.bestiary-detail-hero--item > .bestiary-card-art.bestiary-card-art--figure:not(.is-mystery),
.bestiary-detail-hero.bestiary-detail-hero--item > .bestiary-card-art.bestiary-card-art--combat:not(.is-mystery){
  mix-blend-mode:normal!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  inset:auto!important;
  top:auto!important;
  left:50%!important;
  right:auto!important;
  bottom:27%!important;
  width:28%!important;
  height:26%!important;
  max-width:132px!important;
  max-height:132px!important;
  margin:0!important;
  transform:translateX(-50%)!important;
  transform-origin:center bottom!important;
  opacity:1!important;
  z-index:2!important;
  filter:saturate(1.05) drop-shadow(0 8px 12px rgba(0,0,0,.55))!important;
}
.bestiary-detail-hero.bestiary-detail-hero--item > .bestiary-card-art.bestiary-card-art--item.is-mystery,
.bestiary-detail-hero.bestiary-detail-hero--item > .bestiary-card-art.bestiary-card-art--figure.is-mystery,
.bestiary-detail-hero.bestiary-detail-hero--item > .bestiary-card-art.bestiary-card-art--combat.is-mystery,
.bestiary-detail-hero.bestiary-detail-hero--item.is-mystery > .bestiary-card-art{
  mix-blend-mode:normal!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  inset:auto!important;
  top:auto!important;
  left:50%!important;
  right:auto!important;
  bottom:27%!important;
  width:28%!important;
  height:26%!important;
  max-width:132px!important;
  max-height:132px!important;
  margin:0!important;
  transform:translateX(-50%)!important;
  transform-origin:center bottom!important;
  z-index:2!important;
  filter:grayscale(1) brightness(.9) contrast(1.12) drop-shadow(0 10px 12px rgba(0,0,0,.5))!important;
  opacity:.98!important;
}
/* Kachel-Items ebenfalls aufs Podest */
.bestiary-tile-face.bestiary-tile-face--item .bestiary-card-art.bestiary-card-art--item:not(.is-mystery),
.bestiary-tile-face.bestiary-tile-face--item .bestiary-card-art.bestiary-card-art--figure:not(.is-mystery),
.bestiary-tile-face.bestiary-tile-face--item .bestiary-card-art.bestiary-card-art--combat:not(.is-mystery){
  object-fit:contain!important;
  object-position:center bottom!important;
  inset:auto!important;
  top:auto!important;
  left:50%!important;
  right:auto!important;
  bottom:24%!important;
  width:42%!important;
  height:38%!important;
  max-width:72px!important;
  max-height:72px!important;
  margin:0!important;
  transform:translateX(-50%)!important;
  transform-origin:center bottom!important;
  z-index:2!important;
  filter:saturate(1.05) drop-shadow(0 4px 8px rgba(0,0,0,.5))!important;
}
.bestiary-tile-face.bestiary-tile-face--item .bestiary-card-art.is-mystery,
.bestiary-tile-face.bestiary-tile-face--item .bestiary-card-art.bestiary-card-art--item.is-mystery,
.bestiary-tile-face.bestiary-tile-face--item .bestiary-card-art.bestiary-card-art--figure.is-mystery{
  object-fit:contain!important;
  object-position:center bottom!important;
  inset:auto!important;
  top:auto!important;
  left:50%!important;
  right:auto!important;
  bottom:24%!important;
  width:42%!important;
  height:38%!important;
  max-width:72px!important;
  max-height:72px!important;
  margin:0!important;
  transform:translateX(-50%)!important;
  transform-origin:center bottom!important;
  z-index:2!important;
  filter:grayscale(1) brightness(.9) contrast(1.12) drop-shadow(0 4px 8px rgba(0,0,0,.45))!important;
  opacity:.97!important;
}

/* Flixbuch im Buchrahmen */
.bestiary-shell{
  gap:6px!important;
  padding:4px 6px 6px!important;
  max-width:none!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  box-sizing:border-box!important;
  flex:1 1 auto!important;
}
.bestiary-head{padding:8px 10px!important;gap:6px!important}
.bestiary-head-title{font-size:clamp(1.15rem, 2.4vw, 1.55rem)!important}
.bestiary-head-sub{font-size:.72rem!important}
.bestiary-tab{padding:8px 10px 7px!important}
.bestiary-tab-emoji{font-size:.92rem!important}
.bestiary-tab-label{font-size:.78rem!important}
.bestiary-tab-count{font-size:.72rem!important}
.bestiary-search{height:34px!important;font-size:.82rem!important}
.bestiary-filter-chip{font-size:.68rem!important;padding:5px 9px!important}
.bestiary-body{gap:10px!important;min-height:0!important;flex:1 1 auto!important;height:auto!important}
.bestiary-list-pane{min-height:0!important;flex:1 1 auto!important;height:100%!important}
.bestiary-list{min-height:0!important;flex:1 1 auto!important}
.bestiary-detail{height:100%!important;min-height:0!important}
.bestiary-detail-card,.bestiary-detail-empty,.bestiary-detail-locked{
  padding:12px 12px 14px!important;border-radius:16px!important;
}
.bestiary-detail-hero{
  max-height:min(340px,40vh)!important;
  min-height:160px!important;
  margin-bottom:8px!important;
  border-radius:14px!important;
}
.bestiary-detail-hero--item{max-height:min(320px,38vh)!important}
.bestiary-detail-title{font-size:1rem!important;margin-bottom:6px!important}
.bestiary-detail-desc{font-size:.8rem!important;margin-bottom:8px!important}
.bestiary-detail-kicker,.bestiary-kicker{font-size:.62rem!important}
.bestiary-pill{font-size:.64rem!important;padding:3px 7px!important}
.bestiary-stat{padding:7px 8px!important;font-size:.72rem!important;border-radius:10px!important}
.bestiary-row{padding:7px 8px!important;gap:8px!important;border-radius:10px!important}
.bestiary-row-face{width:36px!important;height:36px!important;border-radius:9px!important}
.bestiary-row-name{font-size:.78rem!important}
.bestiary-row-sub{font-size:.64rem!important}
.bestiary-list.is-tiles{gap:8px!important;grid-template-columns:repeat(auto-fill,minmax(108px,1fr))!important}
#screen-bestiary button.bestiary-tile,.bestiary-tile{
  min-height:210px!important;border-radius:12px!important;
}
.bestiary-tile-face{min-height:128px!important}
.bestiary-tile-meta{padding:7px 6px 8px!important;min-height:44px!important}
.bestiary-tile-name{font-size:.68rem!important}
.bestiary-tile-owned,.bestiary-tile-sub{font-size:.58rem!important}

/* ══════════════════════════════════════════════════════════════
   ARCADE EPIC FULLSCREEN — Hub + Dice / Fish / Memory / Quiz
══════════════════════════════════════════════════════════════ */
:root{
  --arcade-display:"Cinzel",Palatino,"Book Antiqua",Georgia,serif;
  --arcade-ui:"Rajdhani","Trebuchet MS","Segoe UI",sans-serif;
  --arcade-amber:#f0b429;
  --arcade-ember:#ff7a3d;
  --arcade-lake:#3ec7ff;
  --arcade-ink:#0a1420;
  --arcade-brass:#d4a85c;
}

/* Hub */
.panel-arcade .arcade-hub-epic{position:relative;padding:2px 0 8px}
.panel-arcade .arcade-hub-hero{
  position:relative;overflow:hidden;padding:18px 16px 16px;border-radius:18px;margin:0 0 14px;
  border:1px solid rgba(240,180,70,.28);
  background:
    radial-gradient(ellipse at 12% 0%,rgba(240,180,70,.22),transparent 46%),
    radial-gradient(ellipse at 90% 100%,rgba(62,199,255,.14),transparent 42%),
    linear-gradient(155deg,#14101a 0%,#1a2234 48%,#0c121c 100%);
  box-shadow:0 16px 40px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.08);
}
.panel-arcade .arcade-hub-neon{
  position:absolute;inset:auto -10% -40% -10%;height:70%;pointer-events:none;
  background:radial-gradient(ellipse at 50% 0%,rgba(240,180,70,.18),transparent 60%);
  animation:arcadeNeonPulse 4.5s ease-in-out infinite;
}
.panel-arcade .arcade-hub-kicker{
  position:relative;z-index:1;font-family:var(--arcade-ui);font-weight:700;font-size:.68rem;
  letter-spacing:.18em;text-transform:uppercase;color:rgba(240,180,70,.85);margin-bottom:4px;
}
.panel-arcade .arcade-hub-title{
  position:relative;z-index:1;margin:0 0 8px;font-family:var(--arcade-display);
  font-weight:800;font-size:clamp(1.55rem,5vw,2.1rem);letter-spacing:.04em;color:#fff4d8;
  text-shadow:0 2px 18px rgba(240,180,70,.35);
}
.panel-arcade .arcade-hub-tagline{position:relative;z-index:1;max-width:42ch}
.panel-arcade .arcade-game-grid-epic{gap:12px}
.panel-arcade .arcade-game-card-epic{
  min-height:168px;padding:16px 12px 14px;border-radius:16px;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  box-shadow:0 10px 28px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.08);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.panel-arcade .arcade-game-card-epic:hover{
  transform:translateY(-4px) scale(1.02);
  box-shadow:0 16px 36px rgba(0,0,0,.42),0 0 0 1px rgba(240,180,70,.2);
}
.panel-arcade .arcade-card-art{
  position:absolute;inset:0;opacity:.35;pointer-events:none;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.14),transparent 42%),
    linear-gradient(180deg,transparent 40%,rgba(0,0,0,.45));
}
.panel-arcade .arcade-card-fishing{background:linear-gradient(165deg,#073a58 0%,#041828 55%,#020c16 100%);border-color:rgba(62,199,255,.35)}
.panel-arcade .arcade-card-dice{background:linear-gradient(165deg,#5a2a12 0%,#2a140c 55%,#120805 100%);border-color:rgba(240,180,70,.35)}
.panel-arcade .arcade-card-memory{background:linear-gradient(165deg,#0f2a3a 0%,#0a1824 55%,#061018 100%);border-color:rgba(212,168,92,.35)}
.panel-arcade .arcade-card-quiz{background:linear-gradient(165deg,#1a3a32 0%,#0e201c 55%,#071412 100%);border-color:rgba(110,220,180,.35)}
.panel-arcade .arcade-game-emoji{font-size:2.35rem;margin-top:2px;animation:arcadeEmojiFloat 3.2s ease-in-out infinite}
.panel-arcade .arcade-game-name{
  font-family:var(--arcade-display);font-weight:800;font-size:1.02rem;letter-spacing:.03em;color:#fff6e4;margin-top:6px
}
.panel-arcade .arcade-card-meta{margin-top:auto;justify-content:center}
.panel-arcade .arcade-card-cta{
  margin-top:8px;font-family:var(--arcade-ui);font-weight:700;font-size:.78rem;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(240,180,70,.9);opacity:.0;transform:translateY(4px);
  transition:opacity .2s ease,transform .2s ease
}
.panel-arcade .arcade-game-card-epic:hover .arcade-card-cta{opacity:1;transform:translateY(0)}

/* Setup modal — CRT / Insert-Coin Look */
.arcade-setup-overlay{
  background:
    radial-gradient(ellipse at 50% 18%,rgba(0,220,255,.12),transparent 42%),
    radial-gradient(ellipse at 80% 90%,rgba(240,180,70,.1),transparent 46%),
    rgba(3,6,12,.84);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.arcade-setup-card-epic{
  position:relative;overflow:hidden;
  width:min(94vw,420px);max-height:min(90dvh,620px);
  padding:18px 16px 14px;gap:12px;
  border-radius:20px;
  border:1px solid rgba(0,220,255,.28);
  background:
    linear-gradient(180deg,rgba(8,18,28,.97),rgba(6,10,16,.98)),
    linear-gradient(165deg,#122032,#0a1018 70%);
  box-shadow:
    0 28px 70px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,255,255,.05),
    inset 0 1px 0 rgba(126,252,255,.12),
    0 0 40px rgba(0,200,255,.1);
  display:flex;flex-direction:column;
}
.arcade-setup-scan{
  position:absolute;inset:0;pointer-events:none;opacity:.12;z-index:0;
  background:repeating-linear-gradient(
    0deg,transparent,transparent 2px,rgba(0,0,0,.35) 2px,rgba(0,0,0,.35) 3px
  );
}
.arcade-setup-glow{
  position:absolute;inset:-30% auto auto 15%;width:70%;height:55%;pointer-events:none;z-index:0;
  background:radial-gradient(circle,rgba(0,220,255,.18),transparent 68%);
}
.arcade-setup-head{
  position:relative;z-index:1;display:flex;align-items:center;gap:12px;
}
.arcade-setup-icon{
  flex:0 0 auto;width:52px;height:52px;border-radius:16px;
  display:grid;place-items:center;font-size:1.55rem;
  background:linear-gradient(160deg,rgba(0,220,255,.18),rgba(240,180,70,.1));
  border:1px solid rgba(126,252,255,.28);
  box-shadow:0 8px 22px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.12);
}
.arcade-setup-head-text{min-width:0;flex:1}
.arcade-setup-kicker{
  position:relative;font-family:var(--arcade-ui);font-size:.62rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(126,252,255,.85)
}
.arcade-setup-card-epic .arcade-setup-title{
  position:relative;font-family:var(--arcade-display);
  font-size:clamp(1.15rem,4vw,1.4rem);color:#fff8e8;margin:2px 0 0;line-height:1.15;
  text-shadow:0 0 18px rgba(0,220,255,.25);
}
.arcade-setup-sub{
  font-family:var(--arcade-ui);font-size:.78rem;font-weight:600;
  color:rgba(246,238,226,.55);letter-spacing:.04em;margin-top:2px;
}
.arcade-setup-card-epic .arcade-setup-hint{
  position:relative;z-index:1;margin:0;padding:8px 10px;border-radius:10px;
  font-size:.74rem;line-height:1.35;color:rgba(246,238,226,.72);
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);
}
.arcade-setup-card-epic .arcade-setup-options{
  position:relative;z-index:1;gap:8px;
}
.arcade-setup-grid{
  display:grid!important;grid-template-columns:1fr 1fr;gap:8px;
}
.arcade-setup-stack{display:flex;flex-direction:column;gap:8px}
.arcade-setup-opt--wide{grid-column:1/-1}
.arcade-setup-card-epic .arcade-setup-opt{
  position:relative;appearance:none;-webkit-appearance:none;
  border-radius:14px;padding:12px 12px 11px;min-height:72px;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(165deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  color:#fff6e8;cursor:pointer;
  transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;
  text-align:left;font:inherit;
}
.arcade-setup-card-epic .arcade-setup-opt:hover,
.arcade-setup-card-epic .arcade-setup-opt:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(126,252,255,.45);
  background:rgba(0,220,255,.1);
  box-shadow:0 10px 24px rgba(0,0,0,.28),0 0 20px rgba(0,220,255,.12);
  outline:none;
}
.arcade-setup-card-epic .arcade-setup-opt:active{transform:translateY(0) scale(.98)}
.arcade-setup-card-epic .arcade-setup-opt.is-default{
  border-color:rgba(240,180,70,.55);
  background:linear-gradient(165deg,rgba(240,180,70,.16),rgba(255,255,255,.03));
  box-shadow:0 0 0 1px rgba(240,180,70,.18),0 8px 22px rgba(0,0,0,.25);
}
.arcade-setup-opt-rank{
  position:absolute;top:8px;right:10px;
  font-family:var(--arcade-display);font-size:.62rem;font-weight:800;
  letter-spacing:.08em;color:rgba(126,252,255,.55);
}
.arcade-setup-opt-ico{
  font-size:1.25rem;line-height:1;margin-bottom:2px;
}
.arcade-setup-opt-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.arcade-setup-card-epic .arcade-setup-opt strong{
  font-family:var(--arcade-display);font-size:.95rem;font-weight:800;color:#fff8e8;
}
.arcade-setup-card-epic .arcade-setup-opt > span:not(.arcade-setup-opt-rank):not(.arcade-setup-opt-ico){
  font-family:var(--arcade-ui);font-size:.7rem;font-weight:600;
  color:rgba(246,238,226,.62);line-height:1.25;
}
.arcade-setup-opt-body span{
  font-family:var(--arcade-ui);font-size:.7rem;font-weight:600;
  color:rgba(246,238,226,.62);line-height:1.25;
}
.arcade-setup-opt-cost{
  margin-top:4px;font-family:var(--arcade-ui);font-size:.72rem;font-weight:700;
  color:rgba(255,210,120,.9);letter-spacing:.04em;
}
.arcade-setup-opt-tag{
  position:absolute;bottom:8px;right:8px;
  font-style:normal;font-family:var(--arcade-ui);font-size:.58rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  padding:2px 6px;border-radius:999px;
  color:#1a1208;background:linear-gradient(90deg,#f0b429,#ffc85a);
}
.arcade-setup-opt--mode{
  flex-direction:row!important;align-items:center!important;gap:12px!important;
  min-height:64px;padding:12px 14px;
}
.arcade-setup-opt--mode .arcade-setup-opt-ico{font-size:1.45rem;margin:0}
.arcade-setup-card-epic .arcade-setup-options-row{
  display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;
}
.arcade-setup-card-epic .arcade-setup-options-row .arcade-setup-opt{
  flex:1 1 0;min-width:0;align-items:center;text-align:center;padding-top:14px;
}
.arcade-setup-card-epic .arcade-setup-cancel{
  position:relative;z-index:1;align-self:center;
  appearance:none;-webkit-appearance:none;cursor:pointer;
  margin-top:2px;padding:8px 18px;border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.28);color:rgba(246,238,226,.78);
  font-family:var(--arcade-ui);font-size:.78rem;font-weight:700;letter-spacing:.06em;
}
.arcade-setup-card-epic .arcade-setup-cancel:hover{
  border-color:rgba(255,255,255,.28);color:#fff;
}
.arcade-setup-card-epic[data-setup-game="dice"]{border-color:rgba(255,140,60,.32)}
.arcade-setup-card-epic[data-setup-game="dice"] .arcade-setup-kicker{color:rgba(255,180,100,.9)}
.arcade-setup-card-epic[data-setup-game="fishing"]{border-color:rgba(62,199,255,.35)}
.arcade-setup-card-epic[data-setup-game="memory"]{border-color:rgba(212,168,92,.35)}
.arcade-setup-card-epic[data-setup-game="quiz"]{border-color:rgba(110,220,180,.35)}
.arcade-setup-card-epic[data-setup-game="shipshooter"]{border-color:rgba(100,180,255,.4)}
.arcade-setup-card-epic[data-setup-game="slice"]{border-color:rgba(255,160,80,.35)}
.arcade-setup-card-epic[data-setup-game="spoterror"]{border-color:rgba(120,220,160,.35)}
.arcade-setup-card-epic[data-setup-game="detective"]{border-color:rgba(180,140,255,.35)}
.arcade-setup-card-epic[data-setup-game="puzzle"]{border-color:rgba(124,245,194,.35)}
@media (max-width:380px){
  .arcade-setup-grid{grid-template-columns:1fr}
  .arcade-setup-opt--wide{grid-column:auto}
  .arcade-setup-card-epic .arcade-setup-options-row{flex-wrap:wrap}
}


/* Immersive Arcade Extra: Spot / Find / Ship / Slice / Puzzle — echtes Vollbild */
body.arcade-game-fullscreen-active .rpg-wwm-fs-body{
  padding:0!important;gap:0!important;overflow:hidden!important;
}
body.arcade-game-fullscreen-active .arcade-fs-header,
body.arcade-game-fullscreen-active .rpg-wwm-fs-head.arcade-fs-header{
  position:absolute;top:0;left:0;right:0;z-index:50;
  padding:max(6px,env(safe-area-inset-top)) 10px 10px;
  margin:0;border:none;
  background:linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,0,0,.25) 70%,transparent);
}
body.arcade-game-fullscreen-active .rpg-wwm-fs[data-arcade-theme="quiz"] .arcade-fs-header,
body.arcade-game-fullscreen-active .rpg-wwm-fs[data-arcade-theme="wwm"] .arcade-fs-header,
body.arcade-game-fullscreen-active .rpg-wwm-fs-shell.arcade-fs-theme-quiz .arcade-fs-header,
body.arcade-game-fullscreen-active .rpg-wwm-fs-shell.arcade-fs-theme-wwm .arcade-fs-header{
  background:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.55) 65%,transparent)!important;
}
body.arcade-game-fullscreen-active .arcade-fs-header .arcade-game-hdr-emoji,
body.arcade-game-fullscreen-active .arcade-fs-header-brand .arcade-game-hdr-emoji{
  width:36px;height:36px;font-size:1.15rem;border-radius:10px
}
body.arcade-game-fullscreen-active .arcade-fs-header .arcade-game-hdr-name{
  font-size:clamp(.95rem,2.8vw,1.15rem)
}
body.arcade-game-fullscreen-active .arcade-fs-header-sub{font-size:.65rem;opacity:.8}
body.arcade-game-fullscreen-active .arcade-stage{
  border-radius:0;border:none;padding:0;box-shadow:none;gap:0;
  height:100%;min-height:0;max-height:100%;
  background:transparent
}
body.arcade-game-fullscreen-active .arcade-stage-fx{opacity:1}
body.arcade-game-fullscreen-active .arcade-stage-fx .arcade-stage-orb,
body.arcade-game-fullscreen-active .arcade-stage-fx .arcade-stage-beam,
body.arcade-game-fullscreen-active .arcade-stage-fx .arcade-stage-grain{opacity:.35}
body.arcade-game-fullscreen-active .arcade-stage-fx .arcade-stage-vignette{opacity:.55}
body.arcade-game-fullscreen-active .arcade-stage-fx .arcade-stage-photo{opacity:.88}
body.arcade-game-fullscreen-active .spotimg-arena-fs,
body.arcade-game-fullscreen-active .find-arena-fs,
body.arcade-game-fullscreen-active .ship-arena-fs,
body.arcade-game-fullscreen-active .cut-arena-fs,
body.arcade-game-fullscreen-active .puzimg-arena-fs{
  padding:max(48px,calc(env(safe-area-inset-top) + 40px)) 8px max(8px,env(safe-area-inset-bottom));
  height:100%;max-height:100%;box-sizing:border-box;min-height:0;overflow:hidden;
}
body.arcade-game-fullscreen-active .cut-hud{
  margin:0 0 6px;gap:5px
}
body.arcade-game-fullscreen-active .cut-hud .chip.tiny{display:none}
body.arcade-game-fullscreen-active .spotimg-pair-fs{gap:6px}
body.arcade-game-fullscreen-active .spotimg-pane{
  border-radius:10px;border:1px solid rgba(255,255,255,.14);
  box-shadow:0 10px 28px rgba(0,0,0,.35)
}
body.arcade-game-fullscreen-active .find-scene{
  border-radius:12px;border:1px solid rgba(180,140,255,.28);
  box-shadow:0 12px 32px rgba(0,0,0,.4);max-width:none
}
body.arcade-game-fullscreen-active .ship-arena-fs{
  display:flex;flex-direction:column;align-items:stretch;padding-left:0;padding-right:0
}
body.arcade-game-fullscreen-active .ship-arena-fs .cut-hud{
  position:absolute;top:max(52px,calc(env(safe-area-inset-top) + 44px));left:0;right:0;z-index:6;
  margin:0;padding:0 10px;pointer-events:none
}
body.arcade-game-fullscreen-active .ship-arena-fs .cut-hud .chip{pointer-events:none;backdrop-filter:blur(8px)}
body.arcade-game-fullscreen-active #ship-canvas{
  flex:1;width:100%;height:100%;max-height:none;border-radius:0;display:block;
  touch-action:none;background:#02060e
}
body.arcade-game-fullscreen-active .ship-status{
  position:absolute;
  bottom:max(72px, calc(env(safe-area-inset-bottom) + 64px));
  left:0;right:0;
  margin:0;z-index:12;text-shadow:0 2px 8px rgba(0,0,0,.8)
}
body.arcade-game-fullscreen-active .ship-loadout{
  z-index:14;
}
.rpg-wwm-fs[data-arcade-theme="spot"],
.rpg-wwm-fs-shell.arcade-fs-theme-spot{
  background:
    radial-gradient(ellipse at 20% 0%,rgba(80,180,255,.16),transparent 42%),
    radial-gradient(ellipse at 80% 100%,rgba(40,120,200,.12),transparent 40%),
    linear-gradient(165deg,#061018 0%,#0a1420 50%,#04080e 100%);
}
.rpg-wwm-fs[data-arcade-theme="detective"],
.rpg-wwm-fs-shell.arcade-fs-theme-detective{
  background:
    radial-gradient(ellipse at 50% 0%,rgba(180,120,255,.16),transparent 40%),
    linear-gradient(165deg,#120a1a 0%,#0e0a16 50%,#07050c 100%);
}
.rpg-wwm-fs[data-arcade-theme="ship"],
.rpg-wwm-fs-shell.arcade-fs-theme-ship{
  background:
    radial-gradient(ellipse at 50% 0%,rgba(80,240,255,.14),transparent 40%),
    radial-gradient(ellipse at 70% 100%,rgba(120,60,255,.12),transparent 45%),
    linear-gradient(180deg,#040816 0%,#060a18 50%,#02040c 100%);
}


/* Fullscreen shell — edge to edge, themed */
body.wwm-fullscreen-active .rpg-wwm-fs,
body.arcade-game-fullscreen-active .rpg-wwm-fs{
  padding:0!important;
  background:#05070c;
}
.rpg-wwm-fs-shell.rpg-arcade-fs-shell,
.rpg-wwm-fs-shell.arcade-fs-theme-wwm,
.rpg-wwm-fs-shell.arcade-fs-theme-quiz,
.rpg-wwm-fs-shell.arcade-fs-theme-dice,
.rpg-wwm-fs-shell.arcade-fs-theme-fishing,
.rpg-wwm-fs-shell.arcade-fs-theme-memory{
  width:100%!important;max-width:none!important;height:100%!important;
  border-radius:0!important;border:none!important;
  box-shadow:none!important;font-family:var(--arcade-ui);
}
.rpg-wwm-fs[data-arcade-theme="dice"],
.rpg-wwm-fs-shell.arcade-fs-theme-dice{
  background:
    radial-gradient(ellipse at 30% 0%,rgba(255,122,61,.2),transparent 42%),
    radial-gradient(ellipse at 80% 100%,rgba(240,180,70,.12),transparent 40%),
    linear-gradient(165deg,#1a0e08 0%,#120a08 45%,#070406 100%);
}
.rpg-wwm-fs[data-arcade-theme="fishing"],
.rpg-wwm-fs-shell.arcade-fs-theme-fishing{
  background:
    radial-gradient(ellipse at 50% 0%,rgba(62,199,255,.16),transparent 40%),
    radial-gradient(ellipse at 10% 90%,rgba(20,80,120,.25),transparent 45%),
    linear-gradient(180deg,#041018 0%,#061820 50%,#020a12 100%);
}
/* Shell-BG nur Fallback — Stage-Foto macht das Vollbild */
.rpg-wwm-fs[data-arcade-theme="memory"],
.rpg-wwm-fs-shell.arcade-fs-theme-memory{
  background:#050b12;
}
.rpg-wwm-fs[data-arcade-theme="quiz"],
.rpg-wwm-fs-shell.arcade-fs-theme-quiz{
  background:#050e0c;
}
.rpg-wwm-fs[data-arcade-theme="wwm"],
.rpg-wwm-fs-shell.arcade-fs-theme-wwm{
  background:#0a0806;
}
body.arcade-game-fullscreen-active .rpg-wwm-fs-body,
body.wwm-fullscreen-active .rpg-wwm-fs-body{
  padding:max(10px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));
  gap:12px;
}
/* Immersive Fill-Spiele: padding-Konflikt rückgängig */
body.arcade-game-fullscreen-active .rpg-wwm-fs-body:has(.arcade-stage-fill){
  padding:0!important;gap:0!important;overflow:hidden!important;
}
body.arcade-game-fullscreen-active .rpg-wwm-fs-body:has(.arcade-stage:not(.arcade-stage-fill)){
  padding:0!important;gap:0!important;overflow:hidden!important;
}

/* Header */
.arcade-fs-header,
.rpg-wwm-fs-head.arcade-fs-header{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;
  padding:8px 4px 12px;margin:0;border-bottom:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.04),transparent);
  position:relative;z-index:30;pointer-events:auto;
}
.arcade-fs-header-brand{display:flex;align-items:center;gap:12px;min-width:0;pointer-events:none}
.arcade-fs-header .arcade-game-hdr-emoji,
.arcade-fs-header-brand .arcade-game-hdr-emoji{
  width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:1.55rem;
  background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.14);box-shadow:0 8px 20px rgba(0,0,0,.35);
}
.arcade-fs-header-text{min-width:0;display:flex;flex-direction:column;gap:2px}
.arcade-fs-header .arcade-game-hdr-name,
.arcade-fs-header-text .arcade-game-hdr-name{
  font-family:var(--arcade-display);font-weight:800;font-size:clamp(1.05rem,3.2vw,1.35rem);
  letter-spacing:.03em;color:#fff6e4;line-height:1.15
}
.arcade-fs-header-sub{font-size:.72rem;color:rgba(246,238,226,.62);letter-spacing:.04em}
.arcade-fs-header .arcade-quit-btn,
#arcade-quit.arcade-quit-btn{
  position:relative;z-index:40;pointer-events:auto!important;cursor:pointer;
  border-radius:999px;padding:8px 14px;border:1px solid rgba(255,255,255,.16);
  background:rgba(0,0,0,.28);font-weight:700;flex-shrink:0;touch-action:manipulation
}

/* Stage shell */
.arcade-stage{
  position:relative;flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;
  border-radius:18px;overflow:hidden;padding:12px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 16px 40px rgba(0,0,0,.35);
}
.arcade-stage-fx{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.arcade-stage-photo{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;
  opacity:.78;filter:saturate(1.08) contrast(1.06) brightness(1.02);pointer-events:none
}
.arcade-stage-fx-quiz .arcade-stage-photo{opacity:.82;object-position:center 40%}
.arcade-stage-fx-wwm .arcade-stage-photo{opacity:.85;object-position:center 45%}
.arcade-stage-fx-memory .arcade-stage-photo{opacity:.8;object-position:center 60%}
.arcade-stage-fx-slice .arcade-stage-photo{opacity:.7;object-position:center}
.arcade-stage-fx-puzzle .arcade-stage-photo{
  opacity:.78;object-position:center 45%;
  filter:saturate(.9) brightness(.88) sepia(.18);
}
.arcade-stage > :not(.arcade-stage-fx){position:relative;z-index:1}
.arcade-stage-orb{
  position:absolute;border-radius:50%;filter:blur(28px);opacity:.55;
  animation:arcadeOrbDrift 8s ease-in-out infinite alternate
}
.arcade-stage-orb-a{width:42%;height:34%;top:-8%;left:-6%;background:rgba(240,180,70,.22)}
.arcade-stage-orb-b{width:36%;height:30%;right:-8%;bottom:8%;background:rgba(62,199,255,.16);animation-delay:-3s}
.arcade-stage-beam{
  position:absolute;inset:0;
  background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.05) 50%,transparent 60%);
  transform:translateX(-40%);animation:arcadeBeamSweep 7s ease-in-out infinite
}
.arcade-stage-grain{
  position:absolute;inset:0;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")
}
.arcade-stage-vignette{
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 40%,transparent 42%,rgba(0,0,0,.28) 100%)
}
.arcade-stage-fx-dice .arcade-stage-orb-a{background:rgba(255,122,61,.28)}
.arcade-stage-fx-dice .arcade-stage-orb-b{background:rgba(240,180,70,.18)}
.arcade-stage-fx-fishing .arcade-stage-orb-a{background:rgba(62,199,255,.22)}
.arcade-stage-fx-fishing .arcade-stage-orb-b{background:rgba(40,120,180,.2)}
.arcade-stage-fx-memory .arcade-stage-orb-a{background:rgba(212,168,92,.2)}
.arcade-stage-fx-memory .arcade-stage-orb-b{background:rgba(80,140,180,.16)}
.arcade-stage-fx-quiz .arcade-stage-orb-a{background:rgba(110,220,180,.18)}
.arcade-stage-fx-wwm .arcade-stage-orb-a{background:rgba(240,180,70,.28)}
.arcade-stage-fx-wwm .arcade-stage-orb-b{background:rgba(80,120,255,.2)}

/* Dice epic */
.arcade-stage-dice{
  background:linear-gradient(180deg,rgba(40,18,8,.35),rgba(10,4,2,.55));
}
.arcade-stage-dice .dice-game-shell{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px}
.arcade-stage-dice .dice-arena-photo{
  flex:1 1 auto;
  min-height:clamp(120px,24dvh,200px);
  max-height:min(40dvh,320px);
  border-radius:16px;border-width:1px;
  box-shadow:0 18px 40px rgba(0,0,0,.45),inset 0 0 60px rgba(0,0,0,.35)
}
.arcade-stage-dice .dice-vs span{
  display:inline-flex;align-items:center;justify-content:center;min-width:46px;min-height:46px;
  border-radius:50%;font-family:var(--arcade-display);font-weight:800;font-size:.85rem;
  color:#ffe7b0;background:radial-gradient(circle at 35% 30%,rgba(255,200,100,.35),rgba(40,18,8,.85));
  border:1px solid rgba(240,180,70,.45);box-shadow:0 0 20px rgba(240,180,70,.25);
  animation:arcadeNeonPulse 2.8s ease-in-out infinite
}
.dice-embers{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.dice-embers i{
  position:absolute;bottom:18%;width:4px;height:4px;border-radius:50%;
  background:rgba(255,180,80,.85);box-shadow:0 0 8px rgba(255,140,40,.8);
  animation:diceEmberRise 4.5s linear infinite
}
.dice-embers i:nth-child(1){left:12%;animation-delay:0s}
.dice-embers i:nth-child(2){left:28%;animation-delay:1.1s}
.dice-embers i:nth-child(3){left:44%;animation-delay:.4s}
.dice-embers i:nth-child(4){left:58%;animation-delay:2s}
.dice-embers i:nth-child(5){left:72%;animation-delay:1.5s}
.dice-embers i:nth-child(6){left:86%;animation-delay:.8s}
.dice-hud-strip{
  display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:14px;
  background:linear-gradient(180deg,rgba(20,10,4,.72),rgba(8,4,2,.8));
  border:1px solid rgba(240,180,70,.22)
}
.dice-ready-banner{
  text-align:center;font-family:var(--arcade-ui);font-weight:700;letter-spacing:.06em;
  color:rgba(255,230,180,.78);padding:6px
}
.arcade-stage-dice .dice-bet{
  display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
  margin:0;font-size:.9rem;color:rgba(255,236,200,.88)
}
.dice-bet-label{
  font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.7
}
.dice-bet-meta{opacity:.7;font-size:.78rem}
.arcade-stage-dice .dice-swipe-dock{
  border-radius:16px 16px 0 0;border:1px solid rgba(240,180,70,.28);
  background:linear-gradient(180deg,rgba(60,28,10,.75),rgba(20,10,4,.92));
  box-shadow:0 -10px 30px rgba(0,0,0,.35)
}
.arcade-stage-dice .dice-swipe-hint{
  font-family:var(--arcade-ui);font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,220,150,.9)
}

/* Fishing epic — Bild füllt Restplatz, Controls bleiben immer erreichbar */
.arcade-stage-fishing{
  background:linear-gradient(180deg,rgba(8,28,44,.4),rgba(2,10,18,.65));
  padding:10px;
  flex:1;
  min-height:0;
  max-height:100%;
  overflow:hidden;
  gap:8px;
}
.arcade-stage-fishing .fishing-reel-game{
  flex:1;min-height:0;max-height:100%;display:flex;flex-direction:column;gap:8px;padding:0;border:none;
  background:transparent;box-shadow:none;overflow:hidden
}
.arcade-stage-fishing .fishing-scene-photo{
  flex:1 1 auto;
  min-height:clamp(100px,18dvh,160px);
  max-height:min(34dvh,280px);
  height:auto;
  width:100%;
  border-radius:16px;
  border:1px solid rgba(62,199,255,.28);
  box-shadow:0 16px 40px rgba(0,0,0,.45),inset 0 -30px 50px rgba(0,20,40,.45);
  container-type:size;
}
.arcade-stage-fishing .fishing-scene-img{
  object-fit:cover;
  object-position:center 42%;
  width:100%;
  height:100%;
}
.arcade-stage-fishing.fishing-has-fight .fishing-scene-photo,
.arcade-stage-fishing:has(#fish-fight:not(.hidden)) .fishing-scene-photo{
  flex:0 1 auto;
  min-height:clamp(72px,12dvh,120px);
  max-height:min(22dvh,160px);
}
.fishing-mist{
  position:absolute;inset:auto 0 28% 0;height:40%;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(180,220,255,.12),transparent);
  animation:fishingMistDrift 6s ease-in-out infinite alternate
}
.fishing-scene-caption{
  position:absolute;left:12px;bottom:10px;z-index:5;
  font-family:var(--arcade-display);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(200,236,255,.85);text-shadow:0 2px 10px rgba(0,0,0,.65);
  padding:4px 10px;border-radius:999px;background:rgba(0,10,20,.45);border:1px solid rgba(62,199,255,.25)
}
.fishing-control-deck{
  display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:16px;
  flex:0 0 auto;
  min-height:0;
  max-height:min(58dvh,480px);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  background:linear-gradient(180deg,rgba(6,22,36,.82),rgba(4,12,22,.9));
  border:1px solid rgba(62,199,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)
}
.arcade-stage-fishing .fishing-rod-chip{
  line-height:1.35;opacity:.9;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}
.arcade-stage-fishing .fishing-status{
  font-family:var(--arcade-ui);font-weight:700;font-size:clamp(.9rem,2.4vw,1.05rem);text-align:center;
  color:#dff4ff;letter-spacing:.02em;min-height:0;padding:0 4px
}
.arcade-stage-fishing .fishing-action-btn{
  min-height:48px;border-radius:14px;font-family:var(--arcade-ui);font-weight:700;
  font-size:clamp(.95rem,2.5vw,1.05rem);letter-spacing:.04em;
  box-shadow:0 8px 24px rgba(20,120,180,.35);flex-shrink:0
}
.arcade-stage-fishing .fishing-fight-stage{
  gap:clamp(10px,3vw,18px);flex-wrap:wrap;justify-content:center
}
.arcade-stage-fishing .fishing-fight-water{
  width:clamp(56px,14vw,72px);
  height:clamp(110px,28dvh,168px);
  max-height:min(32dvh,168px)
}
.arcade-stage-fishing .fishing-fight-reel-ring{
  width:clamp(68px,18vw,88px);
  height:clamp(68px,18vw,88px)
}
.arcade-stage-fishing .fishing-fight-reel-svg{
  width:100%;height:100%
}
.arcade-stage-fishing .fishing-stats{flex-shrink:0;text-align:center;opacity:.85}

/* Vollbild-Host: Angeln/Würfel passen in den Viewport, ohne wegscrollen zu müssen */
body.arcade-game-fullscreen-active .rpg-wwm-fs-body:has(.arcade-stage-fishing),
body.arcade-game-fullscreen-active .rpg-wwm-fs-body:has(.arcade-stage-dice){
  overflow:hidden;
  height:100%;
  min-height:0;
}
body.arcade-game-fullscreen-active .rpg-wwm-fs-body:has(.arcade-stage-fishing) > .arcade-stage-fishing,
body.arcade-game-fullscreen-active .rpg-wwm-fs-body:has(.arcade-stage-dice) > .arcade-stage-dice{
  flex:1 1 auto;
  min-height:0;
  max-height:100%;
}

/* Memory epic */
.arcade-stage-memory{
  background:transparent;
}
.memory-table{
  flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;padding:10px;
  border-radius:16px;
  background:
    linear-gradient(180deg,rgba(12,28,38,.48),rgba(6,14,20,.62)),
    repeating-linear-gradient(90deg,rgba(212,168,92,.04) 0 2px,transparent 2px 18px);
  border:1px solid rgba(212,168,92,.28);
  box-shadow:inset 0 0 40px rgba(0,0,0,.28),0 16px 36px rgba(0,0,0,.3)
}
.memory-info-epic{
  justify-content:center;gap:8px;padding:8px;border-radius:12px;
  background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.06)
}
.arcade-stage-memory .memory-table{min-height:0}
.arcade-stage-memory .memory-grid-epic{
  flex:1;min-height:0;width:100%;
  container-type:size;
  align-content:center;justify-content:center;justify-items:center;
  gap:clamp(4px,1vh,8px);padding:clamp(6px,1.2vh,12px);border-radius:14px;
  grid-template-columns:repeat(var(--mem-cols,8),minmax(0,1fr));
  overflow:auto;
  background:linear-gradient(160deg,rgba(8,20,30,.7),rgba(4,10,16,.9));
  border:1px solid rgba(212,168,92,.2);box-shadow:inset 0 0 30px rgba(0,0,0,.4)
}
.arcade-stage-memory .mem-card{
  --mem-card-max-h:calc((100cqh - 20px) / var(--mem-rows,3) - 6px);
  width:min(
    100%,
    clamp(48px,calc((min(100vw,1400px) - 100px) / var(--mem-cols,8) - 8px),108px),
    calc(var(--mem-card-max-h) * 5 / 7)
  );
  aspect-ratio:5 / 7;height:auto;max-height:var(--mem-card-max-h);border-radius:14px;
  box-shadow:0 10px 22px rgba(0,0,0,.4)
}
.arcade-stage-memory .mem-card:not(.mem-matched):not(.mem-flipped):hover{
  box-shadow:0 0 20px rgba(212,168,92,.45),0 12px 24px rgba(0,0,0,.45);
  transform:translateY(-3px)
}
.arcade-stage-memory .mem-front,
.arcade-stage-memory .mem-back{border-radius:14px}
.arcade-stage-memory .mem-back{
  border-color:rgba(212,168,92,.45);
  box-shadow:inset 0 0 16px rgba(0,0,0,.4)
}

/* Quiz epic */
.arcade-stage-quiz{
  background:transparent;
  padding:10px
}
.arcade-stage-wwm{
  background:transparent
}
.arcade-stage-quiz .quiz-board,
.arcade-stage-quiz .quiz-board-classic-epic,
.arcade-stage-wwm .quiz-board-wwm{
  flex:1;min-height:0;border-radius:18px;padding:14px;
  border:1px solid rgba(255,220,160,.22);
  background:
    radial-gradient(ellipse at 50% 0%,rgba(255,220,140,.12),transparent 42%),
    linear-gradient(165deg,rgba(8,12,20,.45),rgba(4,6,12,.55));
  box-shadow:0 18px 44px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.1);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)
}
.arcade-stage-memory .memory-grid-epic{
  background:linear-gradient(160deg,rgba(8,20,30,.45),rgba(4,10,16,.55));
  border:1px solid rgba(212,168,92,.28);box-shadow:inset 0 0 30px rgba(0,0,0,.25);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)
}
.quiz-hotseat-glow{
  position:absolute;left:50%;top:8%;width:70%;height:40%;transform:translateX(-50%);
  pointer-events:none;border-radius:50%;
  background:radial-gradient(ellipse,rgba(240,180,70,.18),transparent 70%);
  animation:arcadeNeonPulse 3.4s ease-in-out infinite
}
.arcade-stage-quiz .quiz-main{position:relative}
.arcade-stage-quiz .quiz-question,
.arcade-stage-wwm .quiz-question{
  font-family:var(--arcade-display);font-weight:700;
  font-size:clamp(1.1rem,3.2vw,1.55rem);line-height:1.35;
  padding:18px 16px;border-radius:16px;color:#fff8ee;
  background:
    linear-gradient(180deg,rgba(255,255,255,.06),rgba(0,0,0,.28));
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 10px 28px rgba(0,0,0,.28)
}
.arcade-stage-quiz .btn-quiz,
.arcade-stage-wwm .btn-quiz{
  min-height:58px;border-radius:14px;padding:12px 14px;font-size:.95rem;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.14);
  transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease
}
.arcade-stage-quiz .btn-quiz:hover,
.arcade-stage-wwm .btn-quiz:hover{
  transform:translateY(-2px);border-color:rgba(240,180,70,.5);
  box-shadow:0 8px 20px rgba(240,180,70,.15);background:rgba(240,180,70,.12)
}
.arcade-stage-quiz .quiz-ans-key,
.arcade-stage-wwm .quiz-ans-key{
  width:28px;height:28px;border-radius:9px;font-size:.78rem;
  background:linear-gradient(160deg,rgba(240,180,70,.35),rgba(240,180,70,.12))
}
.arcade-stage-wwm .quiz-ladder-rung.is-current{
  box-shadow:0 0 16px rgba(240,180,70,.25)
}
.arcade-stage-wwm .quiz-joker-btn{
  border-radius:999px;min-height:40px;padding:8px 12px;font-weight:700;
  border:1px solid rgba(240,180,70,.3);background:rgba(240,180,70,.08)
}

@keyframes arcadeNeonPulse{
  0%,100%{opacity:.55;filter:brightness(1)}
  50%{opacity:1;filter:brightness(1.15)}
}
@keyframes arcadeEmojiFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}
@keyframes arcadeOrbDrift{
  from{transform:translate3d(0,0,0) scale(1)}
  to{transform:translate3d(18px,-12px,0) scale(1.08)}
}
@keyframes arcadeBeamSweep{
  0%,15%{transform:translateX(-50%);opacity:0}
  35%{opacity:.7}
  55%,100%{transform:translateX(50%);opacity:0}
}
@keyframes diceEmberRise{
  0%{transform:translateY(0) scale(1);opacity:0}
  15%{opacity:.9}
  100%{transform:translateY(-120px) scale(.4);opacity:0}
}
@keyframes fishingMistDrift{
  from{transform:translateX(-4%);opacity:.45}
  to{transform:translateX(4%);opacity:.75}
}

@media (max-width:720px){
  .arcade-stage{border-radius:14px;padding:8px}
  .arcade-stage-dice .dice-arena-photo{
    min-height:clamp(88px,18dvh,160px);
    max-height:min(32dvh,220px)
  }
  .arcade-stage-fishing{
    padding:6px;gap:6px
  }
  .arcade-stage-fishing .fishing-scene-photo{
    min-height:clamp(72px,12dvh,120px);
    max-height:min(24dvh,170px)
  }
  .arcade-stage-fishing:has(#fish-fight:not(.hidden)) .fishing-scene-photo{
    min-height:clamp(48px,8dvh,80px);
    max-height:min(14dvh,100px)
  }
  .fishing-control-deck{
    padding:8px 10px;gap:7px;max-height:min(58dvh,460px)
  }
  .arcade-stage-fishing .fishing-action-btn{min-height:46px}
  .arcade-stage-fishing .fishing-fight-water{
    width:56px;height:clamp(88px,22dvh,120px)
  }
  .arcade-stage-memory .memory-grid-epic{gap:4px;padding:6px}
  .arcade-stage-memory .mem-card{
    width:min(100%,clamp(44px,calc((100vw - 48px) / var(--mem-cols,6) - 6px),84px))
  }
  .memory-grid{gap:4px}
  .panel-arcade .arcade-game-card-epic{min-height:150px}
  .panel-arcade .arcade-card-cta{opacity:.85;transform:none}
}
@media (max-height:700px){
  .arcade-stage-fishing .fishing-scene-photo{
    min-height:clamp(80px,14dvh,120px);
    max-height:min(26dvh,180px)
  }
  .arcade-stage-fishing:has(#fish-fight:not(.hidden)) .fishing-scene-photo{
    min-height:60px;
    max-height:min(16dvh,110px)
  }
  .arcade-stage-dice .dice-arena-photo{
    min-height:clamp(100px,22dvh,180px);
    max-height:min(32dvh,220px)
  }
}
@media (min-width:900px){
  .arcade-stage-quiz .quiz-board-ladder{gap:16px}
  .arcade-stage-memory .memory-grid-epic{gap:8px;padding:12px}
  .arcade-stage-memory .mem-card{
    width:min(100%,clamp(56px,calc((min(100vw,1400px) - 120px) / var(--mem-cols,8) - 10px),112px))
  }
  .arcade-stage-fishing .fishing-scene-photo{
    max-height:min(36dvh,300px)
  }
}

/* ── Extra Arcade games ─────────────────────────────────────── */
.panel-arcade .arcade-card-slice{background:linear-gradient(165deg,#4a2010 0%,#241208 55%,#100806 100%);border-color:rgba(255,150,80,.4)}
.panel-arcade .arcade-card-spot{background:linear-gradient(165deg,#1a3040 0%,#0c1824 55%,#060e14 100%);border-color:rgba(120,200,255,.35)}
.panel-arcade .arcade-card-detective{background:linear-gradient(165deg,#2a2038 0%,#14101c 55%,#0a0810 100%);border-color:rgba(180,140,255,.35)}
.panel-arcade .arcade-card-puzzle{background:linear-gradient(165deg,#203428 0%,#101c14 55%,#080e0a 100%);border-color:rgba(120,220,150,.35)}
.panel-arcade .arcade-card-ship{background:linear-gradient(165deg,#102038 0%,#08101c 55%,#04080e 100%);border-color:rgba(100,240,200,.4)}

.rpg-wwm-fs-shell.arcade-fs-theme-slice,
.rpg-wwm-fs-shell.arcade-fs-theme-spot,
.rpg-wwm-fs-shell.arcade-fs-theme-detective,
.rpg-wwm-fs-shell.arcade-fs-theme-puzzle,
.rpg-wwm-fs-shell.arcade-fs-theme-ship{
  width:100%;max-width:none;height:100%;border-radius:0;border:none;box-shadow:none;font-family:var(--arcade-ui);
}
.rpg-wwm-fs[data-arcade-theme="slice"],
.rpg-wwm-fs-shell.arcade-fs-theme-slice{
  background:
    linear-gradient(180deg,rgba(18,8,4,.62) 0%,rgba(12,6,4,.78) 50%,rgba(6,3,2,.9) 100%),
    url('/activity/rpg/assets/arcade/slice/board-full.jpg?v=bg3') center/cover no-repeat;
}
.rpg-wwm-fs[data-arcade-theme="spot"],
.rpg-wwm-fs-shell.arcade-fs-theme-spot{
  background:
    radial-gradient(ellipse at 40% 10%,rgba(80,180,255,.16),transparent 40%),
    linear-gradient(180deg,#061018 0%,#0a1420 50%,#040a10 100%);
}
.rpg-wwm-fs[data-arcade-theme="detective"],
.rpg-wwm-fs-shell.arcade-fs-theme-detective{
  background:
    radial-gradient(ellipse at 50% 0%,rgba(160,120,255,.18),transparent 40%),
    linear-gradient(180deg,#120e1c 0%,#0c0a14 50%,#06050a 100%);
}
.rpg-wwm-fs[data-arcade-theme="puzzle"],
.rpg-wwm-fs-shell.arcade-fs-theme-puzzle{
  background:
    linear-gradient(180deg,rgba(42,24,10,.55) 0%,rgba(18,10,5,.78) 48%,rgba(8,5,3,.92) 100%),
    radial-gradient(ellipse at 50% 18%,rgba(232,180,80,.18),transparent 46%),
    url('/activity/rpg/assets/arcade/slice/parchment.jpg?v=puzbg1') center/cover no-repeat;
  background-color:#1a1008;
}
.rpg-wwm-fs[data-arcade-theme="ship"],
.rpg-wwm-fs-shell.arcade-fs-theme-ship{
  background:
    radial-gradient(ellipse at 50% 0%,rgba(80,220,200,.16),transparent 40%),
    radial-gradient(ellipse at 80% 90%,rgba(40,80,180,.2),transparent 45%),
    linear-gradient(180deg,#040a14 0%,#060e1a 50%,#02060c 100%);
}

.slice-arena,.spot-arena,.det-arena,.puz-arena,.ship-arena{
  position:relative;z-index:1;max-width:560px;margin:0 auto;padding:18px 16px 20px;
  border-radius:18px;border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(165deg,rgba(20,16,12,.72),rgba(8,8,12,.82));
  box-shadow:0 20px 50px rgba(0,0,0,.45);
}
.slice-anvil{font-size:2.6rem;text-align:center;filter:drop-shadow(0 8px 16px rgba(255,120,40,.35));animation:arcadeEmojiFloat 2.4s ease-in-out infinite}
.slice-title,.spot-title,.det-title,.puz-title{
  font-family:var(--arcade-display);font-size:1.35rem;font-weight:800;text-align:center;color:#fff4e0;margin:4px 0 10px
}
.slice-meta,.spot-meta,.puz-meta,.ship-hud{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:10px}
.slice-hint,.spot-hint{text-align:center;margin:0 0 12px}
.slice-track{
  position:relative;height:28px;border-radius:999px;margin:14px 0 18px;
  background:linear-gradient(180deg,#2a1810,#120a08);
  border:1px solid rgba(255,180,100,.35);overflow:hidden;
  box-shadow:inset 0 0 18px rgba(0,0,0,.5)
}
.slice-sweet{
  position:absolute;top:2px;bottom:2px;border-radius:999px;
  background:linear-gradient(90deg,rgba(255,200,80,.15),rgba(255,160,40,.75),rgba(255,200,80,.15));
  box-shadow:0 0 18px rgba(255,160,40,.55)
}
.slice-cursor{
  position:absolute;top:0;bottom:0;width:4px;margin-left:-2px;
  background:#fff;box-shadow:0 0 12px #fff,0 0 22px rgba(255,180,80,.8)
}
.slice-hit-btn{
  display:block;width:100%;padding:14px 16px;font-size:1.05rem;font-weight:900;letter-spacing:.08em;
  border-radius:14px!important;
  background:linear-gradient(180deg,#ff9a3c,#d45a12)!important;
  border:1px solid rgba(255,220,160,.4)!important;
  box-shadow:0 10px 28px rgba(212,90,18,.4)
}
.slice-status{text-align:center;margin-top:12px;font-weight:700;color:rgba(255,236,210,.9)}

.spot-grid{
  display:grid;grid-template-columns:repeat(var(--spot-size,5),minmax(0,1fr));gap:8px
}
.spot-cell{
  aspect-ratio:1;border-radius:12px;border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(165deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
  font-size:clamp(1.1rem,3.5vw,1.55rem);cursor:pointer;transition:transform .12s ease,border-color .12s ease
}
.spot-cell:hover{transform:translateY(-2px);border-color:rgba(120,200,255,.5)}
.spot-cell.is-found,.spot-cell.is-correct{
  border-color:rgba(120,220,150,.7);background:rgba(60,160,100,.25);box-shadow:0 0 16px rgba(80,200,120,.25)
}
.spot-cell.is-wrong{animation:sliceShake .35s ease;border-color:rgba(255,80,80,.7)}

@keyframes sliceShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}

.det-kicker{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(180,150,255,.8);text-align:center}
.det-clues{display:flex;flex-direction:column;gap:8px;margin:12px 0 16px}
.det-clue{
  display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid rgba(180,150,255,.18)
}
.det-clue-n{
  flex:0 0 auto;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;
  font-size:.72rem;font-weight:800;background:rgba(160,120,255,.25);color:#e8dcff
}
.det-clue p{margin:0;font-size:.86rem;line-height:1.35;color:rgba(245,240,255,.9)}
.det-suspects{display:grid;gap:8px}
.det-suspect{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;
  text-align:left;padding:12px 14px;border-radius:14px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02))!important;
  border:1px solid rgba(180,150,255,.25)!important
}
.det-suspect:hover{border-color:rgba(200,170,255,.55)!important;transform:translateY(-1px)}
.det-tries{text-align:center;margin-top:12px}

.puz-grid{
  display:grid;grid-template-columns:repeat(var(--puz-size,4),minmax(0,1fr));gap:6px;margin-top:8px
}
.puz-tile{
  aspect-ratio:1;border-radius:10px;border:1px solid rgba(120,220,150,.28);
  background:linear-gradient(165deg,rgba(60,140,90,.45),rgba(20,50,30,.65));
  color:#e8ffe8;font-family:var(--arcade-display);font-weight:800;font-size:clamp(1rem,4vw,1.45rem);
  cursor:pointer;transition:transform .12s ease
}
.puz-tile:hover{transform:scale(1.03)}
.puz-tile.is-empty{
  border-style:dashed;border-color:rgba(255,255,255,.12);background:rgba(0,0,0,.25);cursor:default
}

.ship-arena{max-width:520px;padding:12px}
.ship-hud{margin-bottom:8px}
#ship-canvas{
  display:block;width:100%;height:auto;max-height:min(62vh,640px);border-radius:14px;
  border:1px solid rgba(100,220,200,.28);background:#040a12;
  box-shadow:0 0 40px rgba(40,120,160,.2),inset 0 0 40px rgba(0,0,0,.4)
}
.ship-controls,.ship-status{text-align:center;margin-top:8px}
.ship-status{font-weight:700;color:rgba(180,255,230,.9)}

/* Sofort-Hover Name — etwas epischer */
.rpg-item-quick-name{
  background:
    linear-gradient(135deg,rgba(255,220,140,.18),transparent 40%),
    linear-gradient(180deg,rgba(32,24,14,.97),rgba(12,10,8,.95));
  border:1px solid rgba(240,196,96,.55);
  box-shadow:0 12px 32px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.05),0 0 24px rgba(232,180,60,.15);
  text-shadow:0 1px 0 rgba(0,0,0,.45);
  letter-spacing:.02em;
}
.rpg-item-quick-name.visible{animation:quickNameIn .16s ease-out}
@keyframes quickNameIn{
  from{opacity:0;transform:translateY(6px) scale(.96)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

/* Arcade: Vollbild-Automat mit Preview im CRT */
.panel-arcade{
  display:flex;flex-direction:column;min-height:0;overflow:hidden!important;
  background:transparent!important;border:none!important;box-shadow:none!important;
  padding:0!important;
}
.panel-arcade .arcade-cabinet-shell.is-fs-placeholder{
  display:flex;align-items:center;justify-content:center;min-height:120px;opacity:.7;
}
.arcade-hall-bg{
  position:absolute;inset:0;background-size:cover;background-position:center 45%;
  filter:saturate(1.05) contrast(1.05);pointer-events:none;z-index:0;
}
.arcade-hall-veil{
  position:absolute;inset:0;pointer-events:none;z-index:1;
  background:
    linear-gradient(180deg,rgba(4,6,14,.62) 0%,rgba(4,6,14,.28) 40%,rgba(4,6,14,.78) 100%),
    radial-gradient(ellipse at 50% 35%,rgba(0,220,255,.1),transparent 55%);
}
/* Hall-Bühne: gleiche Cover-Box wie arcade-hall-bg → %-Positionen skalieren korrekt */
.arcade-hall-stage{
  position:absolute;z-index:3;pointer-events:none;
  left:0;top:0;width:100%;height:100%;
  overflow:visible;
}

/* Mona am MEMORY: Idle zum Automaten; Talk = leichte Drehung zur Kamera (kein Flip) */
.arcade-memory-npc{
  position:absolute;z-index:4;pointer-events:none;
  transform:translateX(-50%);
  transform-origin:center bottom;
  perspective:700px;
  transition:transform .35s cubic-bezier(.22,.82,.2,1);
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.55));
}
.arcade-memory-npc .arcade-npc-faces{
  transform-origin:center bottom;
  transition:transform .35s cubic-bezier(.22,.82,.2,1);
  transform:rotateY(0deg);
}
.arcade-memory-npc.is-talking .arcade-npc-faces{
  /* Drehung steckt im Sprite — kaum CSS-3D */
  transform:rotateY(0deg);
}
.arcade-memory-npc-hit{
  position:absolute;inset:0;z-index:2;margin:0;padding:0;border:0;
  background:transparent;cursor:pointer;pointer-events:auto;
  border-radius:40% 40% 18% 18% / 28% 28% 12% 12%;
  outline:none;box-shadow:none;
}
.arcade-memory-npc-hit:focus{outline:none}
.arcade-memory-npc-hit:focus-visible{
  outline:2px solid rgba(232,197,71,.55);outline-offset:2px;
}
.arcade-memory-npc-bubble{
  position:absolute;left:108%;bottom:68%;transform:translateY(6px);
  min-width:9.5rem;max-width:min(15rem,38vw);padding:8px 11px 9px;
  border-radius:12px;pointer-events:none;z-index:5;
  background:linear-gradient(180deg,rgba(28,18,36,.94),rgba(12,10,20,.92));
  border:1px solid rgba(220,160,255,.45);
  box-shadow:0 8px 22px rgba(0,0,0,.45),0 0 18px rgba(180,100,255,.18);
  opacity:0;visibility:hidden;transition:opacity .22s ease, transform .22s ease, visibility .22s;
}
.arcade-memory-npc-bubble.is-on{
  opacity:1;visibility:visible;transform:translateY(0);
}
.arcade-memory-npc-bubble::after{
  content:"";position:absolute;left:-6px;bottom:14px;
  border:6px solid transparent;border-right-color:rgba(28,18,36,.94);
}
.arcade-memory-npc-bubble-text{
  margin:0;font-size:clamp(.68rem,1.7vw,.82rem);line-height:1.35;
  color:#ffe9ff;text-align:center;text-wrap:balance;
}
.arcade-machine-fs.is-monitor-zoom .arcade-hall-stage,
.arcade-machine-fs.is-entering-game .arcade-hall-stage{
  opacity:0!important;pointer-events:none!important;transition:opacity .7s ease;
}

/* Gemeinsame Faces: Idle/Talk Crossfade — kein Flip, keine Größenänderung */
.arcade-npc-faces{
  position:absolute;inset:0;
}
.arcade-npc-face{
  position:absolute;left:0;bottom:0;width:100%;height:100%;
  object-fit:contain;object-position:center bottom;
  pointer-events:none;user-select:none;-webkit-user-drag:none;
  -webkit-mask-image:linear-gradient(#000 0%,#000 94%,transparent 100%);
  mask-image:linear-gradient(#000 0%,#000 94%,transparent 100%);
  transition:opacity .28s ease;
  transform:none!important;
}
.arcade-npc-face--idle{opacity:1}
.arcade-npc-face--talk{opacity:0}
.arcade-memory-npc.is-talking .arcade-npc-face--idle,
.arcade-ship-girl.is-talking .arcade-npc-face--idle,
.arcade-ship-cat.is-talking .arcade-npc-face--idle{opacity:0}
.arcade-memory-npc.is-talking .arcade-npc-face--talk,
.arcade-ship-girl.is-talking .arcade-npc-face--talk,
.arcade-ship-cat.is-talking .arcade-npc-face--talk{opacity:1}

/* Banner-Figuren: Nova am RAUMSCHIFF + Katze Pixel auf rechtem Hocker */
.arcade-ship-figures{
  position:absolute;inset:0;z-index:3;pointer-events:none;
}
.arcade-ship-girl,
.arcade-ship-cat{
  position:absolute;pointer-events:none;
  transform:translateX(-50%);
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.5));
  background:transparent!important;border:0!important;outline:none!important;
  box-shadow:none!important;overflow:visible;
}
.arcade-ship-girl{
  z-index:3;
  animation:none!important;
  /* nur weicher Schatten — kein heller Rim (verursacht Halo) */
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.55));
}
.arcade-ship-girl .arcade-npc-faces,
.arcade-ship-girl .arcade-npc-face,
.arcade-ship-cat .arcade-npc-faces,
.arcade-ship-cat .arcade-npc-face{
  background:transparent!important;border:0!important;outline:none!important;
  box-shadow:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  /* contain = natürliche Proportionen (fill hat Nova gequetscht) */
  object-fit:contain!important;
  object-position:center bottom!important;
  width:100%!important;height:100%!important;
  left:0!important;right:0!important;top:0!important;bottom:0!important;
  transform:none!important;
}
.arcade-ship-girl.is-talking,
.arcade-ship-cat.is-talking{
  transform:translateX(-50%)!important; /* Position unverändert beim Talk */
}
.arcade-ship-girl .arcade-npc-face--idle,
.arcade-ship-cat .arcade-npc-face--idle{opacity:1}
.arcade-ship-girl .arcade-npc-face--talk,
.arcade-ship-cat .arcade-npc-face--talk{opacity:0}
.arcade-ship-girl.is-talking .arcade-npc-face--idle,
.arcade-ship-cat.is-talking .arcade-npc-face--idle{opacity:0}
.arcade-ship-girl.is-talking .arcade-npc-face--talk,
.arcade-ship-cat.is-talking .arcade-npc-face--talk{opacity:1}
.arcade-ship-cat{
  z-index:5;
  animation:none!important;
  filter:
    drop-shadow(0 0 0.55px rgba(0,0,0,.95))
    drop-shadow(0 1px 2px rgba(0,0,0,.5));
}
.arcade-ship-cat .arcade-npc-head-talk{display:none!important}
.arcade-ship-npc-hit{
  position:absolute;inset:0;z-index:2;margin:0;padding:0;border:0;
  background:transparent;cursor:pointer;pointer-events:auto;
  border-radius:40% 40% 18% 18% / 28% 28% 12% 12%;
  outline:none;box-shadow:none;
}
.arcade-ship-npc-hit:focus{outline:none}
.arcade-ship-npc-hit:focus-visible{
  outline:2px solid rgba(160,220,255,.55);outline-offset:2px;
}
.arcade-ship-npc-bubble{
  position:absolute;right:102%;bottom:62%;transform:translateY(6px);
  min-width:8.5rem;max-width:min(14rem,36vw);padding:8px 11px 9px;
  border-radius:12px;pointer-events:none;z-index:6;
  background:linear-gradient(180deg,rgba(18,24,40,.95),rgba(10,12,22,.93));
  border:1px solid rgba(120,200,255,.42);
  box-shadow:0 8px 22px rgba(0,0,0,.45),0 0 16px rgba(80,160,255,.16);
  opacity:0;visibility:hidden;transition:opacity .22s ease, transform .22s ease, visibility .22s;
}
.arcade-ship-npc-bubble.is-on{
  opacity:1;visibility:visible;transform:translateY(0);
}
.arcade-ship-npc-bubble::after{
  content:"";position:absolute;right:-6px;bottom:14px;
  border:6px solid transparent;border-left-color:rgba(18,24,40,.95);
}
.arcade-ship-npc-bubble--cat{
  right:auto;left:50%;bottom:calc(100% + 4px);
  transform:translateX(-50%) translateY(6px);
  border-color:rgba(255,170,220,.45);
  box-shadow:0 8px 22px rgba(0,0,0,.45),0 0 14px rgba(255,120,200,.14);
}
.arcade-ship-npc-bubble--cat.is-on{transform:translateX(-50%) translateY(0)}
.arcade-ship-npc-bubble--cat::after{
  left:50%;right:auto;bottom:-6px;transform:translateX(-50%);
  border:6px solid transparent;border-top-color:rgba(18,24,40,.95);border-left-color:transparent;
}
.arcade-ship-npc-bubble-text{
  margin:0;font-size:clamp(.66rem,1.65vw,.8rem);line-height:1.35;
  color:#e8f4ff;text-align:center;text-wrap:balance;
}
.arcade-ship-npc-bubble--cat .arcade-ship-npc-bubble-text{color:#ffe9f6}
@media (max-width:720px){
  .arcade-memory-npc-bubble{
    left:50%;bottom:calc(100% + 6px);transform:translateX(-50%) translateY(6px);
    max-width:min(14rem,70vw);
  }
  .arcade-memory-npc-bubble.is-on{transform:translateX(-50%) translateY(0)}
  .arcade-memory-npc-bubble::after{
    left:50%;bottom:-6px;transform:translateX(-50%);
    border:6px solid transparent;border-top-color:rgba(28,18,36,.94);border-right-color:transparent;
  }
  .arcade-ship-npc-bubble--girl{
    right:auto;left:50%;bottom:calc(100% + 6px);
    transform:translateX(-50%) translateY(6px);max-width:min(14rem,70vw);
  }
  .arcade-ship-npc-bubble--girl.is-on{transform:translateX(-50%) translateY(0)}
  .arcade-ship-npc-bubble--girl::after{
    left:50%;right:auto;bottom:-6px;transform:translateX(-50%);
    border:6px solid transparent;border-top-color:rgba(18,24,40,.95);border-left-color:transparent;
  }
}
body.arcade-cabinet-picker-active .rpg-wwm-fs-body{
  padding:0!important;overflow:hidden!important;
}
body.arcade-cabinet-picker-active .rpg-wwm-fs-shell.rpg-arcade-fs-shell{
  background:transparent!important;border:none!important;box-shadow:none!important;
}
.arcade-machine-fs{
  position:relative;inset:0;width:100%;height:100%;min-height:0;
  display:flex;flex-direction:column;align-items:center;justify-content:stretch;
  gap:8px;padding:max(8px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));
  box-sizing:border-box;overflow:hidden;
  background-color:#060810;
  background-image:var(--arcade-hall-bg,none);
  background-size:cover;background-position:center 45%;
  touch-action:none;
}
.arcade-machine-stage,
.arcade-machine,
.arcade-play-hit{
  touch-action:none;
}
.arcade-machine-chrome,
.arcade-machine-stage,
.arcade-machine-controls{position:relative;z-index:2}
.arcade-machine-chrome{
  width:min(920px,100%);display:flex;align-items:center;justify-content:space-between;gap:8px;
  flex:0 0 auto;z-index:5;position:relative;
}
.arcade-machine-chips{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  flex:0 1 auto;justify-content:center;min-width:0;max-width:min(58vw,22rem);
  pointer-events:none;z-index:1;
}
.arcade-machine-chips .chip{pointer-events:auto}
.arcade-machine-back{flex:0 0 auto;z-index:5}
/* Neon-EXIT — Röhren-Schild (kein flacher UI-Button) */
.arcade-neon-exit{
  display:inline-flex!important;align-items:center;gap:8px;
  margin:0;padding:9px 16px 9px 13px!important;
  border-radius:6px!important;cursor:pointer;
  border:2.5px solid #7efcff!important;
  background:rgba(4,8,18,.22)!important;
  box-shadow:
    0 0 2px #7efcff,
    0 0 8px rgba(0,245,255,.85),
    0 0 18px rgba(0,200,255,.45),
    0 0 36px rgba(140,70,255,.28),
    inset 0 0 10px rgba(0,245,255,.18),
    inset 0 0 2px rgba(180,255,255,.35)!important;
  color:#eaffff!important;
  font-family:"Orbitron","Segoe UI",system-ui,sans-serif!important;
  letter-spacing:.22em!important;text-transform:uppercase!important;
  -webkit-tap-highlight-color:transparent;
  animation:arcadeExitNeonFlicker 5.5s steps(1,end) infinite;
  transition:transform .14s ease, filter .14s ease, box-shadow .14s ease!important;
}
.arcade-neon-exit-mark{
  font-size:1.05rem;font-weight:700;line-height:1;
  color:#b8ffff;
  text-shadow:
    0 0 4px #7efcff,
    0 0 10px #00e8ff,
    0 0 18px rgba(0,200,255,.9),
    0 0 28px rgba(160,80,255,.55);
}
.arcade-neon-exit-txt{
  font-size:.78rem;font-weight:700;line-height:1;
  color:#f2ffff;
  text-shadow:
    0 0 3px #a8ffff,
    0 0 8px #7efcff,
    0 0 16px #00d4ff,
    0 0 28px rgba(0,180,255,.75),
    0 0 42px rgba(150,70,255,.4);
}
.arcade-neon-exit:hover,
.arcade-neon-exit:focus-visible{
  outline:none;
  filter:brightness(1.12) saturate(1.1);
  transform:translateX(-2px);
  border-color:#b8ffff!important;
  box-shadow:
    0 0 3px #b8ffff,
    0 0 12px rgba(0,245,255,.95),
    0 0 26px rgba(0,210,255,.55),
    0 0 48px rgba(160,80,255,.35),
    inset 0 0 14px rgba(0,245,255,.28),
    inset 0 0 3px rgba(200,255,255,.45)!important;
  animation:none;
}
.arcade-neon-exit:active{transform:translateX(0);filter:brightness(.92)}
@keyframes arcadeExitNeonFlicker{
  0%,19%,21%,23%,25%,54%,56%,100%{opacity:1;filter:brightness(1)}
  20%,22%,24%{opacity:.72;filter:brightness(.82)}
  55%{opacity:.88;filter:brightness(.9)}
}
@media (prefers-reduced-motion:reduce){
  .arcade-neon-exit{animation:none}
}
.arcade-cabinet-index{display:none!important}
.arcade-cabinet-game-label{display:none!important}
.arcade-machine-marquee{
  /* vor dem Automaten-Art-Overlay (z10), Preview bleibt darunter (z1) */
  position:absolute;left:50%;top:4.2%;transform:translateX(-50%);
  z-index:20!important;width:min(56%,13.5rem);height:11%;
  display:flex;align-items:center;justify-content:center;
  padding:0 4px;box-sizing:border-box;
  text-align:center;pointer-events:none;line-height:1.05;
}
.arcade-machine-marquee-name{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
  font-family:"Cinzel",ui-serif,Georgia,serif;font-weight:800;line-height:1;
  color:#7efcff;
  text-shadow:
    0 0 4px rgba(180,255,255,.95),
    0 0 12px rgba(0,245,255,.85),
    0 0 22px rgba(0,200,255,.55),
    0 1px 0 rgba(255,255,255,.3),
    0 2px 4px rgba(0,0,0,.9);
  white-space:nowrap;max-width:100%;overflow:hidden;
}
.arcade-machine-marquee-line{
  display:block;font-size:clamp(.42rem,1.5vw,.62rem);
  letter-spacing:.18em;opacity:.92;line-height:1.05;
  max-width:100%;overflow:hidden;text-overflow:ellipsis;
}
.arcade-machine-marquee-line--main{
  font-size:clamp(.52rem,2vw,.88rem);
  letter-spacing:.08em;opacity:1;line-height:1.05;
  max-width:100%;overflow:hidden;text-overflow:ellipsis;
}
@media (max-width:520px){
  .arcade-machine{max-width:min(520px,92vw)}
  .arcade-machine-sizer{max-width:min(520px,92vw);max-height:min(100%,calc(100dvh - 120px))}
  .arcade-machine-marquee{width:min(52%,10.5rem);top:4%;height:11.5%}
  .arcade-machine-marquee-line{font-size:clamp(.4rem,2.8vw,.55rem);letter-spacing:.14em}
  .arcade-machine-marquee-line--main{font-size:clamp(.58rem,3.4vw,.82rem);letter-spacing:.12em}
  .arcade-screen-hud{padding:8px 8px 8px}
  .arcade-screen-name{font-size:clamp(.85rem,3.6vw,1.1rem)}
  .arcade-screen-desc{font-size:.68rem;-webkit-line-clamp:2}
}
@media (max-height:700px){
  .arcade-machine-sizer{max-height:min(100%,calc(100dvh - 110px))}
  .arcade-machine-marquee-line--main{font-size:clamp(.55rem,2.2vw,.85rem)}
}
.arcade-machine-stage{
  flex:1 1 auto;min-height:0;width:100%;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.arcade-machine{
  /* Sizer bestimmt Größe; Preview darunter; Art-Overlay mit Alpha-Loch darüber */
  position:relative;display:block;width:max-content;
  max-width:min(520px,82vw);margin:0 auto;
  line-height:0;isolation:isolate;
  background:transparent!important;box-shadow:none!important;
}
.arcade-machine-sizer{
  display:block;width:auto;height:auto;
  max-width:min(520px,82vw);max-height:min(100%,calc(100dvh - 140px));
  object-fit:contain;opacity:0;pointer-events:none;user-select:none;
  background:transparent!important;max-width:min(520px,82vw)!important;
}
.arcade-machine-frame{
  position:absolute!important;inset:0!important;z-index:10!important;
  pointer-events:none!important;background:transparent!important;
}
.arcade-machine-art{
  position:absolute!important;left:0!important;top:0!important;
  width:100%!important;height:100%!important;max-width:none!important;
  object-fit:fill!important;z-index:1!important;
  pointer-events:none!important;user-select:none;-webkit-user-drag:none;
  background:transparent!important;
  filter:drop-shadow(0 18px 36px rgba(0,0,0,.72));
}
/* Preview/HUD strikt hinter dem Automaten-Art-Overlay (Alpha-CRT-Loch) */
.arcade-machine-screen{
  position:absolute!important;inset:0!important;z-index:1!important;
  overflow:hidden;background:transparent!important;pointer-events:none;
}
.arcade-machine-screen-clip{
  /* Fallback-% = Glas innen am Rahmen, oben bündig */
  position:absolute;left:29.2%;top:26.15%;width:41.6%;height:16.95%;
  overflow:hidden;border-radius:2px;background:#020308;
  transform-origin:center;pointer-events:auto;z-index:1!important;
  /* Kanten versiegeln gegen Subpixel-Lücken im Alpha-Loch */
  box-shadow:0 0 0 2px #020308;
}
.arcade-machine-screen-clip::before{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background:#020308;
}
.arcade-machine-frame .arcade-machine-marquee{z-index:2!important}
/* Joystick: Fuß fest, nur Stil+Kugel kippen */
.arcade-joystick{
  position:absolute;left:28.42%;top:44.27%;width:8.4%;height:9.96%;
  z-index:3;pointer-events:none;
}
.arcade-joystick-base,
.arcade-joystick-stick{
  position:absolute;display:block;max-width:none!important;
  object-fit:fill;user-select:none;-webkit-user-drag:none;
}
.arcade-joystick-base{
  left:10.84%;top:78.10%;width:78.93%;height:21.90%;
  z-index:1;
}
.arcade-joystick-stick{
  left:0;top:0;width:100%;height:81.64%;
  z-index:2;
  transform-origin:50% 100%;
  transition:transform .22s cubic-bezier(.22,.9,.28,1);
  filter:drop-shadow(0 3px 4px rgba(0,0,0,.55));
}
.arcade-machine.is-joy-left .arcade-joystick-stick{
  transform:rotate(-12deg);
}
.arcade-machine.is-joy-right .arcade-joystick-stick{
  transform:rotate(12deg);
}
@media (prefers-reduced-motion:reduce){
  .arcade-joystick-stick{transition:none}
  .arcade-machine.is-joy-left .arcade-joystick-stick,
  .arcade-machine.is-joy-right .arcade-joystick-stick{transform:none}
}
.arcade-machine-screen-clip.is-slide-left{animation:arcadeScreenSlide .22s ease}
.arcade-machine-screen-clip.is-slide-right{animation:arcadeScreenSlideRev .22s ease}
@keyframes arcadeScreenSlide{
  from{transform:translateX(8px)}
  to{transform:translateX(0)}
}
@keyframes arcadeScreenSlideRev{
  from{transform:translateX(-8px)}
  to{transform:translateX(0)}
}

.arcade-machine.is-coin-insert{
  perspective:640px;
}
.arcade-coin-insert{
  position:absolute;left:50%;top:64%;z-index:32;pointer-events:none;
  width:clamp(22px,3.6vw,30px);height:clamp(22px,3.6vw,30px);
  margin-left:calc(clamp(22px,3.6vw,30px) / -2);
  transform-style:preserve-3d;perspective:420px;
  opacity:0;
  transform:translate3d(0,-72px,48px) rotateX(12deg) rotateY(-28deg) scale(1);
}
.arcade-coin-insert-face,
.arcade-coin-insert-edge{
  position:absolute;inset:0;border-radius:50%;
  backface-visibility:hidden;
}
.arcade-coin-insert-face{
  background:
    radial-gradient(circle at 32% 28%,#fff8d0 0%,#f0c14a 36%,#c4891a 70%,#7a4e0a 100%);
  box-shadow:
    0 0 0 1px rgba(255,220,120,.55),
    0 3px 10px rgba(0,0,0,.55),
    inset 0 -2px 3px rgba(0,0,0,.28),
    inset 0 2px 4px rgba(255,255,255,.35);
  transform:translateZ(2.5px);
}
.arcade-coin-insert-face::after{
  content:'';position:absolute;inset:20%;border-radius:50%;
  border:1.5px solid rgba(120,70,10,.4);
  box-shadow:inset 0 0 0 1px rgba(255,240,180,.28);
}
.arcade-coin-insert-edge{
  background:linear-gradient(90deg,#8a5a0c,#e8c45a 45%,#6a4208);
  transform:rotateY(90deg) translateZ(2.5px) scaleX(.18);
  box-shadow:0 0 6px rgba(255,200,80,.25);
}
.arcade-machine.is-coin-insert .arcade-coin-insert.is-dropping{
  animation:arcadeCoinSlot3d 1.1s cubic-bezier(.22,.7,.2,1) forwards;
}
@keyframes arcadeCoinSlot3d{
  0%{
    opacity:0;
    transform:translate3d(8px,-78px,56px) rotateX(8deg) rotateY(-36deg) scale(1.05);
  }
  12%{opacity:1}
  42%{
    opacity:1;
    transform:translate3d(2px,-18px,28px) rotateX(28deg) rotateY(-12deg) scale(1);
  }
  68%{
    opacity:1;
    transform:translate3d(0,2px,8px) rotateX(72deg) rotateY(4deg) scale(.78);
  }
  86%{
    opacity:.85;
    transform:translate3d(0,10px,-6px) rotateX(88deg) rotateY(0deg) scale(.42);
  }
  100%{
    opacity:0;
    transform:translate3d(0,14px,-18px) rotateX(92deg) rotateY(0deg) scale(.18);
  }
}
.arcade-coin-slot-mark{
  position:absolute;z-index:28;pointer-events:none;border-radius:3px;
  background:rgba(180,80,255,.0);
  box-shadow:0 0 0 0 rgba(190,90,255,0);
  transform:translateY(-15%);
  transition:background .35s ease, box-shadow .35s ease;
}
.arcade-machine.is-coin-insert .arcade-coin-slot-mark,
.arcade-machine.is-cabinet-lit .arcade-coin-slot-mark{
  background:rgba(190,100,255,.28);
  box-shadow:
    0 0 14px rgba(200,110,255,.75),
    0 0 28px rgba(120,60,255,.45),
    inset 0 0 8px rgba(255,200,255,.35);
  animation:arcadeSlotPulse 1.1s ease-in-out infinite;
}
@keyframes arcadeSlotPulse{
  0%,100%{filter:brightness(1)}
  50%{filter:brightness(1.45)}
}

/* Durchsichtiges Hit-Feld über dem Knopfcluster = Spielen */
.arcade-play-hit{
  position:absolute;z-index:34;margin:0;padding:0;border:0;cursor:pointer;
  border-radius:18% / 28%;
  background:transparent;
  box-shadow:none;
  -webkit-tap-highlight-color:transparent;
  transition:background .18s ease, box-shadow .18s ease, filter .15s ease;
}
.arcade-play-hit:hover,
.arcade-play-hit:focus-visible{
  background:rgba(0,255,240,.06);
  box-shadow:
    0 0 0 1px rgba(0,255,240,.22),
    0 0 16px rgba(180,80,255,.28),
    inset 0 0 18px rgba(255,60,160,.12);
  outline:none;
}
.arcade-play-hit:active{
  background:rgba(255,60,160,.1);
  filter:brightness(1.08);
}
.arcade-play-hit.is-done,
.arcade-play-hit:disabled{
  cursor:not-allowed;
  background:rgba(0,0,0,.12);
  box-shadow:none;
  filter:grayscale(.4);
}
.arcade-play-hit.loading{
  pointer-events:none;
  background:rgba(0,255,240,.08);
  animation:arcadePlayHitPulse .9s ease-in-out infinite;
}
@keyframes arcadePlayHitPulse{
  0%,100%{box-shadow:0 0 0 1px rgba(0,255,240,.15),0 0 10px rgba(180,80,255,.15)}
  50%{box-shadow:0 0 0 1px rgba(0,255,240,.4),0 0 22px rgba(180,80,255,.45)}
}

/* Licht: durchlaufendes Puls genau auf den äußeren Neon-Streifen der Art */
.arcade-cab-fx{
  position:absolute;inset:0;z-index:26;pointer-events:none;opacity:0;
  transition:opacity .35s ease;
}
.arcade-machine.is-powering-up .arcade-cab-fx,
.arcade-machine.is-cabinet-lit .arcade-cab-fx{opacity:1}
.arcade-cab-fx-neon{
  position:absolute;top:3%;bottom:9%;width:3.2%;
  border-radius:999px;overflow:hidden;
  background:transparent;
  mix-blend-mode:screen;
}
/* Kalibriert an cyan Neon-Pixeln der Automaten-Art (~17% / ~83%) */
.arcade-cab-fx-neon--l{left:16.4%;right:auto}
.arcade-cab-fx-neon--r{left:auto;right:16.4%}
.arcade-cab-fx-run{
  position:absolute;left:-90%;right:-90%;height:16%;
  display:block;margin:0;padding:0;border:0;
  border-radius:50%;
  background:radial-gradient(ellipse at 50% 50%,
    rgba(255,255,255,1) 0%,
    rgba(160,255,255,.98) 18%,
    rgba(0,255,240,.85) 42%,
    rgba(0,220,255,.35) 62%,
    transparent 78%);
  filter:blur(1.2px);
  box-shadow:
    0 0 10px rgba(0,255,240,1),
    0 0 22px rgba(0,255,240,.75),
    0 0 36px rgba(120,80,255,.4);
  opacity:0;
  top:-20%;
}
.arcade-machine.is-cabinet-lit .arcade-cab-fx-neon--l .arcade-cab-fx-run{
  animation:arcadeNeonChase 1.15s cubic-bezier(.35,.1,.25,1) infinite;
}
.arcade-machine.is-cabinet-lit .arcade-cab-fx-neon--r .arcade-cab-fx-run{
  animation:arcadeNeonChase 1.15s cubic-bezier(.35,.1,.25,1) .18s infinite;
}
@keyframes arcadeNeonChase{
  0%{top:-18%;opacity:0}
  8%{opacity:1}
  50%{opacity:1}
  92%{opacity:.9}
  100%{top:100%;opacity:0}
}
/* Streifen kurz mitleuchten, wenn der Pulse durchläuft */
.arcade-machine.is-cabinet-lit .arcade-cab-fx-neon{
  box-shadow:0 0 0 rgba(0,255,240,0);
  animation:arcadeNeonStripPulse 1.15s ease-in-out infinite;
}
.arcade-machine.is-cabinet-lit .arcade-cab-fx-neon--r{
  animation-delay:.18s;
}
@keyframes arcadeNeonStripPulse{
  0%,100%{box-shadow:inset 0 0 6px rgba(0,255,240,.0)}
  40%{box-shadow:inset 0 0 10px rgba(0,255,240,.35),0 0 14px rgba(0,255,240,.45)}
}

.arcade-machine-fs.is-entering-game .arcade-play-hit,
.arcade-machine-fs.is-entering-game .arcade-cab-arrow,
.arcade-machine-fs.is-entering-game .arcade-cabinet-dot,
.arcade-machine-fs.is-entering-game .arcade-machine-back{
  pointer-events:none;opacity:.4;
}
.arcade-machine-fs .arcade-machine-stage{
  transition:transform 2.1s cubic-bezier(.16,.78,.2,1), filter 1.4s ease;
  will-change:transform;
}
.arcade-machine-fs.is-monitor-zoom .arcade-machine-stage{
  transform:scale(var(--arcade-zoom-scale, 8));
  filter:brightness(1.05) saturate(1.08);
}
.arcade-machine-fs.is-monitor-zoom .arcade-hall-bg,
.arcade-machine-fs.is-monitor-zoom .arcade-hall-veil,
.arcade-machine-fs.is-monitor-zoom .arcade-machine-chrome,
.arcade-machine-fs.is-monitor-zoom .arcade-machine-controls,
.arcade-machine-fs.is-monitor-zoom .arcade-cab-arrow,
.arcade-machine-fs.is-monitor-zoom .arcade-machine-frame,
.arcade-machine-fs.is-monitor-zoom .arcade-machine-marquee,
.arcade-machine-fs.is-monitor-zoom .arcade-joystick,
.arcade-machine-fs.is-monitor-zoom .arcade-play-hit,
.arcade-machine-fs.is-monitor-zoom .arcade-cab-fx,
.arcade-machine-fs.is-monitor-zoom .arcade-coin-slot-mark,
.arcade-machine-fs.is-monitor-zoom .arcade-coin-insert{
  opacity:0!important;
  transition:opacity .9s ease;
  pointer-events:none!important;
}
.arcade-machine-fs.is-monitor-zoom .arcade-screen-hud{
  opacity:0;
  transition:opacity .5s ease;
}
.arcade-machine-fs.is-monitor-zoom .arcade-machine-screen-clip{
  border-radius:0;
  box-shadow:0 0 40px rgba(0,255,220,.18);
}
@media (prefers-reduced-motion:reduce){
  .arcade-machine.is-coin-insert .arcade-coin-insert.is-dropping{animation:none;opacity:0}
  .arcade-machine.is-cabinet-lit .arcade-cab-fx-neon,
  .arcade-machine.is-cabinet-lit .arcade-cab-fx-run,
  .arcade-machine.is-cabinet-lit .arcade-coin-slot-mark,
  .arcade-play-hit.loading{animation:none}
  .arcade-machine-fs .arcade-machine-stage{transition:none}
  .arcade-machine-fs.is-monitor-zoom .arcade-machine-stage{transform:none;filter:none}
  .arcade-machine-fs.is-monitor-zoom .arcade-hall-bg,
  .arcade-machine-fs.is-monitor-zoom .arcade-hall-veil,
  .arcade-machine-fs.is-monitor-zoom .arcade-machine-chrome,
  .arcade-machine-fs.is-monitor-zoom .arcade-machine-controls,
  .arcade-machine-fs.is-monitor-zoom .arcade-cab-arrow,
  .arcade-machine-fs.is-monitor-zoom .arcade-machine-frame,
  .arcade-machine-fs.is-monitor-zoom .arcade-machine-marquee,
  .arcade-machine-fs.is-monitor-zoom .arcade-joystick,
  .arcade-machine-fs.is-monitor-zoom .arcade-play-hit{opacity:1!important;transition:none}
}
.arcade-screen-preview{
  position:absolute;inset:0;width:100%;height:100%;
  /* CRT ist ultra-breit → cover + leichter Top-Fokus, Motiv füllt bis zum Rand */
  object-fit:cover;object-position:center 8%;
  display:block;filter:saturate(1.12) contrast(1.06);
  z-index:1;background:#020308;
}
.arcade-screen-scan{
  position:absolute;inset:0;pointer-events:none;z-index:2;opacity:.16;
  background:repeating-linear-gradient(180deg,transparent 0 2px,rgba(0,0,0,.35) 2px 3px);
}
.arcade-screen-glow{
  position:absolute;inset:0;pointer-events:none;z-index:1;
  background:
    linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.0) 40%,rgba(0,0,0,.55) 100%),
    radial-gradient(ellipse at 50% 12%,rgba(0,255,220,.08),transparent 48%);
}
.arcade-screen-hud{
  position:absolute;left:0;right:0;bottom:0;z-index:3;
  max-height:100%;box-sizing:border-box;overflow:hidden;
  padding:clamp(4px,1vh,8px) clamp(7px,1.4vw,11px) clamp(5px,1.1vh,9px);
  display:flex;flex-direction:column;justify-content:flex-end;gap:2px;align-items:stretch;line-height:1.2;
  background:linear-gradient(180deg,rgba(4,6,14,0) 0%,rgba(4,6,14,.72) 38%,rgba(4,6,14,.94) 100%);
}
.arcade-screen-title-row{
  display:flex;align-items:center;gap:6px;min-width:0;
  flex:0 0 auto; /* Name nicht wegclippen wenn HUD zu voll */
}
.arcade-screen-emoji{
  flex:0 0 auto;font-size:clamp(.85rem,2vw,1.05rem);line-height:1;
  filter:drop-shadow(0 0 6px rgba(0,255,220,.35)) drop-shadow(0 2px 4px rgba(0,0,0,.7));
}
.arcade-screen-name{
  min-width:0;flex:1 1 auto;font-family:"Cinzel",ui-serif,Georgia,serif;
  font-weight:700;font-size:clamp(.78rem,2.1vw,1.05rem);letter-spacing:.04em;
  color:#fff6d8;
  text-shadow:
    0 0 12px rgba(255,200,80,.35),
    0 2px 2px rgba(0,0,0,.9),
    0 0 1px rgba(0,0,0,.9);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.arcade-screen-desc{
  font-family:"Segoe UI",system-ui,sans-serif;
  color:rgba(220,235,255,.92);line-height:1.25;max-width:100%;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
  font-size:.68rem;font-weight:500;letter-spacing:.01em;
  text-shadow:0 1px 3px rgba(0,0,0,.85);
  padding-left:2px;
}
.arcade-screen-desc.arcade-screen-attempts{
  color:#9ef6ff;font-weight:700;letter-spacing:.04em;
  text-shadow:0 1px 3px rgba(0,0,0,.85),0 0 8px rgba(0,220,255,.35);
}
.arcade-screen-desc.is-empty,
.arcade-screen-desc[hidden]{display:none!important}
.arcade-screen-meta{margin-top:4px;gap:5px}
.arcade-screen-meta .chip{
  font-size:.6rem;padding:3px 8px;border-radius:999px;
  background:rgba(0,0,0,.45);border:1px solid rgba(126,249,255,.28);
  color:#e8fbff;backdrop-filter:blur(6px);
  box-shadow:0 0 8px rgba(0,255,220,.12);
}
.arcade-energy{
  display:inline-flex;align-items:center;gap:5px;
  padding:3px 9px 3px 6px;border-radius:999px;
  font-family:"Orbitron","Segoe UI",system-ui,sans-serif;
  font-size:.62rem;font-weight:700;letter-spacing:.06em;line-height:1;
  color:#fff8e0;
  background:
    linear-gradient(135deg,rgba(255,200,60,.22),rgba(255,120,40,.12) 45%,rgba(8,10,20,.72)),
    rgba(6,8,16,.55);
  border:1px solid rgba(255,210,90,.55);
  box-shadow:
    0 0 0 1px rgba(0,0,0,.35),
    0 0 10px rgba(255,180,40,.35),
    inset 0 1px 0 rgba(255,240,180,.28),
    inset 0 -1px 0 rgba(0,0,0,.35);
  backdrop-filter:blur(8px);
  text-shadow:0 1px 2px rgba(0,0,0,.85);
}
.arcade-energy-bolt{
  display:inline-flex;align-items:center;justify-content:center;
  width:1.05em;height:1.05em;color:#ffe566;
  filter:
    drop-shadow(0 0 3px rgba(255,220,80,.95))
    drop-shadow(0 0 8px rgba(255,160,40,.65));
  animation:arcadeEnergyPulse 2.4s ease-in-out infinite;
}
.arcade-energy-bolt svg{display:block;width:100%;height:100%}
.arcade-energy-val{
  min-width:.9em;text-align:center;
  color:#fff4c8;
  text-shadow:0 0 6px rgba(255,200,80,.45),0 1px 2px rgba(0,0,0,.9);
}
@keyframes arcadeEnergyPulse{
  0%,100%{filter:drop-shadow(0 0 3px rgba(255,220,80,.9)) drop-shadow(0 0 7px rgba(255,160,40,.55));transform:scale(1)}
  50%{filter:drop-shadow(0 0 5px rgba(255,240,120,1)) drop-shadow(0 0 12px rgba(255,140,30,.75));transform:scale(1.06)}
}
@media (prefers-reduced-motion:reduce){
  .arcade-energy-bolt{animation:none}
}
.arcade-screen-daily{width:100%;margin-top:2px}
.arcade-screen-daily .arcade-daily-bar{
  height:3px;background:rgba(255,255,255,.12);border-radius:99px;overflow:hidden;
}
.arcade-screen-daily .arcade-daily-bar span{
  background:linear-gradient(90deg,#7ef9ff,#c084fc,#ffd27a);
}
.arcade-cab-arrow{
  width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,214,120,.4);
  background:radial-gradient(circle at 35% 30%,#3a2a4d,#140e1c);
  color:#ffe6a8;font-size:1.7rem;line-height:1;cursor:pointer;z-index:3;
  box-shadow:0 4px 14px rgba(0,0,0,.45);flex:0 0 auto;
}
.arcade-cab-arrow:hover{filter:brightness(1.15);border-color:rgba(255,214,120,.7)}
.arcade-cab-arrow:active{transform:scale(.96)}
.arcade-machine-controls{
  width:min(520px,100%);display:flex;flex-direction:column;align-items:center;gap:10px;
  flex:0 0 auto;padding-bottom:2px;
}
.arcade-cabinet-dots{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}
.arcade-cabinet-dot{
  width:9px;height:9px;border-radius:50%;border:0;padding:0;cursor:pointer;
  background:rgba(255,255,255,.22);
}
.arcade-cabinet-dot.is-active{
  background:#7ef9ff;box-shadow:0 0 8px rgba(0,255,255,.65);transform:scale(1.15);
}
.arcade-machine-empty{position:relative;z-index:2;margin:auto;padding:16px 20px}

/* Arcade: an Viewport-Breite/-Höhe anpassen */
@media (max-width:900px){
  .arcade-machine-fs{gap:6px;padding-left:6px;padding-right:6px}
  .arcade-machine-stage{gap:4px}
  .arcade-machine,
  .arcade-machine-sizer{
    max-width:min(480px,86vw)!important;
  }
  .arcade-machine-sizer{max-height:min(100%,calc(100dvh - 128px))}
}
@media (max-width:720px){
  .arcade-machine,
  .arcade-machine-sizer{
    max-width:min(100%,78vw)!important;
  }
  .arcade-machine-sizer{max-height:min(100%,calc(100dvh - 118px))}
  .arcade-cab-arrow{width:34px;height:34px;font-size:1.35rem;min-width:44px;min-height:44px}
  .arcade-screen-desc{-webkit-line-clamp:1}
  .arcade-machine-chips{flex-wrap:wrap;gap:4px;font-size:.68rem}
  .arcade-machine-chrome{width:100%;padding:0 2px}
}
@media (max-width:520px){
  .arcade-machine-fs{gap:4px;padding:max(4px,env(safe-area-inset-top)) 4px max(6px,env(safe-area-inset-bottom))}
  .arcade-machine,
  .arcade-machine-sizer{
    max-width:min(100%,92vw)!important;
  }
  .arcade-machine-sizer{max-height:min(100%,calc(100dvh - 108px))}
  .arcade-machine-marquee{width:min(58%,12rem);top:4%;height:11.5%}
  .arcade-machine-marquee-line{font-size:clamp(.34rem,2.2vw,.48rem);letter-spacing:.1em}
  .arcade-machine-marquee-line--main{font-size:clamp(.48rem,2.8vw,.72rem);letter-spacing:.06em}
  .arcade-cabinet-game-label{display:none!important}
  .arcade-screen-hud{padding:5px 7px 6px}
  .arcade-screen-name{font-size:clamp(.72rem,3.2vw,.95rem)}
  .arcade-screen-desc{font-size:.62rem;-webkit-line-clamp:1}
  .arcade-cab-arrow{
    width:30px;height:30px;font-size:1.2rem;
    position:absolute;z-index:6;top:50%;transform:translateY(-50%);
  }
  .arcade-cab-prev{left:2px}
  .arcade-cab-next{right:2px}
  .arcade-machine-stage{position:relative;gap:0;padding:0 28px}
  .arcade-machine-controls{gap:6px;padding-bottom:0}
  .arcade-play-hit{border-radius:16% / 24%}
}
@media (max-width:420px){
  .arcade-screen-desc{font-size:.6rem;-webkit-line-clamp:2}
  .arcade-machine-brand .inv-chips{flex-wrap:wrap;gap:3px;font-size:.58rem}
  .arcade-cabinet-index{font-size:.7rem;min-width:2.6rem}
  .arcade-neon-exit{padding:7px 12px 7px 10px!important}
  .arcade-neon-exit-txt{font-size:.68rem}
}
@media (max-height:760px){
  .arcade-machine-sizer{max-height:min(100%,calc(100dvh - 112px))}
  .arcade-machine-marquee-line--main{font-size:clamp(.52rem,2.2vw,.82rem)}
  .arcade-machine-fs{gap:4px}
  .arcade-machine-controls{gap:6px}
}
@media (max-height:640px){
  .arcade-machine-fs{gap:2px;padding-top:max(2px,env(safe-area-inset-top))}
  .arcade-machine-chrome{margin-bottom:0}
  .arcade-machine-chips,.arcade-cabinet-index{flex-wrap:wrap;gap:3px;font-size:.62rem}
  .arcade-machine,
  .arcade-machine-sizer{
    max-width:min(420px,72vw)!important;
  }
  .arcade-machine-sizer{max-height:min(100%,calc(100dvh - 72px))}
  .arcade-screen-hud{padding:3px 6px 4px}
  .arcade-screen-desc,.arcade-screen-daily{font-size:.55rem;-webkit-line-clamp:1;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
  .arcade-screen-meta .chip{font-size:.52rem;padding:2px 6px}
  .arcade-cab-arrow{width:28px;height:28px;font-size:1.1rem}
  .arcade-machine-controls{transform:scale(.92);transform-origin:center bottom}
}
@media (max-height:520px){
  .arcade-machine-sizer{max-height:min(100%,calc(100dvh - 56px))}
  .arcade-neon-exit{padding:6px 10px 6px 8px!important}
  .arcade-neon-exit-txt{font-size:.64rem}
  .arcade-machine-marquee-line--main{font-size:clamp(.48rem,2vw,.72rem)}
  .arcade-cabinet-dots{gap:5px}
  .arcade-cabinet-dot{width:7px;height:7px}
}
@media (max-width:720px) and (max-height:640px){
  .arcade-machine,
  .arcade-machine-sizer{
    max-width:min(100%,58vh)!important;
  }
}

/* ===== Quest Chronik-Halle (Vollbild) ===== */
body.quest-hall-active .rpg-wwm-fs-body{
  padding:0!important;overflow:hidden!important;
}
body.quest-hall-active .rpg-wwm-fs-shell,
.rpg-wwm-fs-shell.arcade-fs-theme-quest-hall{
  background:transparent!important;border:none!important;box-shadow:none!important;
  width:100%;max-width:none;height:100%;border-radius:0;
}
body.quest-hall-active .top-bar{opacity:.28;pointer-events:none}
.quest-hall-fs{
  position:relative;width:100%;height:100%;min-height:100dvh;
  display:grid;
  grid-template-rows:auto auto auto minmax(0,1fr);
  grid-template-columns:1fr;
  gap:0;
  padding:max(10px,env(safe-area-inset-top)) 14px max(12px,env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
  box-sizing:border-box;overflow:hidden;color:#f3e6c8;
  background:#120e0a;
  /* Wischen = Seitenwechsel/Scroll, kein Browser-Pinch-Zoom */
  touch-action:pan-x pan-y;
}
.quest-hall-fs .rpg-hall-siderail{display:none!important}
/* Zurück als dezenter Link (wie Hof), kein Shop-Button */
.quest-hall-close{
  position:absolute;z-index:24;
  top:max(12px, env(safe-area-inset-top));
  left:max(12px, env(safe-area-inset-left));
  display:inline-flex;align-items:center;gap:6px;
  margin:0;padding:8px 4px;border:0;background:transparent;cursor:pointer;
  color:#f0e2c0;-webkit-tap-highlight-color:transparent;
  transition:transform .14s ease, color .14s ease;
}
.quest-hall-close-mark{
  font-family:"Cinzel",ui-serif,Georgia,serif;font-size:1.35rem;font-weight:800;line-height:1;
  color:#e8c45a;text-shadow:0 1px 3px rgba(0,0,0,.8),0 0 12px rgba(232,180,90,.35);
}
.quest-hall-close-txt{
  font-family:"Cinzel",ui-serif,Georgia,serif;font-size:.72rem;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;
  text-shadow:0 1px 3px rgba(0,0,0,.85);
  border-bottom:1px solid rgba(232,196,120,.35);
  padding-bottom:2px;
}
.quest-hall-close:hover,
.quest-hall-close:focus-visible{
  transform:translateX(-2px);outline:none;color:#fff4dc;
}
.quest-hall-close:hover .quest-hall-close-txt,
.quest-hall-close:focus-visible .quest-hall-close-txt{
  border-bottom-color:rgba(255,220,150,.75);
}
.quest-hall-bg,.quest-hall-veil{
  position:absolute;inset:0;pointer-events:none;z-index:0;
}
.quest-hall-bg{
  background-size:cover;background-position:center 40%;
  filter:saturate(1.05) contrast(1.04);
  transform:scale(1.03);
  animation:questHallBgDrift 22s ease-in-out infinite alternate;
}
@keyframes questHallBgDrift{
  from{transform:scale(1.02) translate3d(0,0,0)}
  to{transform:scale(1.06) translate3d(0,-1.2%,0)}
}
.quest-hall-veil{
  background:
    linear-gradient(180deg,rgba(12,8,5,.55) 0%,rgba(12,8,5,.22) 28%,rgba(12,8,5,.35) 62%,rgba(8,6,4,.82) 100%),
    radial-gradient(ellipse at 50% 18%,rgba(232,180,90,.12),transparent 50%);
}
.quest-hall-chrome,
.quest-hall-hero,
.quest-hall-filters,
.quest-hall-carousel,
.quest-hall-sheet{position:relative;z-index:2}
.quest-hall-chrome{
  display:flex;align-items:center;justify-content:flex-end;gap:10px;
  margin-bottom:4px;
  min-height:28px;
}
.quest-hall-chips{justify-content:flex-end}
.quest-hall-exit{
  position:absolute;top:0;right:0;bottom:0;z-index:12;
  width:max(44px, env(safe-area-inset-right, 0px) + 40px);
  border:0;padding:0;margin:0;cursor:pointer;
  background:transparent;color:#ffe8b0;
  display:flex;align-items:center;justify-content:center;
  -webkit-tap-highlight-color:transparent;
  overflow:hidden;
}
.quest-hall-exit-glow{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,
      transparent 0%,
      rgba(255,230,170,.02) 12%,
      rgba(255,220,140,.1) 38%,
      rgba(255,228,160,.32) 62%,
      rgba(255,240,190,.55) 82%,
      rgba(255,248,220,.72) 100%),
    radial-gradient(ellipse 120% 70% at 100% 50%,
      rgba(255,236,190,.55) 0%,
      rgba(255,210,120,.18) 42%,
      transparent 72%);
  box-shadow:
    inset 6px 0 18px rgba(255,230,160,.2),
    -10px 0 28px rgba(255,210,120,.18),
    0 0 40px rgba(232,180,90,.16);
  opacity:.95;
  filter:saturate(1.05);
  transition:opacity .18s ease, filter .18s ease, box-shadow .18s ease;
}
.quest-hall-exit-glow::before{
  content:'';position:absolute;inset:-8% -20% -8% 35%;
  background:linear-gradient(105deg, transparent 0%, rgba(255,244,210,.18) 45%, rgba(255,248,220,.35) 100%);
  transform:skewX(-8deg);
  opacity:.85;pointer-events:none;
}
.quest-hall-exit-arrow{
  position:relative;z-index:1;
  font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:clamp(1.7rem,3.6vh,2.45rem);font-weight:700;line-height:1;
  text-shadow:0 0 14px rgba(255,236,180,.9), 0 0 28px rgba(255,210,120,.45), 0 1px 0 rgba(0,0,0,.45);
  transform:translateX(2px);
  transition:transform .18s ease, color .18s ease;
}
.quest-hall-exit:hover .quest-hall-exit-glow,
.quest-hall-exit:focus-visible .quest-hall-exit-glow{
  opacity:1;filter:brightness(1.14) saturate(1.1);
  box-shadow:
    inset 8px 0 22px rgba(255,236,180,.28),
    -14px 0 36px rgba(255,220,140,.28),
    0 0 48px rgba(232,180,90,.22);
}
.quest-hall-exit:hover .quest-hall-exit-arrow,
.quest-hall-exit:focus-visible .quest-hall-exit-arrow{
  transform:translateX(5px);color:#fffaf0;
}
.quest-hall-exit:focus-visible{outline:none}
.quest-hall-exit:active .quest-hall-exit-arrow{transform:translateX(7px)}
.quest-hall-filter.is-empty{
  opacity:.42;filter:grayscale(.35);
  border-color:rgba(180,160,120,.18);
  background:rgba(12,10,8,.35);
  color:rgba(230,220,200,.55);
}
.quest-hall-filter.is-empty.is-on{
  opacity:.72;filter:none;
  border-color:rgba(232,196,120,.4);
  color:rgba(255,244,220,.82);
}
.quest-hall-filter.is-empty:hover{transform:none;border-color:rgba(200,180,140,.3)}
.quest-hall-card--empty{
  pointer-events:none;cursor:default;
  opacity:.28;filter:grayscale(.25) brightness(.85);
  border-style:dashed;border-color:rgba(255,214,140,.14);
  box-shadow:none;
}
.quest-hall-card--empty .quest-hall-card-art{
  background:
    linear-gradient(160deg,rgba(40,28,18,.55),rgba(18,12,8,.7)),
    url("/activity/assets/quest-hall/quest-cat-side.webp") center/cover no-repeat;
  transform:none!important;
}
.quest-hall-card--empty:hover{transform:none;border-color:rgba(255,214,140,.14);box-shadow:none}
.quest-hall-empty-hint{
  text-align:center;margin:2px 0 0;color:rgba(240,230,210,.55);
}
.quest-hall-hero{
  text-align:center;max-width:42rem;margin:0 auto 4px;padding:2px 8px 0;
}
.quest-hall-brand{
  margin:0;font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:clamp(.68rem,2vw,.88rem);letter-spacing:.28em;text-transform:uppercase;
  color:#e8c45a;text-shadow:0 0 18px rgba(232,180,90,.35);
}
.quest-hall-title{
  margin:.05rem 0 .15rem;font-family:"Cinzel",ui-serif,Georgia,serif;
  font-weight:800;font-size:clamp(1.55rem,5.5vw,2.6rem);letter-spacing:.06em;line-height:1;
  color:#fff4dc;
  text-shadow:0 2px 0 rgba(0,0,0,.55),0 0 28px rgba(232,180,90,.25);
}
.quest-hall-sub{
  margin:0 auto;max-width:28rem;
  font-family:"Segoe UI",system-ui,sans-serif;
  font-size:clamp(.7rem,1.8vw,.84rem);line-height:1.3;
  color:rgba(243,230,200,.82);
}
.quest-hall-filters{
  display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:6px;
  margin:0 auto 8px;max-width:920px;width:100%;
  overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;padding:2px 2px 4px;
}
.quest-hall-filters::-webkit-scrollbar{display:none}
.quest-hall-filter{
  flex:0 0 auto;
  border:1px solid rgba(232,196,120,.28);
  background:rgba(20,14,10,.55);
  color:#f0e2c0;border-radius:999px;padding:6px 12px;cursor:pointer;
  font-size:.72rem;letter-spacing:.03em;
  backdrop-filter:blur(8px);
  transition:background .15s ease,border-color .15s ease,transform .12s ease;
}
.quest-hall-filter em{
  font-style:normal;opacity:.7;margin-left:4px;
}
.quest-hall-filter:hover{border-color:rgba(232,196,120,.55);transform:translateY(-1px)}
.quest-hall-filter.is-on{
  background:linear-gradient(180deg,rgba(232,180,90,.35),rgba(120,70,20,.45));
  border-color:rgba(255,214,120,.7);color:#fff8e6;
}
.quest-hall-carousel{
  min-height:0;overflow:hidden;
  display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;
  gap:8px;max-width:1100px;width:100%;margin:0 auto;padding:0 2px;
}
.quest-hall-carousel-stage{
  display:flex;align-items:stretch;justify-content:center;gap:10px;
  flex:1 1 auto;min-height:0;width:100%;
  flex-direction:column;
  touch-action:pan-x;
}
.quest-hall-carousel-nav{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  flex:0 0 auto;width:100%;min-height:40px;
}
.quest-hall-carousel-nav .quest-hall-carousel-dots{
  flex:1 1 auto;justify-content:center;max-height:none;margin:0;
}
.quest-hall-carousel-viewport{
  flex:1 1 auto;min-width:0;max-width:none;
  display:flex;flex-direction:column;align-items:stretch;gap:8px;
  min-height:0;
}
.quest-hall-carousel-viewport.is-slide-left .quest-hall-carousel-card-wrap,
.quest-hall-carousel-viewport.is-slide-right .quest-hall-carousel-card-wrap{
  animation:questHallSlideIn .28s cubic-bezier(.2,.8,.2,1) both;
}
.quest-hall-carousel-viewport.is-slide-left .quest-hall-carousel-card-wrap{
  --qh-slide-from:28px;
}
.quest-hall-carousel-viewport.is-slide-right .quest-hall-carousel-card-wrap{
  --qh-slide-from:-28px;
}
@keyframes questHallSlideIn{
  from{opacity:.35;transform:translateX(var(--qh-slide-from,20px)) scale(.985)}
  to{opacity:1;transform:none}
}
.quest-hall-carousel-section{
  margin:0;text-align:center;flex-shrink:0;
  font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:.85rem;letter-spacing:.1em;color:#ffe6a8;
  text-shadow:0 1px 6px rgba(0,0,0,.55);
}
.quest-hall-carousel-card-wrap{
  width:100%;flex:1 1 auto;min-height:0;overflow:hidden;
  display:flex;flex-direction:column;
}
.quest-hall-page-grid{
  flex:1 1 auto;min-height:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:10px;
  align-content:stretch;
}
.quest-hall-page-grid[data-page-size="2"]{
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(1,minmax(0,1fr));
}
.quest-hall-page-grid[data-page-size="6"]{
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(3,minmax(0,1fr));
}
@media (min-width:780px){
  .quest-hall-page-grid[data-page-size="4"]{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .quest-hall-page-grid[data-page-size="6"]{
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:repeat(2,minmax(0,1fr));
    gap:12px;
  }
}
.quest-hall-carousel-index{
  text-align:center;color:rgba(243,230,200,.72);letter-spacing:.06em;flex-shrink:0;
}
.quest-hall-arrow{
  width:40px;height:36px;border-radius:10px;border:1px solid rgba(255,214,120,.35);
  background:rgba(20,14,10,.72);
  color:#ffe6a8;font-size:1.35rem;line-height:1;cursor:pointer;z-index:3;
  box-shadow:none;flex:0 0 auto;align-self:center;
  display:inline-flex;align-items:center;justify-content:center;
}
.quest-hall-arrow[hidden]{display:none!important}
.quest-hall-arrow:hover{filter:brightness(1.15);border-color:rgba(255,214,120,.7)}
.quest-hall-arrow:active{transform:scale(.96)}
.quest-hall-carousel-dots{
  display:flex;gap:7px;flex-wrap:wrap;justify-content:center;max-height:28px;overflow:hidden;flex-shrink:0;
}
.quest-hall-dot{
  width:9px;height:9px;border-radius:50%;border:0;padding:0;cursor:pointer;
  background:rgba(255,255,255,.22);
}
.quest-hall-dot.is-active{
  background:#e8c45a;box-shadow:0 0 8px rgba(232,180,90,.65);transform:scale(1.15);
}
.quest-hall-card{
  position:relative;display:block;width:100%;min-height:0;height:100%;
  border:1px solid rgba(255,214,140,.28);border-radius:14px;
  overflow:hidden;cursor:pointer;padding:0;text-align:left;color:inherit;
  background:#1a120c;
  box-shadow:0 8px 22px rgba(0,0,0,.35);
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.quest-hall-card:hover{
  transform:translateY(-2px);
  border-color:rgba(255,214,140,.55);
  box-shadow:0 12px 28px rgba(0,0,0,.45),0 0 18px rgba(232,180,90,.15);
}
.quest-hall-card:active{transform:translateY(0) scale(.99)}
.quest-hall-card-art{
  position:absolute;inset:0;
  background-image:var(--qh-art);background-size:cover;background-position:center;
  transform:scale(1.04);transition:transform .35s ease;
}
.quest-hall-card:hover .quest-hall-card-art{transform:scale(1.08)}
.quest-hall-card-veil{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,7,5,.12) 0%,rgba(10,7,5,.28) 38%,rgba(8,5,3,.9) 100%);
}
.quest-hall-card-body{
  position:relative;z-index:1;display:flex;flex-direction:column;gap:4px;
  padding:14px 12px 12px;min-height:148px;height:100%;justify-content:flex-end;
  box-sizing:border-box;
}
.quest-hall-card-kicker{
  font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
  color:#e8c45a;opacity:.92;
}
.quest-hall-card-title{
  font-family:"Cinzel",ui-serif,Georgia,serif;font-size:clamp(.95rem,2.6vw,1.15rem);line-height:1.15;
  color:#fff6e4;font-weight:700;
  text-shadow:0 1px 2px rgba(0,0,0,.75);
}
.quest-hall-card-desc{
  font-size:.72rem;line-height:1.3;color:rgba(240,230,210,.86);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.quest-hall-card-meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.quest-hall-card-bar{
  display:block;height:4px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden;margin-top:6px;
}
.quest-hall-card-bar i{
  display:block;height:100%;background:linear-gradient(90deg,#c9a227,#f0d78c);border-radius:99px;
}
.quest-hall-card--claim{border-color:rgba(80,200,120,.45)}
.quest-hall-card--active.is-focused{border-color:rgba(126,249,255,.45);box-shadow:0 0 18px rgba(0,220,255,.18)}
.quest-hall-feedback{
  flex-shrink:0;margin:0;padding:8px 12px;border-radius:10px;
  background:rgba(20,14,10,.65);border:1px solid rgba(232,196,120,.25);
  font-size:.74rem;line-height:1.35;
}
.quest-hall-empty,.quest-hall-foot{
  text-align:center;color:rgba(240,230,210,.7);font-size:.74rem;margin:0;
  flex-shrink:0;
}
.quest-hall-sheet{
  position:absolute;right:max(52px,env(safe-area-inset-right) + 44px);bottom:max(10px,env(safe-area-inset-bottom));
  top:max(64px,env(safe-area-inset-top));
  width:min(420px,calc(92vw - 56px));z-index:8;
  transform:translateX(110%);opacity:0;pointer-events:none;
  transition:transform .28s cubic-bezier(.2,.8,.2,1), opacity .22s ease;
}
.quest-hall-sheet:not(.is-empty){
  transform:translateX(0);opacity:1;pointer-events:auto;
}
.quest-hall-sheet-inner{
  height:100%;overflow:auto;overscroll-behavior:contain;
  border-radius:16px;border:1px solid rgba(255,214,140,.28);
  background:rgba(14,10,7,.92);backdrop-filter:blur(14px);
  box-shadow:0 18px 40px rgba(0,0,0,.55);
  display:flex;flex-direction:column;
}
.quest-hall-sheet-close{
  position:absolute;top:8px;right:8px;z-index:3;
  width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,214,140,.3);
  background:rgba(0,0,0,.45);color:#ffe6a8;font-size:1.25rem;cursor:pointer;line-height:1;
}
.quest-hall-sheet-hero{
  flex:0 0 120px;background-image:var(--qh-art);background-size:cover;background-position:center;
  position:relative;
}
.quest-hall-sheet-hero::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 30%,rgba(14,10,7,.95) 100%);
}
.quest-hall-sheet-copy{padding:8px 14px 16px;position:relative}
.quest-hall-sheet-kicker{
  margin:0;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:#e8c45a;
}
.quest-hall-sheet-title{
  margin:4px 0 8px;font-family:"Cinzel",ui-serif,Georgia,serif;font-size:1.35rem;color:#fff6e4;
}
.quest-hall-sheet-desc{margin:0 0 10px;font-size:.82rem;line-height:1.4;color:rgba(240,230,210,.88)}
.quest-hall-sheet-rewards{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}
.quest-hall-sheet-actions{display:flex;flex-wrap:wrap;gap:8px}
.quest-hall-sheet .quest-active{
  background:transparent;border:0;padding:0;margin:0;box-shadow:none;
}
@media (max-width:820px){
  .quest-hall-sheet{
    left:10px;right:10px;top:auto;bottom:max(10px,env(safe-area-inset-bottom));
    width:auto;height:min(58vh,480px);
    transform:translateY(110%);
  }
  .quest-hall-sheet:not(.is-empty){transform:translateY(0)}
  .quest-hall-title{font-size:clamp(1.45rem,7vw,2.2rem)}
  .quest-hall-sub{font-size:.72rem}
  .quest-hall-card-body{min-height:132px}
  .quest-hall-carousel-stage{position:relative;padding:0;gap:8px}
  .quest-hall-page-grid{gap:8px}
}
@media (max-height:700px){
  .quest-hall-hero{margin-bottom:2px}
  .quest-hall-sub{font-size:.7rem;margin-top:0}
  .quest-hall-card-body{min-height:120px}
}
@media (prefers-reduced-motion:reduce){
  .quest-hall-bg{animation:none}
  .quest-hall-card,.quest-hall-sheet,.quest-hall-card-art,
  .quest-hall-carousel-viewport.is-slide-left .quest-hall-carousel-card-wrap,
  .quest-hall-carousel-viewport.is-slide-right .quest-hall-carousel-card-wrap{transition:none;animation:none}
}

/* ===== Profil / Statistik / Hof — immersive Hallen (echtes Vollbild) ===== */
html.flix-rpg-web body.profil-hall-active #app,
html.flix-rpg-web body.stats-hall-active #app,
html.flix-rpg-web body.hof-hall-active #app,
html.flix-rpg-web body.quest-hall-active #app,
html[data-desktop-web="1"] body.profil-hall-active #app,
html[data-desktop-web="1"] body.stats-hall-active #app,
html[data-desktop-web="1"] body.hof-hall-active #app,
html[data-desktop-web="1"] body.quest-hall-active #app{
  max-width:100vw!important;width:100%!important;margin:0!important;padding:0!important;
}
body.profil-hall-active #rpg-wwm-fs,
body.stats-hall-active #rpg-wwm-fs,
body.hof-hall-active #rpg-wwm-fs,
body.quest-hall-active #rpg-wwm-fs,
body.pet-hall-active #rpg-wwm-fs,
#rpg-wwm-fs[data-arcade-theme="profil-hall"],
#rpg-wwm-fs[data-arcade-theme="stats-hall"],
#rpg-wwm-fs[data-arcade-theme="hof-hall"],
#rpg-wwm-fs[data-arcade-theme="quest-hall"],
#rpg-wwm-fs[data-arcade-theme="pet-hall"]{
  position:fixed!important;inset:0!important;left:0!important;top:0!important;right:0!important;bottom:0!important;
  width:100vw!important;height:100dvh!important;
  max-width:none!important;max-height:none!important;
  padding:0!important;margin:0!important;z-index:2147483000!important;
  background:#05070c!important;
  display:flex!important;align-items:stretch!important;justify-content:stretch!important;
}
/* Geschlossenes Overlay darf Theme-display:flex nicht überleben — sonst leeres Goldfenster über Dungeon/Raid */
html body #rpg-wwm-fs.hidden,
html body #rpg-wwm-fs[aria-hidden="true"],
html body #rpg-wwm-fs.hidden[data-arcade-theme],
html body.rpg-raid-lobby-fs #rpg-wwm-fs,
html body.screen-raid #rpg-wwm-fs,
html body.screen-coop-dungeon #rpg-wwm-fs,
html body.rpg-dungeon-market-fs #rpg-wwm-fs,
html body.screen-panel:has(#panel-card.panel-dungeon) #rpg-wwm-fs{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
  opacity:0!important;
  z-index:-1!important;
}
body.profil-hall-active .rpg-wwm-fs-body,
body.stats-hall-active .rpg-wwm-fs-body,
body.hof-hall-active .rpg-wwm-fs-body,
body.quest-hall-active .rpg-wwm-fs-body,
#rpg-wwm-fs[data-arcade-theme="profil-hall"] .rpg-wwm-fs-body,
#rpg-wwm-fs[data-arcade-theme="stats-hall"] .rpg-wwm-fs-body,
#rpg-wwm-fs[data-arcade-theme="hof-hall"] .rpg-wwm-fs-body{
  padding:0!important;overflow:hidden!important;width:100%!important;height:100%!important;max-width:none!important;
}
body.profil-hall-active .rpg-wwm-fs-shell,
body.stats-hall-active .rpg-wwm-fs-shell,
body.hof-hall-active .rpg-wwm-fs-shell,
body.quest-hall-active .rpg-wwm-fs-shell,
.rpg-wwm-fs-shell.arcade-fs-theme-profil-hall,
.rpg-wwm-fs-shell.arcade-fs-theme-stats-hall,
.rpg-wwm-fs-shell.arcade-fs-theme-hof-hall,
.rpg-wwm-fs-shell.arcade-fs-theme-quest-hall,
.rpg-wwm-fs-shell.rpg-arcade-fs-shell.arcade-fs-theme-profil-hall,
.rpg-wwm-fs-shell.rpg-arcade-fs-shell.arcade-fs-theme-stats-hall,
.rpg-wwm-fs-shell.rpg-arcade-fs-shell.arcade-fs-theme-hof-hall{
  background:transparent!important;border:none!important;box-shadow:none!important;
  width:100%!important;max-width:none!important;height:100%!important;min-width:100%!important;
  border-radius:0!important;margin:0!important;
}
body.profil-hall-active .top-bar,
body.stats-hall-active .top-bar,
body.hof-hall-active .top-bar,
body.profil-hall-active #rpg-chrome-back-dock,
body.stats-hall-active #rpg-chrome-back-dock,
body.hof-hall-active #rpg-chrome-back-dock,
body.quest-hall-active #rpg-chrome-back-dock,
body.profil-hall-active #rpg-bag-edge-rail,
body.stats-hall-active #rpg-bag-edge-rail,
body.hof-hall-active #rpg-bag-edge-rail{
  display:none!important;visibility:hidden!important;pointer-events:none!important;opacity:0!important;
}

.rpg-hall-fs{
  position:relative;width:100%;height:100%;min-height:100dvh;
  display:flex;flex-direction:column;gap:0;
  /* Extra Top-Luft für Notch/Kamera (safe-area oft 0 in Android-WebView) */
  padding:max(28px,calc(env(safe-area-inset-top,0px) + 14px)) max(14px,env(safe-area-inset-right,0px)) max(14px,env(safe-area-inset-bottom,0px)) max(62px, calc(env(safe-area-inset-left,0px) + 54px));
  box-sizing:border-box;overflow:hidden;overflow-x:hidden;color:#f3e6c8;
  background:#120e0a;
}
.rpg-hall-bg,.rpg-hall-veil,.rpg-hall-embers{position:absolute;inset:0;pointer-events:none;z-index:0}
.rpg-hall-bg{
  background-size:cover;background-position:center center;
  filter:saturate(1.08) contrast(1.05);
  transform:scale(1.04);
  animation:rpgHallBgDrift 26s ease-in-out infinite alternate;
}
@keyframes rpgHallBgDrift{
  from{transform:scale(1.03) translate3d(0,0,0)}
  to{transform:scale(1.07) translate3d(0,-1.2%,0)}
}
.rpg-hall-veil{
  background:
    linear-gradient(180deg,rgba(6,4,3,.62) 0%,rgba(6,4,3,.12) 28%,rgba(6,4,3,.28) 58%,rgba(3,2,2,.88) 100%),
    radial-gradient(ellipse 70% 50% at 50% 40%,transparent 30%,rgba(0,0,0,.45) 100%);
}
.rpg-hall-embers{
  background:
    radial-gradient(1.5px 1.5px at 12% 30%,rgba(255,210,120,.55),transparent 60%),
    radial-gradient(1px 1px at 78% 22%,rgba(180,140,255,.45),transparent 60%),
    radial-gradient(1.5px 1.5px at 40% 70%,rgba(255,180,90,.4),transparent 60%),
    radial-gradient(1px 1px at 88% 64%,rgba(255,220,160,.35),transparent 60%);
  opacity:.55;animation:rpgHallEmberDrift 18s linear infinite;
}
@keyframes rpgHallEmberDrift{
  from{transform:translate3d(0,8px,0)}
  to{transform:translate3d(0,-18px,0)}
}
.rpg-hall-chrome,
.rpg-hall-hero,
.profil-hall-scene,
.stats-hall-scroll,
.hof-hall-scroll{position:relative;z-index:2}
.rpg-hall-chrome{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:0;margin:0}
.rpg-hall-chrome--end{justify-content:flex-end;margin-bottom:2px}
.rpg-hall-hero{
  text-align:center;width:min(56rem,100%);margin:0 auto 6px;padding:2px 8px 0;flex:0 0 auto;
}
.rpg-hall-brand{
  margin:0;font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:clamp(.72rem,1.6vw,.95rem);letter-spacing:.32em;text-transform:uppercase;
  color:#e8c45a;text-shadow:0 0 22px rgba(232,180,90,.45),0 2px 0 rgba(0,0,0,.65);
}
.rpg-hall-title{
  margin:.05rem 0 .12rem;font-family:"Cinzel",ui-serif,Georgia,serif;
  font-weight:800;font-size:clamp(1.8rem,5vw,3rem);letter-spacing:.08em;line-height:1;
  color:#fff4dc;text-shadow:0 2px 0 rgba(0,0,0,.65),0 0 34px rgba(232,180,90,.3);
}
.rpg-hall-sub,.rpg-hall-meta{
  margin:0 auto;max-width:36rem;font-size:clamp(.74rem,1.5vw,.9rem);line-height:1.3;
  color:rgba(243,230,200,.9);text-shadow:0 1px 2px rgba(0,0,0,.8);
}
.rpg-hall-meta{margin-top:2px;opacity:.85}

/* Linker Icon-Balken (Shop-Style) — kein Lichtstreifen rechts */
.rpg-hall-siderail{
  position:absolute;top:50%;left:max(6px, env(safe-area-inset-left));
  transform:translateY(-50%);z-index:22;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  padding:10px 6px;
  width:52px;box-sizing:border-box;
  border-radius:14px;
  background:rgba(8,10,16,.72);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 10px 28px rgba(0,0,0,.45);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  -webkit-tap-highlight-color:transparent;
}
.rpg-hall-siderail-divider{
  width:22px;height:1px;background:linear-gradient(90deg,transparent,rgba(232,196,120,.45),transparent);
  flex:0 0 auto;
}
.rpg-hall-siderail-btn{
  width:40px;min-height:40px;padding:4px 2px;margin:0;border:0;cursor:pointer;
  border-radius:11px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(10,14,24,.82);
  color:#f2f5ff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  box-shadow:0 4px 12px rgba(0,0,0,.3);
  transition:transform .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease;
}
button.rpg-hall-siderail-btn--home:hover,
button.rpg-hall-siderail-btn--home:focus-visible{
  transform:translateX(2px) scale(1.04);
  border-color:rgba(232,196,120,.65);
  background:linear-gradient(165deg,rgba(232,196,120,.22),rgba(8,10,14,.7));
  box-shadow:0 0 0 1px rgba(232,196,120,.25),0 0 14px rgba(232,196,120,.25);
  outline:none;
}
.rpg-hall-siderail-btn--theme,
.rpg-hall-siderail-btn.is-active{
  cursor:default;
  border-color:rgba(232,196,120,.55);
  background:linear-gradient(165deg,rgba(232,196,120,.18),rgba(8,10,14,.65));
  box-shadow:0 0 0 1px rgba(232,196,120,.2),0 0 12px rgba(232,196,120,.18);
}
.rpg-hall-siderail-ico{font-size:1.15rem;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.55))}
.rpg-hall-siderail-img{
  width:26px;height:26px;object-fit:cover;border-radius:7px;display:block;
  box-shadow:0 2px 6px rgba(0,0,0,.4);
}
.rpg-hall-siderail-txt{
  font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:.52rem;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,236,210,.88);line-height:1.05;max-width:100%;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.rpg-hall-siderail--profil .rpg-hall-siderail-btn--theme{border-color:rgba(180,120,255,.45)}
.rpg-hall-siderail--stats{
  background:linear-gradient(180deg,rgba(48,34,20,.88),rgba(14,10,8,.9));
  border-color:rgba(196,168,120,.4);
  box-shadow:4px 0 22px rgba(0,0,0,.45), inset -1px 0 0 rgba(232,196,120,.12);
}
.rpg-hall-siderail--stats-solo{justify-content:flex-start;padding-top:18px}
.rpg-hall-siderail--stats .rpg-hall-siderail-btn--home{
  width:44px;min-height:56px;border-radius:12px;
  border-color:rgba(196,168,120,.5);
  background:
    linear-gradient(165deg,rgba(110,78,40,.62),rgba(22,16,10,.86)),
    radial-gradient(circle at 50% 20%,rgba(255,220,140,.12),transparent 60%);
  box-shadow:0 4px 12px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,230,180,.12);
}
.rpg-hall-siderail--stats .rpg-hall-siderail-btn--home:hover,
.rpg-hall-siderail--stats .rpg-hall-siderail-btn--home:focus-visible{
  border-color:rgba(232,196,120,.75);
  transform:translateY(-1px);
}
.rpg-hall-siderail--stats .rpg-hall-siderail-img{width:30px;height:30px;border-radius:8px}
.rpg-hall-siderail--stats .rpg-hall-siderail-txt{color:rgba(255,236,200,.95);letter-spacing:.1em}
.rpg-hall-siderail--stats .rpg-hall-siderail-btn--theme{border-color:rgba(196,168,120,.55)}
.rpg-hall-siderail--hof{
  background:linear-gradient(180deg,rgba(56,40,18,.9),rgba(12,8,6,.92));
  border-color:rgba(232,196,120,.45);
  box-shadow:4px 0 24px rgba(0,0,0,.5), inset -1px 0 0 rgba(255,220,140,.14);
}
.rpg-hall-siderail--hof-solo{justify-content:flex-start;padding-top:18px}
.rpg-hall-siderail--hof .rpg-hall-siderail-btn--home{
  width:44px;min-height:56px;border-radius:12px;
  border-color:rgba(232,196,120,.55);
  background:
    linear-gradient(165deg,rgba(140,96,36,.55),rgba(22,14,8,.88)),
    radial-gradient(circle at 50% 18%,rgba(255,220,140,.16),transparent 62%);
  box-shadow:0 4px 14px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,230,180,.14);
}
.rpg-hall-siderail--hof .rpg-hall-siderail-btn--home:hover,
.rpg-hall-siderail--hof .rpg-hall-siderail-btn--home:focus-visible{
  border-color:rgba(255,220,140,.8);
  transform:translateY(-1px);
}
.rpg-hall-siderail--hof .rpg-hall-siderail-img{width:30px;height:30px;border-radius:8px}
.rpg-hall-siderail--hof .rpg-hall-siderail-txt{color:rgba(255,236,200,.96);letter-spacing:.1em}
.rpg-hall-siderail--hof .rpg-hall-siderail-btn--theme{border-color:rgba(255,210,120,.65)}
.rpg-hall-siderail--quest .rpg-hall-siderail-btn--theme{border-color:rgba(232,160,90,.55)}

/* Legacy-Klassen falls noch im Cache */
.rpg-hall-exit,.quest-hall-exit{display:none!important}

/* Profil: volle Viewport-Breite, Inhalt nutzt den Platz */
.profil-hall-fs.rpg-hall-fs{
  width:100%!important;max-width:none!important;min-width:100%!important;
  padding-left:max(14px, env(safe-area-inset-left))!important;
}
.profil-hall-fs .rpg-hall-siderail{display:none!important}
/* Zurück wie Hof/Chronik — Textlink, kein Shop-Siderail */
.profil-hall-close{
  position:absolute;z-index:24;
  top:max(28px, calc(env(safe-area-inset-top, 0px) + 10px));
  left:max(14px, env(safe-area-inset-left, 0px));
  display:inline-flex;align-items:center;gap:6px;
  margin:0;padding:8px 4px;border:0;background:transparent;cursor:pointer;
  color:#f0e2c0;-webkit-tap-highlight-color:transparent;
  transition:transform .14s ease, color .14s ease, text-shadow .14s ease;
}
.profil-hall-close-mark{
  font-family:"Cinzel",ui-serif,Georgia,serif;font-size:1.35rem;font-weight:800;line-height:1;
  color:#e8c45a;text-shadow:0 1px 3px rgba(0,0,0,.8),0 0 12px rgba(232,180,90,.35);
}
.profil-hall-close-txt{
  font-family:"Cinzel",ui-serif,Georgia,serif;font-size:.72rem;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;
  text-shadow:0 1px 3px rgba(0,0,0,.85);
  border-bottom:1px solid rgba(232,196,120,.35);
  padding-bottom:2px;
}
.profil-hall-close:hover,
.profil-hall-close:focus-visible{
  transform:translateX(-2px);outline:none;color:#fff4dc;
}
.profil-hall-close:hover .profil-hall-close-txt,
.profil-hall-close:focus-visible .profil-hall-close-txt{
  border-bottom-color:rgba(255,220,150,.75);
  text-shadow:0 1px 3px rgba(0,0,0,.85),0 0 14px rgba(232,180,90,.35);
}
.profil-hall-hero .rpg-hall-sub{display:none!important}
.profil-hall-portrait-band{
  position:relative;z-index:2;flex:0 0 auto;
  display:flex;justify-content:center;align-items:center;
  margin:2px 0 4px;padding:4px 0 2px;min-height:0;
}
.profil-hall-identity-band{
  position:relative;z-index:2;flex:0 0 auto;
  display:flex;flex-direction:column;align-items:center;
  width:100%;max-width:none;margin:0;padding:0 clamp(12px,2vw,28px);
  box-sizing:border-box;text-align:center;
}
.profil-hall-identity-left{
  min-width:0;max-width:min(520px,100%);width:100%;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.profil-title-banner-spacer{display:none}
.profil-hall-scene{
  flex:1 1 auto;min-height:0;width:100%!important;max-width:none!important;margin:0!important;
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(320px,1.15fr);
  grid-template-rows:auto auto;
  gap:clamp(10px,1.8vh,16px) clamp(24px,4vw,56px);
  overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;
  overscroll-behavior-x:none;padding:4px clamp(12px,2vw,28px) 16px;box-sizing:border-box;
  align-content:start;align-items:stretch;
}
.profil-hall-col--hero,
.profil-hall-col--vitals{
  grid-row:1;min-width:0;align-self:stretch;
  display:flex;flex-direction:column;gap:10px;
  height:100%;
}
/* Werte oben; Titel auf Gilde-Höhe; Status/Pet unten bündig mit Werte */
.profil-hall-col--hero{
  grid-column:1;justify-content:flex-start;
}
.profil-hall-col--vitals{
  grid-column:2;max-width:none!important;margin:0!important;padding-top:0!important;
  justify-content:flex-start;
}
.profil-hall-col--attrs{grid-column:1 / -1;grid-row:2;min-width:0}

.profil-hall-fs .profil-hero,
.profil-hall-fs .profil-hero--no-portrait{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  gap:10px!important;width:100%!important;max-width:none!important;margin:0!important;height:100%;
  padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important;
}
/* Portrait unter Titel — mit Frame/Aura */
.profil-hall-fs .profil-hall-portrait-band .profil-hero-portrait,
.profil-hall-fs .profil-hero-portrait{
  position:relative!important;
  isolation:isolate;
  width:min(28vw,168px)!important;height:min(28vw,168px)!important;
  max-width:min(26vh,168px)!important;max-height:min(26vh,168px)!important;
  flex:0 0 auto;margin:0 auto;
  border-radius:18px!important;
  overflow:visible!important;
  background:rgba(8,10,16,.92)!important;
  border:1px solid rgba(232,196,120,.35)!important;
  box-shadow:0 16px 36px rgba(0,0,0,.5),0 0 24px rgba(232,180,90,.16)!important;
}
.profil-hall-fs .profil-hero-portrait .profil-hero-img,
.profil-hall-fs .profil-hero-portrait .profil-hero-fallback{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:100%;height:100%;object-fit:cover;object-position:center top;
  border-radius:16px;z-index:2;
}
.profil-hall-fs .profil-hero-portrait.has-cos-frame .profil-hero-img,
.profil-hall-fs .profil-hero-portrait.has-cos-frame .profil-hero-fallback{
  width:var(--cos-frame-hole,62%)!important;height:var(--cos-frame-hole,62%)!important;
  border-radius:18%!important;
  clip-path:inset(0 round 18%)!important;-webkit-clip-path:inset(0 round 18%)!important;
}
.profil-hall-fs .profil-hero-portrait.has-cos-frame.has-cos-aura .profil-hero-img,
.profil-hall-fs .profil-hero-portrait.has-cos-frame.has-cos-aura .profil-hero-fallback{
  width:var(--cos-avatar-framed-aura,56%)!important;height:var(--cos-avatar-framed-aura,56%)!important;
}
.profil-hall-fs .profil-hero-portrait .cos-aura-img{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:var(--cos-aura-framed,86%);height:var(--cos-aura-framed,86%);
  object-fit:contain;pointer-events:none;z-index:1;
}
.profil-hall-fs .profil-hero-portrait .cos-frame-overlay{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center!important;
  pointer-events:none;z-index:3;
}
.profil-hall-fs .profil-hero-identity,
.profil-hall-fs .profil-hero-identity--band{
  width:100%;text-align:center;
  text-shadow:0 2px 8px rgba(0,0,0,.85);
  display:flex;flex-direction:column;align-items:center;gap:6px;flex:0 0 auto;
}
.profil-hall-fs .profil-title,
.profil-hall-fs .panel-title{
  background:transparent!important;border:none!important;box-shadow:none!important;
  font-family:"Cinzel",ui-serif,Georgia,serif!important;
  color:#fff1d0!important;letter-spacing:.08em;justify-content:center;
  margin:0!important;font-size:clamp(1.05rem,2.2vw,1.35rem)!important;
  width:100%;text-align:center;
}
.profil-hall-fs .hub-meta-guild-emoji--quiet{display:none}
.profil-hall-fs .profil-hero-name-row{
  display:flex!important;align-items:center!important;justify-content:center!important;
  gap:8px!important;width:100%!important;flex-wrap:wrap;
}
.profil-hall-fs .profil-hero-badges{
  display:inline-flex!important;align-items:center;justify-content:center;gap:4px;flex:0 0 auto;order:0;
}
.profil-hall-fs .profil-hero-name-wrap{
  flex:0 1 auto;min-width:0;max-width:100%;order:1;
}
.profil-hall-fs .profil-name-edit-btn,
.profil-hall-fs #profil-rename-btn{display:none!important}
.profil-hall-fs .profil-hero-name-input{
  width:100%;min-width:0;max-width:100%;
  background:transparent!important;border:0!important;border-bottom:1px solid rgba(232,196,120,.28)!important;
  border-radius:0!important;padding:4px 2px!important;font-size:1.05rem!important;font-weight:700;
  color:#ffe9b0!important;-webkit-text-fill-color:#ffe9b0!important;
  text-shadow:0 1px 3px rgba(0,0,0,.7);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;
  -webkit-background-clip:border-box!important;background-clip:border-box!important;
  background-image:none!important;animation:none!important;filter:none!important;
}
.profil-hall-fs .profil-hero-name-wrap.cos-namecolor-owner .profil-hero-name-input,
.profil-hall-fs .profil-hero-name-wrap.cos-namecolor-mythic .profil-hero-name-input,
.profil-hall-fs .profil-hero-name-wrap.cos-namecolor-admin .profil-hero-name-input,
.profil-hall-fs .profil-hero-name-wrap.cos-namecolor-gm .profil-hero-name-input,
.profil-hall-fs .profil-hero-name-wrap.cos-namecolor-feather .profil-hero-name-input,
.profil-hall-fs .profil-hero-name-input.cos-name-text{
  background:transparent!important;background-image:none!important;
  -webkit-background-clip:border-box!important;background-clip:border-box!important;
  color:#ffd76a!important;-webkit-text-fill-color:#ffd76a!important;
  text-shadow:0 0 8px rgba(255,200,60,.35),0 1px 3px rgba(0,0,0,.75)!important;
  animation:none!important;filter:none!important;
}
.profil-hall-fs .profil-hero-name-wrap.cos-namecolor-admin .profil-hero-name-input{
  color:#7ec8ff!important;-webkit-text-fill-color:#7ec8ff!important;
}
.profil-hall-fs .profil-hero-name-wrap.cos-namecolor-gm .profil-hero-name-input{
  color:#c4a1ff!important;-webkit-text-fill-color:#c4a1ff!important;
}
.profil-hall-fs .profil-hero-name-wrap.cos-namecolor-feather .profil-hero-name-input{
  color:#d0e4f4!important;-webkit-text-fill-color:#d0e4f4!important;
}
.profil-hall-fs .profil-hero-name-wrap.cos-namecolor-mythic .profil-hero-name-input{
  color:#f0d878!important;-webkit-text-fill-color:#f0d878!important;
}
.profil-hall-fs .profil-hero-name-input:focus{
  outline:none;border-bottom-color:rgba(255,220,150,.7)!important;
}
.profil-hall-fs .profil-meta-identity{
  display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;justify-content:center!important;
  align-items:center;gap:6px!important;width:100%!important;margin:0 0 6px;
  align-content:center;
}
.profil-hall-fs .profil-meta-line{
  display:flex!important;flex-wrap:wrap!important;justify-content:center!important;
  align-items:center;gap:6px 8px!important;width:100%!important;max-width:100%;
}
.profil-hall-fs .profil-meta-grid{
  display:flex!important;flex-wrap:wrap!important;justify-content:center!important;
  align-items:center;gap:6px 8px!important;width:100%!important;margin-top:4px;
  align-content:center;
}
/* WERTE-Sidebar: Gold-Palette wie PRIMÄR (keine Cyan/Grün/Lila-Chips, kein Knallweiß) */
.profil-hall-fs.rpg-hall-fs .profil-hero-meta,
.profil-hall-fs .profil-hall-col--hero .profil-hero-meta{
  --werte-lbl:rgba(232,197,71,.72);
  --werte-val:#f0d060;
  --werte-val-soft:#f3dfa0;
  --werte-chip-bg:linear-gradient(165deg,rgba(14,10,4,.72),rgba(6,4,2,.55));
  --werte-chip-line:rgba(232,197,71,.28);
}
.profil-hall-fs.rpg-hall-fs .profil-meta-item,
.profil-hall-fs .profil-hall-col--hero .profil-meta-item,
.profil-hall-fs .profil-hero-meta .profil-meta-item{
  display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;
  padding:8px 12px 9px;flex:0 1 auto;
  background:var(--werte-chip-bg,linear-gradient(165deg,rgba(14,10,4,.72),rgba(6,4,2,.55)));
  border:0;border-radius:9px;
  box-shadow:
    inset 0 1px 0 rgba(255,230,180,.08),
    inset 0 0 0 1px var(--werte-chip-line,rgba(232,197,71,.28)),
    0 2px 8px rgba(0,0,0,.28);
}
.profil-hall-fs .profil-meta-item--wide{flex:1 1 100%;max-width:100%;grid-column:auto}
.profil-hall-fs.rpg-hall-fs .profil-meta-lbl,
.profil-hall-fs .profil-hall-col--hero .profil-meta-lbl,
.profil-hall-fs .profil-hero-meta .profil-meta-lbl{
  font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--werte-lbl,rgba(232,197,71,.72));line-height:1.15;
  text-shadow:0 1px 2px rgba(0,0,0,.9);
}
.profil-hall-fs.rpg-hall-fs .profil-meta-val,
.profil-hall-fs .profil-hall-col--hero .profil-meta-val,
.profil-hall-fs .profil-hero-meta .profil-meta-val{
  font-family:Rajdhani,system-ui,sans-serif;
  font-size:clamp(.95rem,1.1vh + .42rem,1.12rem);font-weight:700;letter-spacing:.03em;
  color:var(--werte-val,#f0d060);line-height:1.2;font-variant-numeric:tabular-nums;
  text-shadow:0 1px 2px rgba(0,0,0,.92);
  display:inline-flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap;
  max-width:100%;
}
.profil-hall-fs.rpg-hall-fs .profil-meta-val .hub-meta-guild-name,
.profil-hall-fs .profil-hero-meta .profil-meta-val .hub-meta-guild-name{
  color:inherit;font:inherit;letter-spacing:inherit;text-shadow:inherit;
}
/* Alle Chip-Values in der Gold-Familie — kein Cyan/Grün/Lila */
.profil-hall-fs.rpg-hall-fs .profil-chip-level .profil-meta-val,
.profil-hall-fs .profil-chip-level .profil-meta-val,
.profil-hall-fs.rpg-hall-fs .profil-chip-guild .profil-meta-val,
.profil-hall-fs .profil-chip-guild .profil-meta-val,
.profil-hall-fs.rpg-hall-fs .profil-chip-job .profil-meta-val,
.profil-hall-fs .profil-chip-job .profil-meta-val,
.profil-hall-fs.rpg-hall-fs .profil-chip-sp .profil-meta-val,
.profil-hall-fs .profil-chip-sp .profil-meta-val,
.profil-hall-fs.rpg-hall-fs .profil-chip-jp .profil-meta-val,
.profil-hall-fs .profil-chip-jp .profil-meta-val,
.profil-hall-fs.rpg-hall-fs .profil-chip-coins .profil-meta-val,
.profil-hall-fs .profil-chip-coins .profil-meta-val,
.profil-hall-fs.rpg-hall-fs .profil-chip-gems .profil-meta-val,
.profil-hall-fs .profil-chip-gems .profil-meta-val,
.profil-hall-fs.rpg-hall-fs .profil-points-chip .profil-meta-val,
.profil-hall-fs .profil-points-chip .profil-meta-val{
  color:var(--werte-val,#f0d060);
}
.profil-hall-fs.rpg-hall-fs .profil-chip-coins .profil-meta-val,
.profil-hall-fs .profil-chip-coins .profil-meta-val{
  color:var(--werte-val-soft,#f3dfa0);
}
.profil-hall-fs.rpg-hall-fs .profil-chip-gems .profil-meta-val,
.profil-hall-fs .profil-chip-gems .profil-meta-val{
  color:#e8d9a8;
}
.profil-hall-fs.rpg-hall-fs .profil-meta-item.is-muted .profil-meta-val,
.profil-hall-fs .profil-meta-item.is-muted .profil-meta-val{
  color:rgba(232,197,71,.42);font-weight:600;
}
.profil-hall-fs.rpg-hall-fs .profil-chip-level,
.profil-hall-fs .profil-chip-level{
  box-shadow:
    inset 0 1px 0 rgba(255,230,180,.1),
    inset 0 0 0 1px rgba(232,197,71,.42),
    0 2px 8px rgba(0,0,0,.28);
  background:linear-gradient(145deg,rgba(232,197,71,.16),rgba(12,8,4,.58));
}
.profil-hall-fs.rpg-hall-fs .profil-chip-sp.is-ready,
.profil-hall-fs.rpg-hall-fs .profil-chip-jp.is-ready,
.profil-hall-fs.rpg-hall-fs .profil-points-chip.is-ready,
.profil-hall-fs .profil-chip-sp.is-ready,
.profil-hall-fs .profil-chip-jp.is-ready,
.profil-hall-fs .profil-points-chip.is-ready{
  box-shadow:
    inset 0 1px 0 rgba(255,230,180,.12),
    inset 0 0 0 1px rgba(232,197,71,.5),
    0 2px 10px rgba(0,0,0,.3);
  background:linear-gradient(145deg,rgba(232,197,71,.2),rgba(14,10,4,.58));
}
.profil-hall-fs.rpg-hall-fs .profil-points-chip,
.profil-hall-fs .profil-points-chip{
  width:100%;
  align-items:center;
  padding:9px 14px 10px;
  background:linear-gradient(165deg,rgba(16,12,6,.78),rgba(6,4,2,.6));
  box-shadow:
    inset 0 1px 0 rgba(255,230,180,.1),
    inset 0 0 0 1px rgba(232,197,71,.34),
    0 3px 10px rgba(0,0,0,.3);
}
.profil-hall-fs.rpg-hall-fs .profil-points-chip .profil-meta-val,
.profil-hall-fs .profil-points-chip .profil-meta-val{
  font-size:clamp(1.02rem,1.2vh + .4rem,1.18rem);color:#f0d060;
}
.profil-hall-fs .profil-shell,
.profil-hall-fs .glass,
.profil-hall-fs .profil-topbar,
.profil-hall-fs .profil-body{
  background:transparent!important;border:none!important;box-shadow:none!important;backdrop-filter:none!important;
}

/* Status-Spalte: gleiche Höhe wie Werte, Inhalt unten bündig */
.profil-hall-col--vitals{
  display:flex;flex-direction:column;gap:10px;
  padding:0;min-width:0;max-width:none;width:100%;margin:0;
}
.profil-hall-fs .profil-hero-meta{
  display:flex;flex-direction:column;align-items:center;width:100%;margin:0;padding:0;flex:0 0 auto;
  text-align:center;
}
.profil-hall-fs .profil-hall-col--hero .profil-meta-head,
.profil-hall-fs .profil-hero-meta .profil-meta-head{
  width:100%;display:flex;justify-content:center;text-align:center;
}
.profil-hall-fs .profil-hall-col--hero .profil-meta-identity,
.profil-hall-fs .profil-hero-meta .profil-meta-identity,
.profil-hall-fs .profil-hall-col--hero .profil-meta-grid,
.profil-hall-fs .profil-hero-meta .profil-meta-grid{
  display:flex!important;flex-wrap:wrap!important;justify-content:center!important;
  align-items:center;gap:6px 8px!important;width:100%!important;margin-top:4px;
  grid-template-columns:none!important;
}
.profil-hall-fs .profil-hall-col--hero .profil-meta-identity,
.profil-hall-fs .profil-hero-meta .profil-meta-identity{
  flex-direction:column!important;flex-wrap:nowrap!important;gap:6px!important;
  margin-top:0!important;margin-bottom:6px!important;
}
.profil-hall-fs .profil-hall-col--hero .profil-meta-line,
.profil-hall-fs .profil-hero-meta .profil-meta-line{
  display:flex!important;flex-wrap:wrap!important;justify-content:center!important;
  align-items:center;gap:6px 8px!important;width:100%!important;
}
.profil-hall-fs .profil-hall-col--hero .profil-meta-item,
.profil-hall-fs .profil-hero-meta .profil-meta-item{
  align-items:center;text-align:center;flex:0 1 auto;
}
.profil-hall-fs .profil-hall-col--hero .profil-meta-item--wide,
.profil-hall-fs .profil-hero-meta .profil-meta-item--wide{
  grid-column:auto;flex:1 1 100%;max-width:100%;
}
/* Titel direkt rechts neben GILDE: unter STATUS-Kicker (= WERTE-Kicker), erste Meta-Zeile */
.profil-hall-fs .profil-hall-title-slot{
  flex:0 0 auto;width:100%;
  margin:0 0 10px;padding:0;
  box-sizing:border-box;
}
.profil-hall-fs .profil-hall-col--vitals > .profil-vitals-head{
  flex:0 0 auto;margin:0 0 2px;padding:0 0 6px;
  border-bottom:1px solid rgba(232,196,120,.2);
  min-height:1.35rem;display:flex;align-items:flex-end;
}
.profil-hall-fs .profil-vitals-stack--bars{
  width:100%;margin-top:0;
}
.profil-hall-fs .profil-pet-block{width:100%;margin-top:auto}
.profil-hall-fs .profil-title-banner.hub-title-banner{
  position:relative;
  width:100%;margin:0;
  height:clamp(40px,4.6vh,48px);min-height:40px;
  display:flex;align-items:center;justify-content:center;
  border-radius:10px!important;
  overflow:hidden;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(14,10,3,.92),rgba(30,24,8,.95),rgba(14,10,3,.92));
  background-size:cover;background-repeat:no-repeat;background-position:center;
  border:1px solid rgba(232,197,71,.35)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.profil-hall-fs .profil-title-banner.hub-title-banner.has-banner-img{
  background-color:transparent;
  background-image:
    linear-gradient(180deg,rgba(4,6,12,.22),rgba(4,6,12,.5)),
    var(--title-banner-img)!important;
  background-size:cover;background-position:center;background-repeat:no-repeat;
  border-color:rgba(232,197,71,.28)!important;
}
.profil-hall-fs .profil-title-banner.hub-title-banner::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.4));
}
.profil-hall-fs .profil-title-banner.hub-title-banner.has-banner-img::before{
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.28));
}
.profil-hall-fs .profil-title-banner .hub-title-banner-text{
  position:relative;z-index:1;
  max-width:94%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:clamp(.72rem,1vh + .36rem,.9rem);font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;text-align:center;
  color:#f0d060;
  text-shadow:0 0 10px rgba(240,200,60,.7),0 1px 4px rgba(0,0,0,.95);
}
.profil-hall-fs .profil-vitals-stack{
  display:flex!important;flex-direction:column!important;gap:8px!important;
  width:100%!important;max-width:100%!important;box-sizing:border-box;
  padding:0!important;
  background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important;
}
.profil-hall-fs .profil-vitals-head{
  margin:0 0 2px;padding:0 0 6px;border-bottom:1px solid rgba(232,196,120,.2);
  min-height:1.35rem;display:flex;align-items:flex-end;
}
.profil-hall-fs .profil-vitals-kicker{
  font-family:"Cinzel",ui-serif,Georgia,serif;font-size:.7rem;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(232,196,120,.88);
  text-shadow:0 1px 3px rgba(0,0,0,.7);
}
.profil-hall-fs .profil-meta-grid{
  margin-top:0!important;
}
.profil-hall-fs .profil-hall-col--hero .profil-meta-grid{
  /* erste Meta-Zeile auf einer Höhe mit STATUS-Kicker */
  padding-top:0;
}
.profil-hall-fs .profil-bar{
  display:grid!important;grid-template-columns:2.4rem minmax(0,1fr) auto!important;
  gap:8px!important;align-items:center!important;width:100%!important;max-width:100%!important;
  min-width:0!important;padding:3px 0!important;margin:0!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
}
.profil-hall-fs .profil-bar-lbl{
  font-family:"Cinzel",ui-serif,Georgia,serif;font-weight:700;letter-spacing:.1em;font-size:.72rem;
  text-shadow:0 1px 2px rgba(0,0,0,.75);
}
.profil-hall-fs .profil-bar--xp .profil-bar-lbl{color:rgba(251,191,36,.92)}
.profil-hall-fs .profil-bar--hp .profil-bar-lbl{color:rgba(248,113,113,.92)}
.profil-hall-fs .profil-bar--mp .profil-bar-lbl{color:rgba(96,165,250,.92)}
.profil-hall-fs .profil-bar--sp .profil-bar-lbl{color:rgba(45,212,191,.92)}
.profil-hall-fs .profil-bar-val{
  font-family:Rajdhani,system-ui,sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.02em;
  font-variant-numeric:tabular-nums;color:#efe2bc;white-space:nowrap;
  text-shadow:0 1px 2px rgba(0,0,0,.75);
}
.profil-hall-fs .profil-bar-track{
  position:relative!important;min-width:0!important;width:100%!important;max-width:100%!important;
  height:12px!important;border-radius:999px!important;overflow:hidden!important;
  background:rgba(0,0,0,.55)!important;border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.45)!important;
}
.profil-hall-fs .profil-bar-fill{
  display:block!important;height:100%!important;max-width:100%!important;border-radius:inherit!important;
  position:relative!important;
}
.profil-hall-fs .profil-bar-fill.xp{background:linear-gradient(90deg,#b45309,#f59e0b 40%,#fde68a)}
.profil-hall-fs .profil-bar-fill.hp{background:linear-gradient(90deg,#7f1d1d,#ef4444 45%,#fecaca)}
.profil-hall-fs .profil-bar-fill.mana{background:linear-gradient(90deg,#1e3a8a,#3b82f6 45%,#bfdbfe)}
.profil-hall-fs .profil-bar-fill.sta{background:linear-gradient(90deg,#115e59,#14b8a6 45%,#99f6e4)}

.profil-hall-fs .profil-pet-block{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  gap:6px 10px;align-items:center;
  margin-top:4px;padding:10px 0 0;
  background:transparent!important;border:0!important;border-top:1px solid rgba(255,214,140,.22)!important;
  border-radius:0!important;box-shadow:none!important;width:100%;max-width:100%;
}
.profil-hall-fs .profil-pet-emoji{grid-column:1;grid-row:1 / span 2;font-size:1.6rem}
.profil-hall-fs .profil-pet-identity{grid-column:2;grid-row:1;min-width:0}
.profil-hall-fs .profil-pet-img-btn{grid-column:3;grid-row:1 / span 2}
.profil-hall-fs .profil-pet-bars{
  grid-column:2;grid-row:2;display:grid!important;grid-template-columns:1fr 1fr;gap:6px;min-width:0;width:100%;
}
.profil-hall-fs .profil-pet-bars .bar-row,
.profil-hall-fs .profil-pet-bars .profil-vital{
  display:grid!important;grid-template-columns:1fr auto!important;grid-template-rows:auto auto!important;
  gap:2px 6px!important;margin:0!important;padding:4px 0!important;
  background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  min-width:0!important;width:100%!important;max-width:100%!important;
}
.profil-hall-fs .profil-pet-bars .bar-lbl{
  grid-column:1;grid-row:1;
  font-family:"Cinzel",ui-serif,Georgia,serif;font-size:.56rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:rgba(232,197,71,.7);
}
.profil-hall-fs .profil-pet-bars .bar-val{
  grid-column:2;grid-row:1;
  font-family:Rajdhani,system-ui,sans-serif;font-size:.66rem;font-weight:700;
  font-variant-numeric:tabular-nums;color:#efe2bc;
}
.profil-hall-fs .profil-pet-bars .bar-track{
  grid-column:1 / -1;grid-row:2;
  position:relative!important;width:100%!important;max-width:100%!important;min-width:0!important;
  height:8px!important;border-radius:999px!important;overflow:hidden!important;
  background:rgba(0,0,0,.5)!important;border:1px solid rgba(255,214,140,.18)!important;
}
.profil-hall-fs .profil-pet-bars .bar-fill{
  display:block!important;height:100%!important;max-width:100%!important;border-radius:inherit!important;
}

/* Attribute: Label/Value-Hierarchie, Gold-Tint, weniger „leerer Kasten“ */
.profil-hall-fs .profil-attr-board{width:100%;max-width:100%;overflow-x:hidden}
.profil-hall-fs .profil-section-label,
.profil-hall-fs .attr-section-title{
  font-family:"Cinzel",ui-serif,Georgia,serif;letter-spacing:.12em;color:#f0d060;
  margin:10px 0 8px;text-shadow:0 1px 3px rgba(0,0,0,.85);font-size:.88rem;font-weight:800;
}
.profil-hall-fs .attr-list,
.profil-hall-fs .attr-list-primary,
.profil-hall-fs .attr-list-secondary{
  display:grid!important;
  /* Mobile: lieber 1 breite Karte als zwei schmale Spalten */
  grid-template-columns:1fr!important;
  gap:12px!important;width:100%!important;max-width:100%!important;overflow-x:hidden!important;
}
@media (min-width:520px){
  .profil-hall-fs .attr-list,
  .profil-hall-fs .attr-list-primary,
  .profil-hall-fs .attr-list-secondary{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (min-width:900px){
  .profil-hall-fs .attr-list,
  .profil-hall-fs .attr-list-primary,
  .profil-hall-fs .attr-list-secondary{
    grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;
  }
}
@media (min-width:1100px){
  .profil-hall-fs .attr-list,
  .profil-hall-fs .attr-list-primary,
  .profil-hall-fs .attr-list-secondary{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}
@media (min-width:1400px){
  .profil-hall-fs .attr-list-secondary{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
}
.profil-hall-fs .profil-attr-section{margin:0 0 14px}
.profil-hall-fs .profil-section-label{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin:0 0 10px;padding:0 0 6px;
  border-bottom:1px solid rgba(232,196,120,.28);
}
.profil-hall-fs .attr-card{
  position:relative!important;
  display:flex!important;align-items:stretch;gap:0;min-width:0!important;max-width:100%!important;
  min-height:78px;
  padding:10px 12px 11px 14px!important;margin:0!important;
  background:transparent!important;border:0!important;border-radius:12px!important;
  box-shadow:
    0 10px 24px rgba(0,0,0,.48),
    0 0 0 1px rgba(0,0,0,.32)!important;
  backdrop-filter:none!important;overflow:hidden;
  transition:transform .15s ease, box-shadow .15s ease;
}
.profil-hall-fs .attr-card-field-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;pointer-events:none;z-index:0;
  display:block;filter:brightness(.48) saturate(.82) contrast(1.1);
}
.profil-hall-fs .attr-card::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;display:block!important;
  background:
    linear-gradient(115deg,rgba(232,197,71,.1) 0%,transparent 42%),
    linear-gradient(180deg,rgba(6,4,3,.42) 0%,rgba(6,4,3,.58) 48%,rgba(4,3,2,.82) 100%),
    linear-gradient(90deg,rgba(8,6,4,.5) 0%,transparent 58%);
  border:1.5px solid rgba(232,196,120,.4);
  border-radius:12px;box-sizing:border-box;
  box-shadow:inset 0 1px 0 rgba(255,230,180,.14),inset 0 -8px 20px rgba(0,0,0,.32);
}
.profil-hall-fs .attr-card:hover{
  transform:translateY(-1px);
  box-shadow:
    0 14px 28px rgba(0,0,0,.52),
    0 0 12px rgba(232,180,90,.12),
    0 0 0 1px rgba(0,0,0,.32)!important;
}
.profil-hall-fs .attr-card:hover::after{
  border-color:rgba(255,220,150,.52);
  background:
    linear-gradient(115deg,rgba(232,197,71,.14) 0%,transparent 44%),
    linear-gradient(180deg,rgba(6,4,3,.36) 0%,rgba(6,4,3,.52) 48%,rgba(4,3,2,.76) 100%),
    linear-gradient(90deg,rgba(8,6,4,.45) 0%,transparent 58%);
}
.profil-hall-fs .attr-card--spendable::after{
  border-color:rgba(255,214,140,.58);
  box-shadow:inset 0 0 0 1px rgba(232,180,90,.16),inset 0 -8px 20px rgba(0,0,0,.28);
}
.profil-hall-fs .attr-card-main{
  position:relative;z-index:2;
  display:flex!important;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;
}
.profil-hall-fs .attr-card-emoji,
.profil-hall-fs .attr-card-art{display:none!important}
.profil-hall-fs .attr-card-title{
  display:flex;align-items:center;gap:5px;min-width:0;width:100%;
  padding:0 0 4px;margin:0 0 2px;
  border-bottom:1px solid rgba(232,197,71,.18);
}
.profil-hall-fs .attr-card .epic-tip-btn,
.profil-hall-fs .attr-card .attr-info-btn,
.profil-hall-fs .attr-card [class*="tip"] .attr-tip-ico{
  opacity:.8;filter:drop-shadow(0 1px 2px rgba(0,0,0,.9));
  flex:0 0 auto;
}
.profil-hall-fs .attr-plus-img-btn{
  flex:0 0 auto;width:40px;height:40px;padding:0;margin:0;border:0;background:transparent;
  cursor:pointer;border-radius:10px;overflow:hidden;
  box-shadow:0 4px 12px rgba(0,0,0,.45),0 0 0 1px rgba(232,196,120,.28);
}
.profil-hall-fs .attr-plus-img-btn img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.55));
}
.profil-hall-fs .attr-plus-img-btn:hover,
.profil-hall-fs .attr-plus-img-btn:focus-visible{
  transform:scale(1.05);outline:none;
  box-shadow:0 0 0 1px rgba(232,196,120,.6),0 0 12px rgba(232,180,90,.28);
}
.profil-hall-fs .attr-card-body{
  flex:1 1 auto;min-width:0;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;
}
.profil-hall-fs .attr-card-name{
  font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:clamp(.62rem,.7vh + .28rem,.72rem);letter-spacing:.12em;font-weight:700;
  color:rgba(232,197,71,.78);text-transform:uppercase;line-height:1.15;
  text-shadow:0 1px 2px rgba(0,0,0,.92);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;
}
.profil-hall-fs .attr-card-total{
  font-family:Rajdhani,system-ui,sans-serif;
  font-size:clamp(1.35rem,1.8vh + .35rem,1.7rem);font-weight:700;line-height:1.05;
  letter-spacing:.02em;color:#f0d060;font-variant-numeric:tabular-nums;
  text-shadow:0 1px 2px rgba(0,0,0,.92),0 0 10px rgba(232,197,71,.16);
}
.profil-hall-fs .attr-list-secondary .attr-card{min-height:72px}
.profil-hall-fs .attr-list-secondary .attr-card-total{
  font-size:clamp(1.18rem,1.5vh + .3rem,1.42rem);color:#f3dfa0;
}
.profil-hall-fs .attr-card::before{display:none!important}
.profil-hall-fs .profil-points-banner-chip{
  font-family:Rajdhani,system-ui,sans-serif;font-weight:800;letter-spacing:.04em;font-size:.85rem;
  color:#f0d060;
}
.profil-hall-fs .attr-cap-badge{
  position:relative;z-index:2;
  font-family:"Cinzel",ui-serif,Georgia,serif;font-size:.62rem;letter-spacing:.08em;
  color:#ffe08a;padding:5px 9px;border:1px solid rgba(232,196,120,.45);border-radius:8px;
  background:rgba(8,6,4,.55);
}
.profil-hall-fs .profil-vitals-kicker,
.profil-hall-fs .profil-meta-head .profil-vitals-kicker{
  font-family:"Cinzel",ui-serif,Georgia,serif;font-size:.76rem;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(232,197,71,.88);
  text-shadow:0 1px 2px rgba(0,0,0,.8);
}

/* Statistik + Hof: volle Viewport-Breite */
.stats-hall-fs.rpg-hall-fs,
.hof-hall-fs.rpg-hall-fs{
  width:100%!important;max-width:none!important;min-width:100%!important;
}
.stats-hall-scroll,
.hof-hall-scroll{
  flex:1 1 auto;min-height:0;overflow-x:hidden!important;overflow-y:auto;-webkit-overflow-scrolling:touch;
  width:100%!important;max-width:none!important;margin:0!important;
  padding:2px clamp(12px,2vw,28px) 24px;overscroll-behavior-x:none;box-sizing:border-box;
}
.stats-hall-stage{
  width:100%!important;max-width:none!important;margin:0!important;padding:4px 0 20px;
  overflow-x:hidden;box-sizing:border-box;
  display:flex;flex-direction:column;gap:6px;
}
.stats-hall-fs.rpg-hall-fs{
  padding-left:max(14px, env(safe-area-inset-left))!important;
}
.stats-hall-fs .rpg-hall-siderail{display:none!important}
.stats-hall-fs .rpg-hall-hero{margin-bottom:4px;padding-top:4px}
.stats-hall-fs .rpg-hall-sub{display:none!important}
.stats-hall-fs .stats-hall-scroll{
  overflow-y:auto;overflow-x:hidden;padding-bottom:8px;
}
.stats-hall-fs .stats-hall-stage{padding-bottom:0;margin-bottom:0}

/* Zurück wie Profil/Hof — Textlink, kein Siegel-Button */
.stats-hall-close{
  position:absolute;z-index:24;
  top:max(28px, calc(env(safe-area-inset-top, 0px) + 10px));
  left:max(14px, env(safe-area-inset-left, 0px));
  display:inline-flex;align-items:center;gap:6px;
  margin:0;padding:8px 4px;border:0;background:transparent;cursor:pointer;
  color:#f0e2c0;-webkit-tap-highlight-color:transparent;
  box-shadow:none;border-radius:0;overflow:visible;width:auto;min-height:0;
  transition:transform .14s ease, color .14s ease, text-shadow .14s ease;
}
.stats-hall-close-img{display:none!important}
.stats-hall-close-mark{
  font-family:"Cinzel",ui-serif,Georgia,serif;font-size:1.35rem;font-weight:800;line-height:1;
  color:#e8c45a;text-shadow:0 1px 3px rgba(0,0,0,.8),0 0 12px rgba(232,180,90,.35);
}
.stats-hall-close-txt{
  position:relative;z-index:1;
  font-family:"Cinzel",ui-serif,Georgia,serif;font-size:.72rem;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:inherit;
  text-shadow:0 1px 3px rgba(0,0,0,.85);
  border-bottom:1px solid rgba(232,196,120,.35);
  padding:0 0 2px;background:none;width:auto;text-align:left;
}
.stats-hall-close:hover,
.stats-hall-close:focus-visible{
  transform:translateX(-2px);outline:none;color:#fff4dc;
  box-shadow:none;filter:none;
}
.stats-hall-close:hover .stats-hall-close-txt,
.stats-hall-close:focus-visible .stats-hall-close-txt{
  border-bottom-color:rgba(255,220,150,.75);
  text-shadow:0 1px 3px rgba(0,0,0,.85),0 0 14px rgba(232,180,90,.35);
}

.stats-hall-fs .stats-featured{
  position:relative!important;overflow:hidden!important;
  width:100%!important;max-width:none!important;min-width:0;min-height:88px;box-sizing:border-box;
  display:flex;align-items:flex-end;gap:0;padding:0!important;
  background:transparent!important;border:0!important;border-radius:14px!important;
  box-shadow:0 10px 24px rgba(0,0,0,.4)!important;backdrop-filter:none!important;
}
.stats-hall-fs .stats-card{
  position:relative!important;overflow:hidden!important;
  background:transparent!important;border:0!important;border-radius:14px!important;
  box-shadow:0 8px 20px rgba(0,0,0,.38)!important;backdrop-filter:none!important;
  max-width:100%;min-width:0;min-height:108px;box-sizing:border-box;
  padding:0!important;margin:0!important;
  display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;
  text-align:center;
  transition:transform .14s ease, box-shadow .14s ease, filter .14s ease;
}
.stats-hall-fs .stats-card-field-img,
.stats-hall-fs .stats-featured .stats-card-field-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 35%;
  display:block;pointer-events:none;z-index:0;
}
.stats-hall-fs .stats-card-body,
.stats-hall-fs .stats-featured-body{
  position:relative;z-index:1;width:100%;
  padding:28px 14px 12px;
  background:linear-gradient(180deg,transparent 0%,rgba(4,3,2,.55) 42%,rgba(4,3,2,.88) 100%);
  display:flex;flex-direction:column;align-items:center;gap:2px;
}
.stats-hall-fs .stats-featured-body{
  align-items:flex-start;padding:24px 18px 14px;text-align:left;
}
.stats-hall-fs .stats-card-glow,
.stats-hall-fs .stats-featured-glow,
.stats-hall-fs .stats-card-emoji,
.stats-hall-fs .stats-featured-ico,
.stats-hall-fs .stats-card-art,
.stats-hall-fs .stats-ach-btn{display:none!important}
.stats-hall-fs .stats-card:hover,
.stats-hall-fs .stats-card:focus-visible,
.stats-hall-fs .stats-featured:hover,
.stats-hall-fs .stats-featured:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(0,0,0,.48),0 0 18px rgba(232,180,90,.2)!important;
  filter:brightness(1.05) saturate(1.08);
  outline:none;
}
.stats-hall-fs .stats-card-value,
.stats-hall-fs .stats-featured-value{
  font-family:Rajdhani,system-ui,sans-serif;font-weight:800;font-size:1.2rem;color:#fff6e4;
  line-height:1.1;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 12px rgba(0,0,0,.45);
}
.stats-hall-fs .stats-featured-value{font-size:clamp(1.25rem,2.6vw,1.7rem)}
.stats-hall-fs .stats-card-label,
.stats-hall-fs .stats-featured-kicker{
  font-family:"Cinzel",ui-serif,Georgia,serif;font-size:.62rem;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(255,236,210,.88);
  text-shadow:0 1px 3px rgba(0,0,0,.85);
}
.stats-hall-fs .stats-grid,
.stats-hall-fs .stats-grid--wide{
  display:grid!important;
  /* Mobile: 2 Spalten statt 3 — Karten etwas breiter */
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;width:100%!important;max-width:100%!important;
  overflow-x:hidden!important;
}
@media (min-width:700px){
  .stats-hall-fs .stats-grid,
  .stats-hall-fs .stats-grid--wide{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (min-width:900px){
  .stats-hall-fs .stats-grid,
  .stats-hall-fs .stats-grid--wide{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media (min-width:1200px){
  .stats-hall-fs .stats-grid,
  .stats-hall-fs .stats-grid--wide{grid-template-columns:repeat(5,minmax(0,1fr))!important}
}
.stats-hall-fs .stats-section,
.stats-hall-fs .stats-featured{width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}
.stats-hall-fs .stats-section-title{
  font-family:"Cinzel",ui-serif,Georgia,serif;letter-spacing:.1em;color:#f0e2c0;margin:12px 0 8px;
  text-shadow:0 2px 8px rgba(0,0,0,.7);
  border-bottom:1px solid rgba(232,196,120,.2);padding-bottom:4px;font-size:.85rem;
}
@media (max-height:820px){
  .stats-hall-fs .stats-card{min-height:92px}
  .stats-hall-fs .stats-featured{min-height:76px}
  .stats-hall-fs .stats-card-body{padding:22px 8px 8px}
  .stats-hall-fs .stats-section-title{margin:8px 0 6px}
  .stats-hall-fs .rpg-hall-title{font-size:clamp(1.4rem,4vw,2rem)}
}

/* Hof: Thronsaal freilegen — BG spielt mit */
.hof-hall-fs.rpg-hall-fs{
  padding-left:max(14px, env(safe-area-inset-left))!important;
}
.hof-hall-fs .rpg-hall-siderail{display:none!important}
.hof-hall-fs .rpg-hall-bg{
  background-position:center 38%;
  filter:saturate(1.14) contrast(1.06) brightness(1.1);
}
.hof-hall-fs .rpg-hall-veil{
  background:
    linear-gradient(180deg,rgba(4,3,2,.42) 0%,rgba(4,3,2,.02) 14%,transparent 32%),
    linear-gradient(180deg,transparent 70%,rgba(4,3,2,.04) 90%,rgba(3,2,2,.12) 100%),
    radial-gradient(ellipse 80% 65% at 50% 48%,transparent 58%,rgba(0,0,0,.05) 100%)!important;
}
.hof-hall-fs.is-empty .rpg-hall-veil{
  background:
    linear-gradient(180deg,rgba(4,3,2,.36) 0%,transparent 22%),
    radial-gradient(ellipse 82% 72% at 50% 52%,transparent 60%,rgba(0,0,0,.04) 100%)!important;
}
.hof-hall-fs .rpg-hall-embers{opacity:.18}
.hof-hall-fs.is-empty .rpg-hall-embers{opacity:.12}

/* Zurück: dezente Hallen-Inschrift, kein Bild-/Shop-Button */
.hof-hall-close{
  position:absolute;z-index:24;
  top:max(28px, calc(env(safe-area-inset-top, 0px) + 10px));
  left:max(14px, env(safe-area-inset-left, 0px));
  display:inline-flex;align-items:center;gap:6px;
  margin:0;padding:8px 4px;border:0;background:transparent;cursor:pointer;
  color:#f0e2c0;-webkit-tap-highlight-color:transparent;
  transition:transform .14s ease, color .14s ease, text-shadow .14s ease;
}
.hof-hall-close-mark{
  font-family:"Cinzel",ui-serif,Georgia,serif;font-size:1.35rem;font-weight:800;line-height:1;
  color:#e8c45a;text-shadow:0 1px 3px rgba(0,0,0,.8),0 0 12px rgba(232,180,90,.35);
}
.hof-hall-close-txt{
  font-family:"Cinzel",ui-serif,Georgia,serif;font-size:.72rem;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;
  text-shadow:0 1px 3px rgba(0,0,0,.85);
  border-bottom:1px solid rgba(232,196,120,.35);
  padding-bottom:2px;
}
.hof-hall-close:hover,
.hof-hall-close:focus-visible{
  transform:translateX(-2px);outline:none;color:#fff4dc;
}
.hof-hall-close:hover .hof-hall-close-txt,
.hof-hall-close:focus-visible .hof-hall-close-txt{
  border-bottom-color:rgba(255,220,150,.75);
  text-shadow:0 1px 3px rgba(0,0,0,.85),0 0 14px rgba(232,180,90,.35);
}

.hof-hall-fs .hof-hall-hero{margin-bottom:0;padding-bottom:0}
.hof-hall-fs .rpg-hall-sub,
.hof-hall-fs .rpg-hall-meta{display:none!important}
.hof-hall-fs .hof-info-btn{
  width:34px;height:34px;border-radius:10px;
  background:rgba(8,6,4,.28)!important;border:1px solid rgba(232,196,120,.3)!important;
  backdrop-filter:blur(3px);color:#f0e2c0;
  box-shadow:0 4px 12px rgba(0,0,0,.28);
}
.hof-hall-fs .hof-info-btn-ico{
  font-family:"Cinzel",ui-serif,Georgia,serif;font-weight:800;font-size:.85rem;font-style:normal;
}
.hof-podium-stage{
  position:relative;margin:0 0 10px;max-width:none!important;
  min-height:0;
  width:100%!important;
  display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;
  gap:10px;
}
.hof-hall-fs.is-empty .hof-podium-stage{
  flex:0 0 auto;min-height:0;justify-content:flex-start;
  padding-bottom:4px;
}
.hof-podium-art{display:none!important}
.hof-hall-fs .hof-podium-wrap{
  position:relative;z-index:1;margin:14px 0 0;max-width:none!important;
  padding:8px clamp(4px,2vw,20px) 2px;width:100%!important;
}
.hof-hall-fs .hof-podium{
  width:100%!important;max-width:min(920px,100%)!important;margin:0 auto!important;
  display:grid!important;grid-template-columns:1fr 1.2fr 1fr;gap:clamp(12px,2.4vw,36px);
  align-items:end;
}
/* Podium-Balken wieder sichtbar — Glas-Säulen statt unsichtbar */
.hof-hall-fs .hof-podium-slot{
  background:
    linear-gradient(165deg,rgba(255,236,200,.1),rgba(8,6,4,.28) 55%,rgba(4,3,2,.4))!important;
  border:1px solid rgba(232,196,120,.28)!important;
  border-radius:16px 16px 12px 12px!important;
  box-shadow:
    0 10px 24px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,240,200,.14)!important;
  backdrop-filter:blur(8px) saturate(1.05)!important;
  -webkit-backdrop-filter:blur(8px) saturate(1.05)!important;
  padding:14px 10px 0!important;gap:6px!important;
}
.hof-hall-fs .hof-podium-slot--1{
  background:
    linear-gradient(165deg,rgba(255,220,120,.32),rgba(40,28,8,.35) 55%,rgba(8,6,4,.42))!important;
  border-color:rgba(232,197,71,.62)!important;
  box-shadow:
    0 0 28px rgba(232,197,71,.22),
    0 12px 28px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,245,200,.2)!important;
  transform:translateY(-8px);z-index:3;
}
.hof-hall-fs .hof-podium-slot--2{
  background:
    linear-gradient(165deg,rgba(200,210,230,.22),rgba(12,14,20,.36) 68%,rgba(6,8,12,.42))!important;
  border-color:rgba(190,205,225,.45)!important;
  box-shadow:0 10px 22px rgba(0,0,0,.28),inset 0 1px 0 rgba(220,230,245,.12)!important;
  transform:translateY(-2px);z-index:2;
}
.hof-hall-fs .hof-podium-slot--3{
  background:
    linear-gradient(165deg,rgba(220,140,60,.22),rgba(28,14,6,.36) 68%,rgba(8,4,2,.42))!important;
  border-color:rgba(210,145,75,.48)!important;
  box-shadow:0 10px 22px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,200,140,.12)!important;
  z-index:1;
}
.hof-hall-fs .hof-podium-slot--ghost{
  opacity:1;border-style:dashed!important;
  backdrop-filter:blur(8px) saturate(1.05)!important;
  -webkit-backdrop-filter:blur(8px) saturate(1.05)!important;
}
.hof-hall-fs .hof-podium-slot--ghost.hof-podium-slot--1{
  background:
    linear-gradient(165deg,rgba(255,220,120,.2),rgba(40,28,8,.3) 55%,rgba(8,6,4,.38))!important;
}
.hof-hall-fs .hof-podium-slot--ghost.hof-podium-slot--2{
  background:
    linear-gradient(165deg,rgba(200,210,230,.14),rgba(12,14,20,.32) 68%,rgba(6,8,12,.38))!important;
}
.hof-hall-fs .hof-podium-slot--ghost.hof-podium-slot--3{
  background:
    linear-gradient(165deg,rgba(220,140,60,.14),rgba(28,14,6,.32) 68%,rgba(8,4,2,.38))!important;
}
.hof-hall-fs .hof-podium-aura{
  inset:-20% -30% auto;height:70%;opacity:.75;
  background:radial-gradient(ellipse at center,rgba(255,210,120,.34),transparent 72%)!important;
}
.hof-hall-fs .hof-podium-slot--1 .hof-podium-aura{
  background:radial-gradient(ellipse at center,rgba(255,220,140,.5),transparent 74%)!important;
  filter:drop-shadow(0 0 28px rgba(232,180,90,.35));
  animation:hofThroneAura 5.5s ease-in-out infinite alternate;
}
@keyframes hofThroneAura{
  from{opacity:.55;transform:scale(.96)}
  to{opacity:.95;transform:scale(1.05)}
}
@keyframes hofMedalFloat{
  from{transform:translateY(0)}
  to{transform:translateY(-4px)}
}
@keyframes hofInscriptPulse{
  from{text-shadow:0 2px 0 rgba(0,0,0,.7),0 0 18px rgba(232,180,90,.25)}
  to{text-shadow:0 2px 0 rgba(0,0,0,.7),0 0 34px rgba(232,180,90,.55)}
}
.hof-hall-fs .hof-podium-medal-wrap{
  width:3.4rem!important;height:3.4rem!important;padding:0;border:0!important;
  background:transparent!important;box-shadow:0 8px 22px rgba(0,0,0,.45)!important;
  border-radius:14px!important;overflow:hidden;
}
.hof-hall-fs .hof-podium-slot--1 .hof-podium-medal-wrap{
  width:4.1rem!important;height:4.1rem!important;
  box-shadow:0 10px 28px rgba(0,0,0,.5),0 0 24px rgba(232,180,90,.35)!important;
}
.hof-hall-fs .hof-podium-medal{display:none!important}
.hof-hall-fs .hof-podium-medal-art{
  display:block;width:100%;height:100%;border-radius:14px;overflow:hidden;
  border:1px solid rgba(232,196,120,.4);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.35);
  animation:hofMedalFloat 4.8s ease-in-out infinite alternate;
}
.hof-hall-fs .hof-podium-medal-art img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.hof-hall-fs .hof-podium-rank{
  font-family:"Cinzel",ui-serif,Georgia,serif;letter-spacing:.16em;
  text-shadow:0 2px 8px rgba(0,0,0,.85),0 0 12px rgba(232,180,90,.25);
  color:rgba(255,236,200,.92)!important;
}
.hof-hall-fs .hof-podium-name,
.hof-hall-fs .hof-podium-name--vacant{
  position:relative;z-index:1;
  padding:4px 6px 2px!important;margin-top:2px;
  border-radius:0;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  text-shadow:0 2px 4px rgba(0,0,0,.95),0 0 12px rgba(0,0,0,.5);
  backdrop-filter:none!important;
}
.hof-hall-fs .hof-podium-name--vacant{color:rgba(255,236,210,.78)!important;font-style:italic}
.hof-hall-fs .hof-podium-slot .hof-chips{
  opacity:.85;justify-content:center;
}
.hof-hall-fs .hof-podium-slot .hof-chip{
  background:rgba(8,6,4,.28)!important;border:1px solid rgba(232,196,120,.22)!important;
  backdrop-filter:blur(2px)!important;
  text-shadow:0 1px 3px rgba(0,0,0,.9);
}
.hof-hall-fs .hof-podium-plinth{
  margin-top:12px;height:16px!important;width:100%;
  background:
    linear-gradient(180deg,rgba(255,245,210,.2),transparent 42%),
    linear-gradient(180deg,rgba(40,32,18,.55),rgba(8,6,4,.82))!important;
  border-top:1px solid rgba(232,196,120,.42)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 8px 16px rgba(0,0,0,.35)!important;
  border-radius:0 0 12px 12px!important;
}
.hof-hall-fs .hof-podium-slot--1 .hof-podium-plinth{
  height:22px!important;
  border-top-color:rgba(232,197,71,.6)!important;
  background:
    linear-gradient(180deg,rgba(255,220,120,.35),transparent 45%),
    linear-gradient(180deg,rgba(90,65,18,.7),rgba(20,14,6,.92))!important;
  box-shadow:inset 0 1px 0 rgba(255,245,200,.2),0 10px 20px rgba(232,180,90,.22)!important;
}
.hof-hall-fs .hof-podium-slot--2 .hof-podium-plinth{
  height:14px!important;
  border-top-color:rgba(190,205,225,.45)!important;
  background:
    linear-gradient(180deg,rgba(200,215,235,.2),transparent 45%),
    linear-gradient(180deg,rgba(48,56,70,.65),rgba(10,12,16,.9))!important;
}
.hof-hall-fs .hof-podium-slot--3 .hof-podium-plinth{
  height:12px!important;
  border-top-color:rgba(210,145,75,.48)!important;
  background:
    linear-gradient(180deg,rgba(220,150,70,.22),transparent 45%),
    linear-gradient(180deg,rgba(70,42,18,.65),rgba(14,8,4,.9))!important;
}
.hof-hall-fs .hof-empty-cta,
.hof-hall-fs .hof-empty-cta--inscript{
  position:relative;z-index:2;
  margin:4px auto 8px!important;padding:12px 18px 10px!important;
  max-width:min(420px,92%);
  text-align:center;
  background:rgba(8,6,4,.22)!important;
  border:1px solid rgba(232,196,120,.32)!important;
  border-radius:14px!important;
  box-shadow:0 8px 22px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,240,200,.1)!important;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.hof-hall-fs .hof-empty-badge,
.hof-hall-fs .hof-empty-actions{display:none!important}
.hof-hall-fs .hof-empty-title{
  margin:0 0 4px!important;font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:clamp(1.05rem,2.6vw,1.45rem);letter-spacing:.12em;text-transform:uppercase;
  color:#fff4dc!important;background:none!important;-webkit-background-clip:unset!important;
  background-clip:unset!important;
  text-shadow:0 2px 0 rgba(0,0,0,.7),0 0 28px rgba(232,180,90,.45);
  animation:hofInscriptPulse 3.8s ease-in-out infinite alternate;
}
.hof-hall-fs .hof-empty-text{
  margin:0 auto!important;max-width:22rem;
  font-size:.78rem;color:rgba(255,236,210,.88);
  text-shadow:0 1px 4px rgba(0,0,0,.85);
}
/* Top 100: leicht deckendes Glas (wie Podium) — Halle bleibt erkennbar */
.hof-hall-fs .hof-rest,
.hof-hall-fs .hof-rest.has-ui-theme,
body[class*="cos-ui-"] .hof-hall-fs .hof-rest,
body[class*="cos-ui-"] .hof-hall-fs .hof-rest.has-ui-theme{
  position:relative;
  background:
    linear-gradient(180deg,rgba(255,236,200,.08),transparent 28%),
    linear-gradient(165deg,rgba(12,9,6,.42),rgba(6,4,3,.52))!important;
  border:1px solid rgba(232,196,120,.32)!important;
  border-radius:16px!important;
  box-shadow:
    0 12px 28px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,240,200,.12)!important;
  backdrop-filter:blur(8px) saturate(1.05)!important;
  -webkit-backdrop-filter:blur(8px) saturate(1.05)!important;
  padding:12px clamp(10px,1.8vw,18px) 12px!important;
  width:100%!important;max-width:min(760px,100%)!important;margin:8px auto 16px!important;
}
.hof-hall-fs .hof-rest::before{display:none!important;content:none!important}
.hof-hall-fs .hof-rest-head{
  margin:0 0 8px;padding:0 0 8px;
  border-bottom:1px solid rgba(232,196,120,.16);
}
.hof-hall-fs .hof-rest-ornament{
  max-width:88px;height:1px;opacity:.75;
  background:linear-gradient(90deg,transparent,rgba(232,196,120,.6))!important;
}
.hof-hall-fs .hof-rest-ornament--flip{
  background:linear-gradient(90deg,rgba(232,196,120,.6),transparent)!important;
}
.hof-hall-fs .hof-rest-label{
  font-family:"Cinzel",ui-serif,Georgia,serif;letter-spacing:.16em;
  color:#fff1d0;font-size:.74rem;font-weight:800;
  text-shadow:0 1px 4px rgba(0,0,0,.85),0 0 12px rgba(232,180,90,.25);
}
.hof-hall-fs .hof-list{
  display:flex;flex-direction:column;gap:6px;
}
.hof-hall-fs .hof-row{
  background:rgba(6,4,3,.18)!important;
  border:1px solid rgba(232,196,120,.14)!important;
  border-radius:11px!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:none!important;
  padding:10px 12px!important;
  gap:10px 12px!important;
}
.hof-hall-fs .hof-row--empty{
  background:rgba(6,4,3,.1)!important;
  border-color:rgba(232,196,120,.1)!important;
  border-style:solid!important;
  opacity:.9;
}
.hof-hall-fs .hof-row--top10{
  background:rgba(232,196,120,.08)!important;
  border-color:rgba(232,196,120,.22)!important;
  box-shadow:none!important;
  position:relative;
  padding-left:12px!important;
  opacity:1;
}
.hof-hall-fs .hof-row--top10::before{
  content:"";position:absolute;left:0;top:16%;bottom:16%;width:2px;
  border-radius:2px;
  background:linear-gradient(180deg,rgba(255,220,150,.15),rgba(232,196,120,.75),rgba(255,220,150,.15));
  box-shadow:0 0 8px rgba(232,180,90,.25);
  opacity:.85;
}
.hof-hall-fs .hof-row--top10.hof-row--empty{
  background:rgba(6,4,3,.12)!important;
  border-color:rgba(232,196,120,.16)!important;
  opacity:1;
}
.hof-hall-fs .hof-rank-wrap{
  width:2.2rem;height:2.2rem;
}
.hof-hall-fs .hof-rank-num{
  background:rgba(8,6,4,.28)!important;
  border:1px solid rgba(232,196,120,.32)!important;
  border-radius:50%!important;
  color:#ffe9a8!important;
  font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:.72rem;font-weight:800;
  text-shadow:0 1px 3px rgba(0,0,0,.9);
  box-shadow:inset 0 0 8px rgba(0,0,0,.2)!important;
}
.hof-hall-fs .hof-row--top10 .hof-rank-num{
  border-color:rgba(255,220,150,.5)!important;
  color:#fff4dc!important;
  background:rgba(232,196,120,.12)!important;
  box-shadow:0 0 10px rgba(232,180,90,.15),inset 0 0 8px rgba(0,0,0,.15)!important;
}
.hof-hall-fs .hof-row:hover,
.hof-hall-fs .hof-row.is-tip-open{
  background:rgba(232,196,120,.12)!important;
  border-color:rgba(255,220,150,.35)!important;
  transform:translateX(2px);
}
.hof-hall-fs .hof-row--empty:hover{
  background:rgba(6,4,3,.1)!important;
  border-color:rgba(232,196,120,.16)!important;
  transform:none;
}
.hof-hall-fs .hof-name,
.hof-hall-fs .hof-name.muted{
  font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:.9rem;font-weight:700;letter-spacing:.04em;
  color:#fff8ea!important;
  text-shadow:0 1px 3px rgba(0,0,0,.9);
}
.hof-hall-fs .hof-chip{
  background:rgba(0,0,0,.2)!important;
  border:1px solid rgba(232,196,120,.18)!important;
  padding:3px 8px!important;
  border-radius:999px!important;
  font-family:"Cinzel",ui-serif,Georgia,serif;
  font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,230,180,.85)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.8);
}
.hof-hall-fs .hof-chip--wait{
  background:rgba(232,197,71,.08)!important;
  border-color:rgba(232,197,71,.22)!important;
  color:rgba(255,220,160,.85)!important;
}
.hof-hall-fs .hof-date,
.hof-hall-fs .hof-date--empty{
  color:rgba(255,230,180,.4)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.85);
}
.hof-hall-fs .hof-panel,
.hof-hall-fs .hof-stage{background:transparent!important;border:none!important;box-shadow:none!important}
.hof-hall-fs .hof-list,
.hof-hall-fs .hof-rest-list{width:100%!important;max-width:none!important}
.hof-hall-fs.is-empty .hof-hall-scroll{
  display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;padding-bottom:16px;
}
.hof-hall-fs.is-empty .hof-podium-stage{flex:0 0 auto;min-height:0}
.hof-hall-fs.is-empty .hof-rest{display:flex!important;flex:0 0 auto}
@media (max-height:780px){
  .hof-podium-stage{min-height:0}
  .hof-hall-fs.is-empty .hof-podium-stage{min-height:0}
  .hof-hall-fs .hof-podium-medal-wrap{width:2.9rem!important;height:2.9rem!important}
  .hof-hall-fs .hof-podium-slot--1 .hof-podium-medal-wrap{width:3.4rem!important;height:3.4rem!important}
}

@media (max-width:900px){
  .profil-hall-identity-band,
  .profil-hall-scene{
    grid-template-columns:1fr;
    max-width:100%;
  }
  .profil-hall-scene{grid-template-rows:auto auto auto}
  .profil-hall-col--hero,
  .profil-hall-col--vitals,
  .profil-hall-col--attrs{grid-column:1;grid-row:auto}
  .profil-hall-col--vitals{max-width:100%;margin:0 auto}
  .profil-hall-fs .profil-hall-title-slot{margin-bottom:8px}
  .profil-hall-fs .profil-hall-portrait-band .profil-hero-portrait,
  .profil-hall-fs .profil-hero-portrait{
    width:min(36vw,150px)!important;height:min(36vw,150px)!important;
    max-width:150px!important;max-height:150px!important;
  }
  .rpg-hall-title{font-size:clamp(1.5rem,7vw,2.2rem)}
  .rpg-hall-fs:not(.profil-hall-fs):not(.hof-hall-fs):not(.stats-hall-fs),
  .quest-hall-fs{padding-left:max(58px, env(safe-area-inset-left) + 50px);padding-right:max(12px, env(safe-area-inset-right))}
  .profil-hall-fs.rpg-hall-fs,
  .hof-hall-fs.rpg-hall-fs,
  .stats-hall-fs.rpg-hall-fs{
    padding-left:max(14px, env(safe-area-inset-left))!important;
    padding-right:max(12px, env(safe-area-inset-right))!important;
    padding-top:max(32px, calc(env(safe-area-inset-top, 0px) + 16px))!important;
  }
  .rpg-hall-siderail{width:48px;padding:8px 5px;gap:6px}
  .rpg-hall-siderail-btn{width:36px;min-height:36px}
  .hof-hall-fs .hof-podium{gap:8px}
}
@media (max-height:700px){.rpg-hall-sub{font-size:.72rem}}
@media (prefers-reduced-motion:reduce){
  .rpg-hall-bg,.rpg-hall-embers,
  .hof-hall-fs .hof-podium-slot--1 .hof-podium-aura,
  .hof-hall-fs .hof-podium-medal-art,
  .hof-hall-fs .hof-empty-title{animation:none}
}

/* Cut / Spot / Detective / Puzzle image games */
.cut-arena,.spotimg-arena,.detscene-arena,.puzimg-arena{
  position:relative;z-index:1;max-width:720px;margin:0 auto;padding:14px 12px 16px;
  border-radius:18px;border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(165deg,rgba(20,16,12,.75),rgba(8,8,12,.86));
}
.cut-title,.spot-title,.puz-title{font-family:var(--arcade-display);font-size:1.25rem;font-weight:800;text-align:center;color:#fff4e0;margin:2px 0 8px}
.cut-meta,.spot-meta,.det-meta,.puz-meta{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:8px}
.cut-hint,.spot-hint,.det-hint{text-align:center;margin:0 0 10px}
.cut-stage{position:relative;border-radius:14px;overflow:hidden;border:1px solid rgba(255,200,120,.28);aspect-ratio:1;max-height:min(58vh,560px);margin:0 auto;background:#2a1a10}
.cut-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;filter:saturate(.95)}
#cut-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}
.cut-status{text-align:center;margin-top:10px;font-weight:700;color:rgba(255,236,210,.92)}

.spotimg-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.spotimg-pane{position:relative;border-radius:12px;overflow:hidden;border:1px solid rgba(120,200,255,.25);background:#061018}
.spotimg-pane img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center;background:#04080e;pointer-events:none}
.find-scene{
  position:relative;flex:1;min-height:0;border-radius:14px;overflow:hidden;
  border:1px solid rgba(180,140,255,.3);cursor:crosshair;max-width:1100px;margin:0 auto;width:100%;
  display:flex;align-items:center;justify-content:center;background:#0a0612
}
.find-frame{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.find-frame img,.find-scene img{
  display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;pointer-events:none
}
/* Szene klar sichtbar — Schwierigkeit kommt von kleinen/getarnten Zielen, nicht von Dunkelheit */
.find-diff-hard .find-frame img,
.find-diff-expert .find-frame img,
.find-diff-normal .find-frame img{
  filter:none;
}
.find-diff-hard .find-frame::after,
.find-diff-expert .find-frame::after{
  display:none;
}
.find-marks{position:absolute;inset:0;pointer-events:none}
.find-frame .find-marks{
  /* Overlay genau über dem Bild: wird per JS auf img-Box gesetzt */
  inset:auto
}
.spotimg-label{position:absolute;left:8px;top:8px;z-index:2;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border-radius:8px;background:rgba(0,0,0,.55);color:#dff3ff}
.spotimg-hits{position:absolute;inset:0}
.spotimg-hit{
  position:absolute;transform:translate(-50%,-50%);border-radius:50%;
  border:2px solid transparent;background:transparent;cursor:pointer;padding:0;
}
.spotimg-hit:hover{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.08)}
.spotimg-hit.is-found{
  border-color:rgba(120,220,150,.9);background:rgba(80,200,120,.22);
  box-shadow:0 0 0 2px rgba(80,200,120,.25),0 0 16px rgba(80,200,120,.35);
}
.spotimg-play.is-shake{animation:sliceShake .35s ease}
@media (max-width:700px){.spotimg-pair{grid-template-columns:1fr}}

.detscene-wrap{position:relative;border-radius:14px;overflow:hidden;border:1px solid rgba(180,140,255,.3);margin:0 auto;max-width:720px}
.detscene-img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;pointer-events:none}
.detscene-hotspot{
  position:absolute;transform:translate(-50%,-50%);border-radius:50%;padding:0;height:0;
  border:2px dashed rgba(255,220,140,.35);background:rgba(255,220,140,.08);cursor:pointer;
  box-sizing:border-box;
}
.detscene-hotspot:hover{background:rgba(255,220,140,.2);border-color:rgba(255,220,140,.7)}
.detscene-hotspot.is-found{
  border-style:solid;border-color:rgba(160,120,255,.85);background:rgba(140,100,255,.28);
  box-shadow:0 0 18px rgba(160,120,255,.35);
}
.det-found-list{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.det-found-item{padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(180,150,255,.2)}
.det-found-item strong{display:block;font-size:.78rem;color:#e8dcff}
.det-found-item span{font-size:.7rem;opacity:.8}

.puzimg-board{
  display:grid;grid-template-columns:repeat(var(--puz-size,4),minmax(0,1fr));gap:1px;
  max-width:min(520px,92vw);margin:8px auto 0;aspect-ratio:1;
}
.puzimg-tile{
  border:0;border-radius:2px;padding:0;cursor:pointer;aspect-ratio:1;
  background-repeat:no-repeat;box-shadow:inset 0 0 0 1px rgba(0,0,0,.28);
  transition:transform .1s ease,box-shadow .1s ease;
}
.puzimg-tile:hover{transform:scale(1.02)}
.puzimg-tile.is-selected{box-shadow:0 0 0 2px #7CF5C2,0 0 16px rgba(124,245,194,.35)}

/* Extra-Arcade: echtes Vollbild-Fill */
body.arcade-game-fullscreen-active #rpg-wwm-fs-body{
  display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;gap:8px;
}
body.arcade-game-fullscreen-active .arcade-stage-fill{
  flex:1;min-height:0;display:flex;flex-direction:column;position:relative;
}
body.arcade-game-fullscreen-active .cut-arena-fs,
body.arcade-game-fullscreen-active .spotimg-arena-fs,
body.arcade-game-fullscreen-active .find-arena-fs,
body.arcade-game-fullscreen-active .puzimg-arena-fs,
body.arcade-game-fullscreen-active .ship-arena-fs{
  max-width:none;width:100%;height:100%;max-height:100%;margin:0;flex:1;min-height:0;
  display:flex;flex-direction:column;border-radius:0;border:none;
  background:transparent;box-shadow:none;padding:0 4px 8px;
  overflow:hidden;
}
.cut-hud{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:0 0 8px;flex:0 0 auto}
.cut-stage{
  position:relative;flex:1;min-height:0;width:min(100%,min(72vh,560px));margin:0 auto;
  border-radius:16px;overflow:hidden;border:1px solid rgba(255,200,120,.3);
  aspect-ratio:auto;max-height:100%;background:#1a1008;
}
body.arcade-game-fullscreen-active .cut-stage{width:min(100%,min(78vh,720px));height:auto;max-height:100%}
body.arcade-game-fullscreen-active .cut-stage-mp{
  width:min(100%,min(86vh,860px));
  box-shadow:0 0 0 1px rgba(255,210,120,.25),0 18px 50px rgba(0,0,0,.45);
}
.spotimg-pane img#spotimg-target,
.spotimg-clickable{cursor:crosshair}
.cut-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
#cut-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}
.cut-status{text-align:center;margin-top:8px;flex:0 0 auto;font-weight:700;color:rgba(255,236,210,.92)}

.spotimg-pair-fs{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}
.spotimg-pair-fs .spotimg-pane{
  min-height:0;height:100%;position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.35)
}
.spotimg-pair-fs .spotimg-pane img{
  height:auto;width:auto;max-width:100%;max-height:100%;
  object-fit:contain;object-position:center;aspect-ratio:auto;
  background:transparent;pointer-events:none;display:block
}
.spotimg-marks{position:absolute;inset:auto;pointer-events:none;z-index:3;overflow:visible}
.spotimg-mark{
  position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;
  border:3px solid #35d87a;box-shadow:0 0 0 2px rgba(0,0,0,.45),0 0 18px rgba(53,216,122,.55);
  background:rgba(40,180,100,.22);display:flex;align-items:center;justify-content:center;
  color:#e8fff0;font-weight:800;font-size:.78rem;animation:spotMarkIn .28s ease-out;
  box-sizing:border-box;pointer-events:none;
}
.spotimg-mark.is-found{
  border-width:3px;border-color:#2ee59a;
  box-shadow:0 0 0 2px rgba(0,0,0,.5),0 0 16px rgba(46,229,154,.65),inset 0 0 12px rgba(46,229,154,.18);
}
@keyframes spotMarkIn{from{transform:translate(-50%,-50%) scale(.4);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}
.spotimg-play,.spotimg-clickable{cursor:crosshair}
.spotimg-pane.is-shake{animation:sliceShake .35s ease}
.spot-hint-btn{
  cursor:pointer;border:1px solid rgba(250,204,21,.45)!important;
  background:rgba(250,204,21,.14)!important;color:#fef3c7!important
}
.spot-hint-btn:disabled{opacity:.45;cursor:default}
.spot-progress{
  height:6px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;
  margin:0 0 8px;flex:0 0 auto
}
.spot-progress-bar{height:100%;width:0;background:linear-gradient(90deg,#34d399,#6ee7b7);transition:width .25s ease}
.arcade-fx-miss{
  position:absolute;transform:translate(-50%,-50%);color:#ff6b6b;font-size:1.55rem;font-weight:900;
  text-shadow:0 2px 6px rgba(0,0,0,.7);pointer-events:none;animation:arcadeMissPop .65s ease-out forwards;z-index:5
}
.arcade-fx-hint{
  position:absolute;transform:translate(-50%,-50%);border-radius:50%;
  border:3px solid rgba(250,204,21,.95);background:rgba(250,204,21,.18);
  box-shadow:0 0 0 2px rgba(0,0,0,.35),0 0 22px rgba(250,204,21,.55);
  pointer-events:none;animation:arcadeHintPulse 2.1s ease-out forwards;z-index:4
}
@keyframes arcadeMissPop{
  0%{opacity:1;transform:translate(-50%,-50%) scale(.6)}
  40%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.35)}
}
@keyframes arcadeHintPulse{
  0%{opacity:.15;transform:translate(-50%,-50%) scale(.7)}
  25%{opacity:1;transform:translate(-50%,-50%) scale(1)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.25)}
}
@media (max-width:700px){.spotimg-pair-fs{grid-template-columns:1fr}}

.find-arena-fs .find-list,
.find-list-classic{
  display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 8px;flex:0 0 auto
}
.find-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 12px;border-radius:12px;font-size:.78rem;font-weight:750;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#f2e9ff;
  transition:background .2s,border-color .2s,opacity .2s,transform .2s
}
.find-chip-emoji{font-size:1.05rem;line-height:1}
.find-chip.is-found{
  background:rgba(80,200,120,.22);border-color:rgba(120,220,150,.55);color:#dcfce7;
  text-decoration:line-through;opacity:.72
}
.find-chip.is-just-found{animation:spotMarkIn .35s ease}
.find-chip.is-hinted{
  border-color:rgba(250,204,21,.7);
  box-shadow:0 0 12px rgba(250,204,21,.35);
}
.find-timer-chip{
  font-variant-numeric:tabular-nums;
  border-color:rgba(120,220,255,.35)!important;
  background:rgba(40,120,180,.18)!important;
}
.find-timer-chip.is-warn{
  border-color:rgba(251,191,36,.65)!important;
  background:rgba(180,120,20,.28)!important;
  color:#fde68a!important;
}
.find-timer-chip.is-critical{
  border-color:rgba(248,113,113,.75)!important;
  background:rgba(180,40,40,.35)!important;
  color:#fecaca!important;
  animation:findTimerPulse .7s ease-in-out infinite;
}
@keyframes findTimerPulse{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.06);opacity:.88}
}
.find-mark{
  position:absolute;left:0;top:0;transform:translate(-50%,-50%);
  width:48px;height:48px;font-size:1.15rem;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.65));z-index:4;
  display:flex;align-items:center;justify-content:center;pointer-events:none
}
.find-mark-ring{
  position:absolute;inset:0;border-radius:50%;
  border:3px solid #6ee7a8;background:rgba(80,200,120,.22);
  box-shadow:0 0 0 2px rgba(10,20,16,.35),0 0 18px rgba(110,231,168,.5);
  animation:spotMarkIn .28s ease-out
}
.find-mark-emoji{position:relative;z-index:1;font-size:1.25rem;line-height:1}
.find-mark-pop{animation:spotMarkIn .3s ease-out}
.find-hint{text-align:center;margin:8px 0 0;flex:0 0 auto}
.find-scene.is-shake,.spotimg-play.is-shake,.spotimg-pane.is-shake{animation:sliceShake .35s ease}
.find-marks{position:absolute;inset:auto;pointer-events:none;z-index:3}

.puzimg-board-fs{
  flex:1;min-height:0;width:min(100%,min(70vh,640px));margin:0 auto;aspect-ratio:1;max-width:none;gap:1px
}
.puzimg-board.is-complete{
  display:flex!important;align-items:center;justify-content:center;
  background:rgba(12,8,4,.35);border-radius:14px;overflow:hidden;gap:0;
  aspect-ratio:auto;min-height:0;width:100%;max-width:100%;
}
.puzimg-complete-preview{
  width:auto;height:auto;
  max-width:100%;max-height:100%;
  object-fit:contain;display:block;pointer-events:none;
  border-radius:10px;
  box-shadow:0 18px 48px rgba(0,0,0,.45),0 0 0 1px rgba(255,210,140,.28);
}
.puz-complete-banner{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  margin:0 0 8px;padding:10px 14px;border-radius:14px;
  background:linear-gradient(180deg,rgba(80,50,18,.82),rgba(30,18,8,.88));
  border:1px solid rgba(255,210,140,.4);color:#ffe7b0;font-weight:800;
  text-align:center;flex:0 0 auto;z-index:12;
}
.puz-complete-title{font-size:1.05rem;line-height:1.25}
.puz-back-btn{
  min-width:min(100%,280px);min-height:48px;font-weight:900;font-size:1rem;
  border-radius:14px;border:1px solid rgba(255,210,140,.5);
  background:linear-gradient(180deg,#e8b45a,#b87a28);color:#1a1008;cursor:pointer;
  box-shadow:0 10px 28px rgba(180,120,40,.35);
}
.puzimg-arena-fs .cut-hud.is-hidden{display:none!important}
body.puzzle-solved-view .arcade-fs-header .arcade-quit-btn.is-emphasis,
body.arcade-game-fullscreen-active #arcade-quit.arcade-quit-btn.is-emphasis{
  padding:10px 18px;font-size:.95rem;font-weight:900;
  border:1px solid rgba(255,210,140,.55);
  background:linear-gradient(180deg,#e8b45a,#b87a28);color:#1a1008;
  box-shadow:0 8px 22px rgba(180,120,40,.4);
}
/* Fertiges Puzzle: Bild füllt Restfläche, kein Scroll */
body.arcade-game-fullscreen-active .puzimg-arena-fs.is-solved{
  display:flex!important;flex-direction:column!important;
  align-items:stretch;justify-content:flex-start;
  overflow:hidden!important;
  padding:max(56px,calc(env(safe-area-inset-top) + 48px)) 10px max(10px,env(safe-area-inset-bottom))!important;
  box-sizing:border-box;gap:8px;
}
body.arcade-game-fullscreen-active .puzimg-arena-fs.is-solved .puz-complete-banner{
  margin:0;max-width:min(520px,100%);align-self:center;width:100%;
}
body.arcade-game-fullscreen-active .puzimg-arena-fs.is-solved .puzimg-board.is-complete,
body.arcade-game-fullscreen-active .puzimg-arena-fs.is-solved .puzimg-board-fs.is-complete{
  flex:1 1 auto!important;min-height:0!important;
  width:100%!important;max-width:100%!important;height:auto!important;
  max-height:none!important;aspect-ratio:auto!important;
  margin:0!important;border-radius:12px!important;
}
body.arcade-game-fullscreen-active .puzimg-arena-fs.is-solved .puzimg-complete-preview{
  width:auto!important;height:auto!important;
  max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;
}
.puz-reveal-overlay{
  position:absolute;inset:0;z-index:80;
  display:flex;align-items:center;justify-content:center;
  padding:max(12px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));
  background:rgba(6,4,2,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-sizing:border-box;animation:puzRevealIn .35s ease-out
}
.puz-reveal-card{
  display:flex;flex-direction:column;align-items:center;gap:14px;
  width:min(100%,960px);max-height:100%;
}
.puz-reveal-img{
  width:auto;height:auto;
  max-width:min(94vw,920px);
  max-height:min(72vh,820px);
  object-fit:contain;border-radius:16px;
  box-shadow:0 24px 64px rgba(0,0,0,.55),0 0 0 1px rgba(255,210,140,.35),0 0 40px rgba(232,180,80,.18);
  background:#120c08
}
.puz-reveal-caption{
  margin:0;font-weight:800;font-size:1.05rem;color:#ffe7b0;
  text-shadow:0 2px 10px rgba(0,0,0,.65)
}
.puz-reveal-btn{
  min-width:160px;min-height:48px;font-weight:800;font-size:1rem;
  border-radius:14px;border:1px solid rgba(255,210,140,.4);
  background:linear-gradient(180deg,#e8b45a,#b87a28);
  color:#1a1008;cursor:pointer;
}
@keyframes puzRevealIn{
  from{opacity:0;transform:scale(.97)}
  to{opacity:1;transform:none}
}
body.arcade-game-fullscreen-active #rpg-wwm-fs-body{position:relative}
.ship-arena-fs #ship-canvas{
  flex:1;min-height:0;width:100%;max-height:none;height:100%;border-radius:0;object-fit:contain
}
.ship-arena-fs{align-items:stretch;position:relative}
.ship-status{text-align:center;margin-top:6px;flex:0 0 auto;font-weight:700;color:rgba(180,255,230,.9)}
.ship-status-overlay{
  position:absolute;left:50%;
  bottom:max(72px, calc(env(safe-area-inset-bottom) + 64px));
  transform:translateX(-50%);z-index:12;pointer-events:none;
  margin:0;padding:6px 12px;border-radius:999px;
  background:rgba(4,8,16,.78);backdrop-filter:blur(8px);
  font-size:.82rem;white-space:nowrap;max-width:min(92%,420px);
  overflow:hidden;text-overflow:ellipsis;
}
.ship-loadout{
  position:absolute;
  left:max(10px, env(safe-area-inset-left));
  bottom:max(12px, env(safe-area-inset-bottom));
  z-index:14;pointer-events:none;
  display:flex;flex-direction:column;gap:6px;
  min-width:150px;max-width:min(46vw,220px);
  padding:8px 10px;border-radius:14px;
  background:rgba(4,10,20,.82);border:1px solid rgba(100,220,255,.28);
  box-shadow:0 8px 24px rgba(0,0,0,.45);backdrop-filter:blur(10px);
}
.ship-loadout-weapon{display:flex;align-items:center;gap:8px}
.ship-loadout-ico{font-size:1.35rem;line-height:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.ship-loadout-meta{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.ship-loadout-meta strong{font-size:.82rem;color:#e8fbff;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ship-loadout-meta span{font-size:.68rem;color:rgba(160,230,255,.75);font-weight:700}
.ship-loadout-pips{display:flex;gap:3px;align-items:center}
.ship-loadout-pips i{
  width:8px;height:8px;border-radius:50%;
  background:rgba(255,255,255,.15);border:1px solid rgba(140,220,255,.25);
  display:block;
}
.ship-loadout-pips i.is-on{
  background:linear-gradient(180deg,#7cf5ff,#3ad0ff);
  box-shadow:0 0 8px rgba(90,240,255,.55);border-color:rgba(180,255,255,.6);
}
.ship-loadout-boosts{display:flex;flex-wrap:wrap;gap:4px}
.ship-boost-chip{
  font-size:.68rem;font-weight:800;padding:2px 7px;border-radius:999px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#e8f6ff;
}
.ship-boost-chip.is-rapid{border-color:rgba(255,229,102,.5);color:#ffe566}
.ship-boost-chip.is-shield{border-color:rgba(155,140,255,.55);color:#c4b5fd}
.ship-boost-chip.is-speed{border-color:rgba(124,255,92,.5);color:#b8ff9a}
.ship-boost-empty{font-size:.65rem;color:rgba(160,200,220,.45);font-weight:700}
.ship-victory-overlay{
  position:absolute;inset:0;z-index:40;
  display:flex;align-items:center;justify-content:center;
  padding:max(16px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom));
  background:
    radial-gradient(ellipse at 50% 30%,rgba(80,180,255,.18),transparent 55%),
    rgba(2,6,16,.78);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  box-sizing:border-box;animation:shipVictoryIn .4s ease-out;
}
.ship-victory-card{
  position:relative;width:min(100%,520px);
  display:flex;flex-direction:column;align-items:center;gap:14px;
  padding:28px 22px 22px;border-radius:22px;
  background:linear-gradient(165deg,rgba(12,28,48,.94),rgba(6,10,22,.96));
  border:1px solid rgba(120,220,255,.35);
  box-shadow:0 24px 64px rgba(0,0,0,.55),0 0 40px rgba(80,200,255,.15),inset 0 1px 0 rgba(255,255,255,.08);
  text-align:center;overflow:hidden;
}
.ship-victory-burst{
  position:absolute;inset:-40% -20% auto;height:70%;pointer-events:none;
  background:radial-gradient(ellipse at 50% 80%,rgba(255,200,80,.28),transparent 60%);
  animation:shipVictoryPulse 1.6s ease-in-out infinite;
}
.ship-victory-kicker{
  margin:0;position:relative;z-index:1;
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(160,230,255,.75);font-weight:800;
}
.ship-victory-title{
  margin:0;position:relative;z-index:1;
  font-size:clamp(1.35rem,4vw,1.85rem);font-weight:900;color:#e8fbff;
  text-shadow:0 0 24px rgba(100,220,255,.35);
}
.ship-victory-stats{
  position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;
}
.ship-victory-stats span{
  padding:6px 12px;border-radius:999px;font-weight:800;font-size:.9rem;
  background:rgba(255,255,255,.06);border:1px solid rgba(140,220,255,.25);color:#d7f6ff;
}
.ship-victory-loot{
  position:relative;z-index:1;width:100%;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:12px;margin-top:4px;
}
.ship-loot-card{
  display:flex;flex-direction:column;align-items:center;gap:4px;
  padding:16px 12px;border-radius:16px;
  background:rgba(8,18,32,.85);border:1px solid rgba(120,200,255,.28);
  box-shadow:0 8px 24px rgba(0,0,0,.35);
  animation:shipLootPop .45s cubic-bezier(.2,1.2,.3,1) both;
}
.ship-loot-card:nth-child(2){animation-delay:.08s}
.ship-loot-card:nth-child(3){animation-delay:.16s}
.ship-loot-card.is-coins{
  border-color:rgba(251,191,36,.55);
  background:linear-gradient(180deg,rgba(60,40,10,.55),rgba(12,16,28,.9));
}
.ship-loot-card.is-equip{
  border-color:rgba(180,140,255,.55);
  background:linear-gradient(180deg,rgba(50,30,80,.5),rgba(12,16,28,.9));
}
.ship-loot-emoji{font-size:2.1rem;line-height:1;filter:drop-shadow(0 4px 10px rgba(0,0,0,.45))}
.ship-loot-card strong{font-size:1.05rem;color:#f2fbff;font-weight:900}
.ship-loot-card span{font-size:.78rem;color:rgba(200,230,255,.7);font-weight:700}
.ship-victory-btn{
  position:relative;z-index:1;min-width:180px;min-height:50px;margin-top:6px;
  font-weight:900;font-size:1.05rem;border-radius:14px;
  border:1px solid rgba(120,220,255,.45);
  background:linear-gradient(180deg,#5ad0ff,#2a88c8);
  color:#041018;cursor:pointer;
  box-shadow:0 10px 28px rgba(60,180,255,.35);
}
@keyframes shipVictoryIn{from{opacity:0}to{opacity:1}}
@keyframes shipVictoryPulse{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}
@keyframes shipLootPop{from{opacity:0;transform:translateY(12px) scale(.92)}to{opacity:1;transform:none}}
.ship-hud-overlay{pointer-events:none}
body.arcade-game-fullscreen-active .ship-arena-fs{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  padding:0!important;margin:0!important;
  border:none!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
  overflow:hidden!important;
}
body.arcade-game-fullscreen-active .ship-arena-fs #ship-canvas{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  border-radius:0!important;display:block!important;
}
body.arcade-game-fullscreen-active .ship-arena-fs .cut-hud,
body.arcade-game-fullscreen-active .ship-arena-fs .ship-hud-overlay{
  position:absolute;z-index:10;left:8px;right:8px;
  top:max(48px,calc(env(safe-area-inset-top) + 40px));
  margin:0;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;
  pointer-events:none;
}
body.arcade-game-fullscreen-active .arcade-stage-ship.arcade-stage-fill{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  padding:0!important;margin:0!important;
  border:none!important;border-radius:0!important;
  background:#02060e!important;
}

/* ===== Arcade · Responsive & polish (alle Minispiele) ===== */
body.arcade-game-fullscreen-active .arcade-stage:not(.arcade-stage-fill){
  border-radius:18px;padding:12px;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(165deg,rgba(255,255,255,.05),rgba(0,0,0,.22));
  box-shadow:0 16px 40px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.05);
}
body.arcade-game-fullscreen-active .arcade-stage-memory .memory-table{
  flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;
}
body.arcade-game-fullscreen-active .arcade-stage-memory .memory-grid-epic{
  width:100%;max-width:min(920px,100%);
  justify-content:center;align-content:center;
}
body.arcade-game-fullscreen-active .arcade-stage-memory .mem-card{
  width:min(100%,clamp(56px,calc((min(100vw,920px) - 48px) / var(--mem-cols,4) - 8px),110px));
  border-radius:12px;
  box-shadow:0 8px 18px rgba(0,0,0,.35);
}
body.arcade-game-fullscreen-active .arcade-stage-quiz .quiz-board-wwm,
body.arcade-game-fullscreen-active .arcade-stage-wwm .quiz-board-wwm,
body.arcade-game-fullscreen-active .arcade-stage-quiz .quiz-board-classic-epic{
  border:none!important;border-radius:0!important;padding:0;
  background:transparent!important;box-shadow:none!important;
}
body.arcade-game-fullscreen-active .btn-quiz{
  border-radius:14px;min-height:54px;font-weight:750;
  transition:transform .15s ease,border-color .15s ease,background .15s ease;
}
body.arcade-game-fullscreen-active .btn-quiz:not(:disabled):hover{
  transform:translateY(-1px);border-color:rgba(255,210,120,.4);
}
body.arcade-game-fullscreen-active .puzimg-board-fs{
  width:min(100%,min(72vmin,560px));
  border-radius:14px;overflow:hidden;
  box-shadow:0 16px 40px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.1);
}
body.arcade-game-fullscreen-active .cut-stage{
  border-radius:18px;
  box-shadow:0 18px 48px rgba(0,0,0,.45),0 0 0 1px rgba(255,200,120,.28);
}
body.arcade-game-fullscreen-active .spotimg-pane{
  border-radius:14px;overflow:hidden;
  box-shadow:0 12px 32px rgba(0,0,0,.4);
}
body.arcade-game-fullscreen-active .find-chip{
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
body.arcade-game-fullscreen-active .find-scene{
  border-radius:16px;
  box-shadow:0 16px 40px rgba(0,0,0,.42),0 0 0 1px rgba(180,140,255,.28);
}

@media (max-width:900px){
  body.arcade-game-fullscreen-active .arcade-stage-memory .mem-card{
    width:min(100%,clamp(52px,calc((100vw - 40px) / var(--mem-cols,5) - 7px),96px));
  }
  body.arcade-game-fullscreen-active .cut-stage{
    width:min(100%,min(82vh,860px));
  }
}
@media (max-width:700px){
  body.arcade-game-fullscreen-active .spotimg-arena-fs,
  body.arcade-game-fullscreen-active .find-arena-fs,
  body.arcade-game-fullscreen-active .cut-arena-fs,
  body.arcade-game-fullscreen-active .puzimg-arena-fs,
  body.arcade-game-fullscreen-active .ship-arena-fs{
    padding:max(44px,calc(env(safe-area-inset-top) + 36px)) 6px max(6px,env(safe-area-inset-bottom));
  }
  body.arcade-game-fullscreen-active .spotimg-pair-fs{
    grid-template-columns:1fr;gap:6px;
    /* Beide Paneele teilen den Rest — kein doppeltes 34vh */
    grid-template-rows:minmax(0,1fr) minmax(0,1fr);
  }
  body.arcade-game-fullscreen-active .spotimg-pair-fs .spotimg-pane{
    min-height:0;height:auto;max-height:none;
  }
  body.arcade-game-fullscreen-active .find-list,
  body.arcade-game-fullscreen-active .find-list-classic{
    max-height:min(22vh,120px);overflow-y:auto;gap:5px;
  }
  body.arcade-game-fullscreen-active .find-arena-fs .find-list,
  body.arcade-game-fullscreen-active .find-arena-fs .find-list-classic{
    top:max(88px,calc(env(safe-area-inset-top) + 82px));
  }
  body.arcade-game-fullscreen-active .find-arena-fs .find-hud{
    top:max(46px,calc(env(safe-area-inset-top) + 40px));
  }
  body.arcade-game-fullscreen-active .find-arena-fs .find-scene{
    padding-top:max(168px,calc(env(safe-area-inset-top) + 158px));
  }
  body.arcade-game-fullscreen-active .find-chip{padding:4px 8px;font-size:.66rem}
  body.arcade-game-fullscreen-active .puzimg-board-fs{
    width:min(100%,min(86vw,min(68vh,420px)));
  }
  body.arcade-game-fullscreen-active .cut-stage{
    width:min(100%,min(90vw,min(70vh,440px)));
  }
  body.arcade-game-fullscreen-active .cut-hud .chip{font-size:.62rem;padding:3px 7px}
  body.arcade-game-fullscreen-active .arcade-fs-header .arcade-game-hdr-name{
    font-size:clamp(.88rem,3.5vw,1.05rem)
  }
  body.arcade-game-fullscreen-active .arcade-fs-header-sub{display:none}
}
@media (max-width:520px){
  body.arcade-game-fullscreen-active .arcade-stage:not(.arcade-stage-fill){
    border-radius:14px;padding:8px;gap:8px;
  }
  body.arcade-game-fullscreen-active .arcade-stage-memory .mem-card{
    width:min(100%,clamp(48px,calc((100vw - 28px) / var(--mem-cols,4) - 6px),86px));
    border-radius:10px;
  }
  body.arcade-game-fullscreen-active .btn-quiz{min-height:48px;font-size:.88rem;padding:10px 12px}
  .quiz-board-wwm .quiz-question{font-size:clamp(.95rem,4.2vw,1.15rem);margin:6px 0 10px}
  body.arcade-game-fullscreen-active .cut-stage{
    width:min(100%,min(92vw,78vh));border-radius:14px;
  }
}
@media (orientation:landscape) and (max-height:520px){
  body.arcade-game-fullscreen-active .arcade-fs-header,
  body.arcade-game-fullscreen-active .rpg-wwm-fs-head.arcade-fs-header{
    padding:max(4px,env(safe-area-inset-top)) 8px 6px;
  }
  body.arcade-game-fullscreen-active .arcade-fs-header .arcade-game-hdr-emoji,
  body.arcade-game-fullscreen-active .arcade-fs-header-brand .arcade-game-hdr-emoji{
    width:28px;height:28px;font-size:.95rem;border-radius:8px
  }
  body.arcade-game-fullscreen-active .spotimg-arena-fs,
  body.arcade-game-fullscreen-active .find-arena-fs,
  body.arcade-game-fullscreen-active .cut-arena-fs,
  body.arcade-game-fullscreen-active .puzimg-arena-fs,
  body.arcade-game-fullscreen-active .ship-arena-fs{
    padding:max(40px,calc(env(safe-area-inset-top) + 32px)) 6px max(6px,env(safe-area-inset-bottom));
  }
  body.arcade-game-fullscreen-active .spotimg-pair-fs{
    grid-template-columns:1fr 1fr;gap:6px;
  }
  body.arcade-game-fullscreen-active .spotimg-pair-fs .spotimg-pane{min-height:0}
  body.arcade-game-fullscreen-active .cut-stage{
    width:min(48vw,min(78vh,420px));height:min(86%,78vh);
  }
  body.arcade-game-fullscreen-active .puzimg-board-fs{
    width:min(46vw,min(78vh,380px));
  }
  body.arcade-game-fullscreen-active .find-list,
  body.arcade-game-fullscreen-active .find-list-classic{
    max-height:56px;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;
  }
  body.arcade-game-fullscreen-active .arcade-stage-dice .dice-arena-photo,
  body.arcade-game-fullscreen-active .arcade-stage-fishing .fishing-scene-photo{
    min-height:72px;max-height:min(28dvh,140px);
  }
  body.arcade-game-fullscreen-active .arcade-stage-memory .mem-card{
    width:min(100%,clamp(40px,calc((100vw - 80px) / var(--mem-cols,6) - 5px),64px));
  }
}
@media (max-height:640px){
  body.arcade-game-fullscreen-active .arcade-stage:not(.arcade-stage-fill){
    padding:6px;gap:6px;border-radius:12px;
  }
  body.arcade-game-fullscreen-active .arcade-stage-dice .dice-arena-photo,
  body.arcade-game-fullscreen-active .arcade-stage-fishing .fishing-scene-photo{
    min-height:64px;max-height:min(22dvh,120px);
  }
  body.arcade-game-fullscreen-active .spotimg-arena-fs,
  body.arcade-game-fullscreen-active .find-arena-fs,
  body.arcade-game-fullscreen-active .cut-arena-fs,
  body.arcade-game-fullscreen-active .puzimg-arena-fs,
  body.arcade-game-fullscreen-active .ship-arena-fs{
    padding:max(38px,calc(env(safe-area-inset-top) + 30px)) 4px max(4px,env(safe-area-inset-bottom));
  }
  body.arcade-game-fullscreen-active .cut-stage{
    width:min(100%,min(88vw,min(62vh,360px)));
  }
  body.arcade-game-fullscreen-active .puzimg-board-fs{
    width:min(100%,min(80vw,min(58vh,340px)));
  }
  .arcade-setup-card-epic{padding:14px 12px 12px;gap:10px}
  .arcade-setup-icon{width:44px;height:44px;font-size:1.3rem;border-radius:12px}
}
@media (min-width:1100px){
  body.arcade-game-fullscreen-active .arcade-stage:not(.arcade-stage-fill){
    max-width:960px;margin:0 auto;width:100%;
  }
  body.arcade-game-fullscreen-active .cut-stage{
    width:min(100%,min(70vh,640px));
  }
}

.dng-trade-tape{
  position:relative;overflow:hidden;height:28px;border-radius:10px;
  background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.1);
}
.dng-trade-tape-track{
  display:inline-flex;align-items:center;gap:18px;white-space:nowrap;
  padding:5px 10px;min-width:200%;
  animation:dng-tape-scroll 22s linear infinite;
}
.dng-tape-item{font-size:.68rem;font-weight:700;opacity:.9}
.dng-tape-item.is-buy{color:#4ade80}
.dng-tape-item.is-sell{color:#fb7185}
@keyframes dng-tape-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.dng-stock-last.is-live{animation:dng-price-pulse 2.2s ease-in-out infinite}
@keyframes dng-price-pulse{
  0%,100%{text-shadow:0 0 0 transparent}
  50%{text-shadow:0 0 12px rgba(240,200,120,.55)}
}
.dng-stock-spark.is-live .dng-stock-spark-line{
  stroke-dasharray:220;animation:dng-spark-draw 3.5s ease-in-out infinite alternate;
}
@keyframes dng-spark-draw{
  from{stroke-dashoffset:40;filter:drop-shadow(0 0 0 transparent)}
  to{stroke-dashoffset:0;filter:drop-shadow(0 0 4px currentColor)}
}
.dng-stock-spark.is-live{animation:dng-spark-bg 4s ease-in-out infinite}
@keyframes dng-spark-bg{
  0%,100%{box-shadow:inset 0 0 0 rgba(74,222,128,0)}
  50%{box-shadow:inset 0 0 24px rgba(74,222,128,.08)}
}

/* hub tiles fullscreen lock — Topbar volle Breite; #app-transform nur OHNE pc-scale killen */
html body.screen-hub .top-bar,
html body.screen-hub #top-bar,
html[data-desktop-web="1"] body.screen-hub .top-bar,
html.flix-rpg-web body.screen-hub .top-bar,
html.flix-rpg-mobile body.screen-hub .top-bar,
html[data-mobile-shell="1"] body.screen-hub .top-bar,
html[data-abenteuer-apk="1"] body.screen-hub .top-bar{
  max-width:100vw!important;width:100%!important;margin:0!important;
  padding-left:0!important;padding-right:0!important;
  left:0!important;right:0!important;transform:none!important;
}
html:not(.flix-rpg-pc-scale) body.screen-hub #app,
html:not(.flix-rpg-pc-scale)[data-desktop-web="1"] body.screen-hub #app,
html:not(.flix-rpg-pc-scale).flix-rpg-web body.screen-hub #app,
html:not(.flix-rpg-pc-scale).flix-rpg-mobile body.screen-hub #app,
html:not(.flix-rpg-pc-scale)[data-mobile-shell="1"] body.screen-hub #app,
html:not(.flix-rpg-pc-scale)[data-abenteuer-apk="1"] body.screen-hub #app{
  max-width:100vw!important;width:100%!important;margin:0!important;
  padding-left:0!important;padding-right:0!important;
  left:0!important;right:0!important;transform:none!important;
}
html body.screen-hub .top-bar,
html body.screen-hub #top-bar,
html[data-desktop-web="1"] body.screen-hub .top-bar,
html.flix-rpg-web body.screen-hub .top-bar,
html.flix-rpg-mobile body.screen-hub .top-bar,
html[data-mobile-shell="1"] body.screen-hub .top-bar,
html[data-abenteuer-apk="1"] body.screen-hub .top-bar,
html.abenteuer-app body.screen-hub .top-bar{
  display:flex!important;visibility:visible!important;opacity:1!important;
  pointer-events:auto!important;z-index:20050!important;
}
html body.screen-hub #screen-hub.hub-screen-tiles:not(.hidden),
html[data-desktop-web="1"] #screen-hub.hub-screen-tiles:not(.hidden),
html.flix-rpg-web #screen-hub.hub-screen-tiles:not(.hidden),
html.flix-rpg-mobile #screen-hub.hub-screen-tiles:not(.hidden),
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles:not(.hidden),
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles:not(.hidden){
  display:flex!important;flex-direction:column!important;align-items:stretch!important;flex:1 1 auto!important;overflow:hidden!important;min-height:0!important;
  width:100%!important;max-width:none!important;margin:0!important;
  padding-left:0!important;padding-right:0!important;
  box-sizing:border-box!important;
}
html body.screen-hub #screen-hub.hub-screen-tiles .hub-top-strip,
html body.screen-hub #screen-hub.hub-screen-tiles .hub-menu-shell{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;margin-right:0!important;
  align-self:stretch!important;
  box-sizing:border-box!important;
}
html body.screen-hub #screen-hub.hub-screen-tiles .hub-menu-viewport{
  width:100%!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;
  box-sizing:border-box!important;
  flex:0 1 auto!important;
  height:clamp(380px, 64vh, 760px)!important;
  max-height:min(68vh, 780px)!important;
}
html body.screen-hub #screen-hub.hub-screen-tiles #hub-nav-grid,
html[data-desktop-web="1"] #screen-hub.hub-screen-tiles #hub-nav-grid,
html.flix-rpg-web #screen-hub.hub-screen-tiles #hub-nav-grid,
html.flix-rpg-mobile #screen-hub.hub-screen-tiles #hub-nav-grid,
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles #hub-nav-grid,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles #hub-nav-grid{
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  grid-template-columns:none!important;grid-template-rows:none!important;grid-auto-flow:unset!important;
  overflow:visible!important;gap:0!important;height:100%!important;
  margin:0!important;padding:0!important;
}
html body.screen-hub #screen-hub.hub-screen-tiles .hub-menu-page{
  display:grid!important;
  grid-template-columns:repeat(12, minmax(0, 1fr))!important;
  grid-template-rows:repeat(2, minmax(0, 1fr))!important;
  grid-auto-flow:dense!important;
  gap:14px!important;
  padding:6px 4px 8px!important;
  box-sizing:border-box!important;
}
html body.screen-hub #bg-overlay{
  background:linear-gradient(180deg,rgba(6,8,16,.06) 0%,rgba(6,8,16,.2) 42%,rgba(6,8,16,.42) 100%)!important;
}

/* ═══ Arcade Immersive Vollbild: UI auf dem Bild, kleinbild-sicher ═══ */
body.arcade-game-fullscreen-active .rpg-wwm-fs-shell.rpg-arcade-fs-shell{
  width:100%!important;max-width:none!important;height:100%!important;
  border-radius:0!important;border:none!important;box-shadow:none!important;
}
body.arcade-game-fullscreen-active #rpg-wwm-fs-body,
body.arcade-game-fullscreen-active .rpg-wwm-fs-body{
  position:relative;height:100%!important;min-height:0!important;
  padding:0!important;gap:0!important;overflow:hidden!important;
  display:flex!important;flex-direction:column!important;
}
body.arcade-game-fullscreen-active .arcade-fs-header,
body.arcade-game-fullscreen-active .rpg-wwm-fs-head.arcade-fs-header{
  position:absolute!important;top:0;left:0;right:0;z-index:60;
  pointer-events:none;
}
body.arcade-game-fullscreen-active .arcade-fs-header .arcade-quit-btn,
body.arcade-game-fullscreen-active #arcade-quit.arcade-quit-btn{
  pointer-events:auto!important;
}
body.arcade-game-fullscreen-active .arcade-stage,
body.arcade-game-fullscreen-active .arcade-stage-fill{
  flex:1 1 auto!important;min-height:0!important;height:100%!important;
  max-height:100%!important;border-radius:0!important;border:none!important;
  padding:0!important;gap:0!important;box-shadow:none!important;
  background:transparent!important;
}

/* Cut — volle Fläche ohne Seitenbalken */
body.arcade-game-fullscreen-active .cut-arena-fs{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;max-height:none!important;
  margin:0!important;padding:0!important;
  display:block!important;
  background:#120a06;
  overflow:hidden!important;
}
body.arcade-game-fullscreen-active .cut-stage,
body.arcade-game-fullscreen-active .cut-stage-mp{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  aspect-ratio:auto!important;
  margin:0!important;border-radius:0!important;
  border:none!important;box-shadow:none!important;
}
body.arcade-game-fullscreen-active .cut-hud,
body.arcade-game-fullscreen-active .cut-hud-overlay{
  position:absolute!important;
  top:max(48px,calc(env(safe-area-inset-top) + 40px));
  left:8px;right:8px;z-index:8;
  margin:0!important;padding:0;gap:5px;
  display:flex;flex-wrap:wrap;justify-content:center;
  pointer-events:none;
}
body.arcade-game-fullscreen-active .cut-hud .chip,
body.arcade-game-fullscreen-active .cut-hud-overlay .chip{
  pointer-events:none;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  background:rgba(0,0,0,.55)!important;
  border:1px solid rgba(255,220,160,.28)!important;
  box-shadow:0 4px 14px rgba(0,0,0,.35);
}
body.arcade-game-fullscreen-active .cut-status,
body.arcade-game-fullscreen-active .cut-status-overlay{
  position:absolute!important;
  left:10px;right:10px;
  bottom:max(10px,env(safe-area-inset-bottom));
  z-index:8;margin:0!important;
  padding:8px 12px;border-radius:12px;
  background:rgba(0,0,0,.58);
  border:1px solid rgba(255,220,160,.22);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  text-shadow:0 1px 6px rgba(0,0,0,.7);
  font-size:clamp(.62rem,2.6vw,.78rem);line-height:1.35;
}

/* Spot / Puzzle / Find — Arena füllt, HUD auf dem Bild */
body.arcade-game-fullscreen-active .spotimg-arena-fs,
body.arcade-game-fullscreen-active .find-arena-fs,
body.arcade-game-fullscreen-active .puzimg-arena-fs,
body.arcade-game-fullscreen-active .ship-arena-fs{
  position:relative!important;
  width:100%!important;height:100%!important;
  padding:0!important;margin:0!important;
  border-radius:0!important;overflow:hidden!important;
}
body.arcade-game-fullscreen-active .spotimg-arena-fs .cut-hud,
body.arcade-game-fullscreen-active .spotimg-arena-fs .spot-progress{
  position:absolute;z-index:8;left:8px;right:8px;
  pointer-events:none;
}
body.arcade-game-fullscreen-active .spotimg-arena-fs .cut-hud{
  top:max(48px,calc(env(safe-area-inset-top) + 40px));
  margin:0;pointer-events:none;
}
body.arcade-game-fullscreen-active .spotimg-arena-fs .cut-hud .spot-hint-btn{pointer-events:auto}
body.arcade-game-fullscreen-active .spotimg-arena-fs .spot-progress{
  top:max(84px,calc(env(safe-area-inset-top) + 76px));margin:0;
}
body.arcade-game-fullscreen-active .spotimg-pair-fs{
  position:absolute;inset:0;
  padding:max(96px,calc(env(safe-area-inset-top) + 88px)) 8px max(8px,env(safe-area-inset-bottom));
  box-sizing:border-box;gap:8px;min-height:0;height:100%;
}
body.arcade-game-fullscreen-active .puzimg-board-fs{
  width:min(100%,100dvh)!important;
  height:min(100%,100vw)!important;
  max-width:100%;max-height:100%;
  margin:auto;border-radius:0!important;
}
/* Find: HUD + Itemliste unter dem FS-Header, nicht darüber */
body.arcade-game-fullscreen-active .find-arena-fs .find-hud{
  position:absolute;z-index:10;left:8px;right:8px;
  top:max(52px,calc(env(safe-area-inset-top) + 46px));
  margin:0;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;
  pointer-events:none;
}
body.arcade-game-fullscreen-active .find-arena-fs .find-hud .spot-hint-btn{pointer-events:auto}
body.arcade-game-fullscreen-active .find-arena-fs .find-list,
body.arcade-game-fullscreen-active .find-arena-fs .find-list-classic{
  position:absolute;z-index:10;left:8px;right:8px;
  top:max(96px,calc(env(safe-area-inset-top) + 90px));
  margin:0;max-height:min(26vh,140px);overflow-y:auto;
  pointer-events:auto;
  padding:8px 10px;gap:6px;
  border-radius:14px;
  background:rgba(8,6,16,.78);
  border:1px solid rgba(180,150,255,.22);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-sizing:border-box;
}
body.arcade-game-fullscreen-active .find-arena-fs .find-scene{
  position:absolute;inset:0;
  margin:0;max-width:none;width:100%;height:100%;
  border-radius:0!important;border:none!important;box-shadow:none!important;
  padding-top:max(188px,calc(env(safe-area-inset-top) + 178px));
  padding-bottom:max(36px,calc(env(safe-area-inset-bottom) + 28px));
  box-sizing:border-box;
}
body.arcade-game-fullscreen-active .find-arena-fs .find-hint{
  position:absolute;z-index:9;left:10px;right:10px;
  bottom:max(8px,env(safe-area-inset-bottom));
  margin:0;text-align:center;pointer-events:none;
}

/* Fishing — See füllt alles, Controls auf dem Bild */
body.arcade-game-fullscreen-active .arcade-stage-fishing,
body.arcade-game-fullscreen-active .arcade-stage-fishing.arcade-stage-fill{
  padding:0!important;height:100%!important;
}
body.arcade-game-fullscreen-active .arcade-stage-fishing .fishing-reel-game{
  position:relative;height:100%!important;min-height:0;padding:0;gap:0;
}
body.arcade-game-fullscreen-active .arcade-stage-fishing .fishing-scene-photo,
body.arcade-game-fullscreen-active .arcade-stage-fishing.fishing-has-fight .fishing-scene-photo,
body.arcade-game-fullscreen-active .arcade-stage-fishing:has(#fish-fight:not(.hidden)) .fishing-scene-photo{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  min-height:0!important;max-height:none!important;
  border-radius:0!important;border:none!important;
  box-shadow:none!important;flex:none!important;
  overflow:hidden;
}
body.arcade-game-fullscreen-active .arcade-stage-fishing .fishing-scene-caption{
  top:max(52px,calc(env(safe-area-inset-top) + 44px));
  bottom:auto;left:12px;
}
body.arcade-game-fullscreen-active .arcade-stage-fishing .fishing-control-deck,
body.arcade-game-fullscreen-active .fishing-control-deck-overlay{
  position:absolute!important;
  left:0;right:0;bottom:0;z-index:10;
  margin:0;border-radius:0;border:none;
  padding:12px 12px max(12px,env(safe-area-inset-bottom));
  gap:7px;
  background:linear-gradient(180deg,transparent 0%,rgba(0,12,24,.55) 18%,rgba(0,8,16,.88) 100%);
  backdrop-filter:blur(2px);
  max-height:min(58dvh,520px);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
body.arcade-game-fullscreen-active .arcade-stage-fishing .fishing-action-btn{
  width:100%;min-height:48px;border-radius:14px;font-weight:800;
}
body.arcade-game-fullscreen-active .arcade-stage-fishing .fishing-status{
  text-shadow:0 1px 8px rgba(0,0,0,.7);
  background:rgba(0,0,0,.28);border-radius:10px;padding:6px 8px;
}

/* Dice — Taverne füllt; Würfel landen auf dem Tisch */
body.arcade-game-fullscreen-active .arcade-stage-dice,
body.arcade-game-fullscreen-active .arcade-stage-dice.arcade-stage-fill{
  padding:0!important;height:100%!important;position:relative;
}
body.arcade-game-fullscreen-active .arcade-stage-dice .dice-game-shell{
  position:relative;height:100%;min-height:0;gap:0;
}
body.arcade-game-fullscreen-active .arcade-stage-dice .dice-arena-photo{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  min-height:0!important;max-height:none!important;
  border-radius:0!important;border:none!important;flex:none!important;
  justify-content:center!important;
  padding:0!important;
  perspective:900px;
}
body.arcade-game-fullscreen-active .arcade-stage-dice .dice-tavern-img{
  /* Große Tischplatte + schmale Kulisse oben */
  object-fit:cover!important;
  object-position:center 62%!important;
}
body.arcade-game-fullscreen-active .arcade-stage-dice .dice-big-result{
  top:clamp(8%, calc(env(safe-area-inset-top) + 10%), 16%)!important;
  bottom:auto!important;
  transform:translate(-50%, 0)!important;
  z-index:14;
  min-width:180px;
}
body.arcade-game-fullscreen-active .arcade-stage-dice.dice-phase-settled .dice-result-slot,
body.arcade-game-fullscreen-active .arcade-stage-dice.dice-reveal-phase .dice-result-slot{
  display:none!important;
}
body.arcade-game-fullscreen-active .arcade-stage-dice .dice-tavern-veil{
  background:
    linear-gradient(180deg,rgba(8,4,2,.35) 0%,rgba(8,4,2,.08) 18%,rgba(6,3,1,.02) 40%,rgba(4,2,1,.12) 78%,rgba(2,1,0,.4) 100%),
    radial-gradient(ellipse at 50% 78%,transparent 32%,rgba(0,0,0,.28) 90%);
}
body.arcade-game-fullscreen-active .arcade-stage-dice .dice-table-surface{
  left:4%;right:4%;
  top:auto;bottom:8%;
  height:42%;
  opacity:1;
  transform:none;
  border-radius:0;
  border:none;
  filter:none;
  background:radial-gradient(ellipse at 50% 35%,rgba(0,0,0,.32),transparent 72%);
  box-shadow:none;
  pointer-events:none;
}
body.arcade-game-fullscreen-active .arcade-stage-dice .dice-impact-ring{
  top:auto;bottom:18%;
  z-index:6;
}
body.arcade-game-fullscreen-active .arcade-stage-dice.dice-phase-impact .dice-table-surface{
  animation:diceTableHitFs .42s ease-out;
}
@keyframes diceTableHitFs{
  0%{opacity:.7;transform:scale(1)}
  28%{opacity:1;transform:scale(1.04, .96)}
  100%{opacity:.85;transform:scale(1)}
}
body.arcade-game-fullscreen-active .arcade-stage-dice .dice-table-field{
  position:absolute;
  left:50%;
  top:58%;
  bottom:auto;
  transform:translateX(-50%);
  width:min(96%, 640px);
  z-index:5;
  flex:none;
  min-height:0;
  padding:0;
  align-items:flex-end;
  justify-content:center;
  gap:28px;
  filter:none;
  perspective:900px;
}
body.arcade-game-fullscreen-active .arcade-stage-dice .dice-vs{
  align-self:flex-end;margin-bottom:8px;
}
body.arcade-game-fullscreen-active .arcade-stage-dice .dice-pair{
  align-items:flex-end;
  min-height:64px;
  transform:rotateX(28deg) translateZ(0);
  transform-style:preserve-3d;
}
body.arcade-game-fullscreen-active .arcade-stage-dice .dice-lbl{
  margin-bottom:8px;
  text-shadow:0 2px 8px rgba(0,0,0,.85);
}
body.arcade-game-fullscreen-active .arcade-stage-dice .dice-table-field .dice-3d{
  --dice-size:clamp(44px,7.5vw,64px);
  filter:drop-shadow(0 16px 10px rgba(0,0,0,.7));
  transform-origin:50% 100%;
}
body.arcade-game-fullscreen-active .arcade-stage-dice .dice-3d::after{
  bottom:-6px;width:95%;height:12px;
  background:radial-gradient(ellipse,rgba(0,0,0,.78),transparent 70%);
}
body.arcade-game-fullscreen-active .arcade-stage-dice .dice-3d.dice-cube-flying{
  animation-name:diceThrowOntoTable;
  animation-duration:.85s;
  animation-timing-function:cubic-bezier(.12,.6,.2,1);
  animation-fill-mode:forwards;
}
@keyframes diceThrowOntoTable{
  0%{
    transform:translate3d(var(--fly-x,0), 280px, 40px) scale(2.1) rotate(var(--fly-rot,-38deg));
    filter:drop-shadow(0 48px 28px rgba(0,0,0,.1));
    --shadow-opacity:0;--shadow-scale:.12;
    opacity:0;
  }
  8%{opacity:1}
  35%{
    transform:translate3d(calc(var(--fly-x,0) * .45), -72px, 18px) scale(1.45) rotate(calc(var(--fly-rot,0deg) * -.5));
    filter:drop-shadow(0 36px 22px rgba(0,0,0,.3));
    --shadow-opacity:.15;--shadow-scale:.35;
  }
  62%{
    transform:translate3d(calc(var(--slide-x,0) * .12), 4px, 0) scale(1.15, .72) rotate(10deg);
    filter:drop-shadow(0 4px 3px rgba(0,0,0,.62));
    --shadow-opacity:.92;--shadow-scale:1.35;
  }
  78%{
    transform:translate3d(calc(var(--slide-x,0) * .22), 8px, 0) scale(1.28, .48) rotate(-12deg);
    filter:drop-shadow(0 1px 1px rgba(0,0,0,.82));
    --shadow-opacity:1;--shadow-scale:1.85;
  }
  90%{
    transform:translate3d(calc(var(--slide-x,0) * .3), -10px, 0) scale(.95) rotate(8deg);
    filter:drop-shadow(0 14px 10px rgba(0,0,0,.4));
    --shadow-opacity:.45;--shadow-scale:.7;
  }
  100%{
    transform:translate3d(calc(var(--slide-x,0) * .35), 3px, 0) scale(1.12, .58) rotate(-4deg);
    filter:drop-shadow(0 2px 2px rgba(0,0,0,.75));
    --shadow-opacity:1;--shadow-scale:1.55;
    opacity:1;
  }
}
body.arcade-game-fullscreen-active .arcade-stage-dice .dice-3d.dice-cube-physics{
  transform-origin:50% 100%;
}
body.arcade-game-fullscreen-active .arcade-stage-dice .dice-3d.dice-cube-settled{
  filter:drop-shadow(0 14px 8px rgba(0,0,0,.65));
}
body.arcade-game-fullscreen-active .arcade-stage-dice .dice-hud-strip{
  position:absolute;left:0;right:0;z-index:10;margin:0;border-radius:0;
  top:max(48px,calc(env(safe-area-inset-top) + 40px));
  background:linear-gradient(180deg,rgba(0,0,0,.32),transparent 85%);
  border:none;padding:8px 12px 16px;
}
body.arcade-game-fullscreen-active .arcade-stage-dice .arcade-stage-fx-dice .arcade-stage-vignette{opacity:.2}
body.arcade-game-fullscreen-active .arcade-stage-dice .arcade-stage-fx-dice .arcade-stage-grain{opacity:.15}
body.arcade-game-fullscreen-active .arcade-stage-dice .dice-swipe-dock,
body.arcade-game-fullscreen-active .dice-swipe-dock{
  position:absolute!important;
  left:50%!important;right:auto!important;
  bottom:max(14px, env(safe-area-inset-bottom))!important;
  top:auto!important;
  transform:translateX(-50%)!important;
  width:min(100%, 520px)!important;
  z-index:20;
  margin:0;border-radius:0;
  padding:0 10px 10px!important;
  background:transparent!important;
  box-shadow:none;
}
body.arcade-game-fullscreen-active .arcade-stage-dice .dice-swipe-hand,
body.arcade-game-fullscreen-active .dice-swipe-hand{
  --dice-swipe-base:2%;
  transform:translateY(var(--dice-swipe-base));
}
body.arcade-game-fullscreen-active .arcade-stage-dice .dice-swipe-dock.dice-swipe-thrown{
  transform:translateX(-50%) translateY(18px)!important;
  opacity:.35;
}
body.arcade-game-fullscreen-active .arcade-stage-dice .dice-swipe-hint{
  margin-bottom:8px;
  text-shadow:0 2px 10px rgba(0,0,0,.9);
}
body.arcade-game-fullscreen-active .arcade-stage-dice .dice-swipe-hand .dice-3d{
  --dice-size:clamp(36px,6vw,52px);
}
@media (max-height:640px){
  body.arcade-game-fullscreen-active .arcade-stage-dice .dice-table-field{top:54%}
  body.arcade-game-fullscreen-active .arcade-stage-dice .dice-table-surface{bottom:6%;height:40%}
  body.arcade-game-fullscreen-active .arcade-stage-dice .dice-tavern-img{object-position:center 58%!important}
}
@media (min-height:800px){
  body.arcade-game-fullscreen-active .arcade-stage-dice .dice-table-field{top:56%}
  body.arcade-game-fullscreen-active .arcade-stage-dice .dice-tavern-img{object-position:center 60%!important}
}

/* Memory / Quiz / WWM — echtes Vollbild: BG füllt, kein Fenster-Rahmen */
body.arcade-game-fullscreen-active .arcade-stage-memory,
body.arcade-game-fullscreen-active .arcade-stage-quiz,
body.arcade-game-fullscreen-active .arcade-stage-wwm{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  padding:0!important;margin:0!important;
  border:none!important;border-radius:0!important;box-shadow:none!important;
  background:transparent!important;
  overflow:hidden!important;
  box-sizing:border-box;
  display:flex!important;flex-direction:column!important;
}
body.arcade-game-fullscreen-active .arcade-stage-memory > .arcade-stage-fx,
body.arcade-game-fullscreen-active .arcade-stage-quiz > .arcade-stage-fx,
body.arcade-game-fullscreen-active .arcade-stage-wwm > .arcade-stage-fx{
  opacity:1!important;z-index:0;
}
body.arcade-game-fullscreen-active .arcade-stage-memory .arcade-stage-photo,
body.arcade-game-fullscreen-active .arcade-stage-quiz .arcade-stage-photo,
body.arcade-game-fullscreen-active .arcade-stage-wwm .arcade-stage-photo{
  opacity:.92!important;object-fit:cover!important;object-position:center center!important;
}
body.arcade-game-fullscreen-active .arcade-stage-memory .arcade-stage-vignette,
body.arcade-game-fullscreen-active .arcade-stage-quiz .arcade-stage-vignette,
body.arcade-game-fullscreen-active .arcade-stage-wwm .arcade-stage-vignette{opacity:.35}
body.arcade-game-fullscreen-active .arcade-stage-memory .arcade-stage-grain,
body.arcade-game-fullscreen-active .arcade-stage-quiz .arcade-stage-grain,
body.arcade-game-fullscreen-active .arcade-stage-wwm .arcade-stage-grain{opacity:.2}

/* Inhalt über dem Foto, ohne Karten-/Fensterrahmen */
body.arcade-game-fullscreen-active .arcade-stage-memory .memory-table,
body.arcade-game-fullscreen-active .arcade-stage-quiz .quiz-board,
body.arcade-game-fullscreen-active .arcade-stage-quiz .quiz-board-classic-epic,
body.arcade-game-fullscreen-active .arcade-stage-wwm .quiz-board-wwm{
  position:relative;z-index:2;
  flex:1 1 auto;min-height:0;width:100%;max-width:none;
  margin:0;border:none!important;border-radius:0!important;
  box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  background:transparent!important;
  padding:max(56px,calc(env(safe-area-inset-top) + 48px)) clamp(12px,3vw,28px) max(14px,env(safe-area-inset-bottom))!important;
  display:flex;flex-direction:column;gap:12px;overflow:auto;
  box-sizing:border-box;
}

@media (max-width:700px),(max-height:700px){
  body.arcade-game-fullscreen-active .cut-hud .chip,
  body.arcade-game-fullscreen-active .cut-hud-overlay .chip{
    font-size:.58rem;padding:3px 7px;
  }
  body.arcade-game-fullscreen-active .cut-status,
  body.arcade-game-fullscreen-active .cut-status-overlay{
    font-size:.58rem;padding:6px 8px;
  }
  body.arcade-game-fullscreen-active .arcade-stage-fishing .fishing-control-deck,
  body.arcade-game-fullscreen-active .fishing-control-deck-overlay{
    max-height:min(52dvh,420px);padding:8px 8px max(8px,env(safe-area-inset-bottom));gap:5px;
  }
  body.arcade-game-fullscreen-active .arcade-stage-fishing .fishing-rod-chip{display:none}
  body.arcade-game-fullscreen-active .arcade-stage-fishing .fishing-stats{font-size:.68rem}
  body.arcade-game-fullscreen-active .arcade-stage-fishing .fishing-action-btn{min-height:44px}
  body.arcade-game-fullscreen-active .arcade-fs-header-sub{display:none}
  body.arcade-game-fullscreen-active .spotimg-pair-fs{
    padding-top:max(88px,calc(env(safe-area-inset-top) + 78px));
  }
}
@media (max-height:560px){
  body.arcade-game-fullscreen-active .cut-status-overlay{
    font-size:.54rem;padding:5px 7px;
  }
  body.arcade-game-fullscreen-active .arcade-stage-fishing .fishing-control-deck-overlay{
    max-height:min(48dvh,360px);
  }
  body.arcade-game-fullscreen-active .arcade-stage-fishing .fishing-fight-hint{display:none}
}

/* ═══ Arcade Polish · Memory / Quiz / WWM — UI auf dem Vollbild-BG ═══ */
body.arcade-game-fullscreen-active .arcade-stage-memory .memory-info-epic{
  background:linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,.18));
  border:1px solid rgba(255,220,150,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  border-radius:12px;
}
body.arcade-game-fullscreen-active .arcade-stage-memory .memory-grid-epic{
  background:rgba(0,0,0,.22);
  border:none;
  box-shadow:none;
  border-radius:12px;
}
body.arcade-game-fullscreen-active .arcade-stage-memory .mem-card{
  border-radius:16px;
  box-shadow:
    0 12px 26px rgba(0,0,0,.48),
    0 0 0 1px rgba(255,220,160,.12);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
body.arcade-game-fullscreen-active .arcade-stage-memory .mem-card:not(.mem-matched):not(.mem-flipped):hover{
  transform:translateY(-4px) scale(1.03);
  box-shadow:0 0 24px rgba(240,190,90,.4),0 14px 28px rgba(0,0,0,.5);
}
body.arcade-game-fullscreen-active .arcade-stage-memory .mem-card.mem-matched{
  filter:saturate(1.15) brightness(1.05);
  box-shadow:0 0 0 2px rgba(74,222,128,.55),0 0 18px rgba(74,222,128,.3);
  transform:none!important;
}
body.arcade-game-fullscreen-active .arcade-stage-memory .mem-card.mem-flipped:not(.mem-matched){
  transform:none!important;
}
body.arcade-game-fullscreen-active .arcade-stage-memory .mem-back{
  background:
    linear-gradient(145deg,rgba(60,40,16,.95),rgba(20,12,6,.98));
  border:1px solid rgba(212,168,92,.5);
}

/* Quiz / WWM — lesbarer Text auf hellem BG */
body.arcade-game-fullscreen-active .arcade-stage-quiz .quiz-main,
body.arcade-game-fullscreen-active .arcade-stage-wwm .quiz-main{
  width:min(920px,100%);
  margin:0 auto;
  display:flex;flex-direction:column;gap:12px;
  flex:1;min-height:0;justify-content:center;
}
body.arcade-game-fullscreen-active .arcade-stage-quiz .arcade-stage-photo,
body.arcade-game-fullscreen-active .arcade-stage-wwm .arcade-stage-photo{
  opacity:.55!important;filter:brightness(.72) saturate(.9);
}
body.arcade-game-fullscreen-active .arcade-stage-quiz .arcade-stage-vignette,
body.arcade-game-fullscreen-active .arcade-stage-wwm .arcade-stage-vignette{
  opacity:.72!important;
  background:radial-gradient(ellipse at 50% 45%,rgba(0,0,0,.15),rgba(0,0,0,.72) 78%)!important;
}
body.arcade-game-fullscreen-active .arcade-fs-theme-quiz .arcade-fs-header,
body.arcade-game-fullscreen-active .arcade-fs-theme-wwm .arcade-fs-header,
body.arcade-game-fullscreen-active .rpg-wwm-fs-shell.arcade-fs-theme-quiz .arcade-fs-header,
body.arcade-game-fullscreen-active .rpg-wwm-fs-shell.arcade-fs-theme-wwm .arcade-fs-header,
body.arcade-game-fullscreen-active .arcade-stage-quiz ~ .arcade-fs-header{
  background:linear-gradient(180deg,rgba(0,0,0,.82),rgba(0,0,0,.45) 70%,transparent)!important;
}
body.arcade-game-fullscreen-active .arcade-fs-header .arcade-game-hdr-name,
body.arcade-game-fullscreen-active .arcade-fs-header-text .arcade-game-hdr-name{
  color:#fff8e8!important;
  text-shadow:0 2px 10px rgba(0,0,0,.95),0 0 2px rgba(0,0,0,.9);
}
body.arcade-game-fullscreen-active .arcade-fs-header-sub{
  color:rgba(255,240,210,.92)!important;
  text-shadow:0 1px 8px rgba(0,0,0,.95);
  opacity:1!important;
}
body.arcade-game-fullscreen-active .arcade-stage-quiz .quiz-question,
body.arcade-game-fullscreen-active .arcade-stage-wwm .quiz-question{
  border:1px solid rgba(255,220,160,.28)!important;
  border-radius:16px;
  background:rgba(6,8,14,.92)!important;
  box-shadow:0 16px 40px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.08);
  color:#fffaf0!important;
  text-shadow:0 1px 2px rgba(0,0,0,.8);
  padding:16px 18px;
  font-weight:800;
  line-height:1.35;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
body.arcade-game-fullscreen-active .arcade-stage-quiz .quiz-answers,
body.arcade-game-fullscreen-active .arcade-stage-wwm .quiz-answers{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
}
body.arcade-game-fullscreen-active .arcade-stage-quiz .btn-quiz,
body.arcade-game-fullscreen-active .arcade-stage-wwm .btn-quiz{
  border:1px solid rgba(255,220,160,.28)!important;
  border-radius:14px;
  background:rgba(8,10,16,.9)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.45);
  color:#fff8ee!important;
  text-shadow:0 1px 2px rgba(0,0,0,.75);
  font-weight:750;
  min-height:56px;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
body.arcade-game-fullscreen-active .arcade-stage-quiz .btn-quiz .quiz-ans-text,
body.arcade-game-fullscreen-active .arcade-stage-wwm .btn-quiz .quiz-ans-text{
  color:#fff8ee!important;
}
body.arcade-game-fullscreen-active .arcade-stage-quiz .quiz-ans-key,
body.arcade-game-fullscreen-active .arcade-stage-wwm .quiz-ans-key{
  background:linear-gradient(180deg,#f0c14b,#c99220)!important;
  color:#1a1206!important;
  font-weight:900;
  text-shadow:none;
  border:1px solid rgba(255,230,160,.55);
}
body.arcade-game-fullscreen-active .arcade-stage-quiz .btn-quiz:hover,
body.arcade-game-fullscreen-active .arcade-stage-wwm .btn-quiz:hover{
  border-color:rgba(251,191,36,.7)!important;
  background:rgba(28,22,10,.94)!important;
  box-shadow:0 10px 24px rgba(251,191,36,.22);
}
body.arcade-game-fullscreen-active .arcade-stage-quiz .chip,
body.arcade-game-fullscreen-active .arcade-stage-wwm .chip,
body.arcade-game-fullscreen-active .arcade-stage-quiz .quiz-meta,
body.arcade-game-fullscreen-active .arcade-stage-wwm .quiz-meta{
  background:rgba(0,0,0,.72)!important;
  color:#ffe9c2!important;
  border:1px solid rgba(255,220,160,.25);
  text-shadow:0 1px 4px rgba(0,0,0,.8);
}
body.arcade-game-fullscreen-active .arcade-stage-wwm .quiz-board-ladder{
  display:grid;grid-template-columns:minmax(120px,28%) 1fr;gap:14px;align-items:stretch;
}
body.arcade-game-fullscreen-active .arcade-stage-wwm .quiz-ladder-wrap{
  background:rgba(4,6,12,.88)!important;
  border-radius:14px;
  padding:8px;
  border:1px solid rgba(255,220,160,.2);
  backdrop-filter:blur(8px);
}
body.arcade-game-fullscreen-active .arcade-stage-wwm .quiz-ladder-rung{
  background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(20,12,4,.75))!important;
  border:1px solid rgba(255,220,160,.18);
  color:#f8efe0;
}
body.arcade-game-fullscreen-active .arcade-stage-wwm .quiz-ladder-rung.is-current{
  border-color:rgba(251,191,36,.75);
  background:linear-gradient(90deg,rgba(251,191,36,.28),rgba(40,24,8,.85))!important;
  box-shadow:0 0 18px rgba(251,191,36,.28);
}
body.arcade-game-fullscreen-active .arcade-stage-wwm .quiz-ladder-rung.is-safe{
  border-color:rgba(56,189,248,.5);
  background:linear-gradient(90deg,rgba(14,116,144,.4),rgba(8,40,60,.75))!important;
}
body.arcade-game-fullscreen-active .arcade-stage-wwm .quiz-joker-btn{
  border:1px solid rgba(251,191,36,.5);
  background:rgba(20,14,6,.88)!important;
  color:#ffe7b0!important;
  box-shadow:0 4px 14px rgba(0,0,0,.4);
}
body.arcade-game-fullscreen-active .arcade-stage-wwm .quiz-timer-bar{
  height:10px;border:1px solid rgba(255,255,255,.15);
  background:rgba(0,0,0,.55);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.5);
}
body.arcade-game-fullscreen-active .quiz-progress-bar{
  height:8px;border-radius:999px;background:rgba(0,0,0,.55);overflow:hidden;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.45);
}
body.arcade-game-fullscreen-active .quiz-progress-bar > span{
  display:block;height:100%;
  background:linear-gradient(90deg,#f0b429,#ffe08a);
  box-shadow:0 0 12px rgba(240,180,70,.4);
}

/* Cut polish */
body.arcade-game-fullscreen-active .cut-stage-mp{
  box-shadow:
    0 0 0 1px rgba(255,210,120,.2),
    0 0 60px rgba(0,0,0,.55),
    inset 0 0 80px rgba(0,0,0,.25)!important;
}
body.arcade-game-fullscreen-active .cut-hud-overlay .chip{
  font-weight:800;letter-spacing:.02em;
  background:linear-gradient(180deg,rgba(20,12,6,.72),rgba(0,0,0,.62))!important;
  border:1px solid rgba(255,210,120,.35)!important;
}
body.arcade-game-fullscreen-active .cut-status-overlay{
  background:linear-gradient(180deg,rgba(20,10,4,.7),rgba(0,0,0,.68));
  border:1px solid rgba(255,210,120,.28);
  font-weight:750;
}

/* Spot: volle Einzelbilder, Marker/Klick auf contain-Matrix */
body.arcade-game-fullscreen-active .spotimg-pair-fs .spotimg-pane img,
body.arcade-game-fullscreen-active #spotimg-a,
body.arcade-game-fullscreen-active #spotimg-b{
  object-fit:contain!important;object-position:center center!important;
  width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;
}

/* ═══ FINAL OVERRIDE: PC-Scale/Fill-Expand Login/Modus — keine Aspect-Ratio-Letterbox (APK-Rand-Fix) ═══
   Übersteuert sämtliche älteren aspect-ratio:1536/1024-Boxen (auch in @media-Blöcken), die sonst
   unter flix-rpg-pc-scale einen schwarzen Rand rechts/unten übrig lassen. Spezifität via
   wiederholter Klassen bewusst über allen Legacy-Selektoren gehalten. */
html.flix-rpg-pc-scale.flix-rpg-pc-scale[data-pc-scale-stage="1"] #screen-login.login-entry-active .login-maintenance-art-fit.login-maintenance-art-fit,
html.flix-rpg-pc-scale.flix-rpg-pc-scale[data-pc-scale-stage="1"] #screen-login.login-maintenance-active .login-maintenance-art-fit.login-maintenance-art-fit,
html.flix-rpg-pc-scale.flix-rpg-pc-scale[data-pc-scale-stage="1"] #screen-mode.mode-entry-active .login-maintenance-art-fit.login-maintenance-art-fit,
html.flix-rpg-pc-scale.flix-rpg-pc-scale[data-pc-scale-stage="1"] body.login-entry-door-reveal .login-maintenance-art-fit.login-maintenance-art-fit{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important;
  aspect-ratio:auto!important;flex:none!important;align-self:stretch!important;margin:0!important;
  display:block!important;
}
html.flix-rpg-pc-scale.flix-rpg-pc-scale[data-pc-scale-stage="1"] #screen-login.login-entry-active .login-maintenance-art-fit .login-maintenance-art.login-maintenance-art,
html.flix-rpg-pc-scale.flix-rpg-pc-scale[data-pc-scale-stage="1"] #screen-login.login-entry-active .login-maintenance-art-fit .login-entry-art-open.login-entry-art-open,
html.flix-rpg-pc-scale.flix-rpg-pc-scale[data-pc-scale-stage="1"] #screen-login.login-entry-active .login-maintenance-art-fit .login-entry-art-closed.login-entry-art-closed,
html.flix-rpg-pc-scale.flix-rpg-pc-scale[data-pc-scale-stage="1"] #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art.login-maintenance-art,
html.flix-rpg-pc-scale.flix-rpg-pc-scale[data-pc-scale-stage="1"] #screen-login.login-maintenance-active .login-maintenance-art-fit .login-maintenance-art-unlocked.login-maintenance-art-unlocked,
html.flix-rpg-pc-scale.flix-rpg-pc-scale[data-pc-scale-stage="1"] #screen-mode.mode-entry-active .login-maintenance-art-fit .login-maintenance-art.login-maintenance-art,
html.flix-rpg-pc-scale.flix-rpg-pc-scale[data-pc-scale-stage="1"] #screen-mode.mode-entry-active .login-maintenance-art-fit .login-entry-art-open.login-entry-art-open,
html.flix-rpg-pc-scale.flix-rpg-pc-scale[data-pc-scale-stage="1"] #screen-mode.mode-entry-active .login-maintenance-art-fit .login-entry-art-closed.login-entry-art-closed,
html.flix-rpg-pc-scale.flix-rpg-pc-scale[data-pc-scale-stage="1"] body.login-entry-door-reveal .login-maintenance-art-fit .login-maintenance-art.login-maintenance-art,
html.flix-rpg-pc-scale.flix-rpg-pc-scale[data-pc-scale-stage="1"] body.login-entry-door-reveal .login-maintenance-art-fit .login-entry-art-open.login-entry-art-open{
  position:absolute!important;inset:0!important;z-index:1!important;
  width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  object-fit:fill!important;object-position:center center!important;
  display:block!important;
}




/* === HUB STATS BANNER RESPONSIVE (Fantasy-Plaque) === */
html body.screen-hub #screen-hub.hub-screen-tiles,
html body.screen-hub #screen-hub.hub-screen-tiles .hub-top-strip{overflow:visible!important}

html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-hero-stage,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-hero-stage,
html[data-desktop-web="1"] #screen-hub.hub-screen-tiles .hub-hero-stage{
  --hub-av:76px;overflow:visible!important;
}
html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-hero-art,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-hero-art,
html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-hero-scrim,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-hero-scrim{display:block!important}

html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-hero-body,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-hero-body,
html[data-desktop-web="1"] #screen-hub.hub-screen-tiles .hub-hero-body{
  display:grid!important;
  grid-template-columns:minmax(250px,.92fr) minmax(0,1.55fr) minmax(150px,.62fr)!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  padding:10px 12px 6px!important;gap:8px 14px!important;min-height:0!important;align-items:center!important;
}
html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)),
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)),
html[data-desktop-web="1"] #screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)){
  padding-top:0!important;
}
html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-hero-body > .hub-title-banner,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-hero-body > .hub-title-banner,
html[data-desktop-web="1"] #screen-hub.hub-screen-tiles .hub-hero-body > .hub-title-banner{
  grid-column:1 / -1!important;grid-row:1!important;
  width:100%!important;max-width:none!important;
  min-height:56px!important;height:clamp(56px,7vh,78px)!important;
  border-radius:14px 14px 0 0!important;margin:0!important;
}
html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-hero-body > .hub-title-banner.has-banner-img,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-hero-body > .hub-title-banner.has-banner-img,
html[data-desktop-web="1"] #screen-hub.hub-screen-tiles .hub-hero-body > .hub-title-banner.has-banner-img{
  background-image:var(--title-banner-img)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-stats,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-stats{
  display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(150px,.62fr)!important;
  grid-column:2 / 4!important;grid-row:2!important;
  padding:0!important;margin:0!important;background:transparent!important;border:none!important;box-shadow:none!important;
}
html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-char-stack,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-char-stack{
  grid-column:1!important;grid-row:2!important;
}
html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-hero-body:not(:has(> .hub-title-banner:not(.hidden))) .hub-char-stack,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-hero-body:not(:has(> .hub-title-banner:not(.hidden))) .hub-char-stack{
  grid-row:1!important;
}
html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-hero-body:not(:has(> .hub-title-banner:not(.hidden))) .hub-stats,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-hero-body:not(:has(> .hub-title-banner:not(.hidden))) .hub-stats{
  grid-row:1!important;
}
html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-char-card-inner,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-char-card-inner{
  display:grid!important;grid-template-columns:var(--hub-av) minmax(0,1fr)!important;
  column-gap:12px!important;align-items:center!important;overflow:visible!important;
}
html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-avatar-wrap,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-avatar-wrap,
html[data-desktop-web="1"] #screen-hub.hub-screen-tiles .hub-avatar-wrap{
  position:relative!important;left:auto!important;top:auto!important;transform:none!important;
  width:var(--hub-av)!important;height:var(--hub-av)!important;margin:0!important;
}
html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame,
html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-aura,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-aura{
  overflow:visible!important;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;
}
html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-char-class-title,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-char-class-title{
  font-size:clamp(1.2rem, 1.8vh + .45rem, 1.55rem)!important;color:#f0d78c!important;
}
html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-stats .bar-row,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-stats .bar-row,
html.abenteuer-app.abenteuer-touch-ui #screen-hub.hub-screen-tiles .hub-stats .bar-row{
  display:flex!important;align-items:center!important;gap:8px!important;
  background:transparent!important;border:0!important;padding:0!important;
}
html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-stats .bar-track,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-stats .bar-track,
html.abenteuer-app.abenteuer-touch-ui #screen-hub.hub-screen-tiles .hub-stats .bar-track{
  flex:1 1 auto!important;height:12px!important;width:auto!important;min-width:0!important;
}
html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-stats .bar-val,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-stats .bar-val{
  flex:0 0 auto!important;min-width:4.6rem!important;font-size:.74rem!important;
}

html.flix-rpg-hub-dense #screen-hub.hub-screen-tiles .hub-hero-stage{--hub-av:68px}
html.flix-rpg-hub-dense #screen-hub.hub-screen-tiles .hub-hero-body{padding:8px 10px 4px!important;gap:6px 10px!important}
html.flix-rpg-hub-dense #screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)){padding-top:0!important}
html.flix-rpg-hub-dense #screen-hub.hub-screen-tiles .hub-hero-body > .hub-title-banner{min-height:44px!important;height:clamp(44px,5.2vh,56px)!important}
html.flix-rpg-hub-dense #screen-hub.hub-screen-tiles .hub-stats .bar-track{height:11px!important}
html.flix-rpg-hub-dense #screen-hub.hub-screen-tiles .hub-char-class-title{font-size:1.18rem!important}

html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-hero-stage,
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-hero-stage,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-hero-stage{
  --hub-av:68px;overflow:visible!important;margin-top:8px!important;
}
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-hero-art,
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-hero-art,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-hero-art,
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-hero-scrim,
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-hero-scrim,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-hero-scrim{display:block!important}

html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-hero-body,
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-hero-body,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-hero-body{
  display:grid!important;grid-template-columns:1fr!important;
  padding:8px 10px 4px!important;gap:8px!important;min-height:0!important;
}
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-stats,
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-stats,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-stats{
  display:grid!important;grid-template-columns:1fr!important;grid-column:1!important;
  padding:0!important;margin:0!important;background:transparent!important;border:none!important;box-shadow:none!important;
}
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-char-card-inner,
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-char-card-inner,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-char-card-inner{
  display:grid!important;grid-template-columns:var(--hub-av) minmax(0,1fr)!important;
  column-gap:10px!important;overflow:visible!important;background:transparent!important;border:0!important;
}
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-avatar-wrap,
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-avatar-wrap,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-avatar-wrap{
  position:relative!important;left:auto!important;top:auto!important;transform:none!important;
  width:var(--hub-av)!important;height:var(--hub-av)!important;margin:0!important;
}
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame,
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-aura,
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame,
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-aura,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-aura{
  overflow:visible!important;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;
}
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-char-class-title,
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-char-class-title,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-char-class-title{
  font-size:clamp(1.1rem, 4vw, 1.35rem)!important;
}
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-stats .bar-row,
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-stats .bar-row,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-stats .bar-row{
  display:flex!important;align-items:center!important;gap:7px!important;
  background:transparent!important;border:0!important;padding:0!important;
}
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-stats .bar-track,
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-stats .bar-track,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-stats .bar-track{
  flex:1 1 auto!important;height:12px!important;width:auto!important;min-width:0!important;
}
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-stats .bar-val,
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-stats .bar-val,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-stats .bar-val{
  flex:0 0 auto!important;min-width:4.2rem!important;font-size:.72rem!important;
}
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-hero-footer,
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-hero-footer,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-hero-footer{
  padding:0 10px 8px!important;
}
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-vitals-plate,
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-vitals-plate,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-vitals-plate{
  background:rgba(6,8,16,.42)!important;
  border:1px solid rgba(232,197,71,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
  padding:8px 9px!important;border-radius:12px!important;
}
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-resource-panel,
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-resource-panel,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-resource-panel{
  background:
    linear-gradient(165deg, rgba(28,22,12,.55) 0%, rgba(6,8,16,.72) 42%, rgba(8,10,20,.78) 100%)!important;
  border:1px solid rgba(232,197,71,.28)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,244,200,.1),
    inset 0 0 0 1px rgba(0,0,0,.35),
    0 8px 22px rgba(0,0,0,.28)!important;
  padding:9px 10px 10px!important;border-radius:14px!important;
}
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-stats-side,
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-stats-side,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-stats-side{
  background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;
}

@media (orientation:landscape) and (min-width:780px){
  html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-hero-stage,
  html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-hero-stage,
  html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-hero-stage{--hub-av:70px}
  html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-hero-body,
  html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-hero-body,
  html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-hero-body{
    grid-template-columns:minmax(220px,.9fr) minmax(0,1.6fr)!important;
    padding:8px 12px 4px!important;
  }
  html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-stats,
  html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-stats,
  html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-stats{
    grid-template-columns:minmax(0,1.5fr) minmax(140px,.6fr)!important;
    grid-column:2!important;
  }
}

@media (max-width:420px){
  html body #screen-hub.hub-screen-tiles .hub-hero-stage{--hub-av:62px}
  html body #screen-hub.hub-screen-tiles .hub-char-class-title{font-size:1.08rem!important}
  html body #screen-hub.hub-screen-tiles .hub-stats .bar-track{height:11px!important}
  html body #screen-hub.hub-screen-tiles .hub-stats .bar-val{min-width:3.8rem!important;font-size:.68rem!important}
}

/* HUB BANNER DESKTOP FINAL (last) */
html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-hero-stage,
html[data-desktop-web="1"] #screen-hub.hub-screen-tiles .hub-hero-stage,
#screen-hub.hub-screen-tiles .hub-hero-stage{
  --hub-av:76px;overflow:visible!important;
}
#screen-hub.hub-screen-tiles .hub-char-card,
#screen-hub.hub-screen-tiles .hub-char-card-inner,
#screen-hub.hub-screen-tiles .hub-char-stack,
#screen-hub.hub-screen-tiles .hub-stats{
  overflow:visible!important;
}
#screen-hub.hub-screen-tiles .hub-avatar-wrap{
  position:relative!important;left:auto!important;top:auto!important;transform:none!important;margin:0!important;
}
#screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame,
#screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-aura{
  overflow:visible!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
}
#screen-hub.hub-screen-tiles .hub-stats .bar-row{display:flex!important}
#screen-hub.hub-screen-tiles .hub-stats .bar-track{flex:1 1 auto!important;min-width:0!important}
#screen-hub.hub-screen-tiles .hub-stats .bar-val{flex:0 0 auto!important;min-width:4.6rem!important}

/* APK/Mobile: Avatar-Größe = Grid-Spalte, Gildenlogo fix */
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-avatar-wrap,
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-avatar-wrap,
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-avatar-wrap,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-avatar-wrap,
html.flix-rpg-hub-dense #screen-hub.hub-screen-tiles .hub-avatar-wrap,
html.flix-rpg-compact-ui #screen-hub.hub-screen-tiles .hub-avatar-wrap{
  width:var(--hub-av,76px)!important;
  height:var(--hub-av,76px)!important;
  flex-basis:var(--hub-av,76px)!important;
  max-width:var(--hub-av,76px)!important;
  max-height:var(--hub-av,76px)!important;
}
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-meta-guild-logo,
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-meta-guild-logo,
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-meta-guild-logo,
html[data-abenteuer-apk="1"] img.hub-meta-guild-logo,
html.flix-rpg-mobile img.hub-meta-guild-logo{
  width:1.15em!important;height:1.15em!important;
  min-width:1.15em!important;min-height:1.15em!important;
  max-width:1.15em!important;max-height:1.15em!important;
  object-fit:cover!important;
}


/* === APK HUB FIXPACK: Kosmetik, Zentrierung, Gilde, Rail, Icons === */
:root{
  --hub-edge-rail-pad:56px;
}
html[data-abenteuer-apk="1"],
html.flix-rpg-mobile,
html[data-mobile-shell="1"],
html.flix-rpg-pc-scale{
  --hub-edge-rail-pad:56px;
}

/* Dock-Abstand: unter PC-Scale KEIN #app-Padding (Stage = Design-px, Rail reserviert vw).
   Ohne PC-Scale: Content einrücken. */
html[data-abenteuer-apk="1"]:not(.flix-rpg-pc-scale) body.screen-hub #app,
html.flix-rpg-mobile:not(.flix-rpg-pc-scale) body.screen-hub #app,
html[data-mobile-shell="1"]:not(.flix-rpg-pc-scale) body.screen-hub #app{
  padding-right:max(58px, calc(env(safe-area-inset-right, 0px) + 52px))!important;
  padding-left:max(10px, env(safe-area-inset-left, 0px))!important;
  box-sizing:border-box!important;
}
html.flix-rpg-pc-scale body.screen-hub #app,
html[data-abenteuer-apk="1"].flix-rpg-pc-scale body.screen-hub #app,
html.flix-rpg-mobile.flix-rpg-pc-scale body.screen-hub #app,
html[data-mobile-shell="1"].flix-rpg-pc-scale body.screen-hub #app{
  padding-left:0!important;
  padding-right:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-top-strip,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-menu-shell,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-menu-page,
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-top-strip,
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-menu-shell,
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-menu-page,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-top-strip,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-menu-shell,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-menu-page{
  padding-right:0!important; /* #app trägt den Rail-Abstand */
  box-sizing:border-box!important;
}
/* Hero-Inhalt oben andocken (Online-Chips unter Pet, nicht im Leerraum vor Nav) */
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-hero-body,
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-hero-body,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-hero-body,
#screen-hub.hub-screen-tiles .hub-hero-body{
  align-items:start!important;
  align-content:start!important;
}
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-char-stack,
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-char-stack,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-char-stack,
#screen-hub.hub-screen-tiles .hub-char-stack{
  display:flex!important;align-items:center!important;align-self:start!important;
  height:auto!important;min-height:0!important;overflow:visible!important;contain:none!important;
}
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-char-card,
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-char-card,
#screen-hub.hub-screen-tiles .hub-char-card{
  overflow:visible!important;contain:none!important;
  display:flex!important;align-items:center!important;width:100%!important;
}
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-char-card-inner,
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-char-card-inner,
#screen-hub.hub-screen-tiles .hub-char-card-inner{
  align-items:center!important;overflow:visible!important;contain:none!important;
  column-gap:14px!important;
}

/* Kosmetik: Rahmen/Aura dürfen ragen + Overlay sichtbar */
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-aura,
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame,
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-aura,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-aura,
#screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame,
#screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-aura{
  overflow:visible!important;
  border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
  isolation:auto!important;
}
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame > .hub-sprite,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame > .hub-sprite.hub-avatar-img,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame > .hub-avatar-fallback,
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame > .hub-sprite,
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame > .hub-sprite.hub-avatar-img,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame > .hub-sprite,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame > .hub-sprite.hub-avatar-img,
#screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame > .hub-sprite.hub-avatar-img{
  position:absolute!important;
  inset:auto!important;right:auto!important;bottom:auto!important;
  left:50%!important;top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:var(--cos-frame-hole,62%)!important;height:var(--cos-frame-hole,62%)!important;
  max-width:var(--cos-frame-hole,62%)!important;max-height:var(--cos-frame-hole,62%)!important;
  object-fit:cover!important;border-radius:18%!important;border:0!important;
}
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-avatar-wrap .hub-frame-overlay,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-avatar-wrap .cos-frame-overlay,
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-avatar-wrap .hub-frame-overlay,
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-avatar-wrap .cos-frame-overlay,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-avatar-wrap .hub-frame-overlay,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-avatar-wrap .cos-frame-overlay,
#screen-hub.hub-screen-tiles .hub-avatar-wrap .hub-frame-overlay,
#screen-hub.hub-screen-tiles .hub-avatar-wrap .cos-frame-overlay{
  display:block!important;visibility:visible!important;opacity:1!important;
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  object-fit:contain!important;object-position:center!important;
  pointer-events:none!important;z-index:3!important;
}
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-avatar-wrap > .cos-aura-img,
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-avatar-wrap > .cos-aura-img,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-avatar-wrap > .cos-aura-img,
#screen-hub.hub-screen-tiles .hub-avatar-wrap > .cos-aura-img{
  display:block!important;visibility:visible!important;opacity:.95!important;
  position:absolute!important;inset:auto!important;right:auto!important;bottom:auto!important;
  left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
  width:var(--cos-aura-alone,84%)!important;height:var(--cos-aura-alone,84%)!important;
  max-width:none!important;max-height:none!important;
  object-fit:contain!important;object-position:center!important;
  pointer-events:none!important;z-index:1!important;
}
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame > .cos-aura-img,
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame > .cos-aura-img,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame > .cos-aura-img,
#screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame > .cos-aura-img{
  width:var(--cos-aura-framed,86%)!important;height:var(--cos-aura-framed,86%)!important;
}
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame.has-cos-aura > .hub-sprite.hub-avatar-img,
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame.has-cos-aura > .hub-sprite.hub-avatar-img,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame.has-cos-aura > .hub-sprite.hub-avatar-img,
#screen-hub.hub-screen-tiles .hub-avatar-wrap.has-cos-frame.has-cos-aura > .hub-sprite.hub-avatar-img{
  width:var(--cos-avatar-framed-aura,56%)!important;height:var(--cos-avatar-framed-aura,56%)!important;
  max-width:var(--cos-avatar-framed-aura,56%)!important;max-height:var(--cos-avatar-framed-aura,56%)!important;
}
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-avatar-wrap .hub-frame-overlay.hidden,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-avatar-wrap .cos-frame-overlay.hidden{
  display:none!important;
}

/* Gildenlogo: immer klein + inline */
html[data-abenteuer-apk="1"] .hub-meta-guild,
html.flix-rpg-mobile .hub-meta-guild,
#screen-hub .hub-meta-guild{
  display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:5px!important;
}
html[data-abenteuer-apk="1"] img.hub-meta-guild-logo,
html.flix-rpg-mobile img.hub-meta-guild-logo,
html[data-mobile-shell="1"] img.hub-meta-guild-logo,
html.flix-rpg-pc-scale img.hub-meta-guild-logo,
#app img.hub-meta-guild-logo{
  display:inline-block!important;
  width:14px!important;height:14px!important;
  min-width:14px!important;min-height:14px!important;
  max-width:14px!important;max-height:14px!important;
  object-fit:cover!important;flex:0 0 14px!important;
  border-radius:3px!important;
}

/* Hub-Grid + Edge-Rail Icons sichtbar */
html[data-abenteuer-apk="1"] .hub-grid-icon,
html.flix-rpg-mobile .hub-grid-icon,
html.flix-rpg-pc-scale .hub-grid-icon,
#screen-hub.hub-screen-tiles .hub-grid-icon{
  display:block!important;visibility:visible!important;opacity:.95!important;
  object-fit:contain!important;image-rendering:auto!important;
}
html[data-abenteuer-apk="1"] .rpg-bag-edge-btn img,
html.flix-rpg-mobile .rpg-bag-edge-btn img,
html.flix-rpg-pc-scale .rpg-bag-edge-btn img,
.rpg-bag-edge-rail .rpg-bag-edge-btn img,
.rpg-bag-edge-rail .rpg-edge-chrome-glyph--img{
  display:block!important;visibility:visible!important;opacity:1!important;
  width:28px!important;height:28px!important;
  max-width:28px!important;max-height:28px!important;
  object-fit:contain!important;
}
html[data-abenteuer-apk="1"] .hub-grid-card-media,
html.flix-rpg-mobile .hub-grid-card-media,
html.flix-rpg-pc-scale .hub-grid-card-media,
#screen-hub.hub-screen-tiles .hub-grid-card-media{
  display:block!important;visibility:visible!important;opacity:1!important;
  background-size:cover!important;background-position:center!important;
}

/* Profil-Footer Icons */
#screen-hub.hub-screen-tiles .hub-hero-footer .hub-profil-inline-btn{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;
}
#screen-hub.hub-screen-tiles .hub-hero-footer .hub-profil-inline-btn::before{
  content:""!important;flex:0 0 16px!important;width:16px!important;height:16px!important;
  background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important;
}
#screen-hub.hub-screen-tiles #hub-profil-btn::before{background-image:url("/activity/rpg/icons/menu-icon-profil.png")!important}
#screen-hub.hub-screen-tiles #hub-statistik-btn::before{background-image:url("/activity/rpg/icons/menu-icon-achievements.png")!important}
#screen-hub.hub-screen-tiles #hub-hof-btn::before{background-image:url("/activity/rpg/icons/menu-icon-saga.png")!important}


/* Edge-Dock: vorerst nur Hub */
body:not(.screen-hub) #rpg-bag-edge-rail,
body:not(.screen-hub) .rpg-bag-edge-rail{
  display:none!important;visibility:hidden!important;pointer-events:none!important;opacity:0!important;
}
html[data-abenteuer-apk="1"] body:not(.screen-hub) #rpg-bag-edge-rail,
html.flix-rpg-mobile body:not(.screen-hub) #rpg-bag-edge-rail,
html.flix-rpg-pc-scale body:not(.screen-hub) #rpg-bag-edge-rail{
  display:none!important;visibility:hidden!important;pointer-events:none!important;opacity:0!important;
}
body.screen-hub #rpg-bag-edge-rail:not(.hidden),
body.screen-hub .rpg-bag-edge-rail:not(.hidden){
  display:flex!important;visibility:visible!important;pointer-events:auto!important;opacity:1!important;
}


/* === TITLE BANNER FULL WIDTH (final) === */
#screen-hub.hub-screen-tiles .hub-hero-body,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-hero-body,
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-hero-body,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-hero-body,
html.flix-rpg-hub-dense #screen-hub.hub-screen-tiles .hub-hero-body{
  display:grid!important;
  grid-template-columns:minmax(200px,.92fr) minmax(0,1.55fr) minmax(140px,.62fr)!important;
  grid-template-rows:auto!important;
  align-items:start!important;
  align-content:start!important;
}
#screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)),
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)),
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)),
html.flix-rpg-hub-dense #screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)){
  padding-top:0!important;
}
#screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner:not(.hidden),
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner:not(.hidden),
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner:not(.hidden){
  grid-column:1 / -1!important;
  grid-row:1!important;
  width:100%!important;max-width:none!important;
  min-height:56px!important;height:clamp(56px,7vh,78px)!important;
  margin:0!important;padding:0 14px!important;
  border-radius:13px 13px 0 0!important;
  border:0!important;border-bottom:1px solid rgba(232,197,71,.35)!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  align-self:stretch!important;justify-self:stretch!important;
  overflow:hidden!important;
}
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner:not(.hidden),
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-hero-body > .hub-title-banner:not(.hidden),
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner:not(.hidden){
  min-height:64px!important;
  height:clamp(64px,14vw,88px)!important;
  border-radius:0!important;
  padding:0 12px!important;
  width:100%!important;
  max-width:none!important;
  background-size:cover!important;
  background-position:center center!important;
}
#screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner.has-banner-img:not(.hidden){
  background-color:#07060c!important;
  background-image:var(--title-banner-img)!important;
  background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;
}
#screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner ~ .hub-char-stack,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner ~ .hub-char-stack{
  grid-column:1!important;grid-row:2!important;
}
#screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner ~ .hub-stats,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner ~ .hub-stats{
  grid-column:2 / 4!important;grid-row:2!important;
}

/* === TITLE BANNER FULL WINDOW (final) === */
#screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)),
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)),
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)),
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)),
html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)),
html.flix-rpg-hub-dense #screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)){
  padding-top:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
#screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)) > .hub-char-stack,
#screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)) > .hub-stats,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)) > .hub-char-stack,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)) > .hub-stats,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)) > .hub-char-stack,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-hero-body:has(> .hub-title-banner:not(.hidden)) > .hub-stats{
  padding-left:12px!important;
  padding-right:12px!important;
  box-sizing:border-box!important;
}
#screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner:not(.hidden),
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner:not(.hidden),
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner:not(.hidden),
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner:not(.hidden),
html.flix-rpg-hub-dense #screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner:not(.hidden),
html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner:not(.hidden){
  grid-column:1 / -1!important;
  grid-row:1!important;
  width:100%!important;
  max-width:none!important;
  justify-self:stretch!important;
  align-self:stretch!important;
  border-radius:13px 13px 0 0!important;
  border-left:0!important;
  border-right:0!important;
  border-top:0!important;
  margin:0!important;
  min-height:56px!important;
  height:clamp(56px,7vh,78px)!important;
}
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner:not(.hidden),
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-hero-body > .hub-title-banner:not(.hidden),
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner:not(.hidden),
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner:not(.hidden){
  min-height:64px!important;
  height:clamp(64px,14vw,88px)!important;
  border-radius:0!important;
  padding:0 12px!important;
  background-size:cover!important;
  background-position:center center!important;
}



/* === HERO STAGE: Theme-Rahmen erlaubt, Hintergrund/Art unberührt === */
#screen-hub.hub-screen-tiles .hub-hero-stage.has-ui-theme,
#screen-hub.hub-screen-tiles #hub-hero-stage.has-ui-theme{
  /* kein Background-Override — nur Rahmen vom body.cos-ui-* .has-ui-theme */
}
#screen-hub.hub-screen-tiles .hub-hero-stage.glass,
#screen-hub.hub-screen-tiles #hub-hero-stage.glass{
  /* Glas/Theme darf wirken — kein opakes Totschlagen */
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  background:rgba(8,12,20,.72)!important;
}
#screen-hub.hub-screen-tiles .hub-hero-stage:has(#hub-title-banner:not(.hidden)),
#screen-hub.hub-screen-tiles #hub-hero-stage:has(#hub-title-banner:not(.hidden)){
  overflow:hidden!important;
  padding:0!important;
}
#screen-hub.hub-screen-tiles .hub-hero-stage:has(#hub-title-banner:not(.hidden)) > .hub-hero-body{
  padding-top:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
#screen-hub.hub-screen-tiles .hub-hero-stage:has(#hub-title-banner:not(.hidden)) .hub-title-banner{
  border-radius:0!important;
  margin:0!important;
}

/* Hub-Menü-Kacheln: Theme-Rahmen + Hover-Effekte wiederherstellen */
/* Volle Fenster-Optik (wie .has-ui-theme), ohne Background-Override — Kachel-Art bleibt */
body.cos-ui-owner-throne #screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked),
body.cos-ui-owner-throne #screen-hub.hub-screen-tiles a.hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked),
body.cos-ui-royal #screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked),
body.cos-ui-royal #screen-hub.hub-screen-tiles a.hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked){
  border:2px solid rgba(255,214,120,.88)!important;
  border-radius:16px!important;
  box-shadow:
    0 0 0 1px rgba(80,230,255,.55),
    0 0 0 4px rgba(12,8,4,.88),
    0 0 28px rgba(255,190,70,.32),
    0 0 18px rgba(40,210,255,.18),
    0 12px 30px rgba(0,0,0,.35)!important;
}
body.cos-ui-admin-bastion #screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked),
body.cos-ui-admin-bastion #screen-hub.hub-screen-tiles a.hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked){
  border:2px solid rgba(140,200,255,.75)!important;
  border-radius:16px!important;
  box-shadow:0 0 0 2px rgba(90,150,230,.4),0 0 24px rgba(100,170,255,.28),0 12px 30px rgba(0,0,0,.35)!important;
}
body.cos-ui-gm-theatre #screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked),
body.cos-ui-gm-theatre #screen-hub.hub-screen-tiles a.hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked){
  border:2px solid rgba(210,160,255,.75)!important;
  border-radius:16px!important;
  box-shadow:0 0 0 2px rgba(150,90,220,.4),0 0 24px rgba(160,100,255,.28),0 12px 30px rgba(0,0,0,.35)!important;
}
body.cos-ui-neon #screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked),
body.cos-ui-neon #screen-hub.hub-screen-tiles a.hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked){
  border:2px solid rgba(0,255,200,.55)!important;
  box-shadow:0 0 0 2px rgba(0,220,180,.28),0 0 22px rgba(0,255,200,.2),0 12px 30px rgba(0,0,0,.35)!important;
}
body.cos-ui-crystal #screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked),
body.cos-ui-crystal #screen-hub.hub-screen-tiles a.hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked){
  border:2px solid rgba(147,197,253,.6)!important;
  box-shadow:0 0 0 2px rgba(100,160,230,.28),0 0 22px rgba(147,197,253,.18),0 12px 30px rgba(0,0,0,.35)!important;
}
body.cos-ui-sakura #screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked),
body.cos-ui-sakura #screen-hub.hub-screen-tiles a.hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked){
  border:2px solid rgba(244,114,182,.55)!important;
  box-shadow:0 0 0 2px rgba(220,80,150,.25),0 0 22px rgba(244,114,182,.18),0 12px 30px rgba(0,0,0,.35)!important;
}
body.cos-ui-void #screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked),
body.cos-ui-void #screen-hub.hub-screen-tiles a.hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked){
  border:2px solid rgba(129,140,248,.6)!important;
  box-shadow:0 0 0 2px rgba(99,102,241,.32),0 0 22px rgba(99,102,241,.2),0 12px 30px rgba(0,0,0,.35)!important;
}
body.cos-ui-forest #screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked),
body.cos-ui-forest #screen-hub.hub-screen-tiles a.hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked){
  border:2px solid rgba(90,160,80,.6)!important;
  box-shadow:0 0 0 2px rgba(60,120,50,.28),0 0 22px rgba(90,160,80,.18),0 12px 30px rgba(0,0,0,.35)!important;
}
body.cos-ui-ember #screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked),
body.cos-ui-ember #screen-hub.hub-screen-tiles a.hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked){
  border:2px solid rgba(255,140,60,.65)!important;
  box-shadow:0 0 0 2px rgba(200,80,20,.32),0 0 22px rgba(255,140,60,.2),0 12px 30px rgba(0,0,0,.35)!important;
}
body.cos-ui-feather #screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked),
body.cos-ui-feather #screen-hub.hub-screen-tiles a.hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked){
  border:2px solid rgba(200,220,240,.7)!important;
  box-shadow:0 0 0 2px rgba(140,170,200,.35),0 0 22px rgba(160,190,220,.22),0 12px 30px rgba(0,0,0,.35)!important;
}
body.cos-ui-retro #screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked),
body.cos-ui-retro #screen-hub.hub-screen-tiles a.hub-grid-btn.hub-grid-card.has-ui-theme:not(.locked){
  border:2px solid rgba(62,207,114,.55)!important;
  border-radius:6px!important;
  box-shadow:4px 4px 0 rgba(62,207,114,.2),0 0 18px rgba(62,207,114,.14),0 12px 30px rgba(0,0,0,.35)!important;
}
/* Fallback falls Klasse noch nicht gesetzt: trotzdem Theme-Rahmen */
body.cos-ui-owner-throne #screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card:not(.locked):not(.has-ui-theme),
body.cos-ui-royal #screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card:not(.locked):not(.has-ui-theme){
  border-color:rgba(255,210,110,.55)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.28), 0 0 18px rgba(255,190,70,.18), 0 0 12px rgba(40,200,255,.1)!important;
}
body.cos-ui-admin-bastion #screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card:not(.locked):not(.has-ui-theme){
  border-color:rgba(110,180,255,.5)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.28), 0 0 18px rgba(80,150,230,.18)!important;
}
body.cos-ui-gm-theatre #screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card:not(.locked):not(.has-ui-theme){
  border-color:rgba(200,150,255,.5)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.28), 0 0 18px rgba(150,90,220,.18)!important;
}

/* Hover-Lift darf nicht vom Page-Overflow abgeschnitten werden */
#screen-hub.hub-screen-tiles .hub-menu-page{
  overflow:visible!important;
}
/* Inaktive Karussell-Seiten dürfen keine Klicks stehlen (Dungeon → Shop) */
#screen-hub.hub-screen-tiles .hub-menu-page.is-active ~ .hub-menu-page,
#screen-hub.hub-screen-tiles .hub-menu-page:has(~ .is-active){
  pointer-events:none!important;
}
#screen-hub.hub-screen-tiles .hub-menu-viewport{
  overflow:hidden!important; /* Track clippt horizontal, Kacheln dürfen oben ragen */
  padding-top:4px!important;
  padding-bottom:4px!important;
  box-sizing:border-box!important;
}
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card:hover:not(.locked),
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card:focus-visible:not(.locked),
html[data-desktop-web="1"] #screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card:hover:not(.locked),
#screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card:hover:not(.locked),
#screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card:focus-visible:not(.locked){
  transform:translate3d(0,-4px,0) scale(1.02)!important;
  border-color:rgba(232,197,71,.55)!important;
  box-shadow:0 16px 36px rgba(0,0,0,.42), 0 0 0 1px rgba(232,197,71,.22)!important;
  z-index:3!important;
}
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card:hover:not(.locked) .hub-grid-card-media,
#screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card:hover:not(.locked) .hub-grid-card-media,
#screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card:focus-visible:not(.locked) .hub-grid-card-media{
  filter:brightness(1.05) saturate(1.14)!important;
  transform:scale(1.07)!important;
}

/* Menü-Partikel: über BG, unter Modals — sichtbar über transparentem Hub */
html.flix-rpg-pc-scale #cos-fx-layer,
html[data-abenteuer-apk="1"] #cos-fx-layer,
#cos-fx-layer.cos-fx-layer{
  z-index:6!important;
  opacity:1!important;
  visibility:visible!important;
  display:block!important;
  pointer-events:none!important;
}
/* Dungeon/Raid/Halls: Partikel dürfen echte Fenster nicht überdecken */
html body.rpg-dungeon-market-fs #cos-fx-layer,
html body.rpg-raid-lobby-fs #cos-fx-layer,
html body.screen-raid #cos-fx-layer,
html body.screen-coop-dungeon #cos-fx-layer,
html body.wwm-fullscreen-active #cos-fx-layer,
html body.arcade-game-fullscreen-active #cos-fx-layer,
html body.pet-hall-active #cos-fx-layer,
html body.bestiary-fullscreen-active #cos-fx-layer{
  z-index:1!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
html body.rpg-dungeon-market-fs #app,
html body.rpg-raid-lobby-fs #app,
html body.screen-raid #app,
html body.screen-coop-dungeon #app{
  z-index:20!important;
}


/* ═══ Kosmetik Atelier + Erfolge Ruhmeshalle — Epic Shell ═══ */
.cos-workshop--epic,
.ach-workshop--epic{
  position:relative;display:flex;flex-direction:column;
  flex:1 1 auto;min-height:0;height:100%;overflow:hidden;
  border-radius:0;border:none;background:transparent;box-shadow:none;
}
.cos-panel-bg,.ach-panel-bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;
  opacity:1;pointer-events:none;z-index:0;
  filter:saturate(1.12) contrast(1.04) brightness(.78);
}
.cos-workshop--epic .cos-panel-bg{filter:saturate(1.16) contrast(1.05) brightness(.72)}
.ach-workshop--epic .ach-panel-bg{filter:saturate(1.14) contrast(1.05) brightness(.74)}
.cos-panel-veil,.ach-panel-veil{
  position:absolute;inset:0;pointer-events:none;z-index:0;
}
.cos-panel-veil{
  background:
    linear-gradient(180deg,rgba(12,6,16,.35) 0%,rgba(10,6,14,.12) 24%,rgba(8,6,12,.28) 58%,rgba(4,4,10,.62) 100%),
    radial-gradient(ellipse 50% 40% at 18% 78%, rgba(216,180,254,.14), transparent 58%),
    radial-gradient(ellipse 40% 30% at 88% 14%, rgba(244,114,182,.1), transparent 60%);
}
.ach-panel-veil{
  background:
    linear-gradient(180deg,rgba(10,8,4,.32) 0%,rgba(8,6,4,.1) 24%,rgba(8,8,6,.26) 58%,rgba(4,5,8,.62) 100%),
    radial-gradient(ellipse 50% 40% at 20% 78%, rgba(250,204,21,.12), transparent 58%),
    radial-gradient(ellipse 40% 30% at 86% 12%, rgba(52,211,153,.08), transparent 60%);
}
.cos-spark,.ach-spark{
  position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden;opacity:.8;
  animation:cosSparkDrift 8s ease-in-out infinite alternate;
}
.cos-spark{
  background:
    radial-gradient(circle at 24% 76%, rgba(244,114,182,.16), transparent 8%),
    radial-gradient(circle at 62% 80%, rgba(192,132,252,.12), transparent 7%),
    radial-gradient(circle at 78% 28%, rgba(253,224,71,.08), transparent 6%);
}
.ach-spark{
  background:
    radial-gradient(circle at 22% 78%, rgba(250,204,21,.16), transparent 8%),
    radial-gradient(circle at 55% 82%, rgba(52,211,153,.1), transparent 7%),
    radial-gradient(circle at 80% 24%, rgba(253,224,71,.1), transparent 6%);
}
@keyframes cosSparkDrift{
  from{transform:translateY(0) scale(1);opacity:.65}
  to{transform:translateY(-8px) scale(1.03);opacity:1}
}
.cos-panel-content,.ach-panel-content{
  position:relative;z-index:1;display:flex;flex-direction:column;gap:8px;
  flex:1 1 auto;min-height:0;overflow:hidden;
  padding:clamp(4px,1vh,10px) clamp(6px,1vw,12px) max(8px,env(safe-area-inset-bottom,0px));
  max-width:none;width:100%;margin-inline:0;box-sizing:border-box;
}
.cos-hero,.ach-hero{
  position:relative;flex-shrink:0;overflow:hidden;border-radius:16px;
  min-height:96px;
  backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
  box-shadow:0 10px 28px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,244,220,.06);
}
.cos-hero{
  border:1px solid rgba(232,166,214,.22);
  background:rgba(18,10,24,.32);
}
.ach-hero{
  border:1px solid rgba(250,204,21,.2);
  background:rgba(12,10,6,.3);
}
.cos-hero-banner,.ach-hero-banner{position:absolute;inset:0;pointer-events:none;z-index:0}
.cos-hero-banner img,.ach-hero-banner img{
  width:100%;height:100%;object-fit:cover;object-position:center 30%;
  filter:saturate(1.08) brightness(.72);
}
.cos-hero-veil,.ach-hero-veil{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(8,4,12,.72) 0%,rgba(8,4,12,.28) 48%,rgba(8,4,12,.55) 100%),
    linear-gradient(180deg,transparent 30%,rgba(4,4,10,.55) 100%);
}
.ach-hero-veil{
  background:linear-gradient(90deg,rgba(8,6,2,.72) 0%,rgba(8,6,2,.28) 48%,rgba(8,6,2,.55) 100%),
    linear-gradient(180deg,transparent 30%,rgba(4,5,8,.55) 100%);
}
.cos-hero-row,.ach-hero-row{
  position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:14px 14px 10px;min-height:72px;
}
.cos-topbar-title,.ach-topbar-title{min-width:0}
.cos-kicker,.ach-kicker{
  display:block;font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  margin-bottom:4px;
}
.cos-kicker{color:rgba(249,168,212,.78)}
.ach-kicker{color:rgba(253,224,71,.72)}
.cos-title,.ach-title{
  margin:0;font-family:Cinzel,Georgia,serif;font-weight:800;font-size:clamp(1.25rem,2.4vw,1.7rem);
  letter-spacing:.06em;line-height:1.1;
  text-shadow:0 2px 12px rgba(0,0,0,.55);
}
.cos-title{color:#fce7f3}
.ach-title{color:#fff7d6}
.cos-atelier-seal,.ach-trophy-seal{
  width:56px;height:56px;object-fit:contain;flex:0 0 auto;border-radius:50%;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.45));
  animation:epicSealFloat 4.5s ease-in-out infinite alternate;
}
.cos-wallet{
  position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:6px;
  padding:0 14px 12px;
}
.cos-wallet .chip{
  border-radius:999px;border:1px solid rgba(232,166,214,.22);
  background:rgba(8,6,12,.55);backdrop-filter:blur(6px);
}
.cos-bench,.ach-bench{
  position:relative;z-index:1;display:flex;flex-direction:column;gap:8px;
  flex:1 1 auto;min-height:0;overflow:hidden;
}
.cos-lead{margin:0 2px 2px;color:rgba(240,220,245,.68);line-height:1.4}
.cos-empty{text-align:center;padding:28px 12px}
#panel-card.panel-kosmetik .cos-bench{min-height:0;flex:1 1 auto;display:flex;flex-direction:column}
#panel-card.panel-achievements .ach-bench{min-height:0;flex:1 1 auto;display:flex;flex-direction:column}

html:not(.flix-rpg-pc-scale) body.rpg-kosmetik-fs #app,
html:not(.flix-rpg-pc-scale) body.rpg-achievements-fs #app,
html:not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-kosmetik) #app,
html:not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-achievements) #app{
  max-width:100vw!important;width:100%!important;margin-inline:0!important;
}
body.rpg-kosmetik-fs .top-bar,
body.rpg-achievements-fs .top-bar{opacity:.92}
@media (max-width:560px){
  .cos-atelier-seal,.ach-trophy-seal{width:44px;height:44px}
  .cos-hero-row,.ach-hero-row{padding:12px 10px 8px}
  .shop-grid.cos-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
}

/* ═══ Kosmetik v2 — Tabs, Fenster-Previews, klareres Grid ═══ */
.cos-cat-tabs{
  display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;
  padding:2px 2px 8px;margin:0 0 4px;flex-shrink:0;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin;overscroll-behavior-x:contain;
}
.cos-cat-tab{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;
  min-height:34px;padding:6px 12px;border-radius:999px;cursor:pointer;
  border:1px solid rgba(232,166,214,.18);
  background:rgba(10,8,16,.55);color:rgba(245,230,250,.72);
  font-size:.68rem;font-weight:800;letter-spacing:.02em;
  transition:border-color .15s,background .15s,color .15s,transform .12s;
}
.cos-cat-tab:hover{border-color:rgba(232,166,214,.4);color:#fce7f3;background:rgba(40,24,48,.7)}
.cos-cat-tab.active{
  border-color:rgba(244,114,182,.5);color:#fce7f3;
  background:linear-gradient(165deg,rgba(72,36,68,.85),rgba(24,14,28,.9));
  box-shadow:0 0 16px rgba(216,180,254,.16);
}
.cos-cat-tab-count{
  display:inline-flex;min-width:1.4em;justify-content:center;padding:1px 6px;border-radius:999px;
  font-size:.58rem;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.08);
}
.cos-cat-tab.active .cos-cat-tab-count{border-color:rgba(244,114,182,.35);color:#fbcfe8}
#panel-card.panel-kosmetik .cos-cat-sticky{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
#panel-card.panel-kosmetik .cos-cat-count{
  font-size:.62rem;font-weight:700;letter-spacing:.04em;
  color:rgba(252,231,243,.55);padding:2px 8px;border-radius:999px;
  border:1px solid rgba(232,166,214,.18);background:rgba(0,0,0,.25);
}
.cos-lead{max-width:52ch}
.shop-grid.cos-grid{
  grid-template-columns:repeat(auto-fill,minmax(158px,1fr));
  gap:12px;
}
.shop-grid.cos-grid--windows{
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:14px;
}
.shop-grid.cos-grid--wide{
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
}
.cos-item{
  position:relative;
  padding:0;
  overflow:hidden;
  min-height:0;
}
.cos-item-copy{padding:8px 10px 0;display:flex;flex-direction:column;gap:3px}
.cos-item .cos-actions{padding:8px 10px 10px}
.cos-item--ui_theme{
  border-color:rgba(147,197,253,.22);
  background:
    linear-gradient(165deg,rgba(20,24,40,.78),rgba(10,10,16,.86));
}
.cos-item--ui_theme:hover:not(.shop-locked){
  border-color:rgba(147,197,253,.45);
  box-shadow:0 14px 28px rgba(0,0,0,.35), 0 0 20px rgba(96,165,250,.12);
}

/* Transparente Fenster-Previews */
.cos-ui-preview-wrap{
  position:relative;width:100%;aspect-ratio:16/10;min-height:92px;max-height:140px;
  margin:0;border-radius:0;overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.cos-ui-preview-wrap--glass{background:#0a0812}
.cos-ui-preview-scene{
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(ellipse 70% 60% at 30% 40%, rgba(192,132,252,.28), transparent 60%),
    radial-gradient(ellipse 50% 50% at 78% 70%, rgba(56,189,248,.18), transparent 55%),
    linear-gradient(145deg,#1a1028 0%,#0c1424 48%,#120c1c 100%);
}
.cos-ui-preview-frame{
  position:absolute;inset:0;z-index:2;width:100%;height:100%;
  object-fit:cover;object-position:center;display:block;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.35));
}
.cos-ui-preview-caption{
  position:absolute;left:14%;right:14%;top:22%;bottom:22%;z-index:1;
  display:flex;flex-direction:column;gap:8px;padding:10px 12px;box-sizing:border-box;
  border-radius:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(8,10,16,.28));
  border:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  pointer-events:none;
}
.cos-ui-preview-caption .cos-ui-preview-bar{
  height:7px;width:58%;border-radius:99px;background:rgba(255,255,255,.22);
}
.cos-ui-preview-caption .cos-ui-preview-body{
  flex:1;display:flex;align-items:center;justify-content:center;
  font-size:.62rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.55);
}
.cos-item--ui_theme .shop-name{text-align:left}
.cos-item--ui_theme .cos-actions{justify-content:flex-start}

/* Erfolge — dichteres, klareres Layout */
.ach-summary-row{
  display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin:0 0 8px;
}
.ach-summary-row .ach-summary{flex:1 1 280px;margin:0}
.ach-summary-row .ach-claim-all-wrap{
  flex:0 1 220px;margin:0;display:flex;align-items:stretch;
}
.ach-summary-row .ach-claim-all-btn{width:100%;align-self:stretch}
.ach-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:10px;
}
.ach-card{height:100%;min-height:0}
.ach-card-actions{margin-top:auto}
@media (max-width:720px){
  .ach-list{grid-template-columns:1fr}
  .shop-grid.cos-grid--windows{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
  .cos-ui-preview-wrap{min-height:78px;max-height:110px}
}


/* ═══ Erfolge Plaque-Karten mit Kategorie-Art ═══ */
.ach-category-tabs{
  display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin;
  padding:4px 2px 10px;margin:0 0 8px;
}
.ach-cat-tab{
  flex:0 0 auto;display:flex;align-items:center;gap:8px;
  min-width:0;padding:5px 12px 5px 5px;border-radius:999px;
  border:1px solid rgba(250,204,21,.16);
  background:rgba(8,10,14,.58);color:rgba(230,220,190,.75);
  cursor:pointer;touch-action:manipulation;text-align:left;
  transition:border-color .15s,background .15s,color .15s,transform .12s,box-shadow .15s;
}
.ach-cat-tab:hover{background:rgba(255,255,255,.06);border-color:rgba(232,197,71,.4);color:#fff4dc}
.ach-cat-tab.active{
  border-color:rgba(250,204,21,.55);color:#fde68a;
  background:linear-gradient(165deg,rgba(60,48,16,.78),rgba(20,16,8,.88));
  box-shadow:0 0 16px rgba(250,204,21,.14);
}
.ach-cat-ico{
  width:34px;height:34px;border-radius:50%;object-fit:cover;flex:0 0 auto;
  border:1px solid rgba(250,204,21,.35);
  box-shadow:0 4px 10px rgba(0,0,0,.35);
}
.ach-cat-tab-copy{display:flex;flex-direction:column;gap:1px;min-width:0;padding-right:4px}
.ach-cat-label{font-size:.7rem;font-weight:800;line-height:1.15;white-space:nowrap}
.ach-cat-count{font-size:.58rem;font-weight:700;opacity:.8}

.ach-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:14px;
  align-items:stretch;
}
.ach-card{
  position:relative;overflow:hidden;padding:0;gap:0;height:100%;
  display:flex;flex-direction:column;
  border-radius:18px;
  border:1px solid rgba(250,204,21,.18);
  background:
    linear-gradient(165deg,rgba(18,16,10,.82),rgba(8,10,14,.9));
  box-shadow:0 14px 28px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,244,220,.06);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:transform .15s ease, border-color .15s, box-shadow .15s;
}
.ach-card:hover{
  transform:translateY(-2px);
  border-color:rgba(250,204,21,.38);
  box-shadow:0 18px 34px rgba(0,0,0,.38), 0 0 20px rgba(250,204,21,.08);
}
.ach-card-art{
  position:relative;flex:0 0 auto;height:118px;overflow:hidden;
}
.ach-card-art-img{
  width:100%;height:100%;object-fit:cover;object-position:center 35%;
  display:block;filter:saturate(1.08) contrast(1.04) brightness(.88);
}
.ach-card-art-veil{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(4,4,8,.05) 0%,rgba(4,5,10,.18) 45%,rgba(6,8,12,.92) 100%),
    linear-gradient(90deg,rgba(0,0,0,.2),transparent 40%);
  pointer-events:none;
}
.ach-card-art-badge{
  position:absolute;left:12px;bottom:10px;z-index:2;
  width:42px;height:42px;border-radius:14px;
  display:grid;place-items:center;font-size:1.25rem;line-height:1;
  background:
    radial-gradient(circle at 35% 30%,rgba(255,230,160,.22),transparent 55%),
    rgba(8,8,12,.72);
  border:1px solid rgba(250,204,21,.4);
  box-shadow:0 8px 16px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,244,220,.15);
  backdrop-filter:blur(6px);
}
.ach-card-tier-chip{
  position:absolute;right:10px;top:10px;z-index:2;
  padding:3px 9px;border-radius:999px;
  font-size:.6rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  color:#fff7d6;background:rgba(0,0,0,.5);border:1px solid rgba(250,204,21,.35);
  backdrop-filter:blur(6px);
}
.ach-card-body{
  flex:1;min-width:0;display:flex;flex-direction:column;gap:7px;
  padding:10px 12px 12px;
}
.ach-head{display:flex;align-items:flex-start;gap:8px}
.ach-name{flex:1;margin:0;font-weight:800;font-size:.95rem;line-height:1.25;color:#fff8e7}
.ach-gems{
  display:inline-flex;align-items:center;gap:4px;
  font-size:.78rem;color:#fde68a;font-weight:800;white-space:nowrap;padding-top:2px;
}
.ach-gem-ico{width:16px;height:16px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 0 6px rgba(96,165,250,.35))}
.ach-claim-btn .ach-gem-ico{width:15px;height:15px;margin-right:2px}
.ach-desc{margin:0;font-size:.76rem;line-height:1.4;color:rgba(230,220,190,.7)}
.ach-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ach-progress{margin-top:2px}
.ach-card-actions{display:flex;justify-content:stretch;margin-top:auto;padding-top:4px}
.ach-card-actions .ach-claim-btn{width:100%;font-weight:800}
.ach-claimed-badge{margin-top:auto;align-self:flex-start}

/* Tier accents */
.ach-card.ach-tier-easy .ach-card-tier-chip{border-color:rgba(134,239,172,.4);color:#bbf7d0}
.ach-card.ach-tier-medium .ach-card-tier-chip{border-color:rgba(253,224,71,.45);color:#fde68a}
.ach-card.ach-tier-hard .ach-card-tier-chip{border-color:rgba(125,211,252,.45);color:#bae6fd}
.ach-card.ach-tier-epic .ach-card-tier-chip{border-color:rgba(216,180,254,.5);color:#e9d5ff}
.ach-card.ach-tier-legendary .ach-card-tier-chip{
  border-color:rgba(251,146,60,.55);color:#fdba74;
  box-shadow:0 0 12px rgba(251,146,60,.25);
}
.ach-card.ach-claimable{
  border-color:rgba(74,222,128,.55);
  box-shadow:0 0 22px rgba(74,222,128,.16), 0 14px 28px rgba(0,0,0,.32);
}
.ach-card.ach-claimable .ach-card-art-veil{
  background:
    linear-gradient(180deg,rgba(20,60,30,.12) 0%,rgba(8,20,12,.35) 50%,rgba(6,12,10,.92) 100%);
}
.ach-card.ach-locked .ach-card-art-img{filter:saturate(.55) contrast(.95) brightness(.55)}
.ach-card.ach-claimed{opacity:.92}
.ach-card.ach-claimed .ach-card-art-img{filter:saturate(.85) brightness(.8)}

.ach-summary-stat{
  background:
    linear-gradient(165deg,rgba(22,18,10,.7),rgba(8,10,14,.78));
}
@media (max-width:720px){
  .ach-list{grid-template-columns:1fr}
  .ach-card-art{height:100px}
}

/* ═══ Kosmetik Fenster-Kacheln (volles Theme anklickbar) ═══ */
.shop-grid.cos-grid--windows{
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:16px;
}
button.cos-window-tile,
.cos-window-tile{
  appearance:none;-webkit-appearance:none;
  display:flex;flex-direction:column;align-items:stretch;
  width:100%;margin:0;padding:0;text-align:left;cursor:default;
  font:inherit;color:inherit;
  border-radius:18px;overflow:hidden;position:relative;
  border:1px solid rgba(147,197,253,.22);
  background:
    linear-gradient(165deg,rgba(16,20,36,.82),rgba(8,10,16,.9));
  box-shadow:0 12px 26px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.05);
  transition:transform .15s ease, border-color .15s, box-shadow .15s, filter .15s;
}
button.cos-window-tile.cos-window-action{cursor:pointer}
button.cos-window-tile.cos-window-action:hover{
  transform:translateY(-3px);
  border-color:rgba(147,197,253,.5);
  box-shadow:0 18px 34px rgba(0,0,0,.38), 0 0 22px rgba(96,165,250,.14);
}
.cos-window-tile.cos-equipped,
.cos-item--ui_theme.cos-equipped{
  border-color:rgba(74,222,128,.65)!important;
  box-shadow:
    0 0 0 1px rgba(74,222,128,.35),
    0 0 28px rgba(74,222,128,.22),
    0 16px 32px rgba(0,0,0,.35)!important;
  background:
    linear-gradient(165deg,rgba(20,40,28,.88),rgba(8,14,12,.92))!important;
}
.cos-window-tile.cos-equipped::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:5;border-radius:inherit;
  box-shadow:inset 0 0 0 2px rgba(134,239,172,.55), inset 0 0 28px rgba(74,222,128,.12);
}
.cos-window-tile.cos-equipped .cos-ui-preview-wrap{
  filter:saturate(1.12) brightness(1.05);
}
.cos-window-chip{
  position:absolute;top:10px;right:10px;z-index:6;
  padding:4px 10px;border-radius:999px;
  font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.55);color:rgba(240,240,250,.8);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  pointer-events:none;
}
.cos-window-chip--on{
  color:#bbf7d0;border-color:rgba(74,222,128,.55);
  background:linear-gradient(165deg,rgba(20,60,36,.85),rgba(8,20,14,.9));
  box-shadow:0 0 14px rgba(74,222,128,.25);
}
.cos-window-chip--own{
  color:#bfdbfe;border-color:rgba(147,197,253,.35);
}
.cos-window-tile .cos-ui-preview-wrap,
.cos-item--ui_theme .cos-ui-preview-wrap{
  position:relative;width:100%;aspect-ratio:16/10;
  min-height:128px;max-height:none;margin:0;
  border:none;border-radius:0;overflow:hidden;
}
.cos-window-scene{
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(ellipse 70% 55% at 28% 40%, rgba(192,132,252,.3), transparent 60%),
    radial-gradient(ellipse 55% 50% at 78% 68%, rgba(56,189,248,.2), transparent 55%),
    linear-gradient(145deg,#1a1228 0%,#0c1424 48%,#101018 100%);
}
.cos-window-glass{
  position:absolute;left:12%;right:12%;top:18%;bottom:20%;z-index:1;
  border-radius:12px;padding:12px;
  display:flex;flex-direction:column;gap:8px;
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(8,10,16,.32));
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  pointer-events:none;
}
.cos-window-glass-bar{
  display:block;height:8px;width:52%;border-radius:99px;background:rgba(255,255,255,.22);
}
.cos-window-glass-line{
  display:block;height:6px;width:78%;border-radius:99px;background:rgba(255,255,255,.1);
}
.cos-window-glass-line.short{width:46%}
.cos-window-tile .cos-ui-preview-frame{
  position:absolute;inset:0;z-index:2;width:100%;height:100%;
  object-fit:fill;object-position:center;pointer-events:none;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.35));
}
.cos-window-meta{
  position:relative;z-index:3;padding:10px 12px 6px;
  display:flex;flex-direction:column;gap:3px;
}
.cos-window-tile .shop-name{
  text-align:left;font-size:.82rem;-webkit-line-clamp:1;
  color:#eef6ff;
}
.cos-window-hint{
  display:block;padding:0 12px 12px;
  font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(147,197,253,.8);
}
.cos-window-tile.cos-equipped .cos-window-hint{color:#86efac}
.cos-window-buy{
  position:relative;z-index:3;padding:0 12px 12px;
  display:flex;flex-wrap:wrap;gap:6px;
}
.cos-window-tile.shop-locked{opacity:.72;filter:grayscale(.15)}
@media (max-width:720px){
  .shop-grid.cos-grid--windows{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
  .cos-window-tile .cos-ui-preview-wrap{min-height:100px}
}

/* ═══ Kosmetik: größere Karten + Zentrierung + Banner/Rahmen ═══ */
#panel-card.panel-kosmetik .shop-grid.cos-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(168px,1fr));
  gap:14px;
  justify-content:center;
  justify-items:stretch;
  width:100%;
  max-width:100%;
}
#panel-card.panel-kosmetik .shop-grid.cos-grid--windows{
  grid-template-columns:repeat(auto-fit,minmax(260px,320px));
  justify-content:center;
  gap:16px;
}
#panel-card.panel-kosmetik .shop-grid.cos-grid--titles{
  grid-template-columns:repeat(auto-fit,minmax(220px,280px));
  justify-content:center;
  gap:14px;
}
#panel-card.panel-kosmetik .shop-grid.cos-grid--frames{
  grid-template-columns:repeat(auto-fit,minmax(200px,240px));
  justify-content:center;
  gap:14px;
}
#panel-card.panel-kosmetik .shop-grid.cos-grid--wide{
  grid-template-columns:repeat(auto-fit,minmax(190px,240px));
  justify-content:center;
}
#panel-card.panel-kosmetik .cos-item{
  max-width:100%;
}
.cos-title-preview-wrap,
.cos-item--title .cos-style-banner-wrap{
  width:100%!important;aspect-ratio:16/9!important;min-height:0!important;
  margin:0 0 6px;border-radius:12px;overflow:hidden;
  border:1px solid rgba(232,197,71,.18);
  background:#0a0810;
}
.cos-title-preview-img{
  width:100%!important;height:100%!important;object-fit:contain!important;object-position:center;
  display:block;background:transparent!important;
}
.cos-badge-preview-wrap{
  width:100%;aspect-ratio:1/1;max-height:140px;margin:0 auto 6px;
  display:grid;place-items:center;
  border-radius:14px;overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  background:
    radial-gradient(circle at 50% 40%,rgba(40,36,52,.85),rgba(8,8,14,.98));
}
.cos-badge-preview-img{
  width:72%;height:72%;object-fit:contain;display:block;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.4));
}
#panel-card.panel-kosmetik .cos-item--frame .cos-style-banner-wrap,
#panel-card.panel-kosmetik .cos-item--combat_aura .cos-style-banner-wrap{
  background:#0a0810!important;
  border-color:rgba(232,197,71,.16);
}
#panel-card.panel-kosmetik .cos-item--title .shop-name,
#panel-card.panel-kosmetik .cos-item--frame .shop-name{
  font-size:.78rem;
}
@media (max-width:720px){
  #panel-card.panel-kosmetik .shop-grid.cos-grid--windows{
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  }
  #panel-card.panel-kosmetik .shop-grid.cos-grid--titles,
  #panel-card.panel-kosmetik .shop-grid.cos-grid--frames{
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  }
}

/* ═══ Erfolge + Kosmetik: Titel & Filter zentriert, Filter schöner ═══ */
.cos-hero-row,
.ach-hero-row{
  display:grid!important;
  grid-template-columns:56px minmax(0,1fr) 56px;
  align-items:center;
  justify-items:center;
  gap:8px;
  padding:16px 14px 12px!important;
}
.cos-topbar-title,
.ach-topbar-title{
  grid-column:2;
  text-align:center;
  justify-self:center;
  width:100%;
}
.cos-kicker,
.ach-kicker{
  text-align:center;
  margin-bottom:6px;
}
.cos-title,
.ach-title{
  text-align:center;
}
.cos-atelier-seal,
.ach-trophy-seal{
  grid-column:3;
  justify-self:end;
  width:52px;height:52px;
}
.cos-hero-row::before,
.ach-hero-row::before{
  content:"";
  grid-column:1;
  width:52px;height:52px;
}
.cos-wallet{
  justify-content:center!important;
  padding:0 14px 14px!important;
}
.cos-lead{
  text-align:center;
  margin-left:auto;margin-right:auto;
}

/* Kosmetik Kategorie-Tabs zentriert */
.cos-cat-tabs{
  justify-content:center!important;
  flex-wrap:wrap!important;
  overflow-x:visible!important;
  gap:8px!important;
  padding:4px 4px 10px!important;
}
.cos-cat-tab{
  min-height:36px!important;
  padding:7px 14px!important;
  border-radius:999px!important;
  border:1px solid rgba(232,166,214,.22)!important;
  background:
    linear-gradient(165deg,rgba(28,16,36,.72),rgba(10,8,16,.82))!important;
  box-shadow:0 6px 14px rgba(0,0,0,.22);
}
.cos-cat-tab:hover{
  border-color:rgba(244,114,182,.45)!important;
  transform:translateY(-1px);
}
.cos-cat-tab.active{
  border-color:rgba(244,114,182,.55)!important;
  background:linear-gradient(165deg,rgba(72,36,68,.9),rgba(24,14,28,.95))!important;
  box-shadow:0 0 18px rgba(216,180,254,.2), 0 8px 16px rgba(0,0,0,.28)!important;
  color:#fce7f3!important;
}

/* Erfolge Summary zentriert */
.ach-summary-row{
  justify-content:center!important;
}
.ach-summary{
  justify-content:center;
  max-width:920px;
  margin-inline:auto!important;
}

/* Tier-Filter schöner + zentriert */
.ach-tier-legend{
  display:flex!important;
  flex-wrap:wrap;
  justify-content:center!important;
  gap:8px!important;
  margin:2px 0 12px!important;
}
.ach-tier-legend .ach-tier-chip,
.ach-tier-legend span.ach-tier-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 12px!important;
  border-radius:999px!important;
  font-size:.68rem!important;font-weight:800!important;
  letter-spacing:.04em;
  border:1px solid rgba(250,204,21,.2)!important;
  background:
    linear-gradient(165deg,rgba(28,24,14,.78),rgba(10,10,12,.88))!important;
  color:#fff4dc!important;
  box-shadow:0 6px 14px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,244,220,.08);
}
.ach-tier-chip--easy{
  border-color:rgba(134,239,172,.4)!important;color:#bbf7d0!important;
  background:linear-gradient(165deg,rgba(20,40,28,.8),rgba(8,14,12,.9))!important;
}
.ach-tier-chip--medium{
  border-color:rgba(253,224,71,.45)!important;color:#fde68a!important;
}
.ach-tier-chip--hard{
  border-color:rgba(125,211,252,.45)!important;color:#bae6fd!important;
  background:linear-gradient(165deg,rgba(16,28,40,.8),rgba(8,12,18,.9))!important;
}
.ach-tier-chip--epic{
  border-color:rgba(216,180,254,.5)!important;color:#e9d5ff!important;
  background:linear-gradient(165deg,rgba(36,20,48,.82),rgba(12,10,18,.92))!important;
}
.ach-tier-chip--legendary{
  border-color:rgba(251,146,60,.55)!important;color:#fdba74!important;
  background:linear-gradient(165deg,rgba(48,24,12,.85),rgba(14,10,8,.92))!important;
  box-shadow:0 0 14px rgba(251,146,60,.18), 0 6px 14px rgba(0,0,0,.22)!important;
}

/* Kategorie-Filter schöner + zentriert */
.ach-category-tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:10px!important;
  overflow-x:visible!important;
  padding:2px 4px 12px!important;
  margin:0 0 8px!important;
}
.ach-cat-tab{
  flex:0 0 auto;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0;
  padding:6px 14px 6px 6px!important;
  border-radius:999px!important;
  border:1px solid rgba(250,204,21,.18)!important;
  background:
    linear-gradient(165deg,rgba(24,20,12,.78),rgba(8,10,14,.88))!important;
  color:rgba(245,236,210,.78)!important;
  box-shadow:0 8px 16px rgba(0,0,0,.24);
  text-align:left;
}
.ach-cat-tab:hover{
  border-color:rgba(250,204,21,.42)!important;
  color:#fff7d6!important;
  transform:translateY(-1px);
  background:linear-gradient(165deg,rgba(40,32,14,.85),rgba(12,12,16,.92))!important;
}
.ach-cat-tab.active{
  border-color:rgba(250,204,21,.6)!important;
  color:#fde68a!important;
  background:linear-gradient(165deg,rgba(72,56,18,.92),rgba(22,18,10,.96))!important;
  box-shadow:0 0 20px rgba(250,204,21,.18), 0 10px 18px rgba(0,0,0,.3)!important;
}
.ach-cat-ico{
  width:38px!important;height:38px!important;
  border-radius:50%!important;
  border:1px solid rgba(250,204,21,.4)!important;
  box-shadow:0 4px 12px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,244,220,.12)!important;
}
.ach-cat-tab-copy{
  display:flex;flex-direction:column;gap:1px;min-width:0;padding-right:2px;
}
.ach-cat-label{
  font-size:.72rem!important;font-weight:800!important;line-height:1.15;white-space:nowrap;
}
.ach-cat-count{
  font-size:.6rem!important;font-weight:700;opacity:.85;
  letter-spacing:.02em;
}
.ach-cat-tab.active .ach-cat-count{color:#fde68a;opacity:1}

@media (max-width:560px){
  .cos-hero-row,
  .ach-hero-row{
    grid-template-columns:40px minmax(0,1fr) 40px;
  }
  .cos-atelier-seal,
  .ach-trophy-seal,
  .cos-hero-row::before,
  .ach-hero-row::before{width:40px;height:40px}
  .ach-cat-ico{width:32px!important;height:32px!important}
  .ach-cat-tab{padding:5px 10px 5px 5px!important}
}

/* ═══ Kosmetik: echtes Vollbild + Anlegen zentriert + Rahmen/Fenster Previews ═══ */
html:not(.flix-rpg-pc-scale) body.rpg-kosmetik-fs #app,
html:not(.flix-rpg-pc-scale) body.screen-panel:has(#panel-card.panel-kosmetik) #app{
  max-width:100vw!important;
  width:100%!important;
  height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}
body.rpg-kosmetik-fs .top-bar,
body.screen-panel:has(#panel-card.panel-kosmetik) .top-bar{
  max-width:100%!important;width:100%!important;margin-inline:0!important;transform:none!important;
}
body.rpg-fixed-topbar.rpg-kosmetik-fs .top-bar,
body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-kosmetik) .top-bar,
html.flix-rpg-web body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-kosmetik) .top-bar{
  left:0!important;right:0!important;transform:none!important;
  width:100%!important;max-width:100vw!important;
  border-radius:0 0 14px 14px!important;
  padding-left:clamp(8px,1vw,16px)!important;
  padding-right:clamp(48px,4vw,68px)!important;
  box-sizing:border-box!important;
}
body.rpg-kosmetik-fs #screen-panel:not(.hidden),
body.screen-panel:has(#panel-card.panel-kosmetik) #screen-panel:not(.hidden){
  flex:1 1 auto!important;min-height:0!important;
  height:100%!important;
  max-height:none!important;
  overflow:hidden!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;
  display:flex!important;flex-direction:column!important;
}
#panel-card.panel-kosmetik,
#panel-card.panel-kosmetik.glass,
#panel-card.panel-kosmetik.card{
  width:100%!important;max-width:100%!important;
  display:flex!important;flex-direction:column!important;flex:1 1 auto!important;
  height:100%!important;max-height:100%!important;min-height:0!important;
  overflow:hidden!important;box-sizing:border-box!important;
  padding:0!important;margin:0!important;
  border:none!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
#panel-card.panel-kosmetik .cos-workshop,
#panel-card.panel-kosmetik .cos-workshop--epic,
#panel-card.panel-kosmetik .cos-panel-content,
#panel-card.panel-kosmetik .cos-bench{
  flex:1 1 auto!important;min-height:0!important;height:100%;
  max-width:none!important;width:100%!important;
}
#panel-card.panel-kosmetik .cos-scroll-wrap,
#panel-card.panel-kosmetik .shop-scroll-wrap{
  flex:1 1 auto!important;min-height:0!important;
  overflow:auto!important;-webkit-overflow-scrolling:touch;
}

/* Anlegen / Aktionen zentriert */
#panel-card.panel-kosmetik .cos-actions{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
  gap:6px;
  padding:8px 10px 12px!important;
}
#panel-card.panel-kosmetik .cos-actions .btn{
  flex:0 1 auto!important;
  min-width:7.5rem;
  justify-content:center!important;
  text-align:center!important;
  margin-inline:auto;
}
#panel-card.panel-kosmetik .cos-window-hint{
  text-align:center!important;
  width:100%;
}
#panel-card.panel-kosmetik .cos-window-buy{
  justify-content:center!important;
}
#panel-card.panel-kosmetik .cos-item--ui_theme .cos-actions{
  justify-content:center!important;
}

/* Avatar-Rahmen: volle Banner wie Rubin (16:9, gesamter Rahmen sichtbar) */
#panel-card.panel-kosmetik .cos-item--frame .cos-style-banner-wrap,
#panel-card.panel-kosmetik .cos-item--frame .cos-frame-preview-wrap,
#panel-card.panel-kosmetik .cos-frame-preview-wrap{
  aspect-ratio:16/9!important;
  max-height:none!important;
  min-height:0!important;
  height:auto!important;
  width:100%!important;
  overflow:hidden;
  background:#0a0810!important;
}
#panel-card.panel-kosmetik .cos-item--frame .cos-style-banner-img,
#panel-card.panel-kosmetik .cos-item--frame .cos-frame-preview-img{
  width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center!important;
}

/* Fenster: thematisches Szenenbild unter dem Rahmen */
#panel-card.panel-kosmetik .cos-window-scene{
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  filter:saturate(1.05) brightness(.92);
}
#panel-card.panel-kosmetik .cos-window-glass--soft{
  opacity:.55;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(8,10,16,.18))!important;
}
#panel-card.panel-kosmetik .cos-ui-preview-frame{
  object-fit:fill!important;
}
#panel-card.panel-kosmetik .cos-fx-preview-wrap{
  aspect-ratio:16/9!important;
  margin:0 0 6px;
  border-radius:12px;overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  background:#0a0810;
}
#panel-card.panel-kosmetik .cos-fx-preview{
  min-height:96px;display:grid;place-items:center;
  font-size:2rem;
  background:radial-gradient(circle at 50% 45%,rgba(40,36,52,.7),rgba(10,8,16,.95));
  border-bottom:1px solid rgba(255,255,255,.08);
}
#panel-card.panel-kosmetik .cos-window-full{
  position:absolute;inset:0;z-index:1;width:100%;height:100%;
  object-fit:cover;object-position:center;display:block;
}
#panel-card.panel-kosmetik .cos-window-live .cos-ui-preview-frame{
  z-index:2;opacity:.92;mix-blend-mode:normal;
}
#panel-card.panel-kosmetik .cos-window-live{
  background:#0a0812;
}

/* Fenster-Design wieder wie normaler Kosmetik-Shop */
#panel-card.panel-kosmetik .cos-item--ui_theme{
  border-color:rgba(232,166,214,.18)!important;
  background:
    linear-gradient(160deg,rgba(34,22,42,.78),rgba(10,10,16,.82))!important;
}
#panel-card.panel-kosmetik .cos-item--ui_theme:hover:not(.shop-locked){
  border-color:rgba(232,166,214,.4)!important;
  box-shadow:0 14px 26px rgba(0,0,0,.34), 0 0 18px rgba(192,132,252,.1)!important;
}
#panel-card.panel-kosmetik .cos-item--ui_theme.cos-equipped{
  border-color:rgba(62,207,114,.55)!important;
  background:linear-gradient(145deg,rgba(62,207,114,.16),rgba(16,20,18,.78))!important;
}
#panel-card.panel-kosmetik .cos-theme-preview-wrap{
  width:100%!important;
  aspect-ratio:16/9!important;
  margin:0 0 6px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  background:#0a0810;
}
#panel-card.panel-kosmetik .cos-theme-preview-img{
  width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center;
  display:block;
}
#panel-card.panel-kosmetik .cos-item--ui_theme .shop-name{
  text-align:left;
  font-size:.78rem;
}
#panel-card.panel-kosmetik .cos-item--ui_theme .cos-actions{
  justify-content:center!important;
}

/* ═══ Kosmetik Boutique — klare Shop-Formatierung ═══ */
#panel-card.panel-kosmetik .cos-boutique{
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;
}
#panel-card.panel-kosmetik .cos-boutique .cos-panel-content{
  padding:clamp(10px,1.4vh,16px) clamp(12px,1.6vw,22px) max(10px,env(safe-area-inset-bottom,0px));
  gap:10px;max-width:1280px;width:100%;margin-inline:auto;
}
#panel-card.panel-kosmetik .cos-shop-head{
  flex-shrink:0;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;
  padding:4px 2px 12px;border-bottom:1px solid rgba(244,114,182,.14);
}
#panel-card.panel-kosmetik .cos-shop-kicker{
  margin:0 0 4px;font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(249,168,212,.82);
}
#panel-card.panel-kosmetik .cos-shop-title{
  margin:0;font-family:Cinzel,Georgia,serif;font-weight:800;
  font-size:clamp(1.55rem,2.6vw,2.15rem);letter-spacing:.04em;line-height:1.05;
  color:#fff1f8;text-shadow:0 2px 18px rgba(0,0,0,.45);
}
#panel-card.panel-kosmetik .cos-shop-wallet{
  display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;
}
#panel-card.panel-kosmetik .cos-wallet-chip{
  display:flex;align-items:center;gap:8px;min-width:112px;
  padding:8px 12px;border-radius:14px;
  border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
#panel-card.panel-kosmetik .cos-wallet-chip > span{font-size:1.05rem;line-height:1}
#panel-card.panel-kosmetik .cos-wallet-chip strong{display:block;font-size:.9rem;font-weight:900;color:#fff;line-height:1.1}
#panel-card.panel-kosmetik .cos-wallet-chip small{
  display:block;font-size:.55rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.7;margin-top:1px;
}
#panel-card.panel-kosmetik .cos-wallet-chip--fc{
  border-color:rgba(232,197,71,.35);
  background:linear-gradient(145deg,rgba(70,55,18,.5),rgba(8,12,24,.72));
}
#panel-card.panel-kosmetik .cos-wallet-chip--gem{
  border-color:rgba(96,165,250,.4);
  background:linear-gradient(145deg,rgba(30,58,110,.55),rgba(8,12,24,.72));
}

#panel-card.panel-kosmetik .cos-shop-tabs{
  display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;
  gap:8px!important;overflow:visible!important;padding:2px 0 8px!important;margin:0!important;
}
#panel-card.panel-kosmetik .cos-shop-tab{
  display:inline-flex!important;align-items:center!important;gap:8px!important;
  min-height:42px;padding:7px 12px!important;border-radius:14px!important;
  border:1px solid rgba(255,255,255,.1)!important;
  background:rgba(0,0,0,.34)!important;color:rgba(255,240,248,.78)!important;
  box-shadow:none!important;
}
#panel-card.panel-kosmetik .cos-shop-tab:hover{
  border-color:rgba(244,114,182,.35)!important;transform:none;
  background:rgba(40,20,36,.55)!important;
}
#panel-card.panel-kosmetik .cos-shop-tab.active{
  border-color:rgba(244,114,182,.5)!important;color:#fff!important;
  background:linear-gradient(155deg,rgba(88,36,72,.85),rgba(24,12,28,.92))!important;
  box-shadow:0 8px 18px rgba(0,0,0,.25)!important;
}
#panel-card.panel-kosmetik .cos-shop-tab-ico{font-size:1rem;line-height:1}
#panel-card.panel-kosmetik .cos-shop-tab-copy{
  display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;
}
#panel-card.panel-kosmetik .cos-shop-tab-copy strong{
  font-size:.72rem;font-weight:850;line-height:1.15;white-space:nowrap;
}
#panel-card.panel-kosmetik .cos-shop-tab-copy small,
#panel-card.panel-kosmetik .cos-shop-tab .cos-cat-tab-count{
  font-size:.58rem;font-weight:700;opacity:.75;
  background:none!important;border:none!important;padding:0!important;min-width:0!important;
}

#panel-card.panel-kosmetik .cos-shop-scroll{
  padding:4px 2px 18px!important;
}
#panel-card.panel-kosmetik .cos-shop-section{margin:0 0 22px}
#panel-card.panel-kosmetik .cos-shop-section-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  margin:0 0 12px;padding:0 2px;
}
#panel-card.panel-kosmetik .cos-shop-section-head h3{
  margin:0;font-size:.78rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(252,231,243,.72);
}
#panel-card.panel-kosmetik .cos-shop-section-head span{
  font-size:.68rem;font-weight:800;color:rgba(252,231,243,.45);
}

#panel-card.panel-kosmetik .cos-shop-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important;
  gap:14px!important;
  justify-content:stretch!important;
  width:100%;
}

#panel-card.panel-kosmetik .cos-card{
  display:flex!important;flex-direction:column!important;
  padding:0!important;gap:0!important;min-height:100%;
  border-radius:18px!important;
  border:1px solid rgba(255,255,255,.1)!important;
  background:
    linear-gradient(165deg,rgba(28,18,34,.88),rgba(10,10,16,.92))!important;
  box-shadow:0 12px 24px rgba(0,0,0,.28)!important;
  overflow:hidden;
  transition:transform .14s ease, border-color .14s, box-shadow .14s;
}
#panel-card.panel-kosmetik .cos-card:hover:not(.shop-locked){
  transform:translateY(-3px);
  border-color:rgba(244,114,182,.35)!important;
  box-shadow:0 16px 28px rgba(0,0,0,.34), 0 0 18px rgba(192,132,252,.1)!important;
}
#panel-card.panel-kosmetik .cos-card.cos-equipped{
  border-color:rgba(74,222,128,.5)!important;
  box-shadow:0 12px 24px rgba(0,0,0,.28), 0 0 18px rgba(74,222,128,.12)!important;
}
#panel-card.panel-kosmetik .cos-card-media{
  position:relative;width:100%;aspect-ratio:16/10;
  background:#09080f;overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.08);
}
#panel-card.panel-kosmetik .cos-card-media > :not(.cos-card-chip){
  width:100%!important;height:100%!important;margin:0!important;
  border:none!important;border-radius:0!important;max-height:none!important;
  aspect-ratio:auto!important;min-height:0!important;
}
#panel-card.panel-kosmetik .cos-card-media img{
  width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center;display:block;
}
#panel-card.panel-kosmetik .cos-card-chip{
  position:absolute;top:8px;right:8px;z-index:3;
  padding:4px 8px;border-radius:999px;
  font-size:.58rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;
  border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.55);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
#panel-card.panel-kosmetik .cos-card-chip--on{
  color:#bbf7d0;border-color:rgba(74,222,128,.45);background:rgba(10,40,22,.72);
}
#panel-card.panel-kosmetik .cos-card-chip--own{
  color:#bfdbfe;border-color:rgba(147,197,253,.35);
}
#panel-card.panel-kosmetik .cos-card-chip--lock{
  color:#fde68a;border-color:rgba(250,204,21,.3);
}
#panel-card.panel-kosmetik .cos-card-body{
  padding:10px 12px 6px;display:flex;flex-direction:column;gap:3px;flex:1 1 auto;
}
#panel-card.panel-kosmetik .cos-card-name{
  font-size:.84rem;font-weight:850;color:#fff;line-height:1.2;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
}
#panel-card.panel-kosmetik .cos-card-sub{
  font-size:.68rem;line-height:1.35;color:rgba(240,230,245,.62);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:1.8em;
}
#panel-card.panel-kosmetik .cos-card-foot{
  display:flex!important;flex-wrap:wrap;gap:6px!important;
  justify-content:stretch!important;align-items:stretch!important;
  padding:8px 10px 12px!important;margin-top:auto;
}
#panel-card.panel-kosmetik .cos-card-btn{
  flex:1 1 auto!important;min-width:0!important;min-height:34px;
  justify-content:center!important;text-align:center!important;
  margin:0!important;border-radius:11px!important;font-weight:800;
}
#panel-card.panel-kosmetik .cos-card-static{
  display:flex;align-items:center;justify-content:center;width:100%;
  min-height:34px;font-size:.68rem;font-weight:750;color:rgba(240,230,245,.7);
  border-radius:11px;border:1px dashed rgba(255,255,255,.12);background:rgba(0,0,0,.2);
}
#panel-card.panel-kosmetik .cos-lead{display:none}

@media (max-width:720px){
  #panel-card.panel-kosmetik .cos-shop-head{flex-direction:column;align-items:stretch}
  #panel-card.panel-kosmetik .cos-shop-wallet{justify-content:flex-start}
  #panel-card.panel-kosmetik .cos-shop-grid{
    grid-template-columns:repeat(auto-fill,minmax(148px,1fr))!important;
    gap:10px!important;
  }
}

/* ═══ Kosmetik-Karten v2 — Grid bleibt, Karten schöner ═══ */
#panel-card.panel-kosmetik .cos-shop-grid{
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr))!important;
  gap:16px!important;
}
#panel-card.panel-kosmetik .cos-card{
  position:relative;
  border-radius:20px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  background:
    radial-gradient(120% 80% at 50% -10%, rgba(244,114,182,.1), transparent 55%),
    linear-gradient(180deg,rgba(32,22,40,.92),rgba(12,10,18,.96))!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.06) inset,
    0 14px 28px rgba(0,0,0,.32)!important;
  overflow:hidden;
}
#panel-card.panel-kosmetik .cos-card::before{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;z-index:0;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
#panel-card.panel-kosmetik .cos-card:hover:not(.shop-locked){
  transform:translateY(-4px);
  border-color:rgba(244,114,182,.32)!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.08) inset,
    0 20px 36px rgba(0,0,0,.4),
    0 0 24px rgba(192,132,252,.12)!important;
}
#panel-card.panel-kosmetik .cos-card.cos-equipped{
  border-color:rgba(74,222,128,.48)!important;
  background:
    radial-gradient(120% 80% at 50% -10%, rgba(74,222,128,.14), transparent 55%),
    linear-gradient(180deg,rgba(18,36,28,.94),rgba(10,14,12,.97))!important;
  box-shadow:
    0 1px 0 rgba(187,247,208,.1) inset,
    0 14px 28px rgba(0,0,0,.32),
    0 0 22px rgba(74,222,128,.14)!important;
}
#panel-card.panel-kosmetik .cos-card-media{
  position:relative;z-index:1;
  aspect-ratio:16/11;
  padding:10px 10px 0;
  background:transparent!important;
  border-bottom:none!important;
  overflow:visible;
}
#panel-card.panel-kosmetik .cos-card-preview{
  width:100%;height:100%;
  border-radius:14px;overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  background:
    radial-gradient(circle at 50% 40%,rgba(40,32,56,.9),rgba(6,6,12,.98));
  box-shadow:0 10px 18px rgba(0,0,0,.28);
}
#panel-card.panel-kosmetik .cos-card-preview > *,
#panel-card.panel-kosmetik .cos-card-preview .cos-style-banner-wrap,
#panel-card.panel-kosmetik .cos-card-preview .cos-theme-preview-wrap,
#panel-card.panel-kosmetik .cos-card-preview .cos-badge-preview-wrap,
#panel-card.panel-kosmetik .cos-card-preview .cos-fx-preview-wrap,
#panel-card.panel-kosmetik .cos-card-preview .cos-fx-preview,
#panel-card.panel-kosmetik .cos-card-preview .cos-namecolor-preview,
#panel-card.panel-kosmetik .cos-card-preview .cos-actbg-preview,
#panel-card.panel-kosmetik .cos-card-preview .cos-preview{
  width:100%!important;height:100%!important;margin:0!important;
  border:none!important;border-radius:0!important;
  aspect-ratio:auto!important;max-height:none!important;min-height:0!important;
}
#panel-card.panel-kosmetik .cos-card-preview img{
  width:100%!important;height:100%!important;
  object-fit:contain!important;object-position:center;
  display:block;background:transparent;
}
/* Hintergründe / breite Arts lieber füllen */
#panel-card.panel-kosmetik .cos-item--activity_bg .cos-card-preview img,
#panel-card.panel-kosmetik .cos-item--background .cos-card-preview img,
#panel-card.panel-kosmetik .cos-item--title .cos-card-preview img{
  object-fit:cover!important;
}
#panel-card.panel-kosmetik .cos-card-chip{
  top:16px;right:16px;
  padding:5px 9px;
  font-size:.56rem;letter-spacing:.06em;
  box-shadow:0 6px 14px rgba(0,0,0,.35);
}
#panel-card.panel-kosmetik .cos-card-body{
  position:relative;z-index:1;
  padding:12px 14px 8px;gap:4px;
}
#panel-card.panel-kosmetik .cos-card-name{
  font-size:.88rem;font-weight:900;letter-spacing:.01em;
  color:#fffafc;line-height:1.2;
  display:flex;align-items:center;flex-wrap:wrap;gap:6px;
  -webkit-line-clamp:unset;overflow:visible;
}
#panel-card.panel-kosmetik .cos-card-name .cos-staff-tag{
  font-size:.55rem;padding:2px 6px;border-radius:999px;
}
#panel-card.panel-kosmetik .cos-card-price{
  font-size:.72rem;font-weight:850;color:#fde68a;
  letter-spacing:.02em;
}
#panel-card.panel-kosmetik .cos-card-sub{
  font-size:.66rem;line-height:1.4;color:rgba(240,230,245,.58);
  min-height:0;-webkit-line-clamp:2;
}
#panel-card.panel-kosmetik .cos-card-foot{
  position:relative;z-index:1;
  padding:0!important;gap:0!important;
  border-top:1px solid rgba(255,255,255,.07);
  background:rgba(0,0,0,.22);
}
#panel-card.panel-kosmetik .cos-card-btn{
  flex:1 1 100%!important;
  min-height:40px!important;
  margin:0!important;border-radius:0!important;
  border-left:none!important;border-right:none!important;border-bottom:none!important;
  font-size:.72rem!important;font-weight:850!important;letter-spacing:.06em;text-transform:uppercase;
}
#panel-card.panel-kosmetik .cos-card-btn + .cos-card-btn{
  border-left:1px solid rgba(255,255,255,.08)!important;
}
#panel-card.panel-kosmetik .cos-card-btn.btn-success{
  background:linear-gradient(180deg,rgba(34,120,70,.55),rgba(16,70,40,.7))!important;
  border-color:rgba(74,222,128,.25)!important;color:#dcfce7!important;
}
#panel-card.panel-kosmetik .cos-card-btn.btn-primary{
  background:linear-gradient(180deg,rgba(88,48,110,.6),rgba(40,24,56,.75))!important;
  border-color:rgba(216,180,254,.28)!important;color:#f5e8ff!important;
}
#panel-card.panel-kosmetik .cos-card-btn.btn-ghost{
  background:rgba(255,255,255,.04)!important;color:rgba(255,255,255,.82)!important;
}
#panel-card.panel-kosmetik .cos-card-static{
  min-height:40px;border-radius:0;border:none;
  background:transparent;font-size:.68rem;letter-spacing:.04em;
}
@media (max-width:720px){
  #panel-card.panel-kosmetik .cos-shop-grid{
    grid-template-columns:repeat(auto-fill,minmax(156px,1fr))!important;
    gap:12px!important;
  }
  #panel-card.panel-kosmetik .cos-card-media{padding:8px 8px 0}
  #panel-card.panel-kosmetik .cos-card-body{padding:10px 10px 6px}
}

/* ═══ Kosmetik als Shop-Liste (kein Grid) ═══ */
#panel-card.panel-kosmetik .cos-shop-list{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  width:100%;
  max-width:920px;
  margin:0 auto;
}
#panel-card.panel-kosmetik .cos-row{
  display:grid!important;
  grid-template-columns:minmax(120px,168px) minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:14px!important;
  padding:10px!important;
  min-height:0!important;
  border-radius:16px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  background:
    linear-gradient(105deg,rgba(30,20,38,.9),rgba(12,10,18,.94))!important;
  box-shadow:0 10px 22px rgba(0,0,0,.26)!important;
  overflow:hidden;
  transition:transform .12s ease, border-color .12s, box-shadow .12s;
}
#panel-card.panel-kosmetik .cos-row:hover:not(.shop-locked){
  transform:translateY(-1px);
  border-color:rgba(244,114,182,.3)!important;
  box-shadow:0 14px 26px rgba(0,0,0,.32)!important;
}
#panel-card.panel-kosmetik .cos-row.cos-equipped{
  border-color:rgba(74,222,128,.45)!important;
  background:
    linear-gradient(105deg,rgba(18,36,28,.92),rgba(10,14,12,.96))!important;
  box-shadow:0 10px 22px rgba(0,0,0,.26), 0 0 18px rgba(74,222,128,.1)!important;
}
#panel-card.panel-kosmetik .cos-row-media{
  position:relative;
  width:100%;
  aspect-ratio:16/10;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  background:radial-gradient(circle at 50% 40%,rgba(40,32,56,.85),rgba(6,6,12,.98));
  flex-shrink:0;
}
#panel-card.panel-kosmetik .cos-row-preview,
#panel-card.panel-kosmetik .cos-row-preview > *,
#panel-card.panel-kosmetik .cos-row-preview .cos-style-banner-wrap,
#panel-card.panel-kosmetik .cos-row-preview .cos-theme-preview-wrap,
#panel-card.panel-kosmetik .cos-row-preview .cos-badge-preview-wrap,
#panel-card.panel-kosmetik .cos-row-preview .cos-fx-preview-wrap,
#panel-card.panel-kosmetik .cos-row-preview .cos-fx-preview,
#panel-card.panel-kosmetik .cos-row-preview .cos-namecolor-preview,
#panel-card.panel-kosmetik .cos-row-preview .cos-actbg-preview,
#panel-card.panel-kosmetik .cos-row-preview .cos-preview{
  width:100%!important;height:100%!important;margin:0!important;
  border:none!important;border-radius:0!important;
  aspect-ratio:auto!important;max-height:none!important;min-height:0!important;
}
#panel-card.panel-kosmetik .cos-row-preview img{
  width:100%!important;height:100%!important;
  object-fit:contain!important;object-position:center;display:block;
}
#panel-card.panel-kosmetik .cos-item--activity_bg .cos-row-preview img,
#panel-card.panel-kosmetik .cos-item--background .cos-row-preview img,
#panel-card.panel-kosmetik .cos-item--title .cos-row-preview img{
  object-fit:cover!important;
}
#panel-card.panel-kosmetik .cos-row-chip{
  position:absolute;top:6px;left:6px;z-index:2;
  padding:3px 7px;border-radius:999px;
  font-size:.54rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase;
  border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.55);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
#panel-card.panel-kosmetik .cos-row-chip--on{color:#bbf7d0;border-color:rgba(74,222,128,.45);background:rgba(10,40,22,.72)}
#panel-card.panel-kosmetik .cos-row-chip--own{color:#bfdbfe;border-color:rgba(147,197,253,.35)}
#panel-card.panel-kosmetik .cos-row-chip--lock{color:#fde68a;border-color:rgba(250,204,21,.3)}

#panel-card.panel-kosmetik .cos-row-body{
  min-width:0;display:flex;flex-direction:column;gap:4px;padding:2px 0;
}
#panel-card.panel-kosmetik .cos-row-name{
  font-size:.95rem;font-weight:900;color:#fffafc;line-height:1.2;
  display:flex;align-items:center;flex-wrap:wrap;gap:6px;
}
#panel-card.panel-kosmetik .cos-row-sub{
  font-size:.72rem;line-height:1.4;color:rgba(240,230,245,.62);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
#panel-card.panel-kosmetik .cos-row-price{
  font-size:.78rem;font-weight:850;color:#fde68a;margin-top:2px;
}
#panel-card.panel-kosmetik .cos-row-actions{
  display:flex!important;flex-direction:column;align-items:stretch;justify-content:center;
  gap:6px!important;padding:0 4px 0 0!important;min-width:118px;margin:0!important;
}
#panel-card.panel-kosmetik .cos-row-btn{
  flex:0 0 auto!important;min-width:110px!important;min-height:36px;
  justify-content:center!important;text-align:center!important;
  margin:0!important;border-radius:11px!important;
  font-weight:850!important;letter-spacing:.04em;
}
#panel-card.panel-kosmetik .cos-row-static{
  display:flex;align-items:center;justify-content:center;
  min-height:36px;min-width:110px;padding:0 8px;
  font-size:.68rem;font-weight:750;color:rgba(240,230,245,.7);text-align:center;
  border-radius:11px;border:1px dashed rgba(255,255,255,.12);background:rgba(0,0,0,.2);
}

@media (max-width:720px){
  #panel-card.panel-kosmetik .cos-row{
    grid-template-columns:104px minmax(0,1fr)!important;
    grid-template-areas:
      "media body"
      "media actions";
    gap:10px!important;
  }
  #panel-card.panel-kosmetik .cos-row-media{grid-area:media}
  #panel-card.panel-kosmetik .cos-row-body{grid-area:body}
  #panel-card.panel-kosmetik .cos-row-actions{
    grid-area:actions;flex-direction:row;flex-wrap:wrap;min-width:0;justify-content:flex-start;
  }
  #panel-card.panel-kosmetik .cos-row-btn{min-width:0!important;flex:1 1 auto!important}
}

/* ═══ Kosmetik Atelier — Lookbook + Runway (kein Grid/Liste) ═══ */
#panel-card.panel-kosmetik .cos-atelier{
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;
}
#panel-card.panel-kosmetik .cos-atelier .cos-panel-content{
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;
  padding:clamp(10px,1.4vh,16px) clamp(12px,1.8vw,24px) max(10px,env(safe-area-inset-bottom,0px));
  gap:12px;max-width:1400px;width:100%;margin-inline:auto;
}
#panel-card.panel-kosmetik .cos-atelier-head{
  flex-shrink:0;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;
  padding-bottom:10px;border-bottom:1px solid rgba(244,114,182,.14);
}
#panel-card.panel-kosmetik .cos-atelier-kicker{
  margin:0 0 4px;font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(249,168,212,.85);
}
#panel-card.panel-kosmetik .cos-atelier-title{
  margin:0;font-family:Cinzel,Georgia,serif;font-weight:800;
  font-size:clamp(1.55rem,2.6vw,2.2rem);letter-spacing:.04em;color:#fff1f8;
  text-shadow:0 2px 18px rgba(0,0,0,.45);
}

#panel-card.panel-kosmetik .cos-lookbook{
  flex-shrink:0;display:flex;align-items:center;gap:12px;
  padding:10px 12px;border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(105deg,rgba(28,16,34,.72),rgba(8,8,14,.78));
  overflow:hidden;
}
#panel-card.panel-kosmetik .cos-lookbook-label{
  flex-shrink:0;font-size:.62rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(252,231,243,.55);writing-mode:horizontal-tb;
}
#panel-card.panel-kosmetik .cos-lookbook-rail{
  display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;min-width:0;flex:1;
  padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;
}
#panel-card.panel-kosmetik .cos-lookbook-pill{
  flex:0 0 auto;display:flex;align-items:center;gap:8px;
  min-width:148px;max-width:200px;padding:6px 10px 6px 6px;border-radius:12px;cursor:pointer;
  border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.28);color:inherit;text-align:left;
  transition:border-color .15s, background .15s, transform .12s;
}
#panel-card.panel-kosmetik .cos-lookbook-pill:hover{
  border-color:rgba(244,114,182,.4);background:rgba(40,20,36,.55);transform:translateY(-1px);
}
#panel-card.panel-kosmetik .cos-lookbook-pill-art{
  width:44px;height:32px;border-radius:8px;overflow:hidden;flex-shrink:0;
  border:1px solid rgba(255,255,255,.1);background:#0a0810;
}
#panel-card.panel-kosmetik .cos-lookbook-pill-art > *,
#panel-card.panel-kosmetik .cos-lookbook-pill-art img{
  width:100%!important;height:100%!important;margin:0!important;border:none!important;border-radius:0!important;
  object-fit:cover!important;aspect-ratio:auto!important;max-height:none!important;min-height:0!important;
}
#panel-card.panel-kosmetik .cos-lookbook-pill-copy{
  min-width:0;display:flex;flex-direction:column;gap:1px;
}
#panel-card.panel-kosmetik .cos-lookbook-pill-copy small{
  font-size:.55rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase;opacity:.65;
}
#panel-card.panel-kosmetik .cos-lookbook-pill-copy strong{
  font-size:.72rem;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

#panel-card.panel-kosmetik .cos-atelier-tabs{
  flex-shrink:0;display:flex;flex-wrap:wrap;gap:8px;
}
#panel-card.panel-kosmetik .cos-atelier-tab{
  display:inline-flex;align-items:center;gap:8px;
  min-height:42px;padding:7px 12px;border-radius:14px;cursor:pointer;
  border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.34);color:rgba(255,240,248,.78);
  transition:border-color .15s, background .15s, box-shadow .15s;
}
#panel-card.panel-kosmetik .cos-atelier-tab:hover{
  border-color:rgba(244,114,182,.35);background:rgba(40,20,36,.55);
}
#panel-card.panel-kosmetik .cos-atelier-tab.active{
  border-color:rgba(244,114,182,.5);color:#fff;
  background:linear-gradient(155deg,rgba(88,36,72,.88),rgba(24,12,28,.94));
  box-shadow:0 8px 18px rgba(0,0,0,.25);
}
#panel-card.panel-kosmetik .cos-atelier-tab-ico{font-size:1rem;line-height:1}
#panel-card.panel-kosmetik .cos-atelier-tab-copy{display:flex;flex-direction:column;align-items:flex-start;gap:1px}
#panel-card.panel-kosmetik .cos-atelier-tab-copy strong{font-size:.72rem;font-weight:850;line-height:1.15}
#panel-card.panel-kosmetik .cos-atelier-tab-copy small{font-size:.58rem;opacity:.7}

#panel-card.panel-kosmetik .cos-atelier-stage{
  flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:12px;overflow:hidden;
}
#panel-card.panel-kosmetik .cos-atelier-stage-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:0 2px;flex-shrink:0;
}
#panel-card.panel-kosmetik .cos-atelier-stage-head h3{
  margin:0;font-size:.8rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:rgba(252,231,243,.75);
}
#panel-card.panel-kosmetik .cos-atelier-stage-head span{font-size:.68rem;font-weight:750;color:rgba(252,231,243,.42)}

#panel-card.panel-kosmetik .cos-runway{
  flex:1 1 auto;min-height:0;
  display:flex;align-items:stretch;gap:14px;
  overflow-x:auto;overflow-y:hidden;
  padding:4px 2px 16px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin;
}
#panel-card.panel-kosmetik .cos-look{
  flex:0 0 min(280px,78vw);
  scroll-snap-align:start;
  display:flex;flex-direction:column;
  border-radius:20px;overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  background:
    radial-gradient(120% 70% at 50% 0%, rgba(244,114,182,.12), transparent 55%),
    linear-gradient(180deg,rgba(30,20,38,.94),rgba(10,10,16,.97));
  box-shadow:0 16px 30px rgba(0,0,0,.32);
  transition:transform .14s ease, border-color .14s, box-shadow .14s;
}
#panel-card.panel-kosmetik .cos-look:hover{
  transform:translateY(-4px);
  border-color:rgba(244,114,182,.35);
  box-shadow:0 22px 36px rgba(0,0,0,.4), 0 0 22px rgba(192,132,252,.12);
}
#panel-card.panel-kosmetik .cos-look.is-equipped{
  border-color:rgba(74,222,128,.48);
  background:
    radial-gradient(120% 70% at 50% 0%, rgba(74,222,128,.14), transparent 55%),
    linear-gradient(180deg,rgba(16,34,26,.95),rgba(8,12,10,.98));
  box-shadow:0 16px 30px rgba(0,0,0,.32), 0 0 22px rgba(74,222,128,.14);
}
#panel-card.panel-kosmetik .cos-look-stage{
  position:relative;aspect-ratio:16/11;padding:12px 12px 0;
}
#panel-card.panel-kosmetik .cos-look-art{
  width:100%;height:100%;border-radius:14px;overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  background:radial-gradient(circle at 50% 40%,rgba(40,32,56,.9),rgba(6,6,12,.98));
  box-shadow:0 10px 18px rgba(0,0,0,.28);
}
#panel-card.panel-kosmetik .cos-look-art > *,
#panel-card.panel-kosmetik .cos-look-art .cos-style-banner-wrap,
#panel-card.panel-kosmetik .cos-look-art .cos-theme-preview-wrap,
#panel-card.panel-kosmetik .cos-look-art .cos-badge-preview-wrap,
#panel-card.panel-kosmetik .cos-look-art .cos-fx-preview-wrap,
#panel-card.panel-kosmetik .cos-look-art .cos-fx-preview,
#panel-card.panel-kosmetik .cos-look-art .cos-namecolor-preview,
#panel-card.panel-kosmetik .cos-look-art .cos-actbg-preview,
#panel-card.panel-kosmetik .cos-look-art .cos-preview{
  width:100%!important;height:100%!important;margin:0!important;
  border:none!important;border-radius:0!important;
  aspect-ratio:auto!important;max-height:none!important;min-height:0!important;
}
#panel-card.panel-kosmetik .cos-look-art img{
  width:100%!important;height:100%!important;object-fit:contain!important;object-position:center;display:block;
}
#panel-card.panel-kosmetik .cos-item--activity_bg .cos-look-art img,
#panel-card.panel-kosmetik .cos-item--background .cos-look-art img,
#panel-card.panel-kosmetik .cos-item--title .cos-look-art img{
  object-fit:cover!important;
}
#panel-card.panel-kosmetik .cos-look-chip{
  position:absolute;top:18px;right:18px;z-index:2;
  padding:5px 9px;border-radius:999px;
  font-size:.56rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;
  border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.55);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  box-shadow:0 6px 14px rgba(0,0,0,.35);
}
#panel-card.panel-kosmetik .cos-look-chip--on{color:#bbf7d0;border-color:rgba(74,222,128,.45);background:rgba(10,40,22,.72)}
#panel-card.panel-kosmetik .cos-look-chip--own{color:#bfdbfe;border-color:rgba(147,197,253,.35)}
#panel-card.panel-kosmetik .cos-look-chip--lock{color:#fde68a;border-color:rgba(250,204,21,.3)}

#panel-card.panel-kosmetik .cos-look-meta{
  padding:12px 14px 8px;display:flex;flex-direction:column;gap:4px;flex:1 1 auto;
}
#panel-card.panel-kosmetik .cos-look-name{
  font-size:.92rem;font-weight:900;color:#fffafc;line-height:1.2;
  display:flex;align-items:center;flex-wrap:wrap;gap:6px;
}
#panel-card.panel-kosmetik .cos-look-desc{
  margin:0;font-size:.68rem;line-height:1.4;color:rgba(240,230,245,.58);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
#panel-card.panel-kosmetik .cos-look-price{
  margin-top:2px;font-size:.76rem;font-weight:850;color:#fde68a;
}
#panel-card.panel-kosmetik .cos-look-actions{
  display:flex!important;gap:0!important;padding:0!important;margin:0!important;
  border-top:1px solid rgba(255,255,255,.07);background:rgba(0,0,0,.22);
}
#panel-card.panel-kosmetik .cos-look-btn{
  flex:1 1 auto!important;min-height:42px!important;margin:0!important;border-radius:0!important;
  justify-content:center!important;text-align:center!important;
  font-size:.72rem!important;font-weight:850!important;letter-spacing:.06em;text-transform:uppercase;
}
#panel-card.panel-kosmetik .cos-look-btn + .cos-look-btn{border-left:1px solid rgba(255,255,255,.08)!important}
#panel-card.panel-kosmetik .cos-look-static{
  display:flex;align-items:center;justify-content:center;width:100%;min-height:42px;
  font-size:.68rem;font-weight:750;color:rgba(240,230,245,.7);
}

@media (max-width:720px){
  #panel-card.panel-kosmetik .cos-atelier-head{flex-direction:column;align-items:stretch}
  #panel-card.panel-kosmetik .cos-look{flex-basis:min(240px,82vw)}
  #panel-card.panel-kosmetik .cos-lookbook{flex-direction:column;align-items:stretch}
}

/* ═══ Kosmetik Salon — episch, Spotlight + Spiegel + Filmstrip ═══ */
#panel-card.panel-kosmetik .cos-salon{
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;
  position:relative;
}
#panel-card.panel-kosmetik .cos-salon-glow{
  position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse 55% 40% at 50% 18%, rgba(244,114,182,.16), transparent 60%),
    radial-gradient(ellipse 40% 35% at 12% 70%, rgba(192,132,252,.1), transparent 55%),
    radial-gradient(ellipse 35% 30% at 88% 75%, rgba(250,204,21,.08), transparent 55%);
}
#panel-card.panel-kosmetik .cos-salon-content{
  position:relative;z-index:1;
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;
  gap:12px;
  padding:clamp(10px,1.5vh,18px) clamp(12px,2vw,28px) max(10px,env(safe-area-inset-bottom,0px));
  max-width:1360px;width:100%;margin-inline:auto;
}
#panel-card.panel-kosmetik .cos-salon-head{
  flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:14px;
}
#panel-card.panel-kosmetik .cos-salon-brand{
  display:flex;align-items:center;gap:12px;min-width:0;
}
#panel-card.panel-kosmetik .cos-salon-seal{
  width:52px;height:52px;border-radius:50%;object-fit:contain;flex:0 0 auto;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.45));
  animation:epicSealFloat 4.5s ease-in-out infinite alternate;
}
#panel-card.panel-kosmetik .cos-salon-kicker{
  margin:0 0 3px;font-size:.62rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(253,224,71,.78);
}
#panel-card.panel-kosmetik .cos-salon-title{
  margin:0;font-family:Cinzel,Georgia,serif;font-weight:800;
  font-size:clamp(1.6rem,2.8vw,2.35rem);letter-spacing:.06em;line-height:1;
  color:#fff7e8;
  text-shadow:0 2px 18px rgba(0,0,0,.5), 0 0 28px rgba(244,114,182,.2);
}

#panel-card.panel-kosmetik .cos-salon-cats{
  flex-shrink:0;display:flex;flex-wrap:wrap;gap:8px;
}
#panel-card.panel-kosmetik .cos-salon-cat{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:999px;cursor:pointer;
  border:1px solid rgba(250,204,21,.18);
  background:linear-gradient(165deg,rgba(28,20,14,.72),rgba(10,10,14,.85));
  color:rgba(255,244,220,.78);
  box-shadow:0 6px 14px rgba(0,0,0,.22);
  transition:border-color .15s, transform .12s, box-shadow .15s, color .15s;
}
#panel-card.panel-kosmetik .cos-salon-cat:hover{
  border-color:rgba(250,204,21,.4);color:#fff7d6;transform:translateY(-1px);
}
#panel-card.panel-kosmetik .cos-salon-cat.is-active{
  border-color:rgba(250,204,21,.55);color:#fff8e7;
  background:linear-gradient(165deg,rgba(72,52,18,.9),rgba(24,16,10,.95));
  box-shadow:0 0 18px rgba(250,204,21,.16), 0 8px 16px rgba(0,0,0,.28);
}
#panel-card.panel-kosmetik .cos-salon-cat-ico{font-size:1rem;line-height:1}
#panel-card.panel-kosmetik .cos-salon-cat-label{font-size:.72rem;font-weight:850}
#panel-card.panel-kosmetik .cos-salon-cat-n{
  min-width:1.35rem;height:1.35rem;padding:0 5px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:.58rem;font-weight:850;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.08);
}

#panel-card.panel-kosmetik .cos-salon-main{
  flex:1 1 auto;min-height:0;
  display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);
  gap:16px;align-items:stretch;
}
#panel-card.panel-kosmetik .cos-salon-mirror{
  min-height:0;display:flex;
}
#panel-card.panel-kosmetik .cos-salon-mirror-frame{
  width:100%;border-radius:22px;padding:2px;
  background:
    linear-gradient(145deg,rgba(250,204,21,.55),rgba(244,114,182,.35),rgba(192,132,252,.4),rgba(250,204,21,.45));
  box-shadow:0 18px 36px rgba(0,0,0,.38), 0 0 28px rgba(250,204,21,.08);
}
#panel-card.panel-kosmetik .cos-salon-mirror-inner{
  height:100%;border-radius:20px;padding:16px 14px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  background:
    radial-gradient(circle at 50% 30%, rgba(60,40,70,.55), transparent 55%),
    linear-gradient(180deg,rgba(16,12,20,.96),rgba(6,6,12,.98));
  border:1px solid rgba(255,255,255,.06);
}
#panel-card.panel-kosmetik .cos-salon-portrait-wrap{
  position:relative;width:min(168px,92%);aspect-ratio:1;
  display:block;overflow:visible;isolation:isolate;flex-shrink:0;
}
#panel-card.panel-kosmetik .cos-salon-portrait-wrap .cos-frame-overlay{
  position:absolute;inset:0;width:100%;height:100%;
  max-width:100%;max-height:100%;
  object-fit:contain;object-position:center;
  pointer-events:none;z-index:3;
}
#panel-card.panel-kosmetik .cos-salon-portrait-img,
#panel-card.panel-kosmetik .cos-salon-portrait-fallback{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:72%;height:72%;z-index:2;box-sizing:border-box;margin:0;
  border-radius:50%;object-fit:cover;object-position:center center;
  clip-path:circle(50% at 50% 50%);-webkit-clip-path:circle(50% at 50% 50%);
}
#panel-card.panel-kosmetik .cos-salon-portrait-fallback{
  display:grid;place-items:center;font-size:2rem;
  background:rgba(20,16,28,.9);border:1px solid rgba(255,255,255,.12);
}
#panel-card.panel-kosmetik .cos-salon-portrait-wrap.has-cos-frame .cos-salon-portrait-img,
#panel-card.panel-kosmetik .cos-salon-portrait-wrap.has-cos-frame .cos-salon-portrait-fallback{
  width:var(--cos-frame-hole,62%);height:var(--cos-frame-hole,62%);
  border-radius:18%!important;
  clip-path:inset(0 round 18%)!important;-webkit-clip-path:inset(0 round 18%)!important;
  background:rgba(8,10,16,.98);
}
#panel-card.panel-kosmetik .cos-salon-portrait-wrap.has-cos-frame.has-cos-aura .cos-salon-portrait-img,
#panel-card.panel-kosmetik .cos-salon-portrait-wrap.has-cos-frame.has-cos-aura .cos-salon-portrait-fallback{
  width:var(--cos-avatar-framed-aura,56%);height:var(--cos-avatar-framed-aura,56%);
}
#panel-card.panel-kosmetik .cos-salon-portrait-wrap.has-cos-aura:not(.has-cos-frame) .cos-salon-portrait-img,
#panel-card.panel-kosmetik .cos-salon-portrait-wrap.has-cos-aura:not(.has-cos-frame) .cos-salon-portrait-fallback{
  width:var(--cos-avatar-aura-alone,66%);height:var(--cos-avatar-aura-alone,66%);
}
#panel-card.panel-kosmetik .cos-salon-portrait-wrap .cos-aura-img{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:var(--cos-aura-alone,84%);height:var(--cos-aura-alone,84%);
  object-fit:contain;pointer-events:none;z-index:1;
}
#panel-card.panel-kosmetik .cos-salon-portrait-wrap.has-cos-frame .cos-aura-img{
  width:var(--cos-aura-framed,86%);height:var(--cos-aura-framed,86%);
}
#panel-card.panel-kosmetik .cos-salon-mirror-name{
  position:relative;overflow:visible;
  font-family:Cinzel,Georgia,"Palatino Linotype",serif;font-weight:800;font-size:1.05rem;color:#fff4dc;text-align:center;
  letter-spacing:.04em;
  filter:none!important;
  line-height:1.25;
  padding:2px 6px;
}
#panel-card.panel-kosmetik .cos-salon-mirror-name .cos-name-spark{
  position:absolute;inset:-18% -8%;pointer-events:none;z-index:0;
  background:
    radial-gradient(circle at 18% 30%, rgba(255,255,255,.4) 0 1px, transparent 2px),
    radial-gradient(circle at 72% 24%, rgba(253,224,71,.55) 0 1.2px, transparent 2.4px),
    radial-gradient(circle at 40% 78%, rgba(167,139,250,.5) 0 1px, transparent 2px),
    radial-gradient(circle at 86% 68%, rgba(96,165,250,.45) 0 1px, transparent 2px);
  animation:cosNameSparkDrift 5.5s ease-in-out infinite;opacity:.9;
}
#panel-card.panel-kosmetik .cos-salon-mirror-name .cos-name-text,
#panel-card.panel-kosmetik .cos-salon-mirror-name .player-display-name{
  position:relative;z-index:1;
  display:inline-block!important;
  font-family:inherit;
  font-weight:800;
  letter-spacing:.05em;
}
#panel-card.panel-kosmetik .cos-salon-mirror-name.cos-name-glow .cos-name-text{
  animation:cosNamePulse 2.8s ease-in-out infinite;
}
#panel-card.panel-kosmetik .cos-salon-mirror-name.cos-name-neon .cos-name-text{
  color:#3ecf72!important;-webkit-text-fill-color:#3ecf72!important;
  animation:cosNeonFlicker 2.4s ease-in-out infinite;
  text-shadow:0 0 8px #3ecf72,0 0 16px rgba(62,207,114,.55)!important;
}
/* Spezialnamen: Gradient wie im Rest der UI (kein flacher Gelb-Balken) */
#panel-card.panel-kosmetik .cos-salon-mirror-name.cos-namecolor-owner .cos-name-text{
  background:linear-gradient(90deg,#fff3c0,#ffd76a 40%,#e8a820 70%,#ffef9a)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  color:transparent!important;-webkit-text-fill-color:transparent!important;
  text-shadow:none!important;filter:none!important;
}
#panel-card.panel-kosmetik .cos-salon-mirror-name.cos-namecolor-owner{
  filter:drop-shadow(0 0 8px rgba(255,200,60,.5))!important;
}
#panel-card.panel-kosmetik .cos-salon-mirror-name.cos-namecolor-admin .cos-name-text{
  background:linear-gradient(90deg,#e8f4ff,#7ec8ff 45%,#3a8fd4)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  color:transparent!important;-webkit-text-fill-color:transparent!important;
  text-shadow:none!important;
}
#panel-card.panel-kosmetik .cos-salon-mirror-name.cos-namecolor-admin{
  filter:drop-shadow(0 0 8px rgba(80,160,255,.5))!important;
}
#panel-card.panel-kosmetik .cos-salon-mirror-name.cos-namecolor-gm .cos-name-text{
  background:linear-gradient(90deg,#f0e4ff,#c4a1ff 45%,#8b5cf6)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  color:transparent!important;-webkit-text-fill-color:transparent!important;
  text-shadow:none!important;
}
#panel-card.panel-kosmetik .cos-salon-mirror-name.cos-namecolor-gm{
  filter:drop-shadow(0 0 8px rgba(160,100,255,.5))!important;
}
#panel-card.panel-kosmetik .cos-salon-mirror-name.cos-namecolor-feather .cos-name-text{
  background:linear-gradient(90deg,#eef4fa,#c8daf0 50%,#9bb4cc)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  color:transparent!important;-webkit-text-fill-color:transparent!important;
  text-shadow:none!important;
}
#panel-card.panel-kosmetik .cos-salon-mirror-name.cos-namecolor-feather{
  filter:drop-shadow(0 0 8px rgba(180,200,220,.45))!important;
}
#panel-card.panel-kosmetik .cos-salon-mirror-name.cos-namecolor-mythic .cos-name-text{
  background:linear-gradient(90deg,#fff4c0,#e8c547 40%,#a855f7 75%,#fde68a)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  color:transparent!important;-webkit-text-fill-color:transparent!important;
  text-shadow:none!important;
  animation:cosSalonNameMythic 3.2s ease-in-out infinite;
}
#panel-card.panel-kosmetik .cos-salon-mirror-name.cos-namecolor-mythic{
  filter:drop-shadow(0 0 8px rgba(232,197,71,.45))!important;
}
@keyframes cosSalonNameGlow{
  0%,100%{filter:brightness(1)}
  50%{filter:brightness(1.18)}
}
@keyframes cosSalonNameMythic{
  0%,100%{text-shadow:0 0 6px rgba(255,215,120,.7),0 0 14px rgba(168,85,247,.4)}
  50%{text-shadow:0 0 10px rgba(255,215,120,.9),0 0 20px rgba(168,85,247,.65),0 0 28px rgba(232,197,71,.35)}
}
#panel-card.panel-kosmetik .cos-salon-mirror-note{
  font-size:.62rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(253,224,71,.55);
}

#panel-card.panel-kosmetik .cos-salon-spotlight{
  min-height:0;min-width:0;
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  align-items:center!important;justify-content:center!important;
  gap:0;padding:16px 20px;border-radius:22px;
  border:1px solid rgba(250,204,21,.16);
  background:
    radial-gradient(ellipse 70% 60% at 30% 40%, rgba(244,114,182,.1), transparent 55%),
    linear-gradient(145deg,rgba(22,14,28,.88),rgba(8,8,14,.94));
  box-shadow:0 18px 40px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,244,220,.06);
}
/* Cluster: Preview + Text — volle Spotlight-Breite, Preview füllt den Raum */
#panel-card.panel-kosmetik .cos-salon-spot-row{
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  align-items:center!important;justify-content:center!important;
  gap:28px;width:100%;max-width:100%;min-width:0;
  height:100%;margin:0;
}
/* Preview — deutlich größer, Einheitgröße relativ zur Spotlight-Fläche */
#panel-card.panel-kosmetik .cos-salon-spot-stage{
  position:relative;
  flex:1 1 auto;
  width:auto;
  max-width:calc(100% - 280px);
  min-width:min(100%,480px);
  aspect-ratio:16/10;
  height:auto;
  max-height:min(76vh,760px);
  min-height:min(460px,58vh);
  align-self:center;
  contain:layout size style;
  border-radius:18px;overflow:hidden;
  border:2px solid rgba(250,204,21,.42)!important;
  background:#07060c;
  box-shadow:
    0 14px 28px rgba(0,0,0,.35),
    0 0 0 1px rgba(255,244,220,.08),
    inset 0 0 0 1px rgba(250,204,21,.12)!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-art{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  display:block!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-art > *:not(.cos-salon-fx-caption):not(.cos-salon-spot-hint):not(.cos-salon-spot-mini),
#panel-card.panel-kosmetik .cos-salon-spot-art .cos-style-banner-wrap,
#panel-card.panel-kosmetik .cos-salon-spot-art .cos-theme-preview-wrap,
#panel-card.panel-kosmetik .cos-salon-spot-art .cos-badge-preview-wrap,
#panel-card.panel-kosmetik .cos-salon-spot-art .cos-fx-preview-wrap,
#panel-card.panel-kosmetik .cos-salon-spot-art .cos-fx-preview,
#panel-card.panel-kosmetik .cos-salon-spot-art .cos-namecolor-preview,
#panel-card.panel-kosmetik .cos-salon-spot-art .cos-actbg-preview,
#panel-card.panel-kosmetik .cos-salon-spot-art .cos-preview,
#panel-card.panel-kosmetik .cos-salon-spot-art .cos-aura-fill-preview,
#panel-card.panel-kosmetik .cos-salon-spot-art .cos-scene-preview,
#panel-card.panel-kosmetik .cos-salon-spot-art .cos-frame-fill-preview{
  width:100%!important;height:100%!important;margin:0!important;
  border:none!important;border-radius:0!important;
  aspect-ratio:auto!important;max-height:none!important;min-height:0!important;
  max-width:none!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-art img:not(.cos-scene-preview-frame):not(.cos-salon-title-banner-img):not(.cos-salon-title-stage-bg):not(.cos-salon-badge-stage-bg):not(.cos-salon-badge-img):not(.cos-title-preview-img):not(.cos-badge-preview-img):not(.cos-scene-preview-item),
#panel-card.panel-kosmetik .cos-salon-spot-art .cos-preview,
#panel-card.panel-kosmetik .cos-salon-spot-art .cos-actbg-img,
#panel-card.panel-kosmetik .cos-salon-spot-art .cos-aura-fill-img{
  width:100%!important;height:100%!important;max-width:none!important;
  object-fit:cover!important;object-position:center;display:block;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--fx,
#panel-card.panel-kosmetik .cos-salon-spot-art--fx > *{
  width:100%!important;height:100%!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-ring{
  position:absolute;inset:8px;border-radius:14px;pointer-events:none;z-index:5;
  border:1px solid rgba(250,204,21,.35);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06), inset 0 0 28px rgba(250,204,21,.08);
}
#panel-card.panel-kosmetik .cos-salon-spot-info{
  display:flex;flex-direction:column;gap:10px;
  flex:0 0 auto;width:min(100%,280px);min-width:200px;max-width:300px;
  padding:4px 2px;margin:0;
  justify-content:center;align-self:center;
  text-align:left;
}
#panel-card.panel-kosmetik .cos-salon-spot-name{
  overflow-wrap:break-word;word-break:normal;hyphens:auto;
}
#panel-card.panel-kosmetik .cos-salon-spot-top{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
}
#panel-card.panel-kosmetik .cos-salon-spot-cat{
  font-size:.62rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:rgba(253,224,71,.7);
}
#panel-card.panel-kosmetik .cos-salon-spot-status{
  font-size:.62rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;
  padding:4px 8px;border-radius:999px;
  border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.35);color:rgba(255,244,220,.8);
}
#panel-card.panel-kosmetik .cos-salon-spot-name{
  margin:0;font-family:Cinzel,Georgia,serif;font-weight:800;
  font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.15;color:#fff8ec;
  display:flex;align-items:center;flex-wrap:wrap;gap:8px;
}
#panel-card.panel-kosmetik .cos-salon-spot-desc{
  margin:0;font-size:.82rem;line-height:1.45;color:rgba(255,240,230,.68);max-width:36ch;
}
#panel-card.panel-kosmetik .cos-salon-spot-actions{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;
}
#panel-card.panel-kosmetik .cos-salon-cta{
  min-height:42px;padding:0 18px;border-radius:12px!important;
  font-weight:850!important;letter-spacing:.05em;text-transform:uppercase;font-size:.74rem!important;
  box-shadow:0 8px 18px rgba(0,0,0,.28);
}
#panel-card.panel-kosmetik .cos-salon-cta.btn-success,
#panel-card.panel-kosmetik .cos-salon-cta:not(.cos-salon-cta--ghost):not([disabled]).btn-primary,
#panel-card.panel-kosmetik button.cos-salon-cta:not(.cos-salon-cta--ghost):not([disabled]){
  background:linear-gradient(165deg,rgba(250,204,21,.9),rgba(180,120,30,.95))!important;
  border-color:rgba(253,224,71,.55)!important;color:#1a1208!important;
}
#panel-card.panel-kosmetik .cos-salon-cta--ghost{
  background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.16)!important;color:#fff!important;
}
#panel-card.panel-kosmetik .cos-salon-cta-static{
  display:inline-flex;align-items:center;min-height:42px;padding:0 12px;
  font-size:.72rem;font-weight:750;color:rgba(255,244,220,.7);
}

#panel-card.panel-kosmetik .cos-salon-strip-wrap{
  flex-shrink:0;display:flex;flex-direction:column;gap:8px;
}
#panel-card.panel-kosmetik .cos-salon-strip-label{
  font-size:.62rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(253,224,71,.55);text-align:center;
}
#panel-card.panel-kosmetik .cos-salon-strip{
  display:flex;gap:10px;justify-content:flex-start;
  overflow-x:auto;overflow-y:hidden;
  padding:4px 2px 10px;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin;
}
#panel-card.panel-kosmetik .cos-salon-strip::before,
#panel-card.panel-kosmetik .cos-salon-strip::after{
  content:"";flex:1 1 0;min-width:0;pointer-events:none;
}
#panel-card.panel-kosmetik .cos-salon-thumb{
  flex:0 0 118px;scroll-snap-align:start;
  display:flex;flex-direction:column;gap:6px;
  padding:8px;border-radius:14px;cursor:pointer;text-align:left;color:inherit;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(0,0,0,.32);
  transition:border-color .15s, transform .12s, box-shadow .15s, background .15s;
}
#panel-card.panel-kosmetik .cos-salon-thumb:hover{
  transform:translateY(-2px);border-color:rgba(250,204,21,.35);
}
#panel-card.panel-kosmetik .cos-salon-thumb.is-active{
  border-color:rgba(250,204,21,.55);
  background:linear-gradient(165deg,rgba(60,44,16,.75),rgba(16,12,8,.9));
  box-shadow:0 0 16px rgba(250,204,21,.16);
}
#panel-card.panel-kosmetik .cos-salon-thumb.is-equipped{
  box-shadow:inset 0 0 0 1px rgba(74,222,128,.35);
}
#panel-card.panel-kosmetik .cos-salon-thumb-art{
  width:100%;aspect-ratio:16/11;border-radius:10px;overflow:hidden;
  border:1px solid rgba(255,255,255,.08);background:#0a0810;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art > *{
  width:100%!important;height:100%!important;margin:0!important;border:none!important;border-radius:0!important;
  aspect-ratio:auto!important;min-height:0!important;display:block;box-sizing:border-box!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art img:not(.cos-title-preview-img):not(.cos-badge-preview-img):not(.cos-scene-preview-frame):not(.cos-scene-preview-item){
  width:100%!important;height:100%!important;margin:0!important;border:none!important;border-radius:0!important;
  object-fit:cover!important;aspect-ratio:auto!important;max-height:none!important;min-height:0!important;display:block;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-badge-preview-img,
#panel-card.panel-kosmetik .cos-salon-thumb-art img.cos-badge-preview-img,
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-scene-preview-item{
  width:auto!important;height:auto!important;
  max-width:78%!important;max-height:78%!important;
  object-fit:contain!important;object-position:center!important;
  background:transparent!important;margin:0 auto!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-name{
  font-size:.66rem;font-weight:800;line-height:1.2;color:rgba(255,244,220,.86);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

@media (max-width:900px){
  #panel-card.panel-kosmetik .cos-salon-main{grid-template-columns:1fr}
  #panel-card.panel-kosmetik .cos-salon-mirror{display:none}
  #panel-card.panel-kosmetik .cos-salon-spotlight{
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:12px!important;
    padding:12px!important;
  }
  #panel-card.panel-kosmetik .cos-salon-spot-row{
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:12px!important;
    width:100%!important;
  }
  #panel-card.panel-kosmetik .cos-salon-spot-stage{
    width:100%!important;
    max-width:100%!important;
    max-height:min(62dvh,560px)!important;
    aspect-ratio:16/10!important;
    min-width:0!important;
    height:auto!important;
  }
  #panel-card.panel-kosmetik .cos-salon-spot-info{
    width:100%!important;max-width:100%!important;min-width:0!important;
    flex:0 0 auto!important;
    padding:2px 0 0;
  }
  #panel-card.panel-kosmetik .cos-salon-spot-name{
    font-size:clamp(1.05rem,4.2vw,1.35rem);
  }
  #panel-card.panel-kosmetik .cos-salon-content{
    gap:10px;
    padding:10px 10px max(8px,env(safe-area-inset-bottom,0px));
  }
  #panel-card.panel-kosmetik .cos-salon-cats{
    padding:6px;gap:6px;
  }
  #panel-card.panel-kosmetik .cos-salon-thumb{flex-basis:96px}
}
@media (max-width:720px){
  #panel-card.panel-kosmetik .cos-salon-head{flex-direction:column;align-items:stretch}
  #panel-card.panel-kosmetik .cos-salon-thumb{flex-basis:92px}
  #panel-card.panel-kosmetik .cos-salon-spot-stage{
    max-height:min(56dvh,520px)!important;
  }
  #panel-card.panel-kosmetik .cos-salon-strip{padding:4px 0 8px;gap:8px}
}

/* ═══ Salon Polish: Live-FX, Spiegel-Vorschau, edleres Design ═══ */
#panel-card.panel-kosmetik .cos-salon-content{
  gap:14px;
  padding:clamp(12px,1.8vh,20px) clamp(14px,2.2vw,32px) max(12px,env(safe-area-inset-bottom,0px));
}
#panel-card.panel-kosmetik .cos-salon-head{
  padding-bottom:4px;
}
#panel-card.panel-kosmetik .cos-salon-seal{
  width:58px;height:58px;
  box-shadow:0 0 0 2px rgba(250,204,21,.28), 0 10px 22px rgba(0,0,0,.4);
}
#panel-card.panel-kosmetik .cos-salon-title{
  background:linear-gradient(90deg,#fff8e7,#fde68a 45%,#f9a8d4);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:none;
  filter:drop-shadow(0 2px 10px rgba(0,0,0,.45));
}
#panel-card.panel-kosmetik .cos-salon-cats{
  padding:8px;border-radius:18px;
  border:1px solid rgba(250,204,21,.12);
  background:rgba(0,0,0,.22);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
#panel-card.panel-kosmetik .cos-salon-main{
  gap:18px;
}
#panel-card.panel-kosmetik .cos-salon-mirror-frame{
  background:
    linear-gradient(145deg,rgba(253,224,71,.7),rgba(244,114,182,.4),rgba(167,139,250,.5),rgba(253,224,71,.55));
  box-shadow:
    0 20px 40px rgba(0,0,0,.42),
    0 0 34px rgba(250,204,21,.12),
    inset 0 1px 0 rgba(255,255,255,.2);
}
#panel-card.panel-kosmetik .cos-salon-mirror-inner{
  gap:8px;padding:18px 14px 16px;
  background:
    radial-gradient(circle at 50% 22%, rgba(80,50,90,.5), transparent 50%),
    linear-gradient(180deg,rgba(18,12,24,.97),rgba(5,5,10,.99));
}
#panel-card.panel-kosmetik .cos-salon-portrait-wrap{
  width:min(168px,100%);
  margin-bottom:2px;
}
#panel-card.panel-kosmetik .cos-salon-mirror-badges{
  display:flex;flex-wrap:wrap;justify-content:center;gap:4px;min-height:0;
}
#panel-card.panel-kosmetik .cos-salon-mirror-badges .cos-badge-inline,
#panel-card.panel-kosmetik .cos-salon-mirror-badges .cos-badge-wrap{
  background:transparent!important;box-shadow:none!important;
}
#panel-card.panel-kosmetik .cos-salon-mirror-badges .cos-badge-inline{
  width:22px;height:22px;border-radius:0;object-fit:contain;
}
#panel-card.panel-kosmetik .cos-salon-mirror-badges:empty{display:none}
#panel-card.panel-kosmetik .cos-salon-mirror-title{
  width:100%;display:flex;justify-content:center;
}
#panel-card.panel-kosmetik .cos-salon-mirror-title:empty,
#panel-card.panel-kosmetik .cos-salon-title-banner:empty{display:none}
#panel-card.panel-kosmetik .cos-salon-title-banner{
  max-width:100%;height:36px;width:100%;
  background-size:contain!important;background-position:center!important;
  background-repeat:no-repeat!important;background-color:transparent!important;
  border:none!important;border-radius:0!important;overflow:visible!important;
}
#panel-card.panel-kosmetik .cos-salon-title-banner.has-banner-img{
  height:42px;
}
#panel-card.panel-kosmetik .cos-salon-title-banner.is-banner-only .hub-title-banner-text,
#panel-card.panel-kosmetik .cos-salon-title-banner .hub-title-banner-text{
  display:none!important;
}
#panel-card.panel-kosmetik .cos-salon-title-banner img{
  height:36px;width:auto;max-width:100%;object-fit:contain;display:block;
}
#panel-card.panel-kosmetik .cos-salon-mirror-name{
  font-size:1rem;max-width:100%;
  text-align:center;padding:0 4px;
}
#panel-card.panel-kosmetik .cos-salon-mirror-note{
  color:rgba(253,224,71,.62);
}

#panel-card.panel-kosmetik .cos-salon-spotlight{
  position:relative;overflow:hidden;
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  align-items:center!important;justify-content:center!important;
  gap:0!important;
  padding:16px 20px!important;
  border:1px solid rgba(250,204,21,.22);
  background:
    radial-gradient(ellipse 80% 70% at 25% 35%, rgba(244,114,182,.14), transparent 55%),
    radial-gradient(ellipse 50% 50% at 90% 80%, rgba(250,204,21,.08), transparent 50%),
    linear-gradient(145deg,rgba(24,14,30,.92),rgba(6,6,12,.96));
  box-shadow:
    0 22px 44px rgba(0,0,0,.4),
    inset 0 1px 0 rgba(255,244,220,.08),
    0 0 40px rgba(244,114,182,.06);
}
#panel-card.panel-kosmetik .cos-salon-spotlight::before{
  content:"";position:absolute;inset:-20% auto auto -10%;width:50%;height:60%;
  background:radial-gradient(circle,rgba(253,224,71,.12),transparent 70%);
  pointer-events:none;z-index:0;
}
#panel-card.panel-kosmetik .cos-salon-spot-row,
#panel-card.panel-kosmetik .cos-salon-spot-stage,
#panel-card.panel-kosmetik .cos-salon-spot-info{
  position:relative;z-index:1;
}
#panel-card.panel-kosmetik .cos-salon-spot-row{
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  align-items:center!important;justify-content:center!important;
  gap:28px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:100%!important;
}
/* Preview deutlich größer — füllt Spotlight, Inhalt bleibt Einheitsgröße */
#panel-card.panel-kosmetik .cos-salon-spot-stage{
  border-color:rgba(250,204,21,.45)!important;
  flex:1 1 auto!important;
  width:auto!important;
  max-width:calc(100% - 280px)!important;
  min-width:min(100%,480px)!important;
  aspect-ratio:16/10!important;
  height:auto!important;
  max-height:min(76vh,760px)!important;
  min-height:min(460px,58vh)!important;
  align-self:center!important;
  contain:layout size style!important;
  box-shadow:
    0 16px 32px rgba(0,0,0,.4),
    0 0 0 1px rgba(255,244,220,.1),
    inset 0 0 0 1px rgba(250,204,21,.14)!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-info{
  flex:0 0 auto!important;
  width:min(100%,280px)!important;
  min-width:min(100%,200px)!important;
  max-width:300px!important;
  align-self:center!important;
  justify-content:center!important;
}
@media (max-width:900px){
  #panel-card.panel-kosmetik .cos-salon-spotlight{
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
  }
  #panel-card.panel-kosmetik .cos-salon-spot-row{
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    gap:12px!important;
  }
  #panel-card.panel-kosmetik .cos-salon-spot-stage{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    max-height:min(62dvh,560px)!important;
  }
  #panel-card.panel-kosmetik .cos-salon-spot-info{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
}
#panel-card.panel-kosmetik .cos-salon-spot-art--fx{
  position:relative;width:100%;height:100%;overflow:hidden;
  background:
    radial-gradient(ellipse 70% 55% at 50% 60%, rgba(40,24,60,.7), transparent 60%),
    linear-gradient(180deg,#14101c,#07060c);
}
#panel-card.panel-kosmetik .cos-salon-fx-scene{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 30% 40%, rgba(96,165,250,.12), transparent 40%),
    radial-gradient(circle at 70% 55%, rgba(244,114,182,.1), transparent 42%);
}
#panel-card.panel-kosmetik .cos-salon-fx-layer,
#panel-card.panel-kosmetik .cos-salon-fx-layer.cos-fx-layer{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  pointer-events:none;z-index:2;overflow:hidden;
}
#panel-card.panel-kosmetik .cos-salon-fx-caption{display:none!important}
#panel-card.panel-kosmetik .cos-salon-spot-art--avatar-hint{
  display:grid;grid-template-rows:1fr auto;height:100%;padding:14px;gap:10px;box-sizing:border-box;
  background:
    radial-gradient(circle at 50% 30%, rgba(192,132,252,.16), transparent 55%),
    linear-gradient(180deg,#16101e,#08060c);
}
#panel-card.panel-kosmetik .cos-salon-spot-hint{
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;
  padding:8px 4px;
}
#panel-card.panel-kosmetik .cos-salon-spot-hint-ico{font-size:1.4rem}
#panel-card.panel-kosmetik .cos-salon-spot-hint strong{
  font-family:Cinzel,Georgia,serif;font-size:1rem;color:#fff4dc;
}
#panel-card.panel-kosmetik .cos-salon-spot-hint p{
  margin:0;font-size:.78rem;line-height:1.4;color:rgba(255,240,230,.68);max-width:28ch;
}
#panel-card.panel-kosmetik .cos-salon-spot-mini{
  height:72px;border-radius:12px;overflow:hidden;
  border:1px solid rgba(255,255,255,.1);background:#0a0810;
}
#panel-card.panel-kosmetik .cos-salon-spot-mini > *,
#panel-card.panel-kosmetik .cos-salon-spot-mini img{
  width:100%!important;height:100%!important;object-fit:contain!important;margin:0!important;
  border:none!important;border-radius:0!important;aspect-ratio:auto!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-name{
  background:none;
  -webkit-background-clip:border-box;background-clip:border-box;
  color:#fff8ec;
  filter:none;
  text-shadow:0 2px 10px rgba(0,0,0,.45);
  overflow:visible;
  overflow-wrap:break-word;
  word-break:normal;
  white-space:normal;
}
#panel-card.panel-kosmetik .cos-salon-spot-status{
  border-color:rgba(250,204,21,.25);color:#fde68a;
}
#panel-card.panel-kosmetik .cos-salon-cta{
  min-height:44px;padding:0 20px;border-radius:14px!important;
  box-shadow:0 10px 22px rgba(0,0,0,.32), 0 0 18px rgba(250,204,21,.12);
}
#panel-card.panel-kosmetik .cos-salon-strip-wrap{
  padding-top:2px;
  border-top:1px solid rgba(250,204,21,.1);
}
#panel-card.panel-kosmetik .cos-salon-strip{
  gap:12px;padding:6px 2px 12px;
}
#panel-card.panel-kosmetik .cos-salon-thumb{
  flex-basis:124px;padding:9px;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(24,16,30,.75),rgba(0,0,0,.4));
  box-shadow:0 8px 16px rgba(0,0,0,.25);
}
#panel-card.panel-kosmetik .cos-salon-thumb.is-active{
  box-shadow:0 0 20px rgba(250,204,21,.18), 0 10px 18px rgba(0,0,0,.3);
}
#panel-card.panel-kosmetik .cos-salon-thumb-art{
  border-radius:12px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}

/* ═══ Kosmetik-Previews: Namen live, Badge/Titel-BG, Rahmen-Stage, Fenster-Farben ═══ */
.cos-namecolor-preview{
  image-rendering:auto!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  background:
    radial-gradient(ellipse 80% 70% at 50% 40%, rgba(70,50,90,.45), transparent 60%),
    linear-gradient(180deg,rgba(24,18,34,.98),rgba(8,6,14,.99))!important;
}
.cos-namecolor-preview .cos-name-text{
  font-family:Cinzel,Georgia,"Times New Roman",serif!important;
  font-size:clamp(.95rem,2.2vw,1.35rem)!important;
  font-weight:800!important;
  letter-spacing:.04em;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
  image-rendering:auto!important;
}
.cos-namecolor-preview.is-default .cos-name-text{
  color:#f5f0e6!important;-webkit-text-fill-color:#f5f0e6!important;
  text-shadow:0 1px 8px rgba(0,0,0,.45);
}
.cos-namecolor-preview:not([class*="cos-namecolor-"]):not(.is-default) .cos-name-text{
  color:var(--cos-name-sample,#f5f0e6)!important;
  -webkit-text-fill-color:var(--cos-name-sample,#f5f0e6)!important;
  text-shadow:0 0 12px color-mix(in srgb, var(--cos-name-sample,#f5f0e6) 45%, transparent),
    0 2px 8px rgba(0,0,0,.4);
  font-weight:850;
}

.cos-badge-preview-wrap{
  background:
    radial-gradient(circle at 50% 28%, rgba(250,204,21,.16), transparent 42%),
    radial-gradient(circle at 50% 70%, rgba(96,165,250,.1), transparent 50%),
    linear-gradient(160deg,#1a1426 0%,#0b0914 55%,#15101c 100%)!important;
  border:1px solid rgba(250,204,21,.18)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05), inset 0 -18px 28px rgba(0,0,0,.35);
}
.cos-badge-preview-wrap--emoji{
  display:grid;place-items:center;
}
.cos-badge-preview-emoji{font-size:2.4rem;filter:drop-shadow(0 6px 12px rgba(0,0,0,.45))}
.cos-badge-preview-img{
  width:68%!important;height:68%!important;object-fit:contain!important;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.45));
  image-rendering:auto!important;
}

.cos-title-preview-wrap{
  background:
    radial-gradient(ellipse 90% 60% at 50% 40%, rgba(232,197,71,.14), transparent 55%),
    linear-gradient(90deg,rgba(8,6,12,.2),rgba(30,22,12,.55) 35%,rgba(30,22,12,.55) 65%,rgba(8,6,12,.2)),
    linear-gradient(180deg,#17101c,#0a0810)!important;
  border:1px solid rgba(232,197,71,.22)!important;
  display:grid!important;place-items:center;
  box-shadow:inset 0 0 40px rgba(0,0,0,.35);
}
.cos-title-preview-wrap--banner{
  padding:0!important;
  overflow:hidden;
}
.cos-title-preview-img{
  width:100%!important;height:100%!important;
  object-fit:contain!important;object-position:center!important;
  image-rendering:auto!important;
  filter:none;
}
.cos-title-preview-wrap--text{
  padding:12px;
}
.cos-title-preview-text{
  font-family:Cinzel,Georgia,serif;font-weight:800;font-size:.95rem;
  color:#fde68a;text-align:center;letter-spacing:.06em;
  text-shadow:0 2px 10px rgba(0,0,0,.5);
}

.cos-style-banner-wrap.cos-preview-on-stage,
.cos-frame-preview-wrap.cos-preview-on-stage,
.cos-aura-preview-wrap.cos-preview-on-stage{
  background:
    radial-gradient(ellipse 70% 55% at 50% 42%, rgba(120,80,160,.22), transparent 58%),
    radial-gradient(circle at 20% 80%, rgba(250,204,21,.08), transparent 40%),
    linear-gradient(180deg,#1a1224,#07060c)!important;
}
.cos-preview-on-stage .cos-frame-preview-img,
.cos-preview-on-stage .cos-aura-preview-img,
.cos-preview-on-stage .cos-style-banner-img{
  object-fit:contain!important;
  padding:4% 3%;
  box-sizing:border-box;
  image-rendering:auto!important;
}

.cos-ui-preview-wrap--swatch{
  width:100%;height:100%;min-height:0;
  display:grid;place-items:stretch;
  background:transparent!important;border:none!important;padding:0!important;
}
.cos-ui-preview-wrap--swatch .cos-ui-preview,
.cos-ui-preview.cos-ui-swatch{
  width:100%;height:100%;min-height:72px;
  border-width:3px;border-radius:14px;padding:0;
  display:block;
  box-shadow:0 10px 22px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08);
}
.cos-ui-preview.cos-ui-swatch .cos-ui-preview-bar,
.cos-ui-preview.cos-ui-swatch .cos-ui-preview-body{display:none!important}
.cos-ui-preview.cos-ui-default{
  border-color:rgba(255,255,255,.22);
  background:linear-gradient(145deg,rgba(36,40,52,.95),rgba(14,16,24,.98));
}
.cos-ui-preview.cos-ui-sakura{
  background:
    radial-gradient(ellipse 80% 70% at 50% 40%, rgba(244,114,182,.55), transparent 60%),
    linear-gradient(145deg,#5a2340,#2a101c 55%,#1a0a14)!important;
  border-color:rgba(244,114,182,.55)!important;
  box-shadow:0 0 28px rgba(244,114,182,.22), inset 0 1px 0 rgba(255,200,230,.12)!important;
}
.cos-ui-preview.cos-ui-neon{
  background:
    radial-gradient(ellipse 80% 70% at 50% 40%, rgba(0,255,200,.35), transparent 60%),
    linear-gradient(145deg,#06352e,#021816 55%,#010f0e)!important;
  border-color:rgba(0,255,200,.5)!important;
}
.cos-ui-preview.cos-ui-royal{
  background:
    radial-gradient(ellipse 80% 70% at 50% 40%, rgba(232,197,71,.4), transparent 60%),
    linear-gradient(145deg,#5a4510,#2a1e08 55%,#141008)!important;
  border-color:rgba(232,197,71,.55)!important;
}
.cos-ui-preview.cos-ui-crystal{
  background:
    radial-gradient(ellipse 80% 70% at 50% 40%, rgba(147,197,253,.4), transparent 60%),
    linear-gradient(145deg,#1a3358,#0c182c 55%,#060c16)!important;
  border-color:rgba(147,197,253,.5)!important;
}
.cos-ui-preview.cos-ui-void{
  background:
    radial-gradient(ellipse 80% 70% at 50% 40%, rgba(129,140,248,.4), transparent 60%),
    linear-gradient(145deg,#221848,#0e0a22 55%,#060510)!important;
  border-color:rgba(129,140,248,.5)!important;
}
.cos-ui-preview.cos-ui-retro{
  background:
    radial-gradient(ellipse 80% 70% at 50% 40%, rgba(62,207,114,.35), transparent 60%),
    linear-gradient(145deg,#0a3a22,#041810 55%,#020c08)!important;
  border-color:rgba(62,207,114,.5)!important;
  border-radius:6px!important;
}
.cos-ui-preview.cos-ui-forest{
  background:
    radial-gradient(ellipse 80% 70% at 50% 40%, rgba(90,160,80,.4), transparent 60%),
    linear-gradient(145deg,#1a3a1c,#0a1a0e 55%,#050e08)!important;
  border-color:rgba(90,160,80,.5)!important;
}
.cos-ui-preview.cos-ui-ember{
  background:
    radial-gradient(ellipse 80% 70% at 50% 40%, rgba(255,140,60,.45), transparent 60%),
    linear-gradient(145deg,#5a2810,#2a1208 55%,#140804)!important;
  border-color:rgba(255,140,60,.55)!important;
}
.cos-ui-preview.cos-ui-owner-throne{
  background:
    radial-gradient(ellipse 90% 70% at 50% 20%, rgba(255,214,100,.45), transparent 55%),
    radial-gradient(ellipse 60% 50% at 90% 90%, rgba(40,210,255,.28), transparent 50%),
    linear-gradient(155deg,#2a2010,#0a1824)!important;
  border-color:rgba(255,214,120,.75)!important;
}
.cos-ui-preview.cos-ui-admin-bastion{
  background:
    radial-gradient(ellipse 80% 70% at 50% 40%, rgba(110,180,255,.4), transparent 60%),
    linear-gradient(145deg,#143050,#0a1828 55%,#060e18)!important;
  border-color:rgba(110,180,255,.55)!important;
}
.cos-ui-preview.cos-ui-gm-theatre{
  background:
    radial-gradient(ellipse 80% 70% at 50% 40%, rgba(200,150,255,.4), transparent 60%),
    linear-gradient(145deg,#3a2048,#180e28 55%,#0c0814)!important;
  border-color:rgba(200,150,255,.55)!important;
}
.cos-ui-preview.cos-ui-feather{
  background:
    radial-gradient(ellipse 80% 70% at 50% 40%, rgba(180,200,220,.35), transparent 60%),
    linear-gradient(145deg,#243038,#101820 55%,#080c12)!important;
  border-color:rgba(180,200,220,.5)!important;
}

#panel-card.panel-kosmetik .cos-salon-spot-art--stage{
  position:relative;width:100%;height:100%;overflow:hidden;
  display:grid;place-items:center;
}
#panel-card.panel-kosmetik .cos-salon-stage-scene{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 75% 60% at 50% 45%, rgba(90,60,120,.35), transparent 60%),
    radial-gradient(circle at 15% 85%, rgba(250,204,21,.1), transparent 35%),
    radial-gradient(circle at 85% 20%, rgba(96,165,250,.12), transparent 40%),
    linear-gradient(180deg,#181222,#08060c);
}
#panel-card.panel-kosmetik .cos-salon-stage-item{
  position:relative;z-index:1;width:92%;height:88%;
  display:grid;place-items:center;
}
#panel-card.panel-kosmetik .cos-salon-stage-item > *{
  width:100%!important;height:100%!important;margin:0!important;
  border-radius:14px!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--name{
  display:grid;place-items:center;padding:18px;box-sizing:border-box;
  background:
    radial-gradient(ellipse 70% 55% at 50% 45%, rgba(80,50,110,.4), transparent 58%),
    linear-gradient(180deg,#17101f,#08060c);
}
#panel-card.panel-kosmetik .cos-salon-name-stage{
  width:min(92%,520px);height:auto;min-height:42%;
  display:grid;place-items:center;z-index:2;position:relative;
}
#panel-card.panel-kosmetik .cos-salon-name-stage .cos-namecolor-preview{
  width:100%!important;height:auto!important;min-height:0!important;
  border-radius:0!important;padding:28px 20px!important;
  background:transparent!important;border:none!important;
  box-shadow:none!important;
  display:flex!important;align-items:center;justify-content:center;
}
#panel-card.panel-kosmetik .cos-salon-name-stage .cos-name-text{
  font-family:Cinzel,Georgia,"Palatino Linotype",serif!important;
  font-size:clamp(1.55rem,3.4vw,2.35rem)!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-align:center;
  line-height:1.2;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--badge{
  display:grid;place-items:center;padding:14px;box-sizing:border-box;
  background:transparent;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--badge .cos-badge-preview-wrap{
  width:min(92%,440px)!important;aspect-ratio:1!important;height:auto!important;
  max-height:94%;border-radius:22px!important;
  background:transparent!important;border:none!important;overflow:visible!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--badge .cos-badge-preview-img{
  width:100%!important;height:100%!important;object-fit:contain!important;
}
/* Titel-Spot: Basis — Detail-Regeln weiter unten (Szenen-BG + Banner) */
#panel-card.panel-kosmetik .cos-salon-spot-art--title{
  padding:0!important;overflow:hidden!important;
  background:transparent!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--title .cos-title-preview-wrap{
  width:100%!important;height:100%!important;max-height:none!important;
  border-radius:0!important;margin:0!important;padding:0!important;
}

#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-namecolor-preview{
  min-height:0!important;height:100%!important;padding:8px 6px!important;
  border-radius:10px!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-name-text{
  font-size:.78rem!important;letter-spacing:.03em;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-badge-preview-wrap{
  width:100%!important;height:100%!important;max-height:none!important;
  aspect-ratio:auto!important;margin:0!important;border-radius:10px!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-badge-preview-img{
  width:62%!important;height:62%!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-title-preview-wrap{
  width:100%!important;height:100%!important;aspect-ratio:auto!important;margin:0!important;
  border-radius:10px!important;
  display:grid!important;place-items:center!important;
  padding:6px 4px!important;box-sizing:border-box!important;
  object-fit:unset!important;
  background:#000!important;
  overflow:hidden!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-title-preview-img{
  width:auto!important;height:auto!important;
  max-width:96%!important;max-height:72px!important;
  object-fit:contain!important;object-position:center!important;
  background:#000!important;
  mix-blend-mode:normal!important;
  opacity:1!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-ui-preview-wrap--swatch,
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-ui-preview.cos-ui-swatch{
  min-height:0!important;height:100%!important;border-radius:10px!important;
  border-width:2px!important;padding:0!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-ui-preview-bar,
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-ui-preview-body{display:none!important}

#panel-card.panel-kosmetik .cos-salon-spot-art .cos-ui-preview-wrap--swatch{
  width:100%!important;height:100%!important;padding:0!important;margin:0!important;
  background:transparent!important;border:none!important;border-radius:0!important;
  box-sizing:border-box;
}
#panel-card.panel-kosmetik .cos-salon-spot-art .cos-ui-preview.cos-ui-swatch{
  min-height:0!important;height:100%!important;width:100%!important;
  border-radius:0!important;border-width:0!important;padding:0!important;
  box-shadow:inset 0 0 60px rgba(0,0,0,.25)!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-art:has(.cos-ui-swatch){
  padding:0!important;overflow:hidden;
}
#panel-card.panel-kosmetik .cos-salon-spot-art .cos-ui-preview-bar,
#panel-card.panel-kosmetik .cos-salon-spot-art .cos-ui-preview-body{display:none!important}

/* Spotlight: keine abgeschnittenen Hint-Overlays mehr */
#panel-card.panel-kosmetik .cos-salon-spot-art--avatar-hint{display:none}

/* ═══ Scene-Previews (Rahmen/Badge/Titel) + Namen-Effekte + Strip-Wheel ═══ */
.cos-scene-preview{
  position:relative;width:100%;height:100%;min-height:72px;
  overflow:hidden;border-radius:12px;
  border:1px solid rgba(255,255,255,.1);
  background:#0a0810;
  display:grid;place-items:center;
}
.cos-scene-preview-bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  filter:saturate(1.05) brightness(.88);
  z-index:0;pointer-events:none;
}
.cos-scene-preview-veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(ellipse 70% 60% at 50% 45%, rgba(0,0,0,.15), rgba(0,0,0,.55) 75%),
    linear-gradient(180deg,rgba(8,6,14,.2),rgba(8,6,14,.55));
}
.cos-scene-preview-fore{
  position:relative;z-index:2;
  width:100%;height:100%;
  display:grid;place-items:center;
  padding:0;
  box-sizing:border-box;
}
.cos-scene-preview--badge .cos-scene-preview-fore,
.cos-scene-preview--title .cos-scene-preview-fore{
  padding:6%;
}
.cos-frame-fill-preview{
  position:relative;width:100%;height:100%;min-height:72px;
  overflow:hidden;border-radius:12px;background:#07060c;
  display:grid;place-items:center;
}
.cos-frame-fill-img{
  width:100%!important;height:100%!important;
  object-fit:contain!important;object-position:center;
  display:block;image-rendering:auto;
}
.cos-aura-fill-preview{
  position:relative;width:100%;height:100%;min-height:72px;
  overflow:hidden;background:#07060c;
}
.cos-aura-fill-img{
  width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center;
  display:block;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--aura,
#panel-card.panel-kosmetik .cos-salon-spot-art--aura .cos-aura-fill-preview{
  width:100%!important;height:100%!important;padding:0!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--aura .cos-aura-fill-img,
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-aura-fill-img{
  width:100%!important;height:100%!important;object-fit:cover!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-aura-fill-preview{
  width:100%!important;height:100%!important;border-radius:10px;overflow:hidden;
}
#panel-card.panel-kosmetik .cos-salon-spot-art .cos-frame-fill-preview,
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-frame-fill-preview{
  width:100%!important;height:100%!important;min-height:0!important;
  border-radius:0!important;border:none!important;background:transparent!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-frame-fill-preview{border-radius:10px!important}
#panel-card.panel-kosmetik .cos-salon-spot-art .cos-frame-fill-img,
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-frame-fill-img{
  width:100%!important;height:100%!important;object-fit:contain!important;
  max-width:100%!important;max-height:100%!important;
  background:transparent!important;
}
.cos-scene-preview-frame{
  width:100%;height:100%;
  object-fit:contain;object-position:center;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.55));
  image-rendering:auto;
  display:block;
}
.cos-scene-preview-item{
  max-width:100%;max-height:100%;
  object-fit:contain;image-rendering:auto;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.5));
}
.cos-scene-preview--badge .cos-scene-preview-item,
.cos-scene-preview--badge .cos-badge-preview-img{
  width:auto!important;height:auto!important;
  max-width:min(72%,160px)!important;max-height:min(72%,160px)!important;
  aspect-ratio:1;
  object-fit:contain!important;
  background:transparent!important;
  border-radius:0!important;
  mix-blend-mode:normal;
}
.cos-scene-preview--title .cos-scene-preview-item,
.cos-scene-preview--title .cos-title-preview-img{
  width:min(96%,520px)!important;height:auto!important;max-height:62%;
  object-fit:contain!important;
  background:transparent!important;
}
.cos-scene-preview--aura .cos-scene-preview-item{
  width:100%!important;height:100%!important;object-fit:cover!important;
}
.cos-scene-preview .cos-badge-preview-emoji{
  font-size:2.6rem;filter:drop-shadow(0 8px 16px rgba(0,0,0,.5));
}
.cos-scene-preview .cos-title-preview-text{
  font-family:Cinzel,Georgia,serif;font-weight:800;font-size:1rem;
  color:#fde68a;letter-spacing:.06em;text-align:center;
  text-shadow:0 2px 12px rgba(0,0,0,.6);
}

#panel-card.panel-kosmetik .cos-salon-spot-art--scene{
  padding:0!important;overflow:hidden;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--scene .cos-scene-preview{
  width:100%!important;height:100%!important;border-radius:0!important;border:none!important;
  min-height:0!important;background:transparent!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--scene .cos-scene-preview-fore{padding:0!important}
/* Rahmen-Preview: quadratisches Fenster (Asset 1:1) — kein Leerraum links/rechts */
#panel-card.panel-kosmetik .cos-salon-spot-art--scene:has(.cos-scene-preview--frame){
  display:grid!important;place-items:center!important;
  background:#05040a!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--scene .cos-scene-preview--frame{
  position:relative!important;
  width:auto!important;height:100%!important;
  aspect-ratio:1 / 1!important;
  max-width:100%!important;max-height:100%!important;
  margin:0 auto!important;
  border-radius:14px!important;overflow:hidden!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--scene .cos-scene-preview--frame .cos-scene-preview-bg,
#panel-card.panel-kosmetik .cos-salon-spot-art--scene .cos-scene-preview--frame .cos-scene-preview-veil{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  object-fit:cover!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--scene .cos-scene-preview--frame .cos-scene-preview-fore{
  padding:0!important;
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  display:block!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--scene .cos-scene-preview--badge .cos-scene-preview-fore{
  padding:12%!important;
  display:grid!important;place-items:center!important;
}
/* Rahmen sitzt exakt auf dem quadratischen Fenster */
#panel-card.panel-kosmetik .cos-salon-spot-art--scene .cos-scene-preview-frame,
#panel-card.panel-kosmetik .cos-salon-spot-art--scene img.cos-scene-preview-frame,
#panel-card.panel-kosmetik .cos-salon-spot-art--scene .cos-frame-fill-img{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;object-position:center!important;
  padding:0!important;margin:0!important;box-sizing:border-box!important;
  display:block!important;
  filter:none!important;
  transform:none!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--scene .cos-scene-preview--badge .cos-scene-preview-item,
#panel-card.panel-kosmetik .cos-salon-spot-art--scene .cos-scene-preview--badge .cos-badge-preview-img,
#panel-card.panel-kosmetik .cos-salon-spot-art--scene img.cos-badge-preview-img{
  width:auto!important;height:auto!important;
  max-width:min(38%,168px)!important;
  max-height:min(48%,180px)!important;
  aspect-ratio:1!important;
  object-fit:contain!important;object-position:center!important;
  background:transparent!important;
  margin:0 auto!important;
  justify-self:center!important;align-self:center!important;
}

#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-scene-preview{
  width:100%!important;height:100%!important;min-height:0!important;
  border-radius:10px!important;border:none!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-scene-preview-fore{padding:6%}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-scene-preview--frame{
  overflow:hidden!important;border-radius:10px!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-scene-preview--frame .cos-scene-preview-fore{
  padding:0!important;position:absolute!important;inset:0!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-scene-preview-bg{
  width:100%!important;height:100%!important;object-fit:cover!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-scene-preview-frame{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;aspect-ratio:auto;
  object-fit:contain!important;object-position:center!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-scene-preview-item,
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-scene-preview .cos-badge-preview-img,
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-scene-preview .cos-title-preview-img,
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-scene-preview .cos-aura-preview-img{
  width:auto!important;height:auto!important;max-width:92%!important;max-height:88%!important;
  object-fit:contain!important;background:transparent!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-scene-preview--badge .cos-scene-preview-item{
  width:70%!important;max-width:70%!important;border-radius:0!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-scene-preview--title .cos-scene-preview-item{
  width:92%!important;max-width:92%!important;max-height:78%!important;
}

/* Namen: Glow, Neon, Sparkle */
.cos-namecolor-preview{
  position:relative;overflow:visible;
}
#panel-card.panel-kosmetik .cos-salon-name-stage .cos-namecolor-preview{
  overflow:visible!important;
}
.cos-namecolor-preview .cos-name-spark{
  position:absolute;inset:-10%;pointer-events:none;z-index:0;
  background:
    radial-gradient(circle at 18% 30%, rgba(255,255,255,.35) 0 1px, transparent 2px),
    radial-gradient(circle at 72% 24%, rgba(253,224,71,.55) 0 1.2px, transparent 2.4px),
    radial-gradient(circle at 40% 78%, rgba(167,139,250,.5) 0 1px, transparent 2px),
    radial-gradient(circle at 86% 68%, rgba(96,165,250,.45) 0 1px, transparent 2px),
    radial-gradient(circle at 55% 42%, rgba(255,255,255,.25) 0 .8px, transparent 1.8px);
  animation:cosNameSparkDrift 5.5s ease-in-out infinite;
  opacity:.85;
}
.cos-namecolor-preview.is-default .cos-name-spark{opacity:.35}
.cos-namecolor-preview .cos-name-text{position:relative;z-index:1}
@keyframes cosNameSparkDrift{
  0%,100%{transform:translate3d(0,0,0);opacity:.7}
  50%{transform:translate3d(1.5%,-2%,0);opacity:1}
}
.cos-namecolor-preview.cos-name-glow .cos-name-text{
  animation:cosNamePulse 2.8s ease-in-out infinite;
}
@keyframes cosNamePulse{
  0%,100%{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--cos-name-sample,#fff) 40%, transparent))}
  50%{filter:drop-shadow(0 0 14px color-mix(in srgb, var(--cos-name-sample,#fff) 70%, transparent))}
}
.cos-namecolor-preview.cos-name-neon .cos-name-text{
  color:#3ecf72!important;-webkit-text-fill-color:#3ecf72!important;
  animation:cosNeonFlicker 2.4s ease-in-out infinite;
  text-shadow:0 0 8px #3ecf72,0 0 16px rgba(62,207,114,.5)!important;
}
.cos-namecolor-preview.cos-namecolor-mythic .cos-name-spark,
.cos-namecolor-preview.cos-namecolor-owner .cos-name-spark,
.cos-namecolor-preview.cos-namecolor-admin .cos-name-spark,
.cos-namecolor-preview.cos-namecolor-gm .cos-name-spark,
.cos-namecolor-preview.cos-namecolor-feather .cos-name-spark{
  opacity:1;
  animation:cosNameSparkDrift 4s ease-in-out infinite;
}

#panel-card.panel-kosmetik .cos-salon-spot-art--name{
  position:relative;display:grid;place-items:center;padding:0;overflow:hidden;
}
#panel-card.panel-kosmetik .cos-salon-name-bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:saturate(1.05) brightness(.75);z-index:0;pointer-events:none;
}
#panel-card.panel-kosmetik .cos-salon-name-veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(ellipse 65% 55% at 50% 45%, rgba(0,0,0,.2), rgba(0,0,0,.62) 78%),
    linear-gradient(180deg,rgba(10,8,16,.25),rgba(8,6,12,.55));
}
#panel-card.panel-kosmetik .cos-salon-name-stage{
  position:relative;z-index:2;
  width:min(92%,440px);min-height:42%;
}
#panel-card.panel-kosmetik .cos-salon-name-stage .cos-namecolor-preview{
  width:100%!important;height:100%!important;min-height:120px!important;
  border-radius:16px!important;padding:24px 18px!important;
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  box-shadow:0 16px 32px rgba(0,0,0,.4), inset 0 0 0 1px rgba(255,255,255,.1);
}
#panel-card.panel-kosmetik .cos-salon-name-stage .cos-name-text{
  font-size:clamp(1.4rem,3.2vw,2.1rem)!important;
  letter-spacing:.06em;
}
/* Salon-Namen: kein filter auf dem Text (sonst Balken) */
#panel-card.panel-kosmetik .cos-salon-name-stage .cos-namecolor-preview.cos-namecolor-owner .cos-name-text,
#panel-card.panel-kosmetik .cos-salon-name-stage .cos-namecolor-preview.cos-namecolor-admin .cos-name-text,
#panel-card.panel-kosmetik .cos-salon-name-stage .cos-namecolor-preview.cos-namecolor-gm .cos-name-text,
#panel-card.panel-kosmetik .cos-salon-name-stage .cos-namecolor-preview.cos-namecolor-feather .cos-name-text,
#panel-card.panel-kosmetik .cos-salon-name-stage .cos-namecolor-preview.cos-namecolor-mythic .cos-name-text,
#panel-card.panel-kosmetik .cos-salon-mirror-name .cos-name-text{
  filter:none!important;
}
#panel-card.panel-kosmetik .cos-salon-name-stage .cos-namecolor-preview.cos-namecolor-owner,
#panel-card.panel-kosmetik .cos-salon-name-stage .cos-namecolor-preview.cos-namecolor-admin,
#panel-card.panel-kosmetik .cos-salon-name-stage .cos-namecolor-preview.cos-namecolor-gm,
#panel-card.panel-kosmetik .cos-salon-name-stage .cos-namecolor-preview.cos-namecolor-feather,
#panel-card.panel-kosmetik .cos-salon-name-stage .cos-namecolor-preview.cos-namecolor-mythic{
  filter:drop-shadow(0 0 8px rgba(255,200,80,.25));
}

#panel-card.panel-kosmetik .cos-salon-strip{
  overscroll-behavior-x:contain;
  scrollbar-gutter:stable;
}

/* ═══ Fenster-Theme: Spiegelrand, Buttons, Vollbild Menüs, Titel zentriert ═══ */

/* Spiegel: Theme-Rand */
#panel-card.panel-kosmetik .cos-salon-mirror-frame.has-theme{
  padding:3px;
  transition:background .2s, box-shadow .2s;
}
#panel-card.panel-kosmetik .cos-salon-mirror-frame.cos-ui-default{
  background:linear-gradient(145deg,rgba(255,255,255,.35),rgba(160,170,190,.25),rgba(255,255,255,.3));
  box-shadow:0 18px 36px rgba(0,0,0,.38), 0 0 22px rgba(200,210,230,.1);
}
#panel-card.panel-kosmetik .cos-salon-mirror-frame.cos-ui-neon{
  background:linear-gradient(145deg,#5fffea,#00c8a0 40%,#007a6a 70%,#5fffea);
  box-shadow:0 0 0 1px rgba(0,255,200,.35), 0 0 34px rgba(0,255,200,.35), 0 18px 36px rgba(0,0,0,.4);
}
#panel-card.panel-kosmetik .cos-salon-mirror-frame.cos-ui-royal{
  background:linear-gradient(145deg,#ffe08a,#e8c547 40%,#a67c00 70%,#ffe08a);
  box-shadow:0 0 0 1px rgba(232,197,71,.4), 0 0 34px rgba(232,197,71,.3), 0 18px 36px rgba(0,0,0,.4);
}
#panel-card.panel-kosmetik .cos-salon-mirror-frame.cos-ui-crystal{
  background:linear-gradient(145deg,#dbeafe,#60a5fa 40%,#1d4ed8 70%,#dbeafe);
  box-shadow:0 0 0 1px rgba(147,197,253,.45), 0 0 34px rgba(96,165,250,.3), 0 18px 36px rgba(0,0,0,.4);
}
#panel-card.panel-kosmetik .cos-salon-mirror-frame.cos-ui-sakura{
  background:linear-gradient(145deg,#fbcfe8,#f472b6 40%,#be185d 70%,#fbcfe8);
  box-shadow:0 0 0 1px rgba(244,114,182,.45), 0 0 34px rgba(244,114,182,.32), 0 18px 36px rgba(0,0,0,.4);
}
#panel-card.panel-kosmetik .cos-salon-mirror-frame.cos-ui-void{
  background:linear-gradient(145deg,#c7d2fe,#818cf8 40%,#4338ca 70%,#c7d2fe);
  box-shadow:0 0 0 1px rgba(129,140,248,.45), 0 0 34px rgba(99,102,241,.32), 0 18px 36px rgba(0,0,0,.4);
}
#panel-card.panel-kosmetik .cos-salon-mirror-frame.cos-ui-retro{
  background:linear-gradient(145deg,#86efac,#22c55e 40%,#166534 70%,#86efac);
  box-shadow:4px 4px 0 rgba(62,207,114,.25), 0 0 28px rgba(62,207,114,.25), 0 18px 36px rgba(0,0,0,.4);
  border-radius:10px;
}
#panel-card.panel-kosmetik .cos-salon-mirror-frame.cos-ui-retro .cos-salon-mirror-inner{border-radius:8px}
#panel-card.panel-kosmetik .cos-salon-mirror-frame.cos-ui-forest{
  background:linear-gradient(145deg,#bbf7d0,#4ade80 40%,#166534 70%,#bbf7d0);
  box-shadow:0 0 0 1px rgba(90,160,80,.45), 0 0 34px rgba(90,160,80,.28), 0 18px 36px rgba(0,0,0,.4);
}
#panel-card.panel-kosmetik .cos-salon-mirror-frame.cos-ui-ember{
  background:linear-gradient(145deg,#fdba74,#f97316 40%,#9a3412 70%,#fdba74);
  box-shadow:0 0 0 1px rgba(255,140,60,.45), 0 0 34px rgba(255,140,60,.3), 0 18px 36px rgba(0,0,0,.4);
}
#panel-card.panel-kosmetik .cos-salon-mirror-frame.cos-ui-owner-throne{
  background:
    linear-gradient(135deg,#ffe08a,#ffd76a 30%,#50e6ff 55%,#ffd76a 78%,#ffe08a);
  box-shadow:
    0 0 0 1px rgba(80,230,255,.55),
    0 0 40px rgba(255,190,70,.35),
    0 0 28px rgba(40,210,255,.25),
    0 18px 36px rgba(0,0,0,.45);
}
#panel-card.panel-kosmetik .cos-salon-mirror-frame.cos-ui-admin-bastion{
  background:linear-gradient(145deg,#bfdbfe,#60a5fa 40%,#1e3a8a 70%,#bfdbfe);
  box-shadow:0 0 0 1px rgba(110,180,255,.5), 0 0 34px rgba(110,180,255,.32), 0 18px 36px rgba(0,0,0,.4);
}
#panel-card.panel-kosmetik .cos-salon-mirror-frame.cos-ui-gm-theatre{
  background:linear-gradient(145deg,#e9d5ff,#c084fc 40%,#6b21a8 70%,#e9d5ff);
  box-shadow:0 0 0 1px rgba(200,150,255,.5), 0 0 34px rgba(160,100,255,.32), 0 18px 36px rgba(0,0,0,.4);
}
#panel-card.panel-kosmetik .cos-salon-mirror-frame.cos-ui-feather{
  background:linear-gradient(145deg,#e2e8f0,#94a3b8 40%,#334155 70%,#e2e8f0);
  box-shadow:0 0 0 1px rgba(180,200,220,.45), 0 0 34px rgba(160,190,220,.28), 0 18px 36px rgba(0,0,0,.4);
}

/* Ingame Buttons in Fenster-Farbe */
body.cos-ui-neon .btn,
body.cos-ui-neon .hub-grid-btn:not(.locked),
body.cos-ui-neon .zone-btn{border-color:rgba(0,255,200,.42)!important}
body.cos-ui-neon .btn-primary,
body.cos-ui-neon .btn.btn-success{
  background:linear-gradient(135deg,#00e6b8,#008f78)!important;
  border-color:rgba(0,255,200,.55)!important;color:#041512!important;
  box-shadow:0 0 16px rgba(0,255,200,.28)!important;
}
body.cos-ui-royal .btn,
body.cos-ui-royal .hub-grid-btn:not(.locked),
body.cos-ui-royal .zone-btn{border-color:rgba(232,197,71,.42)!important}
body.cos-ui-royal .btn-primary,
body.cos-ui-royal .btn.btn-success{
  background:linear-gradient(135deg,#e8c547,#8a6500)!important;
  border-color:rgba(232,197,71,.55)!important;color:#1a1204!important;
  box-shadow:0 0 16px rgba(232,197,71,.28)!important;
}
body.cos-ui-crystal .btn,
body.cos-ui-crystal .hub-grid-btn:not(.locked),
body.cos-ui-crystal .zone-btn{border-color:rgba(147,197,253,.42)!important}
body.cos-ui-crystal .btn-primary,
body.cos-ui-crystal .btn.btn-success{
  background:linear-gradient(135deg,#93c5fd,#1d4ed8)!important;
  border-color:rgba(147,197,253,.55)!important;color:#061018!important;
  box-shadow:0 0 16px rgba(96,165,250,.28)!important;
}
body.cos-ui-sakura .btn,
body.cos-ui-sakura .hub-grid-btn:not(.locked),
body.cos-ui-sakura .zone-btn{border-color:rgba(244,114,182,.42)!important}
body.cos-ui-sakura .btn-primary,
body.cos-ui-sakura .btn.btn-success{
  background:linear-gradient(135deg,#f9a8d4,#be185d)!important;
  border-color:rgba(244,114,182,.55)!important;color:#1a0610!important;
  box-shadow:0 0 16px rgba(244,114,182,.28)!important;
}
body.cos-ui-void .btn,
body.cos-ui-void .hub-grid-btn:not(.locked),
body.cos-ui-void .zone-btn{border-color:rgba(129,140,248,.42)!important}
body.cos-ui-void .btn-primary,
body.cos-ui-void .btn.btn-success{
  background:linear-gradient(135deg,#a5b4fc,#4338ca)!important;
  border-color:rgba(129,140,248,.55)!important;color:#0a0818!important;
  box-shadow:0 0 16px rgba(99,102,241,.28)!important;
}
body.cos-ui-retro .btn,
body.cos-ui-retro .hub-grid-btn:not(.locked),
body.cos-ui-retro .zone-btn{border-color:rgba(62,207,114,.42)!important;border-radius:4px!important}
body.cos-ui-retro .btn-primary,
body.cos-ui-retro .btn.btn-success{
  background:linear-gradient(135deg,#4ade80,#166534)!important;
  border-color:rgba(62,207,114,.55)!important;color:#041208!important;
  box-shadow:3px 3px 0 rgba(62,207,114,.22)!important;
}
body.cos-ui-forest .btn,
body.cos-ui-forest .hub-grid-btn:not(.locked),
body.cos-ui-forest .zone-btn{border-color:rgba(90,160,80,.42)!important}
body.cos-ui-forest .btn-primary,
body.cos-ui-forest .btn.btn-success{
  background:linear-gradient(135deg,#4ade80,#14532d)!important;
  border-color:rgba(90,160,80,.55)!important;color:#06140a!important;
  box-shadow:0 0 16px rgba(90,160,80,.25)!important;
}
body.cos-ui-ember .btn,
body.cos-ui-ember .hub-grid-btn:not(.locked),
body.cos-ui-ember .zone-btn{border-color:rgba(255,140,60,.42)!important}
body.cos-ui-ember .btn-primary,
body.cos-ui-ember .btn.btn-success{
  background:linear-gradient(135deg,#fb923c,#9a3412)!important;
  border-color:rgba(255,140,60,.55)!important;color:#1a0a04!important;
  box-shadow:0 0 16px rgba(255,140,60,.28)!important;
}
body.cos-ui-admin-bastion .btn,
body.cos-ui-admin-bastion .hub-grid-btn:not(.locked),
body.cos-ui-admin-bastion .zone-btn{border-color:rgba(110,180,255,.45)!important}
body.cos-ui-admin-bastion .btn-primary,
body.cos-ui-admin-bastion .btn.btn-success{
  background:linear-gradient(135deg,#60a5fa,#1e3a8a)!important;
  border-color:rgba(110,180,255,.55)!important;color:#061018!important;
  box-shadow:0 0 16px rgba(110,180,255,.28)!important;
}
body.cos-ui-gm-theatre .btn,
body.cos-ui-gm-theatre .hub-grid-btn:not(.locked),
body.cos-ui-gm-theatre .zone-btn{border-color:rgba(200,150,255,.45)!important}
body.cos-ui-gm-theatre .btn-primary,
body.cos-ui-gm-theatre .btn.btn-success{
  background:linear-gradient(135deg,#c084fc,#6b21a8)!important;
  border-color:rgba(200,150,255,.55)!important;color:#12081a!important;
  box-shadow:0 0 16px rgba(160,100,255,.28)!important;
}
body.cos-ui-feather .btn,
body.cos-ui-feather .hub-grid-btn:not(.locked),
body.cos-ui-feather .zone-btn{border-color:rgba(180,200,220,.45)!important}
body.cos-ui-feather .btn-primary,
body.cos-ui-feather .btn.btn-success{
  background:linear-gradient(135deg,#94a3b8,#334155)!important;
  border-color:rgba(180,200,220,.55)!important;color:#f1f5f9!important;
  box-shadow:0 0 16px rgba(160,190,220,.22)!important;
}

/* Fenster-Ränder überall stärker (auch ohne has-ui-theme) */
body.cos-ui-neon .glass{border-color:rgba(0,255,200,.5)!important;box-shadow:0 0 0 1px rgba(0,220,180,.25),0 0 22px rgba(0,255,200,.16),var(--shadow)!important}
body.cos-ui-royal .glass{border-color:rgba(232,197,71,.55)!important;box-shadow:0 0 0 1px rgba(200,150,40,.28),0 0 22px rgba(232,197,71,.16),var(--shadow)!important}
body.cos-ui-crystal .glass{border-color:rgba(147,197,253,.5)!important;box-shadow:0 0 0 1px rgba(100,160,230,.25),0 0 22px rgba(147,197,253,.16),var(--shadow)!important}
body.cos-ui-sakura .glass{border-color:rgba(244,114,182,.5)!important;box-shadow:0 0 0 1px rgba(220,80,150,.25),0 0 22px rgba(244,114,182,.16),var(--shadow)!important}
body.cos-ui-void .glass{border-color:rgba(129,140,248,.52)!important;box-shadow:0 0 0 1px rgba(99,102,241,.28),0 0 22px rgba(99,102,241,.18),var(--shadow)!important}
body.cos-ui-retro .glass{border-color:rgba(62,207,114,.5)!important;border-radius:4px!important;box-shadow:3px 3px 0 rgba(62,207,114,.18),0 0 18px rgba(62,207,114,.12),var(--shadow)!important}
body.cos-ui-forest .glass{border-color:rgba(90,160,80,.52)!important;box-shadow:0 0 0 1px rgba(60,120,50,.28),0 0 22px rgba(90,160,80,.16),var(--shadow)!important}
body.cos-ui-ember .glass{border-color:rgba(255,140,60,.55)!important;box-shadow:0 0 0 1px rgba(200,80,20,.28),0 0 22px rgba(255,140,60,.18),var(--shadow)!important}

/* Vollbild: Top-Bar weg, Panel edge-to-edge (kein Ober-/Unterrand) */
body.rpg-kosmetik-fs .top-bar,
body.rpg-achievements-fs .top-bar,
body.rpg-craft-fs .top-bar,
body.screen-panel:has(#panel-card.panel-kosmetik) .top-bar,
body.screen-panel:has(#panel-card.panel-achievements) .top-bar,
body.screen-panel:has(#panel-card.panel-craft) .top-bar{
  display:none!important;
  visibility:hidden!important;
  height:0!important;min-height:0!important;max-height:0!important;
  margin:0!important;padding:0!important;opacity:0!important;pointer-events:none!important;
}
html body.rpg-kosmetik-fs,
html body.rpg-achievements-fs,
html body.rpg-craft-fs,
html body.screen-panel:has(#panel-card.panel-kosmetik),
html body.screen-panel:has(#panel-card.panel-achievements),
html body.screen-panel:has(#panel-card.panel-craft){
  margin:0!important;padding:0!important;
  height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;
}
html body.rpg-kosmetik-fs #app,
html body.rpg-achievements-fs #app,
html body.rpg-craft-fs #app,
html body.screen-panel:has(#panel-card.panel-kosmetik) #app,
html body.screen-panel:has(#panel-card.panel-achievements) #app,
html body.screen-panel:has(#panel-card.panel-craft) #app,
html.flix-rpg-mobile body.rpg-kosmetik-fs #app,
html.flix-rpg-mobile body.rpg-achievements-fs #app,
html.flix-rpg-mobile body.rpg-craft-fs #app,
html.flix-rpg-mobile body.screen-panel:has(#panel-card.panel-kosmetik) #app,
html.flix-rpg-mobile body.screen-panel:has(#panel-card.panel-achievements) #app,
html.flix-rpg-mobile body.screen-panel:has(#panel-card.panel-craft) #app,
html.flix-rpg-web body.rpg-fixed-topbar.rpg-kosmetik-fs #app,
html.flix-rpg-web body.rpg-fixed-topbar.rpg-achievements-fs #app,
html.flix-rpg-web body.rpg-fixed-topbar.rpg-craft-fs #app,
html.flix-rpg-web body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-kosmetik) #app,
html.flix-rpg-web body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-achievements) #app,
html.flix-rpg-web body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-craft) #app{
  --rpg-menu-scroll-max:100%!important;
  position:relative!important;
  inset:auto!important;
  top:0!important;left:0!important;right:0!important;bottom:0!important;
  width:100%!important;max-width:100%!important;
  height:100dvh!important;max-height:100dvh!important;min-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  padding-top:0!important;padding-bottom:0!important;
  padding-left:0!important;padding-right:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  display:flex!important;flex-direction:column!important;
}
body.rpg-kosmetik-fs #screen-panel:not(.hidden),
body.rpg-achievements-fs #screen-panel:not(.hidden),
body.rpg-craft-fs #screen-panel:not(.hidden),
body.screen-panel:has(#panel-card.panel-kosmetik) #screen-panel:not(.hidden),
body.screen-panel:has(#panel-card.panel-achievements) #screen-panel:not(.hidden),
body.screen-panel:has(#panel-card.panel-craft) #screen-panel:not(.hidden){
  position:relative!important;
  flex:1 1 auto!important;
  width:100%!important;max-width:100%!important;
  height:100%!important;min-height:0!important;max-height:none!important;
  margin:0!important;padding:0!important;
  top:0!important;
  overflow:hidden!important;
  display:flex!important;flex-direction:column!important;
}
#panel-card.panel-kosmetik,
#panel-card.panel-kosmetik.glass,
#panel-card.panel-kosmetik.card,
#panel-card.panel-achievements,
#panel-card.panel-achievements.glass,
#panel-card.panel-achievements.card,
#panel-card.panel-craft,
#panel-card.panel-craft.glass,
#panel-card.panel-craft.card{
  flex:1 1 auto!important;
  width:100%!important;max-width:100%!important;
  height:100%!important;min-height:0!important;max-height:none!important;
  margin:0!important;padding:0!important;
  border:none!important;border-radius:0!important;
  box-shadow:none!important;background:transparent!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  overflow:hidden!important;
  display:flex!important;flex-direction:column!important;
  box-sizing:border-box!important;
}
#panel-card.panel-kosmetik .cos-workshop,
#panel-card.panel-kosmetik .cos-workshop--epic,
#panel-card.panel-kosmetik .cos-salon,
#panel-card.panel-achievements .ach-workshop,
#panel-card.panel-achievements .ach-workshop--epic,
#panel-card.panel-craft .craft-workshop,
#panel-card.panel-craft .craft-workshop--epic{
  flex:1 1 auto!important;
  width:100%!important;max-width:none!important;
  height:100%!important;min-height:0!important;max-height:none!important;
  margin:0!important;border-radius:0!important;border:none!important;
  overflow:hidden!important;
}
#panel-card.panel-kosmetik .cos-panel-bg,
#panel-card.panel-kosmetik .cos-panel-veil,
#panel-card.panel-kosmetik .cos-salon-glow,
#panel-card.panel-achievements .ach-panel-bg,
#panel-card.panel-achievements .ach-panel-veil,
#panel-card.panel-craft .craft-panel-bg,
#panel-card.panel-craft .craft-panel-veil,
#panel-card.panel-craft .craft-ember{
  inset:0!important;border-radius:0!important;
}
#panel-card.panel-kosmetik .cos-salon-content{
  padding-top:clamp(10px,1.5vh,18px)!important;
  padding-bottom:clamp(8px,1.2vh,14px)!important;
  max-width:none!important;width:100%!important;margin-inline:0!important;
}
#panel-card.panel-craft .craft-panel-content,
#panel-card.panel-achievements .ach-panel-content{
  padding-bottom:clamp(8px,1.2vh,14px)!important;
  max-width:none!important;width:100%!important;margin-inline:0!important;
}

/* Titel zentriert: Salon / Erfolge / Craft */
#panel-card.panel-kosmetik .cos-salon-head{
  display:grid!important;
  grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);
  align-items:center;
  gap:12px;
}
#panel-card.panel-kosmetik .cos-salon-head-spacer{grid-column:1}
#panel-card.panel-kosmetik .cos-salon-brand{
  grid-column:2;justify-self:center;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:6px;
}
#panel-card.panel-kosmetik .cos-salon-brand-copy{text-align:center}
#panel-card.panel-kosmetik .cos-salon-kicker,
#panel-card.panel-kosmetik .cos-salon-title{text-align:center}
#panel-card.panel-kosmetik .cos-shop-wallet{
  grid-column:3;justify-self:end;
}
#panel-card.panel-kosmetik .cos-salon-seal{margin-inline:auto}

.craft-hero-row{
  display:grid!important;
  grid-template-columns:minmax(100px,1fr) auto minmax(100px,1fr);
  align-items:center;gap:10px;
}
.craft-hero-balance{grid-column:1}
.craft-topbar-title{
  grid-column:2;justify-self:center;text-align:center;width:auto;
}
.craft-kicker,.craft-title{text-align:center!important}
.craft-header-actions,
.craft-hero-row > .craft-forge-seal{
  grid-column:3;justify-self:end;
}
.craft-header-actions{
  display:flex;align-items:center;gap:8px;
}

.ach-hero-row{
  display:grid!important;
  grid-template-columns:minmax(56px,1fr) auto minmax(56px,1fr)!important;
}
.ach-hero-balance{grid-column:1}
.ach-topbar-title{
  grid-column:2!important;justify-self:center!important;text-align:center!important;
}
.ach-trophy-seal{grid-column:3!important;justify-self:end!important}
.ach-hero-row::before{display:none!important;content:none!important}

@media (max-width:720px){
  #panel-card.panel-kosmetik .cos-salon-head{
    grid-template-columns:1fr;
    justify-items:center;
  }
  #panel-card.panel-kosmetik .cos-salon-head-spacer{display:none}
  #panel-card.panel-kosmetik .cos-salon-brand,
  #panel-card.panel-kosmetik .cos-shop-wallet{
    grid-column:1;justify-self:center;
  }
  .craft-hero-row{
    grid-template-columns:1fr;
    justify-items:center;
  }
  .craft-hero-balance{display:none}
  .craft-topbar-title,
  .craft-header-actions,
  .craft-hero-row > .craft-forge-seal{grid-column:1;justify-self:center}
}

/* Fix: kein Top-Bar-Padding im Vollbild-Salon/Erfolge/Craft */
body.rpg-fixed-topbar.rpg-kosmetik-fs #app,
body.rpg-fixed-topbar.rpg-achievements-fs #app,
body.rpg-fixed-topbar.rpg-craft-fs #app,
body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-kosmetik) #app,
body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-achievements) #app,
body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-craft) #app,
html.flix-rpg-web body.rpg-fixed-topbar.rpg-kosmetik-fs #app,
html.flix-rpg-web body.rpg-fixed-topbar.rpg-achievements-fs #app,
html.flix-rpg-web body.rpg-fixed-topbar.rpg-craft-fs #app,
html.flix-rpg-mobile body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-kosmetik) #app,
html.flix-rpg-mobile body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-achievements) #app,
html.flix-rpg-mobile body.rpg-fixed-topbar.screen-panel:has(#panel-card.panel-craft) #app{
  padding:0!important;
  padding-top:0!important;
  padding-left:0!important;
  padding-right:0!important;
  padding-bottom:0!important;
  max-width:100%!important;
  width:100%!important;
  height:100dvh!important;
  max-height:100dvh!important;
}

/* Shop: kein schwebendes Hub/Zurück oben links */
html body.rpg-shop-fs #rpg-chrome-back-dock,
html body.screen-panel:has(#panel-card.panel-shop) #rpg-chrome-back-dock,
html body.rpg-shop-fs #btn-back,
html body.screen-panel:has(#panel-card.panel-shop) #btn-back{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* ═══ Salon Spotlight: feste Preview + Vollfläche Fenster/Rahmen/Titel ═══ */
#panel-card.panel-kosmetik .cos-salon-spot-art--window,
#panel-card.panel-kosmetik .cos-salon-spot-art--window .cos-ui-preview-wrap,
#panel-card.panel-kosmetik .cos-salon-spot-art--window .cos-salon-window-prev{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  max-height:none!important;min-height:0!important;
  aspect-ratio:auto!important;margin:0!important;padding:0!important;
  border:none!important;border-radius:0!important;overflow:hidden!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--window .cos-ui-preview-wrap--swatch,
#panel-card.panel-kosmetik .cos-salon-spot-art--window .cos-ui-swatch{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  min-height:0!important;border-radius:0!important;border-width:0!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--window .cos-ui-preview-scene,
#panel-card.panel-kosmetik .cos-salon-spot-art--window .cos-ui-preview-caption,
#panel-card.panel-kosmetik .cos-salon-spot-art--window .cos-ui-preview-frame{
  display:none!important;
}

#panel-card.panel-kosmetik .cos-salon-spot-art--title{
  position:absolute!important;inset:0!important;
  display:grid!important;place-items:center!important;
  padding:18px!important;overflow:hidden!important;
  isolation:isolate;
  background:
    radial-gradient(ellipse 70% 55% at 50% 42%, rgba(90,60,28,.28), transparent 62%),
    #16100c!important;
}
/* Große Titel-Preview: Szenen-BG hinter dem transparenten Banner-Rahmen */
#panel-card.panel-kosmetik .cos-salon-title-stage-bg,
#panel-card.panel-kosmetik .cos-salon-title-veil{
  display:block!important;
}
#panel-card.panel-kosmetik .cos-salon-title-ribbon{
  position:relative!important;z-index:2!important;
  width:min(96%,900px)!important;
  height:auto!important;
  min-height:72px!important;
  max-height:min(70%,260px)!important;
  aspect-ratio:5 / 1;
  border-radius:10px!important;
  border:none!important;
  box-shadow:none!important;
  overflow:visible!important;
  display:block!important;
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-color:transparent!important;
  mix-blend-mode:normal!important;
}
#panel-card.panel-kosmetik .cos-salon-title-ribbon.has-banner-img{
  background-image:var(--title-banner-img)!important;
  background-size:contain!important;
  background-color:transparent!important;
  border:none!important;
}
#panel-card.panel-kosmetik .cos-salon-title-ribbon .hub-title-banner-text,
#panel-card.panel-kosmetik .cos-salon-title-ribbon.is-banner-only .hub-title-banner-text,
#panel-card.panel-kosmetik .cos-salon-title-banner.is-banner-only .hub-title-banner-text{
  display:none!important;
}
/* Spot: Original-Banner deckend (Karten 640×384 + Bänder) */
#panel-card.panel-kosmetik .cos-salon-title-banner-img{
  position:relative!important;z-index:2!important;
  width:min(96%,720px)!important;
  height:auto!important;
  max-height:min(88%,420px)!important;
  object-fit:contain!important;object-position:center!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  opacity:1!important;
  pointer-events:none;
  background:transparent!important;
  border-radius:12px!important;
  box-shadow:none;
}

#panel-card.panel-kosmetik .cos-salon-spot-art--name{
  position:absolute!important;inset:0!important;
  display:grid!important;place-items:center!important;
  padding:0!important;overflow:hidden!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--name .cos-salon-name-bg{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  object-fit:cover!important;z-index:0!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--name .cos-salon-name-veil{
  position:absolute!important;inset:0!important;z-index:1!important;
  background:radial-gradient(ellipse 70% 55% at 50% 45%, rgba(0,0,0,.1), rgba(0,0,0,.45));
}
#panel-card.panel-kosmetik .cos-salon-spot-art--name .cos-salon-name-stage{
  position:relative!important;z-index:2!important;
  width:min(90%,560px)!important;
  height:auto!important;min-height:0!important;
  display:grid!important;place-items:center!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--name .cos-namecolor-preview{
  width:100%!important;min-height:0!important;height:auto!important;
  border-radius:0!important;padding:24px 16px!important;
  background:transparent!important;border:none!important;box-shadow:none!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--name .cos-name-text{
  font-family:Cinzel,Georgia,"Palatino Linotype",serif!important;
  font-size:clamp(1.55rem,3.4vw,2.35rem)!important;
  letter-spacing:.08em!important;
}

#panel-card.panel-kosmetik .cos-salon-spot-art--fx,
#panel-card.panel-kosmetik .cos-salon-spot-art--fx .cos-salon-fx-scene,
#panel-card.panel-kosmetik .cos-salon-spot-art--fx .cos-salon-fx-layer,
#panel-card.panel-kosmetik .cos-salon-spot-art--fx .cos-fx-layer{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
}

#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-title-preview-wrap--banner,
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-title-preview-wrap{
  width:100%!important;height:100%!important;padding:6px 4px!important;
  border-radius:10px!important;overflow:hidden!important;
  background:#000!important;
  display:grid!important;place-items:center!important;
  box-sizing:border-box!important;
  object-fit:unset!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-title-preview-img,
#panel-card.panel-kosmetik .cos-salon-thumb-art img.cos-title-preview-img{
  width:auto!important;
  max-width:96%!important;
  height:auto!important;
  max-height:72px!important;
  min-height:0!important;
  object-fit:contain!important;object-position:center!important;
  mix-blend-mode:normal!important;
  opacity:1!important;
  background:#000!important;
  border-radius:0!important;
  -webkit-mask-image:none;
  mask-image:none;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-ui-preview-wrap--glass,
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-ui-preview-wrap--swatch,
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-salon-window-prev{
  width:100%!important;height:100%!important;max-height:none!important;
  aspect-ratio:auto!important;min-height:0!important;
  border-radius:10px!important;overflow:hidden!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-ui-preview-frame{
  display:none!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-scene-preview-frame{
  object-fit:contain!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb{
  flex:0 0 118px!important;
  width:118px!important;
}

/* Auktionshalle / Gemshop: authentischer Ausgang, Pergament am Brett, keine Props-Overlay */

.zelda-door--arch,
.zelda-door--exit-glow.zelda-door--arch {
  appearance: none !important;
  -webkit-appearance: none !important;
  background: transparent !important;
  background-image: none !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  color: transparent !important;
  overflow: visible !important;
}
.zelda-door--arch .zelda-exit-glow {
  border-radius: 46% 46% 12px 12px / 18% 18% 12px 12px;
  background: radial-gradient(ellipse 80% 70% at 50% 40%, rgba(255, 236, 190, .22), transparent 72%) !important;
  mix-blend-mode: screen;
}
.market-workshop--zelda.is-layered .zelda-door--arch .zelda-exit-glow,
.market-workshop--zelda .zelda-exit-glow,
.market-workshop--zelda .zelda-exit-plaque,
.shop-workshop--zelda .zelda-exit-plaque,
.gemshop-shell--zelda .zelda-exit-plaque {
  display: none !important;
  opacity: 0 !important;
}
.zelda-exit-plaque {
  position: absolute;
  left: 50%;
  bottom: 7%;
  transform: translateX(-50%) rotate(-2deg);
  min-width: 78%;
  padding: .35em .45em .4em;
  border-radius: 4px 4px 6px 6px;
  background:
    linear-gradient(180deg, #c4a06a 0%, #8a6236 42%, #6a4524 100%);
  border: 1px solid rgba(58, 32, 10, .7);
  box-shadow:
    0 2px 0 rgba(40, 20, 6, .55),
    0 6px 10px rgba(0, 0, 0, .35),
    inset 0 1px 0 rgba(255, 230, 180, .35);
  pointer-events: none;
  color: #2a1608 !important;
}
.market-workshop--zelda.is-layered .zelda-door--leaf-swing {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  overflow: visible;
  perspective: 900px;
  z-index: var(--zelda-z);
}
.market-workshop--zelda.is-layered .zelda-door-swing-hall {
  display: none !important;
}
.market-workshop--zelda.is-layered .zelda-door-leaf,
.market-workshop--zelda.is-layered .zelda-door-swing-leaf {
  display: none !important;
}
.market-workshop--zelda.is-layered .zelda-counter-fg--market{
  z-index:var(--zelda-z);
  object-fit: fill;
  object-position: center bottom;
  max-width: none;
  max-height: none;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  filter: drop-shadow(0 8px 14px rgba(0,0,0,.28));
  pointer-events: none;
  outline: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.market-zoom-fs--desk{
  position:absolute;inset:0;z-index:40;
  display:flex;flex-direction:column;
  pointer-events:auto;
}
.market-zoom-fs--desk.hidden{display:none!important}
.market-zoom-fs--desk .market-zoom-fs-bg-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  z-index:0;pointer-events:none;
}
.market-zoom-fs--desk .market-zoom-fs-head{
  position:relative;z-index:2;
  padding:12px 52px 6px 16px;
  color:#fff6dc;
  text-shadow:0 2px 10px rgba(0,0,0,.85);
}
.market-zoom-fs--desk .market-zoom-fs-head span{
  font-size:.82rem;opacity:.9;
}
.market-zoom-fs--desk .market-desk-ledger{
  position:relative;z-index:2;
  margin-top:auto;
  min-height:0;
  padding:6% 9% 5%;
}
.market-zoom-fs--desk .market-sell-list{
  display:flex;flex-direction:column;gap:8px;
}
.market-zoom-fs--desk .market-sell-row{
  background:linear-gradient(180deg,rgba(255,248,228,.94),rgba(236,214,170,.9));
  border:1px solid rgba(90,55,20,.35);
  color:#2a1a08;
  border-radius:10px;
  box-shadow:0 8px 18px rgba(0,0,0,.28);
}
.market-workshop--zelda.is-layered .zelda-door--leaf-swing:hover .zelda-door-swing-leaf,
.market-workshop--zelda.is-layered .zelda-door--leaf-swing.is-open .zelda-door-swing-leaf,
.market-workshop--zelda.is-layered .zelda-door--leaf-swing:focus-visible .zelda-door-swing-leaf {
  display: none !important;
  transform: none;
}
.zelda-exit-plaque-txt {
  display: block;
  font-family: Cinzel, Palatino, Georgia, serif;
  font-size: clamp(9px, 1.05cqi, 13px);
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #2a1608;
  text-shadow: 0 1px 0 rgba(255, 230, 180, .35);
  text-align: center;
  line-height: 1.1;
}
.zelda-door--arch:hover .zelda-exit-plaque,
.zelda-door--arch.is-open .zelda-exit-plaque,
.zelda-door--arch:focus-visible .zelda-exit-plaque {
  filter: brightness(1.12);
  transform: translateX(-50%) rotate(-1deg) scale(1.04);
}

.market-workshop--zelda .zelda-break,
.gemshop-shell--zelda .zelda-break {
  display: none !important;
}

.market-sell-banner {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  overflow: visible !important;
  filter: none;
}
.market-sell-banner:hover,
.market-sell-banner:focus-visible {
  box-shadow: none !important;
  background: transparent !important;
}
.market-hall-prop {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  outline: none !important;
  overflow: visible !important;
}
.market-hall-prop:hover,
.market-hall-prop:focus-visible {
  box-shadow: none !important;
  background: transparent !important;
  outline: none !important;
  filter: brightness(1.08);
}
.market-sell-banner-face,
.market-sell-banner-seal,
.market-sell-banner-label {
  display: none !important;
}

.market-pin-note.is-empty .market-pin-note-img {
  opacity: .88;
  filter: grayscale(.08) brightness(1.02);
}
.market-pin-note-empty {
  position: absolute;
  left: 50%;
  bottom: 8%;
  transform: translateX(-50%);
  font-family: Cinzel, Palatino, Georgia, serif;
  font-size: 11cqi;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #5a3a18;
  text-shadow: 0 1px 0 rgba(255, 240, 210, .5);
}

.zelda-stage.is-market-zoom > :not(.market-zoom-fs) {
  visibility: hidden;
  pointer-events: none;
}
.zelda-stage.is-market-zoom {
  pointer-events: auto;
}
.zelda-stage.is-market-zoom .market-zoom-fs {
  visibility: visible;
  pointer-events: auto;
}
.zelda-stage.is-market-zoom .market-pin-note,
.zelda-stage.is-market-zoom .market-sell-banner,
.zelda-stage.is-market-zoom .market-desk-hotspot,
.zelda-stage.is-market-zoom .market-hall-prop,
.zelda-stage.is-market-zoom .zelda-npc,
.zelda-stage.is-market-zoom .zelda-npc-speech,
.zelda-stage.is-market-zoom .zelda-bubble {
  opacity: 0;
  visibility: hidden;
}

.market-zoom-fs--board,
.market-zoom-fs--desk{
  position:absolute;inset:0;z-index:40;
  display:flex;flex-direction:column;
  pointer-events:auto;
}
.market-zoom-fs--board.hidden,
.market-zoom-fs--desk.hidden{display:none!important}
.market-zoom-fs--board .market-zoom-fs-bg-img,
.market-zoom-fs--desk .market-zoom-fs-bg-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  z-index:0;pointer-events:none;
}
.market-zoom-fs-hit{
  position:absolute;inset:0;z-index:1;border:0;padding:0;margin:0;
  background:transparent;cursor:pointer;
  outline:none!important;box-shadow:none;
}
.market-zoom-fs-hit:focus,
.market-zoom-fs-hit:focus-visible{
  outline:none!important;
}
.market-zoom-fs--board .market-zoom-fs-close,
.market-zoom-fs--desk .market-zoom-fs-close{
  position:absolute;top:max(10px,env(safe-area-inset-top));right:12px;z-index:6;
  width:38px;height:38px;border-radius:11px;border:1px solid rgba(232,197,71,.4);
  background:rgba(8,10,14,.72);color:#fff8e7;cursor:pointer;font-size:1.05rem;
  box-shadow:0 6px 16px rgba(0,0,0,.4);
}
.market-zoom-chrome{
  position:relative;z-index:5;pointer-events:auto;
  margin:auto 8% 7%;
  max-height:56%;
  min-height:0;
  overflow:hidden;
  display:flex;flex-direction:column;
  border-radius:16px;
  border:1px solid rgba(226,192,122,.42);
  background:linear-gradient(165deg,rgba(22,16,10,.82),rgba(8,6,4,.9));
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:0 18px 42px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,236,190,.14);
}
.market-zoom-chrome--board,
.market-zoom-chrome--desk.market-zoom-parchment,
.market-zoom-parchment{
  margin:7% 10% 6%;
  height:76%;
  max-height:76%;
  overflow:hidden;
  border-radius:0;
  border:0;
  clip-path:none;
  backdrop-filter:none;-webkit-backdrop-filter:none;
  color:#2a1608;
  background:transparent;
  box-shadow:none;
  padding:3.2% 4.2% 3.8%;
  isolation:isolate;
}
.market-zoom-chrome--board::before,
.market-zoom-chrome--desk.market-zoom-parchment::before,
.market-zoom-parchment::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:auto;
  background:
    url('/activity/rpg/ui/zelda-layers/parchment-sheet.webp?v=mktParch2') center / 100% 100% no-repeat;
  filter:drop-shadow(0 16px 28px rgba(0,0,0,.52));
}
.market-zoom-chrome--board > *,
.market-zoom-chrome--desk.market-zoom-parchment > *,
.market-zoom-parchment > *{
  position:relative;
  z-index:1;
}
.market-zoom-chrome--board{
  margin:8% 9% 6%;
  height:74%;
  max-height:74%;
}
.market-zoom-chrome-head{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;
  padding:12px 16px 10px;flex-shrink:0;
  border-bottom:1px solid rgba(226,192,122,.28);
  font-family:Cinzel,Palatino,Georgia,serif;
  position:relative;
}
.market-zoom-parchment .market-zoom-chrome-head,
.market-zoom-chrome--board .market-zoom-chrome-head,
.market-zoom-chrome--desk.market-zoom-parchment .market-zoom-chrome-head{
  border-bottom:1px dashed rgba(90,50,18,.38);
  padding:14px 42px 12px 18px;
}
.market-zoom-kicker{
  width:100%;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(232,197,71,.88);
}
.market-zoom-chrome--board .market-zoom-kicker,
.market-zoom-parchment .market-zoom-kicker{color:#5a3414}
.market-zoom-chrome-head strong{
  font-size:clamp(1rem,2.2cqi,1.35rem);letter-spacing:.08em;text-transform:uppercase;color:#fff6dc;
}
.market-zoom-chrome--board .market-zoom-chrome-head strong,
.market-zoom-parchment .market-zoom-chrome-head strong{
  color:#241208;
  text-shadow:0 1px 0 rgba(236,200,120,.28);
}
.market-zoom-chrome-head span:not(.market-zoom-kicker){
  margin-left:auto;font-size:.78rem;opacity:.88;color:#fde68a;
}
.market-zoom-chrome--board .market-zoom-chrome-head span:not(.market-zoom-kicker),
.market-zoom-parchment .market-zoom-chrome-head span:not(.market-zoom-kicker){color:#5a3414}
.market-zoom-wax{
  position:absolute;right:14px;top:10px;
  width:28px;height:28px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #d24a3a, #8e1f18 70%);
  box-shadow:0 3px 0 rgba(70,12,8,.45), 0 6px 10px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,200,160,.35);
  pointer-events:none;
}
.market-zoom-wax::after{
  content:'';
  position:absolute;inset:7px;
  border-radius:50%;
  border:1px solid rgba(255,220,170,.35);
}
.market-zoom-chrome--desk .market-desk-ledger{
  position:relative;z-index:2;
  margin:0;height:auto;flex:1 1 0;min-height:0;
  padding:10px 14px 14px;
  overflow-x:hidden;
  overflow-y:scroll;
  overscroll-behavior:contain;
  touch-action:pan-y;
  pointer-events:auto;
  -webkit-overflow-scrolling:touch;
}
.market-zoom-parchment .market-desk-ledger{
  padding:12px 16px 18px;
}
.market-zoom-chrome--desk .market-sell-list{
  display:flex;flex-direction:column;gap:8px;
}
.market-zoom-chrome--desk .market-sell-row{
  background:linear-gradient(180deg,rgba(255,248,228,.16),rgba(18,12,8,.35));
  border:1px solid rgba(226,192,122,.28);
  color:#fff6dc;
  border-radius:12px;
  box-shadow:0 8px 18px rgba(0,0,0,.22);
}
.market-zoom-parchment .market-sell-row,
.market-zoom-chrome--desk.market-zoom-parchment .market-sell-row{
  background:linear-gradient(180deg,rgba(196,148,72,.28),rgba(120,72,28,.18)) !important;
  border:1px solid rgba(72,40,12,.38) !important;
  color:#2a1608;
  border-radius:4px !important;
  box-shadow:0 1px 0 rgba(80,48,16,.2);
}
.market-zoom-chrome--desk .market-listing-name,
.market-zoom-chrome--desk .market-field span{color:#fff6dc;font-family:Cinzel,Palatino,Georgia,serif}
.market-zoom-parchment .market-listing-name,
.market-zoom-chrome--desk.market-zoom-parchment .market-listing-name{
  color:#1a0c04 !important;
  font-family:Cinzel,Palatino,Georgia,serif;
  font-weight:800;
}
.market-zoom-parchment .market-field > span:not(.market-price-wrap):not(.market-fc),
.market-zoom-chrome--desk.market-zoom-parchment .market-field > span:not(.market-price-wrap):not(.market-fc),
.market-sell-list--parchment .market-field > span:not(.market-price-wrap):not(.market-fc){
  color:#6b4a12 !important;
  font-family:Cinzel,Palatino,Georgia,serif;
  font-weight:800;
  font-size:.68rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-variant:small-caps;
}
.market-zoom-parchment .market-price-wrap,
.market-zoom-chrome--desk.market-zoom-parchment .market-price-wrap,
.market-sell-list--parchment .market-price-wrap{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.market-zoom-parchment .market-price-wrap .market-price-input,
.market-sell-list--parchment .market-price-wrap .market-price-input{
  flex:1 1 auto;
  min-width:0;
}
.market-zoom-parchment .market-listing-name,
.market-zoom-chrome--desk.market-zoom-parchment .market-listing-name,
.market-sell-list--parchment .market-listing-name{
  font-size:.95rem;
  line-height:1.25;
  white-space:normal;
  overflow:visible;
  text-overflow:unset;
  text-shadow:0 1px 0 rgba(255,236,200,.4);
}
.market-zoom-parchment .market-listing-meta,
.market-zoom-chrome--desk.market-zoom-parchment .market-listing-meta,
.market-sell-list--parchment .market-listing-meta{
  color:#4a2e14;
  font-size:.74rem;
  font-weight:650;
  opacity:1;
}
.market-zoom-parchment .market-listing-meta > span:not(.market-quality):not(.market-tag):not(.market-ref-price):not(.market-fc),
.market-zoom-chrome--desk.market-zoom-parchment .market-listing-meta > span:not(.market-quality):not(.market-tag):not(.market-ref-price):not(.market-fc),
.market-sell-list--parchment .market-listing-meta > span:not(.market-quality):not(.market-tag):not(.market-ref-price):not(.market-fc){
  color:#4a2e14 !important;
  font-size:.74rem;
  font-weight:650;
  opacity:1;
}
.market-zoom-parchment .market-field,
.market-zoom-chrome--desk.market-zoom-parchment .market-field{
  color:#6b4a12 !important;
  font-size:.72rem;
  font-weight:800;
}
.market-zoom-parchment .market-fee-hint,
.market-zoom-chrome--desk.market-zoom-parchment .market-fee-hint,
.market-sell-list--parchment .market-fee-hint{
  color:#6b3a14 !important;
  font-size:.74rem !important;
  font-weight:700;
  opacity:1;
}
.market-zoom-parchment .market-fee-amt,
.market-zoom-chrome--desk.market-zoom-parchment .market-fee-amt{
  color:inherit;
  font-weight:800;
}
.market-zoom-parchment .market-quality,
.market-zoom-chrome--desk.market-zoom-parchment .market-quality,
.market-sell-list--parchment .market-quality{
  font-weight:800;
  letter-spacing:.02em;
  text-shadow:0 1px 0 rgba(255,236,200,.35);
}
.market-zoom-parchment .market-quality--common,
.market-sell-list--parchment .market-quality--common{color:#6b4a12 !important}
.market-zoom-parchment .market-quality--uncommon,
.market-sell-list--parchment .market-quality--uncommon{color:#1e5a32 !important}
.market-zoom-parchment .market-quality--rare,
.market-sell-list--parchment .market-quality--rare{color:#1a3d6e !important}
.market-zoom-parchment .market-quality--epic,
.market-sell-list--parchment .market-quality--epic{color:#4a1a6e !important}
.market-zoom-parchment .market-quality--legendary,
.market-sell-list--parchment .market-quality--legendary{color:#8a3a0c !important}
.market-zoom-parchment .market-quality--ultimate,
.market-zoom-parchment .market-quality--mythic,
.market-sell-list--parchment .market-quality--ultimate,
.market-sell-list--parchment .market-quality--mythic{color:#7a1a3a !important}
.market-zoom-parchment .market-tag,
.market-sell-list--parchment .market-tag{
  border-color:rgba(90,58,22,.38);
  background:rgba(196,148,72,.22);
  color:#3a2210 !important;
}
.market-zoom-parchment .market-tag--consumable,
.market-sell-list--parchment .market-tag--consumable{
  background:rgba(46,90,48,.18);
  border-color:rgba(30,74,40,.38);
  color:#1e4a28 !important;
}
.market-zoom-parchment .market-tag--armor,
.market-sell-list--parchment .market-tag--armor{
  background:rgba(36,70,120,.16);
  border-color:rgba(26,52,88,.36);
  color:#1a3458 !important;
}
.market-zoom-parchment .market-tag--material,
.market-sell-list--parchment .market-tag--material{
  background:rgba(160,100,28,.2);
  border-color:rgba(90,50,16,.4);
  color:#5a3210 !important;
}
.market-zoom-parchment .market-tag--weapon,
.market-sell-list--parchment .market-tag--weapon{
  background:rgba(140,48,24,.16);
  border-color:rgba(106,36,20,.36);
  color:#6a2414 !important;
}
.market-zoom-parchment .market-tag--jewelry,
.market-sell-list--parchment .market-tag--jewelry{
  background:rgba(90,40,120,.14);
  border-color:rgba(74,36,96,.34);
  color:#4a2460 !important;
}
.market-zoom-parchment .market-tag--job,
.market-sell-list--parchment .market-tag--job{
  background:rgba(20,90,88,.14);
  border-color:rgba(26,74,72,.34);
  color:#1a4a48 !important;
}
.market-zoom-parchment .market-tag--pet,
.market-sell-list--parchment .market-tag--pet{
  background:rgba(120,48,64,.14);
  border-color:rgba(90,36,52,.34);
  color:#5a2434 !important;
}
.market-zoom-parchment .market-tag--gear,
.market-sell-list--parchment .market-tag--gear{
  background:rgba(90,58,28,.16);
  border-color:rgba(58,36,16,.36);
  color:#3a2410 !important;
}
.market-zoom-parchment .market-ref-price,
.market-sell-list--parchment .market-ref-price{
  font-weight:700;
  opacity:1;
}
.market-zoom-parchment .market-ref-price--shop,
.market-sell-list--parchment .market-ref-price--shop{
  color:#1a4a48 !important;
}
.market-zoom-parchment .market-ref-price--npc,
.market-sell-list--parchment .market-ref-price--npc{
  color:#5c1e28 !important;
}
.market-zoom-parchment .market-fc,
.market-zoom-chrome--desk.market-zoom-parchment .market-fc,
.market-sell-list--parchment .market-fc{
  color:#e8c547 !important;
  -webkit-text-stroke:0.6px #000;
  paint-order:stroke fill;
  text-shadow:
    -1px -1px 0 #000,
     1px -1px 0 #000,
    -1px  1px 0 #000,
     1px  1px 0 #000;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
.market-zoom-parchment .market-fc--unit,
.market-sell-list--parchment .market-fc--unit{
  flex:0 0 auto;
  font-size:.78rem;
  letter-spacing:.04em;
}
.market-zoom-chrome--desk .market-field input{
  background:rgba(8,6,4,.55);
  border:1px solid rgba(226,192,122,.35);
  color:#fff8e7;border-radius:8px;min-height:32px;padding:4px 8px;font-weight:700;
}
.market-zoom-parchment .market-field input,
.market-zoom-chrome--desk.market-zoom-parchment .market-field input{
  background:rgba(196,148,72,.28);
  border:1px solid rgba(72,40,12,.4);
  color:#2a1608;
  border-radius:4px;
}
.market-zoom-chrome--board .market-pinboard-grid{
  flex:1 1 0;min-height:0;
  overflow-x:hidden;
  overflow-y:scroll;
  overscroll-behavior:contain;
  touch-action:pan-y;
  pointer-events:auto;
  -webkit-overflow-scrolling:touch;
  padding:10px 14px 14px;
  display:flex;flex-direction:column;gap:8px;
}
.market-zoom-chrome--board .market-listing{
  background:rgba(168,118,52,.22)!important;
  border:1px solid rgba(72,40,12,.38)!important;
  border-radius:8px!important;
  color:#2a1608;
  box-shadow:none;
}
.market-zoom-parchment .market-listing,
.market-zoom-chrome--board .market-listing{
  border-radius:4px!important;
  background:rgba(168,118,52,.22)!important;
  box-shadow:none;
}
.market-zoom-chrome--board .market-listing-name,
.market-zoom-chrome--board .market-listing-price{color:#1a0c04}
.market-zoom-chrome--board .market-listing-meta,
.market-zoom-chrome--board .muted{color:#3a2210!important}
.market-zoom-parchment .market-empty-state,
.market-zoom-chrome--board .market-empty-state,
.market-zoom-chrome--desk.market-zoom-parchment .market-empty-state{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  color:#5a3a18;
  padding:22px 10px;
}
.market-zoom-parchment .market-empty-title,
.market-zoom-chrome--board .market-empty-title{
  color:#241208 !important;
  font-family:Cinzel,Palatino,Georgia,serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-shadow:0 1px 0 rgba(236,200,120,.25);
}
.market-zoom-parchment .market-empty-ico{
  filter:sepia(.35) saturate(.8);
}
.market-zoom-parchment .muted:not(.market-fee-hint):not(.market-quality):not(.market-tag):not(.market-ref-price),
.market-zoom-chrome--board .muted:not(.market-fee-hint):not(.market-quality):not(.market-tag):not(.market-ref-price),
.market-zoom-chrome--desk.market-zoom-parchment .muted:not(.market-fee-hint):not(.market-quality):not(.market-tag):not(.market-ref-price),
.market-zoom-parchment .tiny:not(.market-fee-hint):not(.market-quality):not(.market-tag):not(.market-ref-price),
.market-zoom-chrome--desk.market-zoom-parchment .tiny:not(.market-fee-hint):not(.market-quality):not(.market-tag):not(.market-ref-price),
.market-sell-list--parchment .tiny:not(.market-fee-hint):not(.market-quality):not(.market-tag):not(.market-ref-price),
.market-sell-list--parchment .muted:not(.market-fee-hint):not(.market-quality):not(.market-tag):not(.market-ref-price){
  color:#3a2210 !important;
  opacity:1;
}
.market-zoom-parchment .market-warn{
  color:#7a2a14;
  font-family:Cinzel,Palatino,Georgia,serif;
}

/* Pergament-Aushang/Pinnwand: genau ein Scrollport (Liste), Header fest.
   Innere .market-sell-list hatte overflow:auto bei height:auto und hat das Rad
   geschluckt, ohne selbst zu scrollen. Die Vollflächen-Hit-Fläche darunter
   hat Wheel dann an die Stage (overflow:hidden) weitergegeben. */
.market-zoom-parchment .market-zoom-chrome-head,
.market-zoom-chrome--board .market-zoom-chrome-head,
.market-zoom-chrome--desk .market-zoom-chrome-head{
  flex:0 0 auto;
}
.market-zoom-chrome--desk .market-desk-ledger,
.market-zoom-parchment .market-desk-ledger,
.market-zoom-chrome--board .market-pinboard-grid,
.market-zoom-parchment .market-pinboard-grid,
.market-zoom-chrome--board .market-trade-log-list,
.market-zoom-parchment .market-trade-log-list{
  flex:1 1 0%;
  min-height:0;
  height:auto;
  max-height:none;
  overflow-x:hidden!important;
  overflow-y:scroll!important;
  overscroll-behavior:contain;
  touch-action:pan-y;
  pointer-events:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
  position:relative;
  z-index:2;
}
.market-zoom-fs .market-sell-list,
.market-zoom-parchment .market-sell-list,
.market-zoom-parchment .market-sell-list--parchment{
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  flex:0 0 auto!important;
  pointer-events:auto;
  touch-action:pan-y;
}

.market-board-parchment {
  position: absolute !important;
  inset: auto !important;
  z-index: 12;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 0;
  background: none !important;
  animation: marketParchIn .28s ease-out;
  pointer-events: auto;
}
.market-board-parchment.hidden { display: none !important; }
@keyframes marketParchIn {
  from { opacity: 0; transform: rotate(-2deg) scale(.96); }
  to { opacity: 1; transform: rotate(-1.2deg) scale(1); }
}
.market-board-lift {
  position: absolute !important;
  z-index: 12;
  display: flex;
  flex-direction: column;
  padding: 0;
  background: none !important;
  pointer-events: auto;
  animation: marketBoardLift .22s ease-out;
}
.market-board-lift.hidden { display: none !important; }
@keyframes marketBoardLift {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
.market-board-lift .market-board-sheet {
  box-shadow: 0 6px 14px rgba(0, 0, 0, .28), inset 0 0 0 1px rgba(255, 245, 220, .35);
  transform: none;
}
.market-board-lift-close {
  margin-left: auto;
  border: 0;
  background: transparent;
  color: #5a3a18;
  font-size: 14px;
  cursor: pointer;
  padding: 0 2px;
  line-height: 1;
}
.market-board-room-back { display: none !important; }
.market-board-parchment .market-zoom-fs-bg,
.market-board-parchment .market-zoom-fs-veil {
  display: none !important;
}
.market-board-room-back {
  align-self: flex-start;
  margin: 0 0 2px 4px;
  border: 1px solid rgba(90, 50, 10, .45);
  background: linear-gradient(180deg, #e8d2a4, #c9a56a);
  color: #3a220c;
  font-family: Cinzel, Palatino, Georgia, serif;
  font-size: clamp(10px, .95cqi, 13px);
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: 6px;
  padding: 4px 9px;
  cursor: pointer;
  box-shadow: 0 2px 0 rgba(70, 40, 10, .4), 0 4px 8px rgba(0, 0, 0, .3);
}
.market-board-sheet {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 8% 9% 7%;
  border-radius: 0;
  background:
    url('/activity/rpg/ui/zelda-layers/parchment-sheet.webp?v=mktParch2') center / 100% 100% no-repeat;
  background-color: transparent;
  border: 0;
  box-shadow: none;
  filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .45));
  transform: rotate(-1.1deg);
  color: #2a1608;
}
.market-board-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px dashed rgba(90, 50, 18, .35);
  font-family: Cinzel, Palatino, Georgia, serif;
}
.market-board-head strong {
  font-size: clamp(12px, 1.35cqi, 16px);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #4a2c10;
}
.market-board-head span {
  font-size: clamp(9px, .85cqi, 12px);
  color: #6a4a22;
}
.market-sell-list--parchment,
.market-board-parchment .market-pinboard-grid {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: transparent !important;
}
.market-board-parchment .market-pinboard-grid {
  overflow: auto;
}
.market-sell-list--parchment .market-sell-row,
.market-board-parchment .market-listing {
  background: rgba(168, 118, 52, .22) !important;
  border: 1px solid rgba(72, 40, 12, .38) !important;
  border-radius: 4px !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: #2a1608;
  box-shadow: none;
}
.market-sell-list--parchment .market-sell-row:hover,
.market-board-parchment .market-listing:hover {
  background: rgba(184, 132, 58, .34) !important;
  border-color: rgba(90, 50, 16, .55) !important;
}
.market-sell-list--parchment .market-listing-name,
.market-board-parchment .market-listing-name {
  color: #1a0c04 !important;
  font-family: Cinzel, Palatino, Georgia, serif;
  font-weight: 800;
}
.market-sell-list--parchment .market-sell-top{
  min-height:2.8rem;
}
.market-zoom-parchment .market-listing-ico,
.market-sell-list--parchment .market-listing-ico{
  background:rgba(255,248,230,.55);
  border:1px solid rgba(58,34,16,.35);
}
.market-zoom-parchment .item-ico-fb,
.market-sell-list--parchment .item-ico-fb{
  font-size:1.35rem;
  line-height:1;
  color:#1a0c04;
}
.market-sell-list--parchment .market-field input {
  background: rgba(255, 252, 240, .92);
  border: 1px solid rgba(58, 34, 16, .5);
  border-radius: 4px;
  color: #1a0c04;
  font-weight: 800;
  font-size: .85rem;
  min-height: 34px;
  padding: 4px 8px;
}
.market-list-btn--wax {
  background: radial-gradient(circle at 35% 30%, #d24a3a, #8e1f18 70%) !important;
  border: 1px solid rgba(70, 12, 8, .7) !important;
  color: #ffe9c8 !important;
  border-radius: 999px !important;
  font-family: Cinzel, Palatino, Georgia, serif !important;
  letter-spacing: .06em;
  box-shadow: 0 3px 0 rgba(70, 12, 8, .45), 0 6px 10px rgba(0, 0, 0, .3) !important;
}

/* Eigenes/fremdes Angebots-Detail über der Halle — gleiches Pergament wie Aushang */
#market-buy-modal.market-overlay-modal--listing{
  align-items:center;
  justify-content:center;
  padding:16px;
  z-index:46;
}
#market-buy-modal .market-overlay-backdrop{
  background:rgba(18,10,4,.36);
  backdrop-filter:blur(1.5px);
  -webkit-backdrop-filter:blur(1.5px);
}
#market-buy-modal .market-overlay-panel--parchment.market-zoom-parchment{
  margin:0;
  width:min(92%,22rem);
  height:auto;
  max-height:min(68vh,26rem);
  min-height:0;
  padding:1.45rem 1.55rem 2.45rem;
  overflow:visible;
  display:flex;
  flex-direction:column;
  color:#2a1608;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
#market-buy-modal .market-overlay-head{
  border-bottom:1px dashed rgba(90,50,18,.38);
  padding:2px 36px 10px 4px;
  background:transparent;
  position:relative;
  flex-shrink:0;
}
#market-buy-modal .market-overlay-head strong{
  font-family:Cinzel,Palatino,Georgia,serif;
  font-size:clamp(1rem,2.4cqi,1.28rem);
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#241208 !important;
  text-shadow:0 1px 0 rgba(236,200,120,.28);
  font-weight:800;
}
#market-buy-modal .market-overlay-close-parch{
  position:absolute;
  right:0;
  top:-2px;
  z-index:3;
  border:0;
  background:transparent;
  color:#5a3a18;
  font-size:1.05rem;
  line-height:1;
  cursor:pointer;
  padding:2px 4px;
  font-family:Cinzel,Palatino,Georgia,serif;
}
#market-buy-modal .market-zoom-wax{
  right:12px;
  top:auto;
  bottom:12px;
}
#market-buy-modal .market-overlay-body{
  padding:10px 4px 2px;
  overflow:visible;
  flex:0 1 auto;
  min-height:0;
  gap:8px;
  background:transparent;
}
#market-buy-modal .market-spotlight-card,
#market-buy-modal .market-zoom-parchment .market-listing,
#market-buy-modal .market-listing.mine{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  padding:4px 2px 2px !important;
  min-height:0;
  overflow:visible;
  align-items:center;
  text-align:center;
}
#market-buy-modal .market-spotlight-glow{display:none !important}
#market-buy-modal .market-listing-name{display:none}
#market-buy-modal .market-listing-main{width:100%}
#market-buy-modal .market-listing-meta{
  justify-content:center;
  color:#4a2e14;
  font-size:.74rem;
  font-weight:650;
}
#market-buy-modal .market-listing-ico{
  width:3.35rem;
  height:3.35rem;
  font-size:1.55rem;
  margin-inline:auto;
  background:rgba(255,248,230,.55);
  border:1px solid rgba(58,34,16,.35);
}
#market-buy-modal .market-listing-side{
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;
  margin-top:8px;
  gap:10px;
}
#market-buy-modal .market-listing-price{
  color:inherit;
  font-size:1.05rem;
}
#market-buy-modal .market-seller-guild{
  border-color:rgba(90,58,22,.38);
  background:rgba(196,148,72,.22);
  color:#3a2210 !important;
}
#market-buy-modal .market-act-btn{
  min-width:7.5rem;
  min-height:2.15rem;
  justify-content:center;
}
#market-buy-modal .market-act-btn--parch{
  background:linear-gradient(180deg,#e8d2a4,#c9a56a) !important;
  border:1px solid rgba(90,50,10,.45) !important;
  color:#3a220c !important;
  border-radius:6px !important;
  font-family:Cinzel,Palatino,Georgia,serif !important;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 2px 0 rgba(70,40,10,.4),0 4px 8px rgba(0,0,0,.28) !important;
}
@media (max-width:900px){
  #market-buy-modal.market-overlay-modal--listing{
    align-items:center;
    padding:14px max(12px,env(safe-area-inset-right,0px)) max(14px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));
  }
  #market-buy-modal .market-overlay-panel--parchment.market-zoom-parchment{
    width:min(94%,22rem);
    max-height:min(72dvh,26rem);
    border-radius:0;
  }
}
.market-board-parchment .market-empty-state {
  background: transparent;
  color: #5a3a18;
}
.chrome-back-btn--room {
  background: linear-gradient(165deg, rgba(90, 58, 22, .94), rgba(28, 18, 8, .94)) !important;
}

/* RPG-PENDING-COMBAT-CHIP-OVERLAY-2026-08 — nur Zone-Chip; Hub nutzt hub-alert */
#hub-hero-stage.has-pending-combat,
.hub-hero-stage.has-pending-combat,
.zone-stage.has-pending-combat,
#zone-hero-card.has-pending-combat {
  position: relative;
}
.pending-combat-banner.pending-combat-chip,
#zone-pending-combat-banner.pending-combat-banner {
  position: absolute !important;
  top: 8px;
  right: 8px;
  left: auto;
  bottom: auto;
  width: auto !important;
  max-width: min(220px, 70%);
  margin: 0 !important;
  padding: 0 !important;
  z-index: 40;
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 4px;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
.pending-combat-banner.pending-combat-chip .pending-combat-btn,
#zone-pending-combat-banner .pending-combat-btn {
  width: auto !important;
  max-width: 100%;
  margin: 0;
  padding: 5px 10px;
  font-size: .68rem !important;
  font-weight: 800;
  line-height: 1.15;
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
  border-radius: 999px;
  pointer-events: auto;
  box-shadow: 0 4px 12px rgba(0,0,0,.35);
}
.pending-combat-banner.pending-combat-chip.is-minimized .pending-combat-btn,
#zone-pending-combat-banner.is-minimized .pending-combat-btn {
  padding: 5px 8px;
  min-width: 32px;
}
.pending-combat-min {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(8,12,20,.72);
  color: #f4f1e8;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
}
.zone-stage > #zone-pending-combat-banner {
  z-index: 40;
}

/* Hub: offener Kampf = gleiche Fantasy-Plaque wie Invite/Belohnungen */
#screen-hub #pending-combat-banner.hub-alert{
  position:relative !important;
  top:auto;right:auto;left:auto;bottom:auto;
  width:100% !important;
  max-width:none;
  z-index:auto;
  pointer-events:auto;
}

/* RPG-SALON-TITLE-PREVIEW-BG-2026-08-13 */
/* Nur große Titel-Preview: thematischer BG hinter dem Original-Banner. Banner-PNG unverändert. */
#panel-card.panel-kosmetik .cos-salon-spot-stage:has(.cos-salon-spot-art--title){
  background:#16100c!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--title{
  background:transparent!important;
}
#panel-card.panel-kosmetik .cos-salon-title-stage-bg{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  z-index:0!important;
  pointer-events:none;
  filter:saturate(1.08) brightness(.94)!important;
  opacity:1!important;
  border:none!important;
  border-radius:0!important;
}
#panel-card.panel-kosmetik .cos-salon-title-veil{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none;
  background:
    radial-gradient(ellipse 78% 62% at 50% 46%, rgba(0,0,0,.02), rgba(8,6,14,.18) 82%),
    linear-gradient(180deg, rgba(8,6,14,.04), rgba(8,6,14,.16));
}
#panel-card.panel-kosmetik .cos-salon-spot-stage:has(.cos-salon-spot-art--badge){
  background:#16100c!important;
}
#panel-card.panel-kosmetik .cos-salon-spot-art--badge{
  position:absolute!important;inset:0!important;
  display:grid!important;place-items:center!important;
  padding:18px!important;overflow:hidden!important;
  isolation:isolate;
  background:transparent!important;
}
#panel-card.panel-kosmetik .cos-salon-badge-stage-bg{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  z-index:0!important;
  pointer-events:none;
  filter:saturate(1.06) brightness(.92)!important;
  opacity:1!important;
  border:none!important;
  border-radius:0!important;
}
#panel-card.panel-kosmetik .cos-salon-badge-veil{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none;
  background:
    radial-gradient(ellipse 78% 62% at 50% 46%, rgba(0,0,0,.02), rgba(8,6,14,.18) 82%),
    linear-gradient(180deg, rgba(8,6,14,.04), rgba(8,6,14,.16));
}
#panel-card.panel-kosmetik .cos-salon-badge-img,
#panel-card.panel-kosmetik .cos-salon-spot-art--badge .cos-salon-badge-img{
  position:relative!important;
  z-index:2!important;
  width:min(58%,340px)!important;
  height:auto!important;
  max-height:min(78%,340px)!important;
  aspect-ratio:1;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  pointer-events:none;
  border:none!important;
  border-radius:0!important;
  box-shadow:none;
}
#panel-card.panel-kosmetik .cos-salon-badge-emoji{
  position:relative!important;z-index:2!important;
  font-size:5rem;line-height:1;
}
#panel-card.panel-kosmetik .cos-salon-title-banner-img,
#panel-card.panel-kosmetik .cos-salon-spot-art--title .cos-salon-title-banner-img{
  position:relative!important;
  z-index:2!important;
  width:min(96%,860px)!important;
  height:auto!important;
  max-height:min(78%,280px)!important;
  background:transparent!important;
  filter:none!important;
  image-rendering:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  mix-blend-mode:normal!important;
}
#panel-card.panel-kosmetik .cos-scene-preview-veil{
  background:
    radial-gradient(ellipse 78% 64% at 50% 45%, rgba(0,0,0,.02), rgba(8,6,14,.16) 80%),
    linear-gradient(180deg, rgba(8,6,14,.04), rgba(8,6,14,.14));
}
#panel-card.panel-kosmetik .cos-scene-preview-bg{
  filter:saturate(1.08) brightness(.94)!important;
}
#panel-card.panel-kosmetik .cos-scene-preview-fore,
#panel-card.panel-kosmetik .cos-scene-preview-fore img{
  filter:none!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-title-preview-wrap,
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-title-preview-wrap--banner{
  background:transparent!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-title-preview-img,
#panel-card.panel-kosmetik .cos-salon-thumb-art img.cos-title-preview-img{
  background:transparent!important;
  filter:none!important;
  image-rendering:auto!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-scene-preview{
  background:#0a0810!important;
  border-color:rgba(255,255,255,.08)!important;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-scene-preview-bg{
  filter:saturate(1.04) brightness(.72)!important;
  opacity:.92;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art .cos-scene-preview-veil{
  opacity:.88;
}
#panel-card.panel-kosmetik .cos-salon-thumb-art[data-cos-kind="badge"] .cos-scene-preview-fore{
  padding:8%!important;
}

/* Hub-Titel: native Proportion, kein 100% 100% Stretch, kein Overlay-Blur */
#screen-hub.hub-screen-tiles .hub-hero-stage > .hub-title-banner.has-banner-img,
#screen-hub.hub-screen-tiles #hub-hero-stage > .hub-title-banner.has-banner-img,
#screen-hub.hub-screen-tiles .hub-hero-body > .hub-title-banner.has-banner-img,
#screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner.has-banner-img:not(.hidden),
html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-hero-body > .hub-title-banner.has-banner-img,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-hero-body > .hub-title-banner.has-banner-img,
html[data-desktop-web="1"] #screen-hub.hub-screen-tiles .hub-hero-body > .hub-title-banner.has-banner-img,
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner:not(.hidden),
html.flix-rpg-mobile #screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner:not(.hidden){
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-color:#07060c!important;
  image-rendering:auto!important;
  filter:none!important;
  transform:none!important;
  -webkit-optimize-contrast:auto;
}
#screen-hub.hub-screen-tiles .hub-hero-stage > .hub-title-banner.has-banner-img::before,
#screen-hub.hub-screen-tiles #hub-hero-stage > .hub-title-banner.has-banner-img::before,
#screen-hub.hub-screen-tiles .hub-hero-body > .hub-title-banner.has-banner-img::before,
#screen-hub.hub-screen-tiles .hub-hero-body > #hub-title-banner.has-banner-img::before{
  background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.52))!important;
}
#screen-hub.hub-screen-tiles .hub-title-banner.has-banner-img .hub-title-banner-text{
  display:flex!important;
}

/* Hub-Kacheln Erkunden/Dungeon/Quests: kein Weich-Scale */
#screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card .hub-grid-card-media,
html.flix-rpg-pc-scale #screen-hub.hub-screen-tiles .hub-grid-card-media,
html.flix-rpg-web #screen-hub.hub-screen-tiles .hub-grid-card-media{
  transform:none!important;
  image-rendering:auto!important;
  filter:brightness(.88) saturate(1.06)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
#screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card:hover:not(.locked) .hub-grid-card-media,
#screen-hub.hub-screen-tiles .hub-grid-btn.hub-grid-card:focus-visible:not(.locked) .hub-grid-card-media{
  transform:none!important;
  filter:brightness(1) saturate(1.1)!important;
}

/* === TITLE BANNER: full-bleed + Titeltext (Ornat-Assets: leere Mitte → DOM-Text) === */
/* is-banner-only nur bei explizitem hideText (Salon-Preview) */
.hub-title-banner.is-banner-only .hub-title-banner-text,
#screen-hub.hub-screen-tiles .hub-title-banner.is-banner-only .hub-title-banner-text,
#screen-hub.hub-screen-tiles .hub-title-banner.has-banner-img.is-banner-only .hub-title-banner-text,
#screen-hub.hub-screen-tiles #hub-hero-stage > .hub-title-banner.is-banner-only .hub-title-banner-text,
.profil-title-banner.is-banner-only .hub-title-banner-text,
.profil-hall-fs .profil-title-banner.is-banner-only .hub-title-banner-text,
.profil-hall-fs .profil-title-banner.has-banner-img.is-banner-only .hub-title-banner-text{
  display:none!important;
  visibility:hidden!important;
  width:0!important;height:0!important;overflow:hidden!important;
  opacity:0!important;pointer-events:none!important;
}
#screen-hub.hub-screen-tiles #hub-hero-stage > #hub-title-banner:not(.hidden),
#screen-hub.hub-screen-tiles .hub-hero-stage > .hub-title-banner:not(.hidden){
  position:relative!important;z-index:5!important;order:-1;
  flex:0 0 auto!important;align-self:stretch!important;
  width:100%!important;max-width:none!important;min-width:0!important;
  margin:0!important;left:0;right:0;
  box-sizing:border-box!important;
  min-height:56px!important;height:clamp(56px,7vh,78px)!important;
  padding:0 16px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  overflow:hidden;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
html[data-abenteuer-apk="1"] #screen-hub.hub-screen-tiles #hub-hero-stage > #hub-title-banner:not(.hidden),
html.flix-rpg-mobile #screen-hub.hub-screen-tiles #hub-hero-stage > #hub-title-banner:not(.hidden),
html[data-mobile-shell="1"] #screen-hub.hub-screen-tiles #hub-hero-stage > #hub-title-banner:not(.hidden){
  min-height:64px!important;
  height:clamp(64px,14vw,88px)!important;
}
#screen-hub.hub-screen-tiles .hub-title-banner.has-banner-img:not(.is-banner-only) .hub-title-banner-text,
#screen-hub.hub-screen-tiles #hub-hero-stage > .hub-title-banner:not(.is-banner-only) .hub-title-banner-text,
.zone-title-banner:not(.is-banner-only) .hub-title-banner-text,
.profil-title-banner:not(.is-banner-only) .hub-title-banner-text{
  display:flex!important;align-items:center;justify-content:center;
  position:relative;z-index:3;
  width:100%;max-width:96%;
  font-family:Cinzel,Georgia,serif!important;
  font-size:clamp(.82rem,1.15vh + .42rem,1.12rem)!important;
  font-weight:800;letter-spacing:.18em;text-transform:uppercase;text-align:center;
  line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  color:#f8e7b0;
  text-shadow:0 0 12px rgba(232,197,71,.45),0 2px 10px rgba(0,0,0,.9);
  pointer-events:none;
}
.zone-title-banner .hub-title-banner-text{
  font-size:clamp(.68rem,.9vh + .38rem,.88rem)!important;
  letter-spacing:.14em;
}
.hub-title-banner-text .cos-name-text,
.zone-title-banner .hub-title-banner-text .cos-name-text,
.profil-title-banner .hub-title-banner-text .cos-name-text{
  position:relative;z-index:2;
  font:inherit;letter-spacing:inherit;text-transform:inherit;
  color:inherit;-webkit-text-fill-color:inherit;
}
.hub-title-banner-text .cos-name-spark{
  position:absolute;inset:-18% -8%;pointer-events:none;z-index:0;
  background:
    radial-gradient(circle at 18% 30%, rgba(255,255,255,.4) 0 1px, transparent 2px),
    radial-gradient(circle at 72% 24%, rgba(253,224,71,.55) 0 1.2px, transparent 2.4px),
    radial-gradient(circle at 40% 78%, rgba(167,139,250,.5) 0 1px, transparent 2px),
    radial-gradient(circle at 86% 68%, rgba(96,165,250,.45) 0 1px, transparent 2px);
  animation:cosNameSparkDrift 5.5s ease-in-out infinite;opacity:.85;
}
.hub-title-banner-text.has-name-fx,
.hub-title-banner-text.cos-name-glow,
.hub-title-banner-text.cos-name-neon{
  animation:none;
  color:inherit;
  text-shadow:none;
}
.hub-title-banner-text.cos-name-glow .cos-name-text,
.hub-title-banner-text.has-name-fx:not([class*="cos-namecolor-"]) .cos-name-text{
  color:var(--cos-name-sample,#f8e7b0)!important;
  -webkit-text-fill-color:var(--cos-name-sample,#f8e7b0)!important;
  text-shadow:
    0 0 12px color-mix(in srgb, var(--cos-name-sample,#f8e7b0) 50%, transparent),
    0 2px 10px rgba(0,0,0,.9);
  animation:cosNamePulse 2.8s ease-in-out infinite;
}
.hub-title-banner-text.cos-name-neon .cos-name-text{
  color:#3ecf72!important;-webkit-text-fill-color:#3ecf72!important;
  text-shadow:0 0 8px #3ecf72,0 0 16px rgba(62,207,114,.55)!important;
  animation:cosNeonFlicker 2.4s ease-in-out infinite;
}
.hub-title-banner-text.cos-namecolor-mythic .cos-name-text,
.hub-title-banner-text.cos-namecolor-owner .cos-name-text,
.hub-title-banner-text.cos-namecolor-admin .cos-name-text,
.hub-title-banner-text.cos-namecolor-gm .cos-name-text,
.hub-title-banner-text.cos-namecolor-feather .cos-name-text,
.hub-title-banner-text.cos-namecolor-mythic .cos-name-text{
  /* inherit title banner styling; clip only on non-input spans */
  display:inline;
}

/* Profil-Charaktername: immer lesbar (Inputs + background-clip:text = unsichtbar) */
.profil-hall-fs .profil-hero-name-input,
.profil-hall-fs .profil-hero-name-input.cos-name-text,
.profil-hall-fs .profil-hero-name-wrap .profil-hero-name-input,
#panel-card.panel-profil .profil-hero-name-input,
#panel-card.panel-profil .profil-hero-name-input.cos-name-text{
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
  background-image:none!important;
  animation:none!important;
  filter:none!important;
  opacity:1!important;
  visibility:visible!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;
  max-width:100%;
}
.hub-title-banner-text.cos-namecolor-admin .cos-name-text,
.hub-title-banner-text.cos-namecolor-gm .cos-name-text,
.hub-title-banner-text.cos-namecolor-feather .cos-name-text{
  text-shadow:none!important;
}

/* Auktionshalle: Handelsbuch (Kauf/Verkauf-Log) */
.market-zoom-fs--trade-log .market-zoom-parchment::before,
.market-zoom-fs--trade-log .market-zoom-chrome--board::before{
  pointer-events:none!important;
}
.market-zoom-fs--trade-log .market-zoom-chrome{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.market-zoom-fs--trade-log .market-trade-tabs,
.market-zoom-fs--trade-log .market-trade-tab,
.market-zoom-fs--trade-log .market-trade-log-list,
.market-zoom-fs--trade-log .market-zoom-chrome-head{
  position:relative;
  z-index:3;
  pointer-events:auto!important;
}
.market-trade-tabs{
  display:flex;
  gap:8px;
  flex:0 0 auto;
  padding:2px 4px 6px;
  isolation:isolate;
}
.market-trade-tab{
  appearance:none;-webkit-appearance:none;
  flex:1 1 0;
  min-height:2.15rem;
  border:1px solid rgba(72,40,12,.45);
  border-radius:6px;
  background:rgba(120,78,32,.22);
  color:#5a4030;
  font-family:Cinzel,Palatino,Georgia,serif;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,236,190,.18);
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.market-trade-tab.is-active{
  background:linear-gradient(180deg,rgba(196,140,58,.55),rgba(140,88,28,.48));
  border-color:rgba(120,72,18,.85);
  color:#1a0e06;
  box-shadow:
    inset 0 0 0 1px rgba(232,197,71,.55),
    0 2px 0 rgba(90,50,16,.25);
  text-shadow:0 1px 0 rgba(255,236,190,.35);
}
.market-trade-tab:hover{
  background:rgba(168,118,52,.36);
  color:#2a1608;
}
.market-trade-tab.is-active:hover{
  background:linear-gradient(180deg,rgba(210,150,64,.62),rgba(150,94,30,.52));
}
.market-trade-log-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:2px 2px 8px;
}
.market-trade-row{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:8px 10px;
  background:rgba(168,118,52,.22);
  border:1px solid rgba(72,40,12,.38);
  border-radius:4px;
  color:#2a1608;
}
.market-trade-ico{
  flex:0 0 auto;
  width:1.6rem;
  text-align:center;
  font-size:1.15rem;
  line-height:1.4;
}
.market-trade-main{flex:1 1 auto;min-width:0}
.market-trade-line{
  font-size:.82rem;
  line-height:1.35;
  color:#2a1608;
}
.market-trade-line b{font-weight:800;color:#1a0e06}
.market-trade-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px 10px;
  margin-top:4px;
  align-items:center;
  font-size:.72rem;
  color:#5a4030;
}
.market-trade-tag{
  display:inline-flex;
  padding:1px 7px;
  border-radius:999px;
  border:1px solid rgba(72,40,12,.35);
  background:rgba(90,56,20,.18);
  font-weight:700;
  letter-spacing:.03em;
  color:#3a2210;
}
.market-trade-tag--buy{
  background:rgba(46,110,58,.2);
  border-color:rgba(36,88,48,.4);
  color:#1f4a28;
}
.market-trade-tag--sell{
  background:rgba(140,90,28,.22);
  border-color:rgba(110,70,20,.45);
  color:#5a3410;
}
.market-trade-time{opacity:.9}
.market-zoom-parchment .market-trade-meta .market-fc{
  color:#5a3414;
  font-weight:800;
}

/* ═══════════════════════════════════════════════════════════════
   Dungeon-Börse Scroll FIX (wm-dngscroll4) + Portfolio (wm-dngscroll5)
   BLOCKER war: Scroll-Host mit height:auto → wächst mit Content →
   scrollHeight==clientHeight, Parent (#screen-coop-world / panel)
   clippt mit overflow:hidden. Kein Scroll möglich.
   Fix: height:0 + flex:1 1 0% + min-height:0 → definite Scrollport.
   Co-op Host: #cw-explore-wrap | Solo Host: .dng-market-shell--solo
   Portfolio: siehe wm-dngscroll5-Block am Dateiende.
   ═══════════════════════════════════════════════════════════════ */
html body.coop-layout-dungeon #app,
html body.coop-layout-dungeon #flix-app-rpg.active,
html.abenteuer-app body.coop-layout-dungeon #app,
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-dungeon #app,
html.flix-rpg-pc-scale body.coop-layout-dungeon #app,
html.flix-rpg-web body.coop-layout-dungeon #app,
html[data-abenteuer-apk="1"] body.coop-layout-dungeon #app{
  height:100dvh!important;
  max-height:100dvh!important;
  min-height:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
html body.coop-layout-dungeon #screen-coop-world,
html body.coop-layout-dungeon #screen-coop-world.coop-layout-dungeon,
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-dungeon #screen-coop-world,
html.flix-rpg-pc-scale body.coop-layout-dungeon #screen-coop-world,
html[data-abenteuer-apk="1"] body.coop-layout-dungeon #screen-coop-world{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 0%!important;
  min-height:0!important;
  /* definite Höhe aus Flex — nicht height:auto (sonst wächst Screen mit Content) */
  height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}
/* SCROLL-HOST Co-op: definite Rest-Höhe via height:0 + flex-grow */
html body.coop-layout-dungeon #screen-coop-world #cw-explore-wrap,
html body.coop-layout-dungeon #cw-explore-wrap,
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-dungeon #screen-coop-world #cw-explore-wrap,
html.flix-rpg-pc-scale body.coop-layout-dungeon #screen-coop-world #cw-explore-wrap,
html[data-abenteuer-apk="1"] body.coop-layout-dungeon #screen-coop-world #cw-explore-wrap,
html.flix-rpg-mobile body.coop-layout-dungeon #screen-coop-world #cw-explore-wrap{
  position:relative!important;
  inset:auto!important;
  left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  display:block!important;
  flex:1 1 0%!important;
  min-height:0!important;
  max-height:none!important;
  height:0!important; /* KRITISCH: definite Scrollport-Höhe */
  width:auto!important;
  overflow-x:hidden!important;
  overflow-y:scroll!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
  padding-bottom:max(96px,calc(env(safe-area-inset-bottom,0px) + 80px))!important;
  box-sizing:border-box!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  z-index:2!important;
  scrollbar-gutter:stable;
}
/* Inhalt im Flow — wächst über Host hinaus → scrollHeight > clientHeight */
html body.coop-layout-dungeon #screen-coop-world #cw-dungeon-panel,
html body.coop-layout-dungeon #screen-coop-world #cw-dungeon-panel:not(.hidden),
html body.coop-layout-dungeon #cw-dungeon-panel,
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-dungeon #screen-coop-world #cw-dungeon-panel,
html.flix-rpg-pc-scale body.coop-layout-dungeon #screen-coop-world #cw-dungeon-panel,
html[data-abenteuer-apk="1"] body.coop-layout-dungeon #screen-coop-world #cw-dungeon-panel,
html.flix-rpg-mobile body.coop-layout-dungeon #screen-coop-world #cw-dungeon-panel{
  position:relative!important;
  inset:auto!important;
  left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  display:block!important;
  flex:none!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  z-index:3!important;
  padding:0 4px 12px!important;
  box-sizing:border-box!important;
  transform:none!important;
}
html body.coop-layout-dungeon #screen-coop-world .dng-market-shell--coop,
html body.coop-layout-dungeon #cw-dungeon-panel .dng-market-shell,
html.abenteuer-app.abenteuer-touch-ui body.coop-layout-dungeon #screen-coop-world .dng-market-shell--coop{
  position:relative!important;
  inset:auto!important;
  display:flex!important;
  flex-direction:column!important;
  flex:none!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
  width:100%!important;
  opacity:1!important;
  visibility:visible!important;
}
html body.coop-layout-dungeon #screen-coop-world .dng-market-shell--coop > *,
html body.coop-layout-dungeon #cw-dungeon-panel .dng-market-shell > *{
  flex-shrink:0!important;
}
html body.coop-layout-dungeon #screen-coop-world .dng-market-bottom,
html body.coop-layout-dungeon #cw-dungeon-panel .dng-market-bottom{
  flex:0 0 auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  align-items:start!important;
  overflow:visible!important;
}
html body.coop-layout-dungeon #screen-coop-world .dng-market-panel,
html body.coop-layout-dungeon #cw-dungeon-panel .dng-market-panel,
html body.coop-layout-dungeon #screen-coop-world .dng-shares-panel,
html body.coop-layout-dungeon #screen-coop-world .dng-records-panel{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
}
html body.coop-layout-dungeon #screen-coop-world #cw-regions-panel,
html body.coop-layout-dungeon #screen-coop-world #cw-zone-panel{
  display:none!important;
}
html body.coop-layout-dungeon #screen-coop-world #cw-region-grid.world-map-host,
html body.coop-layout-dungeon #screen-coop-world .world-map.world-map-fs{
  display:none!important;
  pointer-events:none!important;
}
html body.coop-layout-dungeon.world-map-immersive #screen-coop-world #cw-explore-wrap,
html body.world-map-immersive.coop-layout-dungeon #cw-explore-wrap{
  position:relative!important;
  inset:auto!important;
  left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  flex:1 1 0%!important;
  min-height:0!important;
  height:0!important;
  overflow-y:scroll!important;
  display:block!important;
}

/* Solo SCROLL-HOST: .dng-market-shell--solo */
html body.rpg-dungeon-market-fs #app,
html body.rpg-dungeon-market-fs #flix-app-rpg.active,
html.abenteuer-app body.rpg-dungeon-market-fs #app{
  height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
}
html body.rpg-dungeon-market-fs #screen-panel,
html body.screen-panel:has(#panel-card.panel-dungeon) #screen-panel{
  flex:1 1 0%!important;
  min-height:0!important;
  height:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
html body.rpg-dungeon-market-fs #panel-card.panel-dungeon,
html body.screen-panel:has(#panel-card.panel-dungeon) #panel-card.panel-dungeon,
html.abenteuer-app body.rpg-dungeon-market-fs #panel-card.panel-dungeon,
html.flix-rpg-pc-scale body.rpg-dungeon-market-fs #panel-card.panel-dungeon{
  position:relative!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 0%!important;
  min-height:0!important;
  height:0!important;
  max-height:none!important;
}
html body.rpg-dungeon-market-fs #panel-card.panel-dungeon .dng-market-shell--solo,
html body.screen-panel:has(#panel-card.panel-dungeon) #panel-card.panel-dungeon .dng-market-shell--solo,
html.abenteuer-app body.rpg-dungeon-market-fs #panel-card.panel-dungeon .dng-market-shell--solo{
  position:relative!important;
  inset:auto!important;
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 0%!important;
  width:100%!important;
  height:0!important; /* KRITISCH: definite Scrollport */
  max-height:none!important;
  min-height:0!important;
  overflow-x:hidden!important;
  overflow-y:scroll!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
  overscroll-behavior:contain!important;
  padding:0 8px!important;
  padding-bottom:max(96px,calc(env(safe-area-inset-bottom,0px) + 80px))!important;
  box-sizing:border-box!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  scrollbar-gutter:stable;
}
html body.rpg-dungeon-market-fs #panel-card.panel-dungeon .dng-market-shell--solo > *{
  flex-shrink:0!important;
}
html body.rpg-dungeon-market-fs #panel-card.panel-dungeon .dng-market-bottom{
  flex:0 0 auto!important;
  height:auto!important;
  overflow:visible!important;
  align-items:start!important;
}
/* Debug-Outline: document.documentElement.dataset.dngScrollDebug = '1' */
html[data-dng-scroll-debug="1"] body.coop-layout-dungeon #cw-explore-wrap,
html[data-dng-scroll-debug="1"] body.rpg-dungeon-market-fs .dng-market-shell--solo{
  outline:2px solid red!important;
  outline-offset:-2px;
}

/* ═══════════════════════════════════════════════════════════════
   Dungeon-Börse Portfolio FIX (wm-dngscroll5)
   BLOCKER: .dng-market-bottom (z-index:1) + .dng-panel-bg scale(1.04)
   überdeckte „Dein Portfolio“ (z-index:auto). Chips/FC abgeschnitten.
   Fix: Portfolio/Host über Anteilmarkt stapeln, klarer Abstand,
   Panel-BG clippen, kein negativer Margin.
   Solo + Co-op.
   ═══════════════════════════════════════════════════════════════ */
html body.coop-layout-dungeon #screen-coop-world .dng-portfolio-host,
html body.coop-layout-dungeon #cw-dungeon-panel .dng-portfolio-host,
html body.rpg-dungeon-market-fs #panel-card.panel-dungeon .dng-portfolio-host,
html body.rpg-dungeon-market-fs .dng-portfolio-host,
#panel-card.panel-dungeon .dng-portfolio-host{
  display:block!important;
  flex:0 0 auto!important;
  flex-shrink:0!important;
  position:relative!important;
  z-index:5!important;
  margin:8px 0 14px!important;
  padding:0!important;
  overflow:visible!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  pointer-events:auto!important;
}
html body.coop-layout-dungeon #screen-coop-world .dng-portfolio,
html body.coop-layout-dungeon #cw-dungeon-panel .dng-portfolio,
html body.rpg-dungeon-market-fs #panel-card.panel-dungeon .dng-portfolio,
html body.rpg-dungeon-market-fs .dng-portfolio,
#panel-card.panel-dungeon .dng-portfolio{
  position:relative!important;
  z-index:5!important;
  flex:0 0 auto!important;
  flex-shrink:0!important;
  margin:0!important;
  padding:8px 6px 12px!important;
  overflow:visible!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  gap:8px!important;
  pointer-events:auto!important;
}
html body.coop-layout-dungeon #screen-coop-world .dng-portfolio-chips,
html body.coop-layout-dungeon #cw-dungeon-panel .dng-portfolio-chips,
html body.rpg-dungeon-market-fs .dng-portfolio-chips,
#panel-card.panel-dungeon .dng-portfolio-chips{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  padding-bottom:2px!important;
  overflow:visible!important;
}
html body.coop-layout-dungeon #screen-coop-world .dng-portfolio-chip,
html body.coop-layout-dungeon #cw-dungeon-panel .dng-portfolio-chip,
html body.rpg-dungeon-market-fs .dng-portfolio-chip,
#panel-card.panel-dungeon .dng-portfolio-chip{
  overflow:visible!important;
  line-height:1.25!important;
  padding:7px 11px!important;
}
/* Anteilmarkt unter Portfolio — kein Hochziehen */
html body.coop-layout-dungeon #screen-coop-world .dng-market-bottom,
html body.coop-layout-dungeon #cw-dungeon-panel .dng-market-bottom,
html body.rpg-dungeon-market-fs #panel-card.panel-dungeon .dng-market-bottom,
#panel-card.panel-dungeon .dng-market-bottom{
  margin-top:0!important;
  position:relative!important;
  z-index:1!important;
  transform:none!important;
}
/* scaled Panel-BG nicht über Portfolio malen */
html body.coop-layout-dungeon #screen-coop-world .dng-market-bottom .dng-market-panel,
html body.coop-layout-dungeon #cw-dungeon-panel .dng-market-bottom .dng-market-panel,
html body.rpg-dungeon-market-fs .dng-market-bottom .dng-market-panel,
#panel-card.panel-dungeon .dng-market-bottom .dng-market-panel{
  overflow:hidden!important;
}
html body.coop-layout-dungeon #screen-coop-world .dng-market-bottom .dng-panel-bg,
html body.coop-layout-dungeon #cw-dungeon-panel .dng-market-bottom .dng-panel-bg,
html body.rpg-dungeon-market-fs .dng-market-bottom .dng-panel-bg,
#panel-card.panel-dungeon .dng-market-bottom .dng-panel-bg{
  transform:none!important;
}

/* ═══════════════════════════════════════════
   Housing / Hausbau (Sims-ähnlich Top-Down)
   ═══════════════════════════════════════════ */
#screen-housing.housing-screen-root,
.housing-screen-root.housing-screen {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  padding: 0 !important;
  overflow: hidden !important;
  overscroll-behavior: none;
  touch-action: manipulation;
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(62, 92, 58, 0.35), transparent 55%),
    linear-gradient(165deg, #1a2218 0%, #243028 42%, #1c2420 100%);
}
.hs-shell {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  gap: 8px;
  padding: 10px 12px 12px;
}
.hs-topbar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(212, 175, 55, 0.28);
  background: rgba(18, 26, 20, 0.72);
  backdrop-filter: blur(8px);
}
.hs-title-block { flex: 1; min-width: 0; }
.hs-title {
  margin: 0;
  font-size: 1.15rem;
  color: #f0e6c8;
  letter-spacing: 0.02em;
}
.hs-sub { margin: 2px 0 0; }
.hs-wallet {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
  max-width: 52%;
}
.hs-mat-chip {
  font-size: 0.72rem;
  background: rgba(40, 52, 42, 0.9);
  border: 1px solid rgba(180, 160, 100, 0.25);
}
.hs-body {
  display: grid;
  grid-template-columns: minmax(220px, 300px) 1fr;
  gap: 10px;
  flex: 1;
  min-height: 0;
}
.hs-side {
  overflow: auto;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(212, 175, 55, 0.22);
  background: rgba(16, 22, 18, 0.78);
}
.hs-panel h3 { margin: 0 0 8px; color: #f3e7c4; font-size: 1rem; }
.hs-h4 { margin: 14px 0 8px; color: #d9c89a; font-size: 0.86rem; }
.hs-style-list { display: flex; flex-direction: column; gap: 8px; }
.hs-style-card {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  text-align: left;
  padding: 10px;
  border-radius: 12px;
  border: 1px solid rgba(180, 160, 100, 0.25);
  background: rgba(30, 40, 32, 0.85);
  color: #efe6cf;
  cursor: pointer;
}
.hs-style-card.is-selected {
  border-color: rgba(212, 175, 55, 0.75);
  box-shadow: 0 0 0 1px rgba(212, 175, 55, 0.35) inset;
}
.hs-style-card.is-locked { opacity: 0.78; }
.hs-style-emoji { font-size: 1.4rem; line-height: 1; }
.hs-style-meta { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.hs-cost { color: #c8b888; }
.hs-cost-miss { color: #e08a7a; font-weight: 600; }
.hs-cost-free { color: #8fd4a0; font-weight: 700; }
.hs-env-bg,
.hs-house-ext,
.hs-house-int,
.hs-house-preview {
  backface-visibility: hidden;
}
.hs-actions { margin-top: 12px; display: flex; flex-direction: column; gap: 8px; }
.hs-actions-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.hs-enter-row { margin: 0 0 12px; }
.hs-enter-main {
  flex: 1 1 auto;
  min-width: 140px;
  font-weight: 700;
  font-size: 1rem;
  padding: 12px 16px;
}
.hs-cat-tabs {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 8px 0;
}
.hs-cat-tab-group {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.hs-cat-group-label {
  flex: 0 0 auto;
  min-width: 2.6em;
  color: #b9a878;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  opacity: 0.9;
}
.hs-cat-tab-group--bau .hs-cat-tab {
  border-color: rgba(120, 170, 220, 0.35);
}
.hs-cat-tab.is-active,
.hs-cat-tab.btn-primary {
  font-weight: 700;
}
.hs-catalog {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.hs-cat-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  padding: 8px 6px;
  border-radius: 10px;
  border: 1px solid rgba(180, 160, 100, 0.22);
  background: rgba(28, 36, 30, 0.9);
  color: #efe6cf;
  cursor: pointer;
}
.hs-cat-thumb {
  width: 56px;
  height: 56px;
  aspect-ratio: 1 / 1;
  display: grid;
  place-items: center;
  overflow: hidden;
  flex: 0 0 auto;
  background: rgba(0, 0, 0, 0.18);
  border-radius: 8px;
}
.hs-cat-item img,
.hs-cat-thumb img {
  width: 100%;
  height: 100%;
  max-width: 56px;
  max-height: 56px;
  object-fit: contain !important;
  object-position: center center;
  image-rendering: auto;
  background: transparent;
}
.hs-cat-fallback {
  width: 56px;
  height: 56px;
  place-items: center;
  font-size: 1.5rem;
}
.hs-cat-item.is-selected {
  border-color: rgba(212, 175, 55, 0.8);
  background: rgba(50, 42, 24, 0.9);
}
.hs-cat-name { font-size: 0.72rem; text-align: center; }
.hs-viewport {
  position: relative;
  min-height: 280px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(212, 175, 55, 0.28);
  background-color: #142018;
  background-image: none !important;
  touch-action: none;
  overscroll-behavior: none;
  cursor: default;
  user-select: none;
  -webkit-user-select: none;
}
.hs-viewport--interior {
  /* Dunkler Außenrahmen des Cutaways — kein Beige-Letterbox */
  background-color: #1a1410;
  border-color: rgba(80, 60, 40, 0.45);
}
.hs-stage {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  transform-origin: center center;
  transition: none;
}
.hs-stage.is-zooming {
  will-change: transform;
}
.hs-world {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
/* Full-bleed Grundstück — füllt den gesamten Viewport */
.hs-env {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
  background: transparent;
}
.hs-env-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
  user-select: none;
  z-index: 1;
}
.hs-env-bg--dim {
  filter: brightness(0.45) saturate(0.85);
  z-index: 0;
}
.hs-house-slot {
  position: absolute;
  left: 50%;
  top: 44%;
  width: var(--hs-house, 320px);
  height: var(--hs-house, 320px);
  transform: translate(-50%, -50%);
  z-index: 3;
  background: transparent !important;
  filter: drop-shadow(0 14px 22px rgba(0, 0, 0, 0.45));
  pointer-events: none;
}
.hs-house-slot--preview { opacity: 0.92; }
.hs-build-badge {
  position: absolute;
  left: 50%;
  bottom: -8%;
  transform: translateX(-50%);
  margin: 0;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(12, 18, 14, 0.82);
  border: 1px solid rgba(212, 175, 55, 0.45);
  color: #f0e6c8;
  font-size: 0.72rem;
  white-space: nowrap;
  z-index: 6;
  pointer-events: none;
}
.hs-plot {
  position: relative;
  overflow: hidden;
  background: transparent;
}
/* Innenraum: Sandbox-Plot (kein Cutaway-BG) */
.hs-env--interior {
  background: #12151c;
  container-type: size;
}
.hs-env--interior .hs-env-bg,
.hs-env--interior .hs-env-bg--dim {
  display: none !important;
}
.hs-plot--interior,
.hs-plot--fullbleed,
.hs-plot--sandbox {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  max-height: none;
  transform: none !important;
  z-index: 2;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent;
  overflow: hidden;
}
.hs-plot-ground {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 50% 40%, rgba(50, 58, 72, 0.55), transparent 62%),
    linear-gradient(180deg, #151922 0%, #0e1118 100%);
}
.hs-grid-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
  transition: opacity .15s ease;
  background-image:
    linear-gradient(to right, rgba(232, 197, 71, 0.12) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(232, 197, 71, 0.12) 1px, transparent 1px);
  background-size: calc(100% / var(--hs-gw, 8)) calc(100% / var(--hs-gh, 8));
}
.hs-world.is-build-snap .hs-grid-overlay,
.hs-viewport.is-build-snap .hs-grid-overlay {
  opacity: 1;
}
.hs-house-ext,
.hs-house-int,
.hs-house-preview {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  z-index: 2;
  background: transparent !important;
  image-rendering: auto;
}
.hs-house-int { display: none !important; }
.hs-door-hit {
  position: absolute;
  left: 50%;
  bottom: 6%;
  transform: translateX(-50%);
  width: 28%;
  min-width: 72px;
  height: 22%;
  min-height: 48px;
  border: 0;
  background: transparent;
  cursor: pointer;
  z-index: 5;
  display: grid;
  place-items: end center;
  padding-bottom: 4px;
  pointer-events: auto;
}
.hs-door-label {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(18, 28, 20, 0.88);
  border: 1px solid rgba(212, 175, 55, 0.7);
  color: #f3e7c4;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  pointer-events: none;
  box-shadow: 0 4px 12px rgba(0,0,0,.35);
}
.hs-door-hit:hover .hs-door-label,
.hs-door-hit:focus-visible .hs-door-label {
  background: rgba(50, 70, 40, 0.95);
  border-color: #e4c76a;
}
.hs-enter-dock,
.hs-enter-fab,
.hs-enter-fab-hint {
  display: none !important;
}
.hs-enter-main.is-pulse {
  animation: hs-enter-pulse 1.1s ease-in-out 3;
}
@keyframes hs-enter-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.55); transform: scale(1); }
  50% { box-shadow: 0 0 0 12px rgba(212, 175, 55, 0); transform: scale(1.04); }
}
.hs-cutaway-frame { display: none !important; }
.hs-ghost-place {
  position: absolute;
  z-index: 22;
  pointer-events: none;
  opacity: 0.58;
  border: 1px dashed rgba(212, 175, 55, 0.7);
  box-sizing: border-box;
  /* Facing = Bildwechsel; kein CSS-Kippen */
  transform: scaleX(var(--hs-mirror, 1));
  transform-origin: center center;
  overflow: hidden;
}
.hs-ghost-place.is-invalid {
  opacity: 0.35;
  border-color: rgba(220, 80, 70, 0.85);
  filter: grayscale(0.35);
}
.hs-ghost-place img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center bottom;
  pointer-events: none;
}
.hs-place-hit {
  position: absolute;
  inset: 0;
  z-index: 4;
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  cursor: crosshair;
  pointer-events: none;
}
.hs-world.is-placing .hs-place-hit,
.hs-viewport.is-placing .hs-place-hit,
.hs-world.is-moving .hs-place-hit,
.hs-viewport.is-moving .hs-place-hit {
  /* Über allen Pieces — Hit nur auf Plot-Hintergrund */
  z-index: 40;
  pointer-events: auto;
  cursor: crosshair;
}
.hs-world.is-placing .hs-furn,
.hs-world.is-moving .hs-furn:not(.is-moving) {
  pointer-events: none !important;
}
.hs-furn {
  position: absolute;
  z-index: 5;
  border: 1px solid transparent;
  background: transparent;
  padding: 0;
  cursor: grab;
  overflow: hidden;
  transform: scaleX(var(--hs-mirror, 1));
  transform-origin: center center;
  box-sizing: border-box;
  touch-action: none;
}
.hs-furn.is-build { z-index: 3; }
.hs-furn.is-build.is-bt-floor { z-index: 2; }
.hs-furn.is-build.is-bt-wall,
.hs-furn.is-build.is-bt-door,
.hs-furn.is-build.is-bt-window,
.hs-furn.is-build.is-wall { z-index: 5; }
.hs-furn.is-floor { z-index: 4; }
.hs-furn.is-wall:not(.is-build) { z-index: 6; }
.hs-furn.is-build.is-floor { z-index: 2; }
.hs-furn.is-selected {
  border-color: rgba(212, 175, 55, 0.85);
  box-shadow: 0 0 0 1px rgba(212, 175, 55, 0.28);
  z-index: 7;
}
.hs-furn.is-moving {
  border-color: rgba(94, 196, 255, 0.95);
  box-shadow: 0 0 0 2px rgba(94, 196, 255, 0.4);
  z-index: 8;
  opacity: 0.92;
  cursor: grabbing;
}
.hs-furn img {
  position: absolute;
  inset: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: contain !important;
  object-position: center bottom;
  pointer-events: none;
  background: transparent;
}
.hs-furn.is-build img {
  position: absolute;
  inset: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: fill !important;
  object-position: center center;
  image-rendering: auto;
}
.hs-ghost-place.is-build img,
.hs-world.is-build-snap .hs-ghost-place img {
  object-fit: fill !important;
  object-position: center center;
}
.hs-stroke-ghost {
  position: absolute;
  inset: 0;
  z-index: 21;
  pointer-events: none;
  overflow: hidden;
}
.hs-stroke-ghost[hidden] { display: none !important; }
.hs-stroke-cell {
  position: absolute;
  box-sizing: border-box;
  border: 1px solid rgba(232, 197, 71, 0.85);
  background: rgba(212, 175, 55, 0.22);
  border-radius: 2px;
}
.hs-furn.is-build.is-bt-floor {
  /* seamless abut — bleed kills subpixel gaps between floor tiles */
  outline: none !important;
  border-color: transparent !important;
  filter: none;
  overflow: hidden;
  z-index: 2;
}
.hs-furn.is-build.is-bt-floor img {
  object-fit: fill !important;
}
.hs-furn.is-build.is-bt-wall,
.hs-furn.is-build.is-bt-door,
.hs-furn.is-build.is-bt-window,
.hs-furn.is-standing-wall,
.hs-ghost-place.is-standing-wall {
  /* Stehende Cutaway-Wand über dem Boden */
  overflow: visible;
  filter: drop-shadow(0 5px 8px rgba(0, 0, 0, 0.48));
  z-index: 5;
}
.hs-furn.is-build.is-bt-door,
.hs-furn.is-build.is-bt-window {
  z-index: 6;
}
.hs-slot-tag.is-wall { color: rgba(140, 190, 255, 0.95); }
.hs-slot-tag.is-floor { color: rgba(200, 190, 150, 0.85); }
.hs-rot-readout {
  min-width: 2.4em;
  text-align: center;
}
/* Fallback wenn Int-Asset fehlt — dunkler Cutaway-Rand */
.hs-plot--empty .hs-plot-ghost,
.hs-plot-ghost {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #f0e6c8;
  font-size: 1.2rem;
  text-shadow: 0 2px 8px rgba(0,0,0,.5);
}
.hs-plot--empty-bg {
  background: #1a1410;
}
.hs-furn-emoji {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  font-size: 1.4rem;
}
.hs-slot-tag {
  display: block;
  font-size: 0.62rem;
  opacity: 0.75;
}
.hs-cam-hud {
  position: absolute;
  right: 10px;
  bottom: 10px;
  display: flex;
  gap: 6px;
  z-index: 14;
}
.hs-hint {
  position: absolute;
  left: 12px;
  bottom: 12px;
  margin: 0;
  z-index: 14;
  color: rgba(240, 230, 200, 0.75);
  text-shadow: 0 1px 4px rgba(0,0,0,.5);
  max-width: 45%;
  pointer-events: none;
}
.hs-status {
  min-height: 1.2em;
  margin: 0;
  color: #d9c89a;
}
.hs-status.is-err { color: #e08a7a; }
.hs-status.is-ok { color: #9dce9a; }
.hs-place-tools,
.hs-selected-tools {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid rgba(180, 160, 100, 0.2);
}
@media (max-width: 900px) {
  .hs-body {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(160px, 34%) 1fr;
  }
  .hs-side { max-height: 34vh; }
  .hs-wallet { max-width: 100%; }
  .hs-topbar { flex-wrap: wrap; }
  .hs-hint { max-width: 40%; font-size: 0.65rem; }
}

/* ═══ Shop/Markt/Gem — HARD Vollbild (kein 16:9-Letterbox) ═══ */
html body.rpg-shop-fs .zelda-scene,
html body.rpg-market-fs .zelda-scene,
html body.rpg-gemshop-fs .zelda-scene,
html body.rpg-shop-fs .shop-workshop--zelda .zelda-scene,
html body.rpg-market-fs .market-workshop--zelda .zelda-scene,
html body.rpg-gemshop-fs .gemshop-shell--zelda .zelda-scene,
html.flix-rpg-pc-scale body.rpg-shop-fs .zelda-scene,
html.flix-rpg-pc-scale body.rpg-market-fs .zelda-scene,
html.flix-rpg-pc-scale body.rpg-gemshop-fs .zelda-scene,
html[data-desktop-web="1"] body.rpg-shop-fs .zelda-scene,
html[data-desktop-web="1"] body.rpg-market-fs .zelda-scene,
html[data-desktop-web="1"] body.rpg-gemshop-fs .zelda-scene{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  display:block!important;place-items:unset!important;
  overflow:hidden!important;margin:0!important;transform:none!important;
  background:#0a0806!important;
}
html body.rpg-shop-fs .zelda-stage,
html body.rpg-market-fs .zelda-stage,
html body.rpg-gemshop-fs .zelda-stage,
html body.rpg-shop-fs .shop-workshop--zelda .zelda-stage,
html body.rpg-market-fs .market-workshop--zelda .zelda-stage,
html body.rpg-gemshop-fs .gemshop-shell--zelda .zelda-stage,
html.flix-rpg-pc-scale body.rpg-shop-fs .zelda-stage,
html.flix-rpg-pc-scale body.rpg-market-fs .zelda-stage,
html.flix-rpg-pc-scale body.rpg-gemshop-fs .zelda-stage,
html.flix-rpg-pc-scale .shop-workshop--zelda .zelda-stage,
html.flix-rpg-pc-scale .market-workshop--zelda .zelda-stage,
html.flix-rpg-pc-scale .gemshop-shell--zelda .zelda-stage,
html[data-desktop-web="1"] body.rpg-shop-fs .zelda-stage,
html[data-desktop-web="1"] body.rpg-market-fs .zelda-stage,
html[data-desktop-web="1"] body.rpg-gemshop-fs .zelda-stage,
html[data-desktop-web="1"] .shop-workshop--zelda .zelda-stage,
html[data-desktop-web="1"] .market-workshop--zelda .zelda-stage,
html[data-desktop-web="1"] .gemshop-shell--zelda .zelda-stage{
  position:absolute!important;inset:0!important;
  left:0!important;right:0!important;top:0!important;bottom:0!important;
  width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  min-width:0!important;min-height:0!important;
  aspect-ratio:auto!important;margin:0!important;
  transform:none!important;flex:none!important;
  overflow:hidden!important;
}
html body.rpg-shop-fs .zelda-scene-bg,
html body.rpg-market-fs .zelda-scene-bg,
html body.rpg-gemshop-fs .zelda-scene-bg,
html.flix-rpg-pc-scale body.rpg-shop-fs .zelda-scene-bg,
html.flix-rpg-pc-scale body.rpg-market-fs .zelda-scene-bg,
html.flix-rpg-pc-scale body.rpg-gemshop-fs .zelda-scene-bg{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  object-fit:fill!important;object-position:center center!important;
}
