/* Disco Friendszone v4.1.6
   Wartungs-Refactor: alte Regeln bleiben als Legacy erhalten, klare Module überschreiben nur Layout/Theme/Chat gezielt. */
@import url('legacy/discochat_legacy_v4.1.5.css');
@import url('modules/layout_v416.css');
@import url('modules/theme_v416.css');
@import url('modules/components_v416.css');
@import url('modules/chat_v416.css?v=20260815-chatfooter-cachefix-1');

/* v4.1.7: Team-Beschwerden außerhalb vom Systemadmin */
.dc-alert-card{border-color:rgba(255,70,150,.45)!important;box-shadow:0 0 0 1px rgba(255,70,150,.18),0 18px 55px rgba(180,35,105,.25)!important}
.complaint-card.is-escalated{border:1px solid rgba(255,64,128,.45);background:linear-gradient(135deg,rgba(70,15,55,.82),rgba(30,18,55,.82))}
.dc-badge{display:inline-flex;align-items:center;gap:.35rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:.35rem .7rem;background:rgba(255,255,255,.11);font-weight:700}
.dc-text-link{color:#67f5ff;text-decoration:underline;text-underline-offset:3px;font-weight:800;word-break:break-word}

/* v4.1.8: TikTok-Support-Vorschaukarten und Beschwerde-Fixes */
.support-video-card{
  display:flex;align-items:center;gap:12px;margin:12px 0;padding:10px;border-radius:18px;
  background:linear-gradient(135deg,rgba(20,14,38,.82),rgba(56,18,62,.62));
  border:1px solid rgba(139,233,255,.30);color:#fff;text-decoration:none;box-shadow:0 12px 34px rgba(0,0,0,.22);
}
.support-video-card:hover,.support-video-card:focus{border-color:rgba(255,76,220,.65);transform:translateY(-1px)}
.support-video-thumb{width:78px;height:78px;min-width:78px;border-radius:16px;overflow:hidden;display:grid;place-items:center;background:rgba(255,255,255,.10);font-size:34px;color:#8be9ff}
.support-video-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.support-video-meta{min-width:0;display:grid;gap:4px}
.support-video-meta b{font-size:15px;line-height:1.2;color:#fff;word-break:break-word}
.support-video-meta small{color:#8be9ff;word-break:break-all;line-height:1.25}
.support-video-link.dc-primary{display:inline-flex;width:auto;margin:6px 0 12px}
@media(max-width:560px){.support-video-thumb{width:64px;height:64px;min-width:64px}.support-video-card{gap:10px;padding:9px}}

/* v4.1.11 Dashboard + Navigation Compact Glamour Update
   Ziel: weniger Scrollen, klare Prioritäten, edlerer Disco-Look, keine Funktionsänderungen. */
:root{
  --dfz-bg-a:#12051f;
  --dfz-bg-b:#25114a;
  --dfz-panel:rgba(32,14,58,.72);
  --dfz-panel-strong:rgba(43,18,78,.82);
  --dfz-text:#fff7ff;
  --dfz-muted:#d9c8ef;
  --dfz-cyan:#54e6ff;
  --dfz-pink:#ff5cdf;
  --dfz-gold:#ffd76b;
}
body:not(.dc-chat-page){
  color:var(--dfz-text);
  background:
    radial-gradient(circle at 12% 4%, rgba(255,92,223,.28), transparent 32%),
    radial-gradient(circle at 84% 0%, rgba(84,230,255,.22), transparent 28%),
    linear-gradient(160deg,var(--dfz-bg-a),var(--dfz-bg-b) 52%,#10031d);
}
.dc-bg span{opacity:.42;filter:blur(18px);}
.dc-glass{
  background:linear-gradient(145deg,rgba(38,16,70,.78),rgba(17,8,34,.68));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 16px 42px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.10);
}
.dc-glass::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,rgba(255,255,255,.10),transparent 32%,rgba(84,230,255,.05) 65%,transparent);opacity:.65}
.dashboard-compact-v4111{max-width:780px;padding-top:16px;}
.compact-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-radius:24px;margin-bottom:12px;position:relative;overflow:hidden;}
.compact-hero h1{font-size:clamp(22px,7vw,34px);line-height:1.04;margin:.25rem 0 .35rem;color:#fff;text-shadow:0 0 22px rgba(255,92,223,.20)}
.compact-hero p{margin:0;color:var(--dfz-muted);font-size:13px}
.dc-logo{color:#fff;font-weight:900;letter-spacing:.2px}.compact-logout{white-space:nowrap;padding:10px 14px!important}
.dashboard-top-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 12px}
.quick-tile{position:relative;overflow:hidden;min-height:86px;border-radius:22px;text-decoration:none;color:var(--dfz-text);padding:14px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon num" "label label";align-items:center;column-gap:10px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.quick-tile span{grid-area:icon;font-size:25px;filter:drop-shadow(0 0 10px rgba(255,255,255,.22))}.quick-tile b{grid-area:num;font-size:24px;color:var(--dfz-cyan);text-align:right}.quick-tile small{grid-area:label;color:var(--dfz-muted);font-weight:800;margin-top:6px}.quick-tile:nth-child(2) b{color:var(--dfz-gold)}.quick-tile:hover,.quick-tile:focus{transform:translateY(-2px);border-color:rgba(84,230,255,.38)}.quick-tile.disabled{opacity:.48;filter:saturate(.6);pointer-events:none}
.dashboard-info-grid,.dashboard-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.info-card,.role-card,.access-strip{position:relative;border-radius:22px;padding:13px;min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:10px}.info-card h2,.role-card h2{font-size:15px;margin:0 0 4px;color:#fff}.info-card p,.role-card p{margin:0;color:var(--dfz-muted);font-size:13px;line-height:1.35}.info-card.attention{border-color:rgba(255,215,107,.38);box-shadow:0 14px 40px rgba(255,190,75,.12),inset 0 1px 0 rgba(255,255,255,.10)}.mini-action{display:inline-flex;align-items:center;justify-content:center;min-width:76px;padding:9px 11px;border-radius:999px;text-decoration:none;color:#12051f!important;font-size:12px;font-weight:900;background:linear-gradient(135deg,var(--dfz-pink),var(--dfz-cyan));box-shadow:0 10px 24px rgba(84,230,255,.18)}.mini-action.danger{background:linear-gradient(135deg,#ff3b74,#ff9a50);color:#fff!important}.compact-progress{height:7px;margin-top:7px;background:rgba(255,255,255,.10)}.compact-progress span{background:linear-gradient(90deg,var(--dfz-pink),var(--dfz-cyan))}.access-strip{margin:10px 0 4px;min-height:auto}.access-strip span{color:var(--dfz-muted)}.access-strip b{color:#fff}.access-strip small{color:var(--dfz-cyan);font-weight:800}.compact-system{border-color:rgba(255,75,105,.36)!important}
.dfz-bottom-v4111{backdrop-filter:blur(18px);background:rgba(19,8,35,.72);border-top:1px solid rgba(255,255,255,.14)}.dfz-bottom-v4111 nav a{min-width:74px}.dfz-bottom-v4111 nav a em{font-style:normal;font-size:11px}.dfz-bottom-v4111 nav a span{font-size:18px}.dc-burger-panel{background:linear-gradient(160deg,rgba(34,13,62,.96),rgba(13,6,26,.96));border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 70px rgba(0,0,0,.45)}.dc-burger-panel .burger-title{display:block;padding:8px 12px 6px;color:var(--dfz-cyan);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.dc-burger-panel a{font-weight:800}
a,.dc-linkified,.dc-text-link{color:var(--dfz-cyan);text-decoration-thickness:2px;text-underline-offset:3px}.dc-primary,.linkbtn{box-shadow:0 12px 26px rgba(84,230,255,.22)!important}
@media(max-width:560px){.dashboard-compact-v4111{padding-left:10px;padding-right:10px}.compact-hero{padding:14px}.compact-logout{font-size:12px;padding:9px 11px!important}.quick-tile{min-height:78px;padding:12px}.quick-tile b{font-size:22px}.dashboard-info-grid,.dashboard-role-grid{grid-template-columns:1fr}.info-card,.role-card{min-height:66px}.dashboard-role-grid .role-card p{font-size:12.5px}.dfz-bottom-v4111 nav a{min-width:66px}.dfz-bottom-v4111 nav a em{display:none}.dfz-bottom-v4111 nav a span{font-size:20px}}
@media(min-width:720px){.dashboard-info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v4.2.0 Geburtstage & Systemadmin-Benutzereditor */
.birthday-missing-card,.birthday-team-card{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:14px 0;padding:16px 18px}
.birthday-inline-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.birthday-inline-form input{min-width:160px}
.birthday-list{display:grid;gap:12px}.birthday-list.compact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.birthday-card{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px 14px;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(135deg,rgba(255,62,190,.18),rgba(0,229,255,.10));box-shadow:0 12px 34px rgba(0,0,0,.18)}
.birthday-card.done{background:linear-gradient(135deg,rgba(220,220,230,.14),rgba(30,35,48,.38));color:rgba(255,255,255,.72)}
.avatar.mini{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:rgba(255,255,255,.14);flex:0 0 46px}.avatar.mini img{width:100%;height:100%;object-fit:cover}.inline-actions{margin:0}.mutedbtn{opacity:.72;filter:grayscale(1)}
#copyAccess{width:100%;border-radius:16px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.24);color:#fff;padding:12px;resize:vertical}
@media(max-width:640px){.birthday-card{align-items:flex-start}.birthday-card .inline-actions{width:100%}.birthday-card .inline-actions button{width:100%}}


/* v4.2.1: UX-Zeit/Support/Chat-Vorschau */
.module-tabs,
.support-tabs{
  position:sticky; top:0; z-index:20;
  display:flex; gap:8px; overflow-x:auto; overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch; padding:10px;
  border-radius:22px; scroll-snap-type:x proximity;
}
.module-tabs::before,.module-tabs::after,
.support-tabs::before,.support-tabs::after{content:"";position:sticky;top:0;width:18px;min-width:18px;z-index:2;pointer-events:none}
.module-tabs::before,.support-tabs::before{left:0;background:linear-gradient(90deg,rgba(18,5,31,.85),transparent)}
.module-tabs::after,.support-tabs::after{right:0;background:linear-gradient(270deg,rgba(18,5,31,.85),transparent)}
.module-tabs a,.module-tabs span,
.support-tabs a,.support-tabs span{
  flex:0 0 auto; scroll-snap-align:start; white-space:nowrap;
  border-radius:999px; padding:10px 14px; font-weight:800;
}
.module-tabs .active,.support-tabs .active{box-shadow:0 0 0 1px rgba(84,230,255,.38),0 0 26px rgba(255,92,223,.20)}
.module-tabs .disabled,.support-tabs .disabled{opacity:.48;filter:grayscale(.4)}

.dc-file-preview{
  grid-column:1/-1; position:relative; display:flex; align-items:center; gap:10px;
  padding:10px 42px 10px 10px; border-radius:18px;
  background:linear-gradient(135deg,rgba(20,10,38,.92),rgba(54,18,66,.82));
  border:1px solid rgba(84,230,255,.34); box-shadow:0 10px 28px rgba(0,0,0,.28);
}
.dc-file-preview[hidden]{display:none!important}
.dc-file-preview img{width:72px;height:72px;object-fit:cover;border-radius:14px;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.dc-file-preview.is-pdf::before{content:"📎";font-size:32px;width:72px;height:72px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.12)}
.dc-file-preview span{font-size:13px;color:#f7ecff;word-break:break-word}
#dcFileRemove{
  position:absolute;right:8px;top:8px;width:30px;height:30px;border:0;border-radius:999px;
  background:rgba(0,0,0,.55);color:#fff;font-size:22px;line-height:1;display:grid;place-items:center;
}
.dc-composer{grid-template-columns:42px 42px 42px minmax(0,1fr) auto!important}

.support-give-only{
  max-width:620px;margin-left:auto;margin-right:auto;text-align:center;
}
.support-give-only .support-person{
  justify-content:center; pointer-events:none;
}
.support-give-only .support-video-card{text-align:left}
.support-confirm{
  display:grid;gap:10px;text-align:left;margin-top:12px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:12px;
}
.support-confirm label{display:flex;align-items:center;gap:10px;padding:8px 4px}
.support-case-status{display:inline-flex;align-items:center;width:max-content;max-width:100%;border-radius:999px;padding:7px 11px;font-weight:900;font-size:13px;margin:8px 0}
.support-case-status.status-ok{background:rgba(58,255,148,.14);border:1px solid rgba(58,255,148,.32);color:#bfffd9}
.support-case-status.status-warn{background:rgba(255,214,107,.16);border:1px solid rgba(255,214,107,.42);color:#ffe8a4}
.support-case-status.status-done{background:rgba(84,230,255,.14);border:1px solid rgba(84,230,255,.34);color:#c6f7ff}
.support-case-status.status-closed{background:rgba(190,190,205,.12);border:1px solid rgba(190,190,205,.25);color:#d6d1df}
.campaign-detail-card .support-video-card{margin-top:10px}
.campaign-pager{justify-content:space-between}
.module-breadcrumb{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;color:var(--dfz-muted)}
.module-breadcrumb a{color:var(--dfz-cyan);font-weight:900;text-decoration:none}
.muted{color:var(--dfz-muted)}

@media(max-width:520px){
  .dc-composer{grid-template-columns:40px 40px 40px minmax(0,1fr) 62px!important;gap:6px!important}
  .dc-send{padding-inline:10px!important}
  .dc-file-preview img,.dc-file-preview.is-pdf::before{width:58px;height:58px}
}

/* v4.3.0 Teamaufgaben, Chefsessel, Mitgliederverwaltung, Hilfe-Center */
.dashboard-task-line{padding:12px 14px;margin:12px 0;display:flex;gap:10px;align-items:center;overflow:hidden;border-color:rgba(255,255,255,.22)}
.dashboard-task-line>b{white-space:nowrap;color:#fff}.task-line-scroll{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;padding:2px 2px 4px;flex:1}.task-line-scroll a{display:flex;gap:8px;align-items:center;min-width:max-content;padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);text-decoration:none;color:#fff}.task-line-scroll span{font-weight:800}.task-line-scroll em{font-style:normal;color:#ffd6f7;font-size:.82rem}.project-overlay-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.compact-project-list{gap:8px}.project-line-item{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:13px 14px;text-decoration:none;color:#fff;border-radius:18px}.project-line-item strong{grid-column:1/-1}.project-line-item span{opacity:.82}.project-line-item em{font-style:normal;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.12)}.project-line-item.open{border-left:4px solid #ff5ad6}.project-line-item.done{opacity:.76}.compact-ok{padding:8px 10px;border-radius:12px}
.chefsessel-chat-page .dc-chat{border-color:rgba(255,215,112,.5);box-shadow:0 0 0 1px rgba(255,215,112,.18),0 25px 80px rgba(100,50,0,.25)}.chefsessel-chat-page .dc-chat-head{background:linear-gradient(135deg,rgba(38,22,4,.72),rgba(80,34,96,.64));border-bottom-color:rgba(255,215,112,.35)}.chefsessel-chat-page .dc-chat-head h1::before{content:'🛋️ ';}.chefsessel-chat-page .dc-bubble{border-color:rgba(255,215,112,.16)}
.member-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.member-mini-card{padding:12px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);text-decoration:none;color:#fff;display:flex;flex-direction:column;gap:4px}.member-mini-card span{opacity:.8;font-size:.9rem}.member-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.compact-list{display:grid;gap:8px}.compact-list a,.compact-list>div{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.08);text-decoration:none;color:#fff}.compact-list span{opacity:.78;font-size:.9rem}.mail-modal.open{display:flex}.danger{border-color:rgba(255,80,110,.5)!important;color:#ffd5df!important}
.help-layout{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:12px}.help-page-list{padding:14px;display:grid;gap:8px;align-self:start}.help-page-list a{padding:10px 12px;border-radius:14px;text-decoration:none;color:#fff;background:rgba(255,255,255,.08)}.help-page-list a.active{background:linear-gradient(135deg,rgba(255,90,214,.35),rgba(88,220,255,.25));box-shadow:0 0 18px rgba(255,90,214,.12)}.help-content{min-height:260px}.help-text{line-height:1.6;font-size:1rem}.help-tabs{position:relative}.help-tabs:after{content:'›';position:sticky;right:0;align-self:center;opacity:.8;padding:0 6px;color:#fff}
@media(max-width:760px){.dashboard-task-line{align-items:flex-start;flex-direction:column}.task-line-scroll{width:100%}.help-layout{grid-template-columns:1fr}.compact-list a,.compact-list>div{align-items:flex-start;flex-direction:column}.project-line-item{grid-template-columns:1fr}.member-detail-head{display:block}.member-detail-head .dc-primary{display:inline-flex;margin-top:10px}}


/* v4.3.1 TeamChef-Mitgliederverwaltung: sichere Overlays und Unterseiten */
.mail-modal{display:none;position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center;padding:18px;background:rgba(7,3,18,.62);backdrop-filter:blur(14px);}
.mail-modal.open{display:flex!important;}
.mail-modal-backdrop{position:absolute;inset:0;}
.mail-modal-box{position:relative;z-index:2;width:min(620px,calc(100vw - 28px));max-height:calc(100dvh - 42px);overflow:auto;border-radius:26px;padding:18px;background:linear-gradient(145deg,rgba(31,18,55,.96),rgba(12,10,28,.96));border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 80px rgba(0,0,0,.45);color:#fff;}
.mail-close{position:absolute;right:12px;top:10px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.12);color:#fff;font-size:24px;line-height:1;cursor:pointer;}
body.modal-open{overflow:hidden;}
.member-admin-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px;}
.team-subnav{position:relative;overflow-x:auto;scrollbar-width:thin;white-space:nowrap;padding-bottom:6px;}
.team-subnav button{white-space:nowrap;}
.project-form input,.project-form select,.inline-team-form input{min-height:42px;}
@media(max-width:640px){.member-detail-head{display:grid;}.member-admin-actions .dc-primary,.member-admin-actions .dc-secondary,.support-actions .dc-primary,.support-actions .dc-secondary{width:100%;justify-content:center}.mail-modal{padding:10px}.mail-modal-box{max-height:calc(100dvh - 20px)}}

/* v4.3.2 Kommunikations-Update */
.dc-bottom-nav a{position:relative}
.nav-badge{position:absolute;top:3px;right:7px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e51d4f;color:#fff;font-size:11px;line-height:18px;text-align:center;box-shadow:0 0 0 2px rgba(20,6,28,.8),0 0 16px rgba(229,29,79,.65);font-weight:800}
.tiktok-avatar-btn{margin-top:8px;width:100%;justify-content:center;text-align:center}
.profile-contact{margin-top:18px;display:flex;justify-content:center}.profile-contact .dc-primary{display:inline-flex;text-decoration:none}
.mail-modal{position:fixed;inset:0;z-index:2000;background:rgba(8,3,18,.72);backdrop-filter:blur(10px);display:grid;place-items:center;padding:18px;overflow:auto}
.mail-modal-box{width:min(680px,100%);max-height:92vh;overflow:auto}

/* v4.4.0 PWA/App-Design Verwaltung */
.pwa-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.pwa-admin-card a{color:#67e8f9;font-weight:800}.pwa-preview{margin:14px 0;display:flex;gap:12px;align-items:center}.pwa-preview img{width:96px;height:96px;border-radius:24px;box-shadow:0 14px 46px rgba(0,0,0,.35),0 0 24px rgba(255,54,210,.32)}.pwa-wide-preview img{width:100%;max-width:420px;border-radius:18px;border:1px solid rgba(255,255,255,.18);box-shadow:0 14px 46px rgba(0,0,0,.35)}.pwa-grid input[type=file]{display:block;width:100%;padding:12px;border:1px dashed rgba(255,255,255,.32);border-radius:16px;background:rgba(255,255,255,.07);color:#fff;margin:10px 0 14px}@media(max-width:760px){.pwa-grid{grid-template-columns:1fr}}
.dfz-install-hint{position:fixed;left:14px;right:14px;bottom:74px;z-index:50;max-width:560px;margin:auto;padding:12px 14px;border-radius:18px;background:linear-gradient(135deg,rgba(30,12,52,.96),rgba(41,14,72,.92));border:1px solid rgba(255,255,255,.18);box-shadow:0 12px 42px rgba(0,0,0,.38);color:#fff;display:flex;gap:10px;align-items:center}.dfz-install-hint button{margin-left:auto;border:0;border-radius:999px;padding:8px 10px;background:rgba(255,255,255,.14);color:#fff;font-weight:800}


/* v4.4.2 PWA Install-Hinweis */
.dfz-install-hint{position:fixed;left:14px;right:14px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:70;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;border-radius:20px;background:linear-gradient(135deg,rgba(34,15,58,.94),rgba(13,52,70,.92));border:1px solid rgba(255,255,255,.22);box-shadow:0 18px 60px rgba(0,0,0,.42);backdrop-filter:blur(18px)}
.dfz-install-hint[hidden]{display:none!important}.dfz-install-hint span{flex:1 1 180px;font-weight:800}.dfz-install-hint button{min-height:40px;padding:9px 13px}.dfz-install-hint small{flex:1 0 100%;color:#f5eaff;opacity:.9;line-height:1.35}
@media(min-width:760px){.dfz-install-hint{left:auto;right:22px;bottom:22px;max-width:520px}}

/* v4.4.5 Hotfix: Rollen-Overlay zuverlässig schließbar */
.mail-modal{display:none;position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center;padding:18px;}
.mail-modal.open{display:flex;}
.mail-modal-backdrop{position:absolute;inset:0;background:rgba(4,1,10,.72);backdrop-filter:blur(8px);}
.mail-modal-box{position:relative;z-index:1;max-width:720px;width:min(720px,96vw);max-height:86vh;overflow:auto;border-radius:24px;padding:22px;background:linear-gradient(135deg,rgba(31,11,54,.96),rgba(13,18,45,.94));box-shadow:0 30px 100px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.18);}
.mail-close{position:absolute;right:12px;top:10px;border:0;border-radius:999px;width:38px;height:38px;background:rgba(255,255,255,.14);color:#fff;font-size:24px;}
body.modal-open{overflow:hidden;}

/* v4.5.7 Profilbild-Cropper-Hotfix
   Der Zuschneide-Dialog darf nie in verschachtelten Assistenten-/Modal-Containern abgeschnitten werden.
   Er liegt optisch immer als eigenes Vollbild-Overlay über der kompletten App. */
.avatar-crop-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:grid!important;
  place-items:center!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  padding:calc(14px + env(safe-area-inset-top)) 14px calc(14px + env(safe-area-inset-bottom))!important;
  background:rgba(6,1,16,.88)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  touch-action:none!important;
  box-sizing:border-box!important;
}
.avatar-crop-overlay[hidden]{display:none!important;}
.avatar-crop-box{
  width:min(440px,calc(100vw - 28px))!important;
  max-height:calc(100dvh - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
  overflow:auto!important;
  border-radius:28px!important;
  padding:18px!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
.avatar-crop-box h2{margin-top:0!important;font-size:clamp(24px,7vw,38px)!important;line-height:1.08!important;}
.avatar-crop-box canvas{
  display:block!important;
  width:min(320px,calc(100vw - 60px))!important;
  height:min(320px,calc(100vw - 60px))!important;
  max-width:100%!important;
  max-height:min(56dvh,320px)!important;
  margin:10px auto!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.08)!important;
  touch-action:none!important;
  user-select:none!important;
}
.avatar-crop-box label{display:block!important;text-align:left!important;margin-top:10px!important;}
.avatar-crop-box input[type=range]{width:100%!important;}
.crop-actions{display:flex!important;gap:10px!important;justify-content:flex-end!important;flex-wrap:wrap!important;margin-top:14px!important;}
html.crop-lock,body.crop-lock{overflow:hidden!important;touch-action:none!important;}
body.crop-lock{position:relative!important;width:auto!important;}
@media(max-width:520px){
  .avatar-crop-overlay{align-items:start!important;padding-top:calc(10px + env(safe-area-inset-top))!important;}
  .avatar-crop-box{width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;padding:14px!important;border-radius:24px!important;}
  .crop-actions{display:grid!important;grid-template-columns:1fr!important;}
  .crop-actions button{width:100%!important;}
}
/* v4.8.0 Tagesminispiele */
.daily-game-shell{position:fixed;inset:0;z-index:10050;background:#10051d}.daily-game-shell iframe{border:0;width:100%;height:100%;display:block}.daily-game-page{min-height:100dvh;overflow:auto;background:radial-gradient(circle at 20% 10%,#5c176e 0,transparent 34%),radial-gradient(circle at 85% 20%,#063f67 0,transparent 32%),linear-gradient(160deg,#10051d,#181046 58%,#071c32);color:#fff}.daily-game-main{min-height:100dvh;display:grid;place-items:center;padding:18px}.daily-game-card{width:min(620px,100%);padding:24px;text-align:center;position:relative;overflow:hidden}.game-kicker{font-weight:800;color:#79efff}.streak-jackpot{margin:12px 0;padding:12px;border-radius:18px;background:linear-gradient(135deg,rgba(255,62,180,.28),rgba(255,196,61,.22));border:1px solid rgba(255,225,140,.55)}.daily-wheel-stage{position:relative;width:min(74vw,330px);aspect-ratio:1;margin:24px auto}.daily-wheel{width:100%;height:100%;border-radius:50%;position:relative;background:conic-gradient(#ff4db8 0 60deg,#6457ff 60deg 120deg,#19cfe8 120deg 180deg,#ffbc3c 180deg 240deg,#ff5b6e 240deg 300deg,#8b46e8 300deg);border:10px solid rgba(255,255,255,.88);box-shadow:0 0 34px rgba(255,67,191,.55),inset 0 0 24px rgba(0,0,0,.35);transition:transform 3.2s cubic-bezier(.12,.7,.12,1)}.daily-wheel.spinning{transform:rotate(2520deg)}.daily-wheel-label{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%) rotate(var(--a)) translateY(calc(-1 * min(31vw,136px))) rotate(90deg);transform-origin:center;font-weight:1000;font-size:clamp(15px,4.3vw,21px);line-height:1;white-space:nowrap;color:#18091f;text-shadow:0 1px 0 rgba(255,255,255,.35);padding:7px 9px;border-radius:12px;background:rgba(255,255,255,.72);box-shadow:0 4px 12px rgba(0,0,0,.18)}.daily-wheel-pointer{position:absolute;z-index:3;left:50%;top:-7px;transform:translateX(-50%);width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-top:36px solid #fff;filter:drop-shadow(0 3px 5px #000)}.daily-spin{font-size:1.08rem;padding:14px 24px}.daily-game-prize{margin:22px auto;padding:24px;border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,65,190,.16));display:grid}.daily-game-prize b{font-size:clamp(3rem,16vw,6rem);line-height:1}.daily-game-prize span{font-weight:800}.game-win-burst{font-size:5rem;animation:gamePop .7s ease}.game-admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:12px;border-bottom:1px solid rgba(255,255,255,.13)}.game-admin-row small{display:block;opacity:.75;margin-top:4px}@keyframes gamePop{0%{transform:scale(.2) rotate(-20deg)}70%{transform:scale(1.2)}100%{transform:scale(1)}}@media(max-width:620px){.game-admin-row{grid-template-columns:1fr 1fr}.game-admin-row>div{grid-column:1/-1}.daily-game-card{padding:18px}}

.game-test-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.game-test-actions .linkbtn{white-space:nowrap}@media(max-width:620px){.game-test-actions{grid-column:1/-1;justify-content:stretch}.game-test-actions .linkbtn{flex:1;text-align:center}}


.support-check-row{display:flex!important;align-items:flex-start!important;gap:10px!important;width:100%!important}
.support-check-row input{flex:0 0 auto!important;margin-top:2px!important}
.support-check-row span{display:block!important;flex:1 1 auto!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}


/* Hotfix support checkboxes */
.support-check-row{display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;align-items:start!important;gap:10px!important;width:100%!important;}
.support-check-row input[type=checkbox]{width:22px!important;min-width:22px!important;height:22px!important;flex:0 0 22px!important;margin:2px 0 0!important;padding:0!important;}
.support-check-row span{display:block!important;min-width:0!important;white-space:normal!important;overflow-wrap:break-word!important;word-break:normal!important;}
.support-confirm input[type=checkbox]{width:22px!important;min-width:22px!important;height:22px!important;}

/* Chatspiele – mobile first */
.cg-overlay{position:fixed;inset:0;z-index:12000;background:rgba(4,6,16,.82);display:grid;place-items:center;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.cg-overlay[hidden]{display:none}.cg-modal{position:relative;width:min(94vw,520px);max-height:88dvh;overflow:auto;padding:20px;border-radius:22px}.cg-close{position:absolute;right:10px;top:10px;width:42px!important;height:42px;border-radius:50%;font-size:25px}.cg-picker{display:grid;gap:12px}.cg-picker button{min-height:72px;text-align:left;padding:14px;border-radius:16px}.cg-picker small{display:block;margin-top:5px}.cg-invite .dc-body{display:grid;gap:9px}.cg-countdown{font-weight:800}.cg-versus,.cg-ready{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap;margin:12px 0}.cg-versus span,.cg-ready span{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.1)}.cg-status{text-align:center;margin-bottom:10px}.cg-status span{display:block}.cg-ttt{width:min(78vw,330px);aspect-ratio:1;margin:12px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.cg-ttt button{min-width:0!important;width:100%!important;height:100%;font-size:clamp(34px,12vw,64px);border-radius:14px}.cg-c4{width:min(88vw,420px);margin:10px auto;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:8px;border-radius:16px;background:rgba(255,255,255,.1)}.cg-c4 .cg-drop{min-width:0!important;width:100%!important;padding:7px 0;font-size:16px}.cg-c4 span{display:block;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.2)}.cg-c4 .p1{background:#ff3b7a}.cg-c4 .p2{background:#ffd43b}@media(max-width:380px){.cg-modal{padding:16px 12px}.cg-c4{gap:3px;padding:6px}.cg-ttt{width:min(82vw,300px)}}

/* Chatspiele v5.0.2 – stabiles, mobiles Game-UI */
.cg-modal{background:radial-gradient(circle at 10% 0%,rgba(255,55,177,.24),transparent 38%),radial-gradient(circle at 100% 15%,rgba(50,218,255,.22),transparent 36%),linear-gradient(155deg,rgba(24,10,49,.98),rgba(7,24,48,.98));border:1px solid rgba(255,255,255,.18);box-shadow:0 28px 90px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.12)}
.cg-content h2,.cg-content h3{margin:0}.cg-hero{display:flex;align-items:center;gap:14px;margin:0 44px 18px 0}.cg-hero-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:20px;font-size:30px;background:linear-gradient(135deg,#ff3f9f,#7258ff 55%,#21d5ff);box-shadow:0 12px 30px rgba(255,60,172,.3)}.cg-hero p{margin:4px 0 0;opacity:.78}.cg-loading{padding:22px;text-align:center;opacity:.8}
.cg-picker{gap:14px}.cg-game-card{display:grid!important;grid-template-columns:58px minmax(0,1fr) 24px;align-items:center;gap:13px;width:100%!important;padding:14px!important;color:#fff;background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.06))!important;border:1px solid rgba(255,255,255,.15)!important;box-shadow:0 10px 24px rgba(0,0,0,.18);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.cg-game-card:active{transform:scale(.985)}.cg-game-card:hover{border-color:rgba(107,231,255,.65)!important;box-shadow:0 14px 34px rgba(30,199,255,.18)}.cg-game-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;font-size:28px;background:rgba(255,255,255,.11)}.cg-game-copy{min-width:0;text-align:left}.cg-game-copy b{display:block;font-size:1.08rem}.cg-game-copy small{opacity:.8;line-height:1.35}.cg-game-copy em{display:block;margin-top:7px;font-size:.75rem;font-style:normal;color:#8eeeff}.cg-game-arrow{font-size:30px;opacity:.65}
.cg-match-head{display:flex;justify-content:space-between;align-items:flex-start;padding-right:42px;margin-bottom:12px}.cg-match-head small{text-transform:uppercase;letter-spacing:.16em;color:#76e8ff;font-weight:900}.cg-live-dot{font-size:.69rem;font-weight:1000;letter-spacing:.08em;padding:6px 9px;border-radius:999px;background:rgba(255,48,112,.16);color:#ff8cb6;border:1px solid rgba(255,76,142,.35)}
.cg-versus{margin:10px 0 16px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.cg-versus span{display:flex;align-items:center;gap:7px;min-width:0;justify-content:center;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cg-versus span i{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;border-radius:50%;font-style:normal;background:linear-gradient(135deg,#ff4fa8,#5f69ff)}.cg-versus b{font-size:.72rem;letter-spacing:.12em;color:#ffd15a}
.cg-status{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);min-height:70px}.cg-status small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.67rem;font-weight:900;opacity:.72}.cg-status b{display:block;margin-top:4px}.cg-status.is-your-turn{border-color:rgba(54,231,255,.5);box-shadow:0 0 28px rgba(37,205,255,.12)}.cg-turn-clock,.cg-timer{display:flex;align-items:center;gap:7px}.cg-turn-clock b,.cg-countdown,.cg-turntime{display:inline-block;width:5.25ch;min-width:5.25ch;text-align:center;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:.04em}.cg-turn-clock b{font-size:1.15rem;color:#ffe06d}.cg-turn-clock .is-expired,.cg-countdown.is-expired{color:#ff799e}
.cg-board-wrap{padding:12px;margin-top:10px;border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.11);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 32px rgba(0,0,0,.2)}
.cg-ttt{gap:9px;margin:0 auto;width:min(76vw,330px)}.cg-ttt .cg-cell{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.055));border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 18px rgba(0,0,0,.17);transition:transform .13s ease,box-shadow .2s ease}.cg-ttt .cg-cell:not(:disabled):active{transform:scale(.94)}.cg-ttt .cg-cell span{display:block;animation:cgPop .24s cubic-bezier(.2,.9,.25,1.25)}.cg-ttt .p1 span{color:#64efff;text-shadow:0 0 18px rgba(45,224,255,.7)}.cg-ttt .p2 span{color:#ff6eb8;text-shadow:0 0 18px rgba(255,73,171,.7)}.cg-ttt .is-winning{border-color:#ffe66b;box-shadow:0 0 24px rgba(255,222,78,.55),inset 0 0 20px rgba(255,226,79,.14)}
.cg-c4{position:relative;margin:0 auto;width:min(86vw,410px);gap:5px;padding:10px;background:linear-gradient(160deg,#168ddc,#0755ae)!important;border:2px solid rgba(134,223,255,.7);box-shadow:inset 0 -8px 20px rgba(0,20,90,.35),0 16px 30px rgba(0,0,0,.26)}.cg-c4 .cg-drop{height:31px!important;min-height:31px!important;border:0!important;background:transparent!important;color:#a8f1ff;font-size:15px;box-shadow:none!important}.cg-c4 .cg-drop span{display:block;transition:transform .15s ease}.cg-c4 .cg-drop:not(:disabled):active span{transform:translateY(5px)}.cg-c4 .cg-disc{background:radial-gradient(circle at 36% 30%,rgba(255,255,255,.2),rgba(3,33,100,.55) 45%,rgba(3,22,72,.88));border:2px solid rgba(255,255,255,.18);box-shadow:inset 0 5px 8px rgba(0,0,0,.35)}.cg-c4 .cg-disc.p1{background:radial-gradient(circle at 34% 28%,#ff9dcc,#ff327e 52%,#ae124d);box-shadow:inset 0 -5px 8px rgba(100,0,38,.35),0 0 11px rgba(255,43,125,.4);animation:cgDrop .25s ease}.cg-c4 .cg-disc.p2{background:radial-gradient(circle at 34% 28%,#fff7a3,#ffd72f 54%,#d28b00);box-shadow:inset 0 -5px 8px rgba(105,62,0,.28),0 0 11px rgba(255,218,47,.4);animation:cgDrop .25s ease}.cg-c4 .is-winning{outline:3px solid #fff5a4;outline-offset:1px;animation:cgWinnerPulse .8s ease infinite alternate!important}
.cg-phase-card,.cg-result{text-align:center;padding:18px;border-radius:22px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.1)}.cg-phase-icon,.cg-result-icon{display:block;font-size:48px;margin-bottom:8px}.cg-phase-card p{opacity:.8}.cg-ready{display:grid;grid-template-columns:1fr 1fr}.cg-ready span{border:1px solid rgba(255,255,255,.11)}.cg-ready .is-ready{background:rgba(61,226,163,.15);border-color:rgba(74,237,176,.45);color:#9effd4}.cg-timer{justify-content:center;margin:13px auto;padding:8px 12px;width:max-content;max-width:100%;border-radius:999px;background:rgba(0,0,0,.18)}.cg-timer span{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;opacity:.7}.cg-timer b{color:#ffe06d}.cg-main-action{width:100%!important;margin-top:8px;min-height:48px}
.cg-result.is-win{background:radial-gradient(circle at 50% 0%,rgba(255,220,80,.2),transparent 48%),rgba(255,255,255,.075);border-color:rgba(255,223,96,.34)}.cg-result h3{font-size:clamp(1.5rem,6vw,2.15rem)}.cg-reward{display:flex;align-items:center;gap:13px;text-align:left;margin:16px 0;padding:14px;border-radius:18px;background:linear-gradient(135deg,rgba(255,212,60,.18),rgba(255,126,31,.1));border:1px solid rgba(255,220,103,.3)}.cg-coin{font-size:38px;filter:drop-shadow(0 4px 8px rgba(255,183,0,.35))}.cg-reward small,.cg-reward em{display:block}.cg-reward small{opacity:.74}.cg-reward b{display:block;font-size:1.2rem;color:#ffe680}.cg-reward em{margin-top:3px;font-size:.77rem;font-style:normal;opacity:.76}.cg-rematch>p{font-weight:850}
.cg-confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden;z-index:5}.cg-confetti i{position:absolute;left:var(--x);top:-14px;width:8px;height:14px;border-radius:2px;background:hsl(calc(var(--i)*31deg),90%,62%);animation:cgConfetti 1.6s ease-in forwards;animation-delay:calc(var(--i)*-0.018s)}
@keyframes cgPop{0%{transform:scale(.2) rotate(-18deg);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes cgDrop{0%{transform:translateY(-16px);opacity:.2}100%{transform:none;opacity:1}}@keyframes cgWinnerPulse{from{filter:brightness(1)}to{filter:brightness(1.35) drop-shadow(0 0 8px #fff39a)}}@keyframes cgConfetti{to{transform:translate(calc((var(--i) - 12)*3px),105dvh) rotate(760deg);opacity:.1}}
@media(max-width:390px){.cg-modal{width:calc(100vw - 18px);padding:15px 10px}.cg-board-wrap{padding:8px}.cg-c4{gap:3px;padding:7px}.cg-versus span{font-size:.83rem}.cg-versus span i{width:27px;height:27px;flex-basis:27px}.cg-status{padding:10px}.cg-game-card{grid-template-columns:50px minmax(0,1fr) 18px}.cg-game-icon{width:50px;height:50px}}
@media(prefers-reduced-motion:reduce){.cg-ttt .cg-cell span,.cg-c4 .cg-disc,.cg-c4 .is-winning,.cg-confetti i{animation:none!important}.cg-game-card{transition:none}}

/* Chatspiel Memo */
.cg-memo-score{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center;margin:0 0 10px;padding:10px 12px;border-radius:18px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.1)}
.cg-memo-score span{min-width:0;text-align:center}.cg-memo-score b,.cg-memo-score em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cg-memo-score b{font-size:.84rem}.cg-memo-score em{margin-top:2px;color:#8eeeff;font-size:.76rem;font-style:normal}.cg-memo-score strong{font-size:.72rem;color:#ffe06d;white-space:nowrap}
.cg-memo-wrap{padding:9px}.cg-memo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:min(88vw,430px);margin:0 auto}.cg-memo-card{position:relative;min-width:0!important;width:100%!important;aspect-ratio:.78;padding:0!important;overflow:hidden;border-radius:13px!important;border:1px solid rgba(255,255,255,.18)!important;background:linear-gradient(145deg,#6747d8,#27205f)!important;box-shadow:0 8px 18px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.14)!important;transform-style:preserve-3d;transition:transform .18s ease,box-shadow .18s ease}.cg-memo-card:not(:disabled):active{transform:scale(.94)}.cg-memo-card.is-open,.cg-memo-card.is-matched{background:rgba(255,255,255,.1)!important}.cg-memo-card.is-matched{border-color:rgba(255,225,94,.75)!important;box-shadow:0 0 18px rgba(255,218,61,.35)!important}.cg-memo-back,.cg-memo-face{position:absolute;inset:0;display:grid;place-items:center}.cg-memo-back{font-size:clamp(.68rem,3.2vw,.95rem);font-weight:1000;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.35);background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.2),transparent 35%),linear-gradient(145deg,#ff3f9f,#7357ff 55%,#21c9ef)}.cg-memo-face{grid-template-rows:minmax(0,1fr) auto;background:#11192f}.cg-memo-face img{width:100%;height:100%;object-fit:cover;min-height:0}.cg-memo-face small{display:block;width:100%;padding:4px 3px;background:rgba(4,9,24,.94);font-size:clamp(.53rem,2.2vw,.7rem);line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cg-memo-hint{text-align:center;margin:9px 0 1px;font-size:.78rem;color:#ffe58a}
@media(max-width:390px){.cg-memo-grid{gap:5px}.cg-memo-wrap{padding:6px}.cg-memo-score{padding:8px 7px}.cg-memo-score b{font-size:.75rem}.cg-memo-score strong{font-size:.64rem}}
@media(prefers-reduced-motion:reduce){.cg-memo-card{transition:none}}


/* Chat V2: Verlaufspaging, Datums-Trenner und edlere mobile Darstellung */
.dc-chat{position:relative;overflow:hidden}
.dc-messages{position:relative;scroll-behavior:auto;overscroll-behavior:contain;padding:calc(14px + var(--dc-anchor-room-top,0px)) 12px calc(20px + var(--dc-anchor-room-bottom,0px))!important;overflow-anchor:auto}
.dc-msg{margin:7px 0;animation:dcMsgIn .16s ease-out both}
@keyframes dcMsgIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.dc-bubble{border-radius:20px!important;background:linear-gradient(145deg,rgba(55,27,86,.86),rgba(24,15,48,.86))!important;border:1px solid rgba(255,255,255,.13)!important;box-shadow:0 10px 24px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.06)!important}
.dc-msg.own .dc-bubble{background:linear-gradient(145deg,rgba(76,26,104,.94),rgba(22,64,87,.88))!important;border-color:rgba(92,229,255,.23)!important}
.dc-meta span{font-variant-numeric:tabular-nums;opacity:.68;font-size:.72rem}
.dc-date-separator{position:sticky;top:8px;z-index:8;width:max-content;max-width:80%;margin:18px auto 12px;padding:6px 13px;border-radius:999px;background:rgba(18,8,34,.88);border:1px solid rgba(255,255,255,.16);box-shadow:0 8px 24px rgba(0,0,0,.24);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#f5eaff;font-size:.78rem;font-weight:900;letter-spacing:.02em;text-transform:none;pointer-events:none}
.dc-history-loader{position:absolute;top:84px;left:50%;z-index:20;transform:translateX(-50%);padding:7px 12px;border-radius:999px;background:rgba(17,8,32,.92);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:.76rem;font-weight:800;box-shadow:0 10px 28px rgba(0,0,0,.3)}
.dc-history-loader[hidden]{display:none!important}
.dc-jump-bottom{position:absolute;right:14px;bottom:86px;z-index:25;display:flex;align-items:center;gap:7px;min-height:42px;padding:9px 13px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:linear-gradient(135deg,rgba(255,74,205,.94),rgba(51,211,255,.92));color:#150520;font-weight:950;box-shadow:0 14px 36px rgba(0,0,0,.34);cursor:pointer}
.dc-jump-bottom[hidden]{display:none!important}.dc-jump-bottom em{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#e51d4f;color:#fff;font-size:.7rem;font-style:normal}
@media(max-width:560px){.dc-messages{padding:10px 8px 16px!important}.dc-msg{margin:5px 0}.dc-bubble{border-radius:17px!important}.dc-date-separator{top:6px;margin:14px auto 9px}.dc-jump-bottom{right:10px;bottom:78px;padding:9px 11px}.dc-jump-bottom span{display:none}}


/* Chat V2.1 – flüssigere Darstellung und elegante SVG-Bedienung */
.dc-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.dc-composer-icon img,.dc-send img{display:block;width:21px;height:21px;pointer-events:none}
.dc-composer-icon{color:rgba(246,239,255,.9)!important;background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.045))!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 6px 18px rgba(0,0,0,.14)!important;transition:transform .14s ease,background .14s ease,border-color .14s ease,box-shadow .14s ease!important}
.dc-composer-icon:hover,.dc-composer-icon:focus-visible{background:rgba(255,255,255,.15)!important;border-color:rgba(94,224,255,.45)!important;box-shadow:0 0 0 3px rgba(94,224,255,.09),0 8px 22px rgba(0,0,0,.2)!important}
.dc-composer-icon:active,.dc-send:active{transform:scale(.94)!important}
.dc-send{display:grid!important;place-items:center!important;min-width:46px!important;width:46px!important;padding:0!important;border-radius:15px!important;color:#17051f!important;background:linear-gradient(135deg,#ff72dc,#63e7ff)!important;box-shadow:0 10px 26px rgba(93,218,255,.2),inset 0 1px 0 rgba(255,255,255,.55)!important;transition:transform .14s ease,filter .14s ease,box-shadow .14s ease!important}
.dc-send:hover,.dc-send:focus-visible{filter:brightness(1.08);box-shadow:0 12px 30px rgba(255,81,204,.24),0 0 0 3px rgba(99,231,255,.1)!important}
.dc-upload{display:grid!important;place-items:center!important}
.dc-upload input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.dc-msg{content-visibility:auto;contain-intrinsic-size:76px;contain:layout style paint;transition:opacity .18s ease,transform .18s ease;margin-block:7px}
.dc-msg.dc-msg-enter{opacity:0;transform:translateY(7px)}
.dc-msg-grouped{margin-top:-3px}
.dc-msg-grouped .dc-avatar{visibility:hidden}
.dc-msg-grouped .dc-meta a{display:none}
.dc-msg-grouped .dc-meta{justify-content:flex-end;min-height:15px;margin-bottom:2px}
.dc-msg-grouped .dc-bubble{border-top-left-radius:10px!important}
.dc-msg-grouped.own .dc-bubble{border-top-left-radius:19px!important;border-top-right-radius:10px!important}
.dc-history-loader{position:absolute;top:72px;left:50%;z-index:18;transform:translateX(-50%);padding:7px 12px;border-radius:999px;background:rgba(18,8,34,.92);border:1px solid rgba(255,255,255,.14);color:#efe5f8;font-size:.76rem;font-weight:850;box-shadow:0 9px 26px rgba(0,0,0,.25);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.dc-history-loader::before{content:"";display:inline-block;width:10px;height:10px;margin-right:7px;border:2px solid rgba(255,255,255,.3);border-top-color:#66e8ff;border-radius:50%;animation:dc-spin .7s linear infinite;vertical-align:-1px}
@keyframes dc-spin{to{transform:rotate(360deg)}}
.dc-date-separator{font-variant-numeric:tabular-nums;transition:opacity .15s ease,transform .15s ease}
.dc-messages{scrollbar-gutter:stable;will-change:scroll-position}
#dcText{transition:border-color .15s ease,box-shadow .15s ease,background .15s ease!important}
#dcText:focus{border-color:rgba(100,231,255,.42)!important;box-shadow:0 0 0 3px rgba(100,231,255,.08)!important;background:rgba(255,255,255,.1)!important}
@media(max-width:520px){.dc-composer{grid-template-columns:40px 40px 40px minmax(0,1fr) 44px!important}.dc-send{min-width:44px!important;width:44px!important}.dc-composer-icon img,.dc-send img{width:20px;height:20px}.dc-msg-grouped{margin-top:-4px}}
@media(prefers-reduced-motion:reduce){.dc-msg,.dc-composer-icon,.dc-send,.dc-date-separator{transition:none!important}.dc-history-loader::before{animation:none!important}}


/* Chat V2.2 – kontrastreiche Bedienung und sichere letzte Nachricht */
:root{--dc-chat-obstruction:0px}
.dc-messages{padding-bottom:calc(24px + var(--dc-chat-obstruction) + env(safe-area-inset-bottom))!important;scroll-padding-bottom:calc(24px + var(--dc-chat-obstruction) + env(safe-area-inset-bottom))}
.dc-composer-icon{background:linear-gradient(145deg,rgba(20,8,38,.96),rgba(42,19,67,.94))!important;border-color:rgba(143,235,255,.52)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 7px 20px rgba(0,0,0,.32),0 0 0 1px rgba(255,91,210,.08)!important}
.dc-composer-icon img{width:23px!important;height:23px!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.65))}
.dc-composer-icon:hover,.dc-composer-icon:focus-visible{background:linear-gradient(145deg,rgba(66,29,91,.98),rgba(16,71,91,.96))!important;border-color:rgba(255,255,255,.8)!important}
.dc-send img{width:23px!important;height:23px!important;filter:drop-shadow(0 1px 1px rgba(255,255,255,.22))}
@media(max-width:520px){.dc-composer-icon img,.dc-send img{width:22px!important;height:22px!important}}

/* v4.9 Mitgliederprofil – geschützte Community-Ansicht */
.member-profile-page{overflow-x:hidden}
.member-profile-wrap{width:min(760px,calc(100% - 24px));margin:0 auto;padding:22px 0 calc(112px + env(safe-area-inset-bottom));display:grid;gap:16px}
.member-profile-hero{position:relative;overflow:hidden;text-align:center;padding:30px 20px 24px;border-radius:30px;background:linear-gradient(145deg,rgba(44,18,78,.94),rgba(10,34,53,.9));box-shadow:0 22px 70px rgba(0,0,0,.35)}
.member-profile-hero:before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle,rgba(255,73,211,.2),transparent 42%),radial-gradient(circle at 75% 30%,rgba(82,220,255,.18),transparent 36%);pointer-events:none}
.member-profile-hero>*{position:relative;z-index:1}
.member-profile-kicker{display:inline-flex;padding:6px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.08);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#e7dcff}
.member-profile-avatar{display:grid;place-items:center;width:154px;height:154px;margin:18px auto 14px;padding:0;border:4px solid rgba(255,255,255,.72);border-radius:50%;background:linear-gradient(135deg,#ff54d9,#58dcff);box-shadow:0 0 0 8px rgba(255,255,255,.06),0 20px 52px rgba(0,0,0,.34),0 0 40px rgba(255,84,217,.22);overflow:hidden;cursor:pointer}
.member-profile-avatar img{width:100%;height:100%;object-fit:cover;display:block}.member-profile-avatar span{font-size:4rem;font-weight:900;color:#fff}
.member-profile-hero h1{margin:4px 0 8px;font-size:clamp(1.8rem,7vw,2.55rem);line-height:1.05}
.member-profile-badges{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.member-profile-badges span{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);font-size:.82rem;font-weight:800}
.member-profile-presence{display:flex;justify-content:center;align-items:center;gap:8px;margin:13px 0 0;color:#e5def0;font-size:.9rem}.member-profile-presence i{width:9px;height:9px;border-radius:50%;background:#7f8a9a;box-shadow:0 0 0 4px rgba(127,138,154,.14)}.member-profile-presence.online i{background:#4ff29a;box-shadow:0 0 0 4px rgba(79,242,154,.14),0 0 16px rgba(79,242,154,.8)}
.member-profile-status{max-width:520px;margin:15px auto 0;color:#f6eaff;font-size:1.02rem;line-height:1.5}
.member-profile-message{display:inline-flex;justify-content:center;align-items:center;min-width:min(100%,280px);margin-top:19px;text-decoration:none}
.member-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.member-profile-card{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:24px}.member-profile-card h2{margin:0 0 8px;font-size:1.05rem}.member-profile-card p{margin:0;color:#eee6f7;line-height:1.6}.member-profile-about{grid-column:1/-1}.member-profile-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,rgba(255,84,217,.26),rgba(88,220,255,.2));border:1px solid rgba(255,255,255,.16);font-size:1.2rem}.member-profile-card>div{min-width:0;flex:1}
.member-profile-facts{display:grid;gap:10px;margin:0}.member-profile-facts>div{display:flex;justify-content:space-between;gap:14px;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.1)}.member-profile-facts>div:last-child{border-bottom:0;padding-bottom:0}.member-profile-facts dt{color:#cfc4dd}.member-profile-facts dd{margin:0;text-align:right;font-weight:800}.member-profile-tiktok .dc-secondary{display:inline-flex;margin-top:12px;text-decoration:none}
.member-avatar-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:rgba(4,2,10,.86);backdrop-filter:blur(16px)}.member-avatar-modal[hidden]{display:none!important}.member-avatar-modal img{width:min(88vw,580px);max-height:82vh;object-fit:contain;border-radius:28px;border:1px solid rgba(255,255,255,.2);box-shadow:0 28px 100px rgba(0,0,0,.55)}.member-avatar-close{position:fixed;top:calc(16px + env(safe-area-inset-top));right:16px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.12);color:#fff;font-size:28px;line-height:1;cursor:pointer}
@media(max-width:640px){.member-profile-wrap{width:min(100% - 16px,760px);padding-top:10px}.member-profile-hero{padding:24px 14px 20px;border-radius:24px}.member-profile-avatar{width:132px;height:132px}.member-profile-grid{grid-template-columns:1fr}.member-profile-about{grid-column:auto}.member-profile-card{border-radius:20px;padding:15px}.member-profile-message{width:100%}}


/* Dashboard-Begrüßung und Chat-Anwesenheit/@-Ansprachen */
.dashboard-welcome-v2{align-items:center}.dashboard-welcome-main{display:flex;align-items:center;gap:16px;min-width:0}.dashboard-welcome-avatar{width:78px;height:78px;flex:0 0 78px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.7);box-shadow:0 10px 30px rgba(0,0,0,.32),0 0 26px rgba(91,224,255,.18)}.dashboard-welcome-avatar.fallback{display:grid;place-items:center;background:linear-gradient(135deg,#ff4fcf,#56dfff);font-size:2rem;font-weight:900}.dashboard-welcome-v2 h1{margin:3px 0 0}.dashboard-welcome-v2 h2{margin:3px 0;font-size:1.05rem;color:#eee5f7}.dashboard-welcome-v2 p{margin:4px 0 0}.dashboard-welcome-v2 p b{color:#6ef0b2}
.dc-presence-wrap{position:relative}.dc-presence-btn{display:flex;align-items:center;gap:5px;height:42px;padding:0 10px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;font:inherit;cursor:pointer}.dc-presence-btn b{font-size:.86rem}.dc-presence-btn i{font-style:normal;opacity:.7}.dc-presence-panel{position:absolute;right:0;top:calc(100% + 9px);z-index:80;width:min(300px,84vw);max-height:360px;overflow:auto;padding:13px;border-radius:20px;background:rgba(18,8,34,.98);border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 60px rgba(0,0,0,.5);backdrop-filter:blur(16px)}.dc-presence-panel[hidden]{display:none!important}.dc-presence-panel>strong{display:block;margin:1px 4px 10px}.dc-presence-panel a{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;padding:8px;border-radius:13px;color:inherit;text-decoration:none}.dc-presence-panel a:hover{background:rgba(255,255,255,.08)}.dc-presence-panel img,.dc-presence-panel a>span{grid-row:1/3;width:38px;height:38px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:linear-gradient(135deg,#ff4fcf,#56dfff);font-weight:900}.dc-presence-panel small{opacity:.68}.dc-presence-panel p{margin:8px;opacity:.7}
.dc-composer{position:relative}.dc-mention-panel{position:absolute;left:8px;right:8px;bottom:calc(100% + 8px);z-index:65;max-height:280px;overflow:auto;padding:8px;border-radius:18px;background:rgba(18,8,34,.98);border:1px solid rgba(255,255,255,.16);box-shadow:0 16px 50px rgba(0,0,0,.45)}.dc-mention-panel[hidden]{display:none!important}.dc-mention-panel button{display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;width:100%;padding:8px;border:0;border-radius:12px;background:transparent;color:#fff;text-align:left;cursor:pointer}.dc-mention-panel button:hover,.dc-mention-panel button:focus{background:rgba(255,255,255,.09)}.dc-mention-panel img,.dc-mention-panel button>span:not(.mention-all){grid-row:1/3;width:36px;height:36px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:linear-gradient(135deg,#ff4fcf,#56dfff);font-weight:900}.dc-mention-panel small{opacity:.65}.dc-mention-panel .mention-all{grid-row:1/3;display:grid;place-items:center;width:48px;color:#76edff;font-weight:900}.dc-msg-mentioned .dc-bubble{position:relative;border:1px solid transparent;background:linear-gradient(rgba(38,20,58,.96),rgba(38,20,58,.96)) padding-box,linear-gradient(110deg,#ff55d6,#64e8ff,#ffd66b,#ff55d6) border-box;background-size:100% 100%,300% 100%;animation:dcMentionGlow 6s linear infinite;box-shadow:0 0 24px rgba(99,231,255,.12)}.dc-mention-head{margin:-2px 0 8px;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.14);font-size:.78rem;font-weight:900;letter-spacing:.04em;color:#8df2ff;text-transform:uppercase}@keyframes dcMentionGlow{to{background-position:0 0,300% 0}}
@media(max-width:560px){.dashboard-welcome-v2{align-items:flex-start}.dashboard-welcome-main{gap:12px}.dashboard-welcome-avatar{width:62px;height:62px;flex-basis:62px}.dashboard-welcome-v2 .compact-logout{align-self:flex-start}.dc-presence-btn{height:40px;padding:0 8px}.dc-presence-btn span{display:none}}
@media(prefers-reduced-motion:reduce){.dc-msg-mentioned .dc-bubble{animation:none}}


/* Chat UX: klare Anwesenheitsanzeige, Eintritts-Hinweise und hervorgehobene Ansprachen */
.dc-chat-head{align-items:flex-start}
.dc-chat-head .chat-menu{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
  min-width:0;
}
.dc-chat-live-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
}
.dc-chat-live-actions .dc-presence-wrap,
.dc-chat-live-actions #dcGameBtn{flex:0 0 auto}
.dc-presence-btn{
  min-width:max-content;
  height:44px;
  padding:0 12px;
  gap:7px;
  border-color:rgba(95,232,255,.42);
  background:linear-gradient(145deg,rgba(41,195,218,.17),rgba(255,255,255,.07));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 24px rgba(0,0,0,.18);
}
.dc-presence-btn .dc-presence-icon{
  display:inline-block!important;
  color:#56f0a5;
  font-size:.75rem;
  line-height:1;
  text-shadow:0 0 12px rgba(86,240,165,.95);
}
.dc-presence-btn b{
  display:inline-flex;
  align-items:baseline;
  gap:4px;
  white-space:nowrap;
  font-size:.83rem;
}
.dc-presence-btn i{font-size:.82rem}
.dc-presence-panel{right:auto;left:0}

.dc-presence-toasts{
  position:fixed;
  z-index:120;
  right:max(14px,env(safe-area-inset-right));
  bottom:calc(var(--dc-bottom-nav-height,78px) + 90px + env(safe-area-inset-bottom));
  display:grid;
  gap:8px;
  width:min(310px,calc(100vw - 28px));
  pointer-events:none;
}
.dc-presence-toast{
  display:flex;
  align-items:center;
  gap:11px;
  padding:12px 15px;
  border:1px solid rgba(92,238,177,.35);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(18,12,35,.97),rgba(31,29,65,.97));
  box-shadow:0 18px 55px rgba(0,0,0,.42),0 0 25px rgba(73,234,171,.12);
  backdrop-filter:blur(16px);
  transform:translateY(18px) scale(.97);
  opacity:0;
  transition:opacity .24s ease,transform .34s cubic-bezier(.2,.75,.25,1);
}
.dc-presence-toast.show{opacity:1;transform:none}
.dc-presence-toast-dot{
  width:11px;height:11px;flex:0 0 11px;border-radius:50%;
  background:#57f0a8;
  box-shadow:0 0 0 5px rgba(87,240,168,.12),0 0 18px rgba(87,240,168,.88);
}
.dc-presence-toast div{display:grid;gap:2px;min-width:0}
.dc-presence-toast strong{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dc-presence-toast small{color:#cfc7dc}

.dc-msg.dc-msg-mentioned{
  position:relative;
  isolation:isolate;
  margin-top:13px;
  margin-bottom:13px;
  padding:7px;
  border-radius:31px;
}
.dc-msg.dc-msg-mentioned::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  padding:2px;
  border-radius:inherit;
  background:linear-gradient(115deg,#ff4fd8,#63ebff,#fff07c,#ff7bdc,#63ebff);
  background-size:320% 100%;
  animation:dcMentionFrame 3.8s linear infinite;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  filter:drop-shadow(0 0 10px rgba(90,230,255,.42));
}
.dc-msg.dc-msg-mentioned::after{
  content:"";
  position:absolute;
  z-index:-2;
  inset:3px;
  border-radius:27px;
  background:rgba(43,25,70,.72);
  box-shadow:0 0 34px rgba(99,232,255,.18);
}
.dc-msg.dc-msg-mentioned .dc-bubble{
  border:1px solid rgba(255,255,255,.2)!important;
  background:linear-gradient(150deg,rgba(65,34,93,.98),rgba(31,54,91,.97))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 12px 38px rgba(0,0,0,.34)!important;
}
.dc-msg.dc-msg-mentioned-all::before{
  background:linear-gradient(115deg,#ffd75a,#fff4ad,#ff8ecf,#ffd75a,#fff4ad);
  background-size:320% 100%;
  filter:drop-shadow(0 0 11px rgba(255,216,82,.46));
}
.dc-mention-head{
  display:flex!important;
  align-items:center;
  gap:10px;
  margin:4px 0 12px!important;
  padding:10px 12px!important;
  border:1px solid rgba(127,239,255,.28)!important;
  border-radius:15px;
  background:rgba(87,219,255,.08);
  color:#fff!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.dc-msg-mentioned-all .dc-mention-head{
  border-color:rgba(255,221,103,.33)!important;
  background:rgba(255,214,85,.09);
}
.dc-mention-head>span{font-size:1.22rem;filter:drop-shadow(0 0 8px currentColor)}
.dc-mention-head>div{display:grid;gap:1px}
.dc-mention-head small{
  color:#bdb2cd;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.dc-mention-head strong{
  color:#a3f3ff;
  font-size:1rem;
  line-height:1.15;
}
.dc-msg-mentioned-all .dc-mention-head strong{color:#ffe486}
.dc-mention-inline{
  display:inline;
  padding:1px 5px 2px;
  border-radius:7px;
  color:#101322;
  background:linear-gradient(135deg,#9af3ff,#ffffff);
  box-shadow:0 0 14px rgba(99,231,255,.25);
  font-weight:950;
}
.dc-msg-mentioned-all .dc-mention-inline{
  background:linear-gradient(135deg,#ffe171,#fff7c8);
}
@keyframes dcMentionFrame{to{background-position:320% 0}}

@media(max-width:640px){
  .dc-chat-head{gap:8px}
  .dc-chat-head>div:first-child{min-width:0}
  .dc-chat-head .chat-menu{gap:6px}
  .dc-chat-live-actions{gap:6px}
  .dc-presence-btn{height:42px;padding:0 9px}
  .dc-presence-btn span{display:inline-block!important}
  .dc-presence-btn b{font-size:.76rem}
  .dc-presence-panel{left:auto;right:0}
}
@media(max-width:390px){
  .dc-presence-btn b{font-size:.72rem}
  .dc-presence-btn{padding:0 8px;gap:5px}
}
@media(prefers-reduced-motion:reduce){
  .dc-msg.dc-msg-mentioned::before,.dc-presence-toast{animation:none!important;transition:none!important}
}

/* Support-Appwechsel: zuerst Sperre aktivieren, dann TikTok öffnen. */
.support-lock-card{width:min(360px,88vw)!important;padding:28px!important}
.support-forwarding,.support-timer-panel,.support-finished-panel{display:grid;gap:10px;justify-items:center}
.support-forwarding[hidden],.support-timer-panel[hidden],.support-finished-panel[hidden]{display:none!important}
.support-forwarding p,.support-timer-panel p,.support-finished-panel p{margin:0;color:rgba(255,255,255,.82);line-height:1.45}
.support-forwarding-dots{display:flex!important;gap:8px;margin:8px 0 2px!important;font-size:inherit!important;line-height:normal!important}
.support-forwarding-dots i{width:9px;height:9px;border-radius:50%;background:#fff;animation:support-dot 1.05s ease-in-out infinite}
.support-forwarding-dots i:nth-child(2){animation-delay:.14s}.support-forwarding-dots i:nth-child(3){animation-delay:.28s}
.support-finished-panel .dc-primary{width:100%;margin-top:8px;min-height:48px}
@keyframes support-dot{0%,70%,100%{transform:translateY(0);opacity:.42}35%{transform:translateY(-7px);opacity:1}}
@media(prefers-reduced-motion:reduce){.support-forwarding-dots i{animation:none}}


/* Sprachnachrichten: auf Wunsch gespeicherte Transkription */
.voice-message-block{display:block;width:min(340px,100%)}
.voice-message-block>.voice-message{width:100%;max-width:none;box-sizing:border-box}
.voice-transcript-wrap{display:block;width:100%;margin-top:8px}
.voice-transcript-toggle{border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;padding:7px 11px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.voice-transcript-toggle:disabled{opacity:.65;cursor:wait}
.voice-transcript{margin-top:8px;padding:11px 13px;border:1px solid rgba(117,231,255,.22);border-radius:14px;background:rgba(9,13,31,.52);line-height:1.48;color:rgba(255,255,255,.94)}
.voice-transcript[hidden]{display:none!important}
.voice-transcript p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}

.voice-transcript-loading{min-height:58px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:rgba(255,255,255,.9)}
.voice-transcript-loading span{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#75e7ff,#ff70d7);box-shadow:0 0 12px rgba(117,231,255,.6);animation:dcTranscriptPulse 1.15s infinite ease-in-out}
.voice-transcript-loading span:nth-child(2){animation-delay:.16s}.voice-transcript-loading span:nth-child(3){animation-delay:.32s}
.voice-transcript-loading b{width:100%;font-size:12px;opacity:.82;margin-top:2px}
@keyframes dcTranscriptPulse{0%,80%,100%{transform:translateY(0) scale(.72);opacity:.45}40%{transform:translateY(-5px) scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.voice-transcript-loading span{animation:none}}
.voice-transcript-loading small{display:block;width:100%;font-size:11px;opacity:.72;margin-top:2px}
.voice-transcript-error{color:#ffd0d6;font-size:12px;line-height:1.45}

/* Chat image download deterrence */
.img-thumb img,#imageOverlay img{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;pointer-events:none}.img-thumb{touch-action:manipulation}#imageOverlay{user-select:none;-webkit-user-select:none}
.foreign-support-highlight{padding:16px;border-radius:20px;border:2px solid rgba(255,230,107,.8);background:linear-gradient(135deg,rgba(255,66,188,.18),rgba(255,230,107,.12));box-shadow:0 0 30px rgba(255,218,80,.18);margin:12px 0}.foreign-badge{font-weight:900;color:#ffe66b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}

/* Disco Friends UI Lift v1 — bewusst außerhalb des Chats gehalten. */
body:not(.dc-chat-page){
  --ui-glass-strong:linear-gradient(145deg,rgba(48,25,78,.88),rgba(17,11,34,.78));
  --ui-glass-soft:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.055));
  --ui-outline:rgba(255,255,255,.19);
  --ui-glow:0 18px 52px rgba(6,1,24,.34),inset 0 1px 0 rgba(255,255,255,.08);
  --ui-radius:24px;
}
body:not(.dc-chat-page) .dash-card,
body:not(.dc-chat-page) .admin-card,
body:not(.dc-chat-page) .public-card,
body:not(.dc-chat-page) .profile-editor,
body:not(.dc-chat-page) .auth-card,
body:not(.dc-chat-page) .dc-glass:not(.dc-bottom-nav):not(.dc-burger-panel){
  border-radius:var(--ui-radius);
  border-color:var(--ui-outline)!important;
  box-shadow:var(--ui-glow)!important;
}
body:not(.dc-chat-page) .dash-card,
body:not(.dc-chat-page) .admin-card{
  position:relative;
  overflow:hidden;
}
body:not(.dc-chat-page) .dash-card::before,
body:not(.dc-chat-page) .admin-card::before{
  content:"";position:absolute;inset:0 0 auto 0;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);opacity:.55;
}
body:not(.dc-chat-page) .dash-hero{
  border-radius:28px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 24px 70px rgba(5,0,25,.36),inset 0 1px 0 rgba(255,255,255,.09)!important;
}
body:not(.dc-chat-page) h1{font-weight:900;letter-spacing:-.035em}
body:not(.dc-chat-page) h2{font-weight:850;letter-spacing:-.022em}
body:not(.dc-chat-page) .dash-card>h2:first-child,
body:not(.dc-chat-page) .admin-card>h2:first-child{
  display:flex;align-items:center;gap:10px;margin-bottom:15px;
}
body:not(.dc-chat-page) .dash-card>h2:first-child::after,
body:not(.dc-chat-page) .admin-card>h2:first-child::after{
  content:"";height:2px;min-width:42px;flex:1;border-radius:999px;
  background:linear-gradient(90deg,rgba(255,79,216,.8),rgba(49,216,255,.6),transparent);
}
body:not(.dc-chat-page) .dc-primary,
body:not(.dc-chat-page) .dc-secondary,
body:not(.dc-chat-page) .linkbtn,
body:not(.dc-chat-page) button:not(.dc-burger):not(.dc-nav-arrow){
  min-height:44px;border-radius:15px;font-weight:850;letter-spacing:.005em;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease,border-color .16s ease;
}
@media(hover:hover){
 body:not(.dc-chat-page) .dc-primary:hover,
 body:not(.dc-chat-page) .dc-secondary:hover,
 body:not(.dc-chat-page) .linkbtn:hover,
 body:not(.dc-chat-page) button:hover{transform:translateY(-1px);filter:brightness(1.07)}
}
body:not(.dc-chat-page) input,
body:not(.dc-chat-page) textarea,
body:not(.dc-chat-page) select{
  border-radius:15px!important;min-height:44px;
}
body:not(.dc-chat-page) textarea{min-height:92px}
body:not(.dc-chat-page) label{font-weight:750}

/* Horizontale Navigation ist als scrollbare Tab-Leiste klar erkennbar. */
body:not(.dc-chat-page) .module-tabs,
body:not(.dc-chat-page) .support-tabs,
body:not(.dc-chat-page) .team-nav,
body:not(.dc-chat-page) .admin-nav,
body:not(.dc-chat-page) .tabs,
body:not(.dc-chat-page) .tabbar{
  border:1px solid rgba(255,255,255,.17)!important;
  background:linear-gradient(145deg,rgba(20,10,38,.82),rgba(36,19,60,.72))!important;
  box-shadow:0 12px 34px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.06);
  padding:9px!important;border-radius:20px!important;
  scrollbar-width:thin;scrollbar-color:rgba(49,216,255,.55) transparent;
}
body:not(.dc-chat-page) .module-tabs::after,
body:not(.dc-chat-page) .support-tabs::after,
body:not(.dc-chat-page) .team-nav::after,
body:not(.dc-chat-page) .admin-nav::after{
  content:"Mehr →";position:sticky;right:0;align-self:center;padding:6px 8px;border-radius:999px;
  color:rgba(255,255,255,.72);font-size:11px;font-weight:900;letter-spacing:.04em;
  background:rgba(15,8,28,.9);pointer-events:none;
}
body:not(.dc-chat-page) .module-tabs a,
body:not(.dc-chat-page) .support-tabs a,
body:not(.dc-chat-page) .team-nav a,
body:not(.dc-chat-page) .admin-nav a,
body:not(.dc-chat-page) .tabs a,
body:not(.dc-chat-page) .tabbar a{
  border:1px solid rgba(255,255,255,.14)!important;
  background:rgba(255,255,255,.075)!important;
  border-radius:14px!important;text-decoration:none!important;
}
body:not(.dc-chat-page) .module-tabs .active,
body:not(.dc-chat-page) .support-tabs .active,
body:not(.dc-chat-page) .team-nav .active,
body:not(.dc-chat-page) .admin-nav .active,
body:not(.dc-chat-page) .tabs .active,
body:not(.dc-chat-page) .tabbar .active{
  background:linear-gradient(135deg,rgba(255,79,216,.3),rgba(49,216,255,.22))!important;
  border-color:rgba(102,232,255,.5)!important;
  box-shadow:0 8px 25px rgba(49,216,255,.13),inset 0 1px 0 rgba(255,255,255,.12)!important;
}

/* Neue, kontrastreiche SVG-Fußnavigation. */
body:not(.dc-chat-page) .dc-bottom-nav{
  padding-top:9px!important;
  background:linear-gradient(180deg,rgba(23,12,41,.72),rgba(9,5,19,.97))!important;
  backdrop-filter:blur(24px) saturate(1.2)!important;
  -webkit-backdrop-filter:blur(24px) saturate(1.2)!important;
}
body:not(.dc-chat-page) .dc-bottom-nav button,
body:not(.dc-chat-page) .dc-bottom-nav nav a{
  min-height:46px!important;border-radius:16px!important;
  background:rgba(255,255,255,.085)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 8px 24px rgba(0,0,0,.2)!important;
}
body:not(.dc-chat-page) .dc-bottom-nav nav a{gap:8px!important;padding:8px 12px!important}
body:not(.dc-chat-page) .dc-bottom-nav nav a.active{
  background:linear-gradient(135deg,rgba(255,79,216,.34),rgba(49,216,255,.25))!important;
  border-color:rgba(123,238,255,.58)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.08) inset,0 0 25px rgba(49,216,255,.19)!important;
}
body:not(.dc-chat-page) .dc-bottom-nav img{display:block;width:23px;height:23px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.55))}
body:not(.dc-chat-page) .dc-bottom-nav .dc-nav-icon{width:26px;height:26px;display:grid;place-items:center;flex:0 0 26px}
body:not(.dc-chat-page) .dc-bottom-nav nav a.active .dc-nav-icon{transform:scale(1.08)}
body:not(.dc-chat-page) .dc-bottom-nav nav a em{font-style:normal;font-size:12px;font-weight:900;line-height:1}
body:not(.dc-chat-page) .dc-burger-panel{
  border-radius:22px!important;border:1px solid rgba(255,255,255,.2)!important;
  background:linear-gradient(145deg,rgba(35,18,60,.98),rgba(13,8,26,.98))!important;
  box-shadow:0 24px 75px rgba(0,0,0,.48)!important;
}
body:not(.dc-chat-page) .dc-burger-panel a{border-radius:13px!important}

/* Tabellen und Listen wirken klarer, ohne ihre Funktion zu ändern. */
body:not(.dc-chat-page) .admin-table-wrap{border-radius:20px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
body:not(.dc-chat-page) .admin-table tbody tr{transition:background .15s ease}
@media(hover:hover){body:not(.dc-chat-page) .admin-table tbody tr:hover{background:rgba(49,216,255,.055)}}
body:not(.dc-chat-page) .audit-row,
body:not(.dc-chat-page) .mail-row,
body:not(.dc-chat-page) .coin-row{
  border-radius:18px!important;border-color:rgba(255,255,255,.15)!important;
  background:var(--ui-glass-soft)!important;
}
@media(max-width:520px){
  body:not(.dc-chat-page) .dc-bottom-nav nav a{padding:8px 10px!important}
  body:not(.dc-chat-page) .dc-bottom-nav nav a em{font-size:11px}
  body:not(.dc-chat-page) .dc-bottom-nav img{width:22px;height:22px}
  body:not(.dc-chat-page) .dash-card,body:not(.dc-chat-page) .admin-card{border-radius:21px!important}
}

/* Chat-Kommandos */
.dc-command-card{margin:8px 0 4px;padding:13px;border:1px solid rgba(255,255,255,.16);border-radius:17px;background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.055));box-shadow:0 10px 30px rgba(4,3,18,.24);overflow:hidden}
.dc-command-kicker{font-size:.76rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#dffaff;margin-bottom:7px}.dc-command-card small{display:block;color:rgba(255,255,255,.7);margin-bottom:7px}.dc-command-ranking ol{list-style:none;margin:8px 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.dc-command-ranking li{display:flex;gap:7px;min-width:0;font-size:.86rem}.dc-command-ranking li span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dc-command-link,.dc-command-link-card a{display:inline-flex;margin-top:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.13);color:#fff;font-weight:800;text-decoration:none}.dc-command-profile-head{display:flex;align-items:center;gap:12px}.dc-command-profile-head strong{display:block;font-size:1.06rem}.dc-command-avatar{width:62px;height:62px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#ff52c8,#58e6ff);font-weight:900;font-size:1.4rem;flex:none}.dc-command-avatar img{width:100%;height:100%;object-fit:cover}.dc-command-profile p{margin:10px 0 2px;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.dc-command-gallery img{display:block;width:100%;max-height:330px;object-fit:cover;border-radius:13px;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}.dc-command-overlay{position:fixed;inset:0;z-index:9999;background:rgba(3,2,14,.78);display:grid;place-items:center;padding:18px}.dc-command-overlay[hidden]{display:none!important}.dc-command-modal{position:relative;width:min(520px,100%);max-height:min(720px,86vh);overflow:auto;padding:22px}.dc-command-close{position:absolute;right:12px;top:10px;border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:50%;width:36px;height:36px;font-size:22px}.dc-command-modal h2{margin:0 45px 16px 0}.dc-command-modal article{display:grid;grid-template-columns:minmax(110px,.7fr) 1fr;gap:3px 12px;padding:11px 4px;border-bottom:1px solid rgba(255,255,255,.1)}.dc-command-modal article b{grid-row:1/3;color:#9ef4ff}.dc-command-modal article span{font-weight:800}.dc-command-modal article small{color:rgba(255,255,255,.66)}
@media(max-width:430px){.dc-command-ranking ol{grid-template-columns:1fr}.dc-command-card{padding:11px}.dc-command-modal article{grid-template-columns:1fr}.dc-command-modal article b{grid-row:auto}}

/* Team-Event Chat-Bonus */
.dc-msg-team-event{--te-accent:#ffd85a}
.dc-msg-team-event .dc-avatar{display:grid;place-items:center;text-decoration:none;background:radial-gradient(circle at 35% 25%,#fff4b3 0 10%,#ff61d3 34%,#6a35d8 70%,#15102e 100%);border:1px solid rgba(255,255,255,.35);box-shadow:0 0 24px rgba(255,83,211,.34);font-size:1.35rem}
.dc-msg-team-event .dc-bubble{border:1px solid transparent;background:linear-gradient(rgba(28,15,48,.96),rgba(28,15,48,.96)) padding-box,linear-gradient(115deg,#ff55d6,#ffe36d,#66e8ff,#ff55d6) border-box;background-size:100% 100%,300% 100%;animation:dcTeamEventBorder 7s linear infinite;box-shadow:0 10px 30px rgba(3,1,15,.34),0 0 22px rgba(255,84,210,.11)}
.dc-msg-team-event .dc-meta strong{color:#fff1a4}
.dc-team-event-system-card{margin-top:4px;padding:10px 11px;border-radius:14px;background:rgba(255,255,255,.07)}
.dc-team-event-system-card small{display:block;margin-bottom:5px;color:#91efff;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.dc-team-event-system-card p{margin:0;line-height:1.42}.dc-team-event-system-card b{color:#ffe67a}
@keyframes dcTeamEventBorder{to{background-position:0 0,300% 0}}
.te-chat-bonus-overlay{position:fixed;inset:0;z-index:15000;display:grid;place-items:center;padding:18px;background:rgba(4,2,16,.86);backdrop-filter:blur(12px)}
.te-chat-bonus-card{width:min(430px,100%);padding:28px 22px;text-align:center;border:1px solid rgba(255,225,102,.5);background:linear-gradient(150deg,rgba(57,19,85,.98),rgba(12,27,54,.98));box-shadow:0 24px 80px rgba(0,0,0,.55),0 0 42px rgba(255,71,207,.22)}
.te-chat-bonus-icon{font-size:72px;line-height:1;filter:drop-shadow(0 0 24px rgba(255,82,209,.78));animation:teChatBonusFloat 1.5s ease-in-out infinite}
.te-chat-bonus-card small{display:block;margin-top:12px;color:#94efff;font-weight:900;letter-spacing:.12em}.te-chat-bonus-card h2{margin:4px 0 10px;font-size:2rem}.te-chat-bonus-card p{margin:0 0 5px;color:rgba(255,255,255,.82)}
.te-chat-bonus-card>strong{display:block;font-size:1.55rem;color:#ffe77a;margin:8px 0}.te-chat-bonus-card em{display:block;margin:0 0 18px;color:rgba(255,255,255,.7);font-style:normal}.te-chat-bonus-card button{min-width:150px}
@keyframes teChatBonusFloat{50%{transform:translateY(-7px) scale(1.05)}}
@media(prefers-reduced-motion:reduce){.dc-msg-team-event .dc-bubble,.te-chat-bonus-icon{animation:none}}

/* Disco Friends Mobile Compact UX v1
   Nur Darstellung: keine Reihenfolge, Formulare, IDs oder Geschäftslogik. */
@media (max-width:700px){
  /* Gewohnte Struktur bleibt: Überschrift zuerst, Untermenü direkt darunter. */
  body:not(.dc-chat-page) .dash-wrap,
  body:not(.dc-chat-page) .program-wrap,
  body:not(.dc-chat-page) .profile-wrap{
    width:min(100%,760px);
    padding-left:10px!important;
    padding-right:10px!important;
    padding-top:10px!important;
    gap:9px!important;
  }

  body:not(.dc-chat-page) .dash-hero,
  body:not(.dc-chat-page) .program-hero{
    padding:13px 14px!important;
    margin-bottom:8px!important;
    gap:10px!important;
    border-radius:21px!important;
  }
  body:not(.dc-chat-page) .dash-hero h1,
  body:not(.dc-chat-page) .program-hero h1{
    margin:0 0 2px!important;
    font-size:clamp(1.35rem,6vw,1.72rem)!important;
    line-height:1.08!important;
  }
  body:not(.dc-chat-page) .dash-hero h2,
  body:not(.dc-chat-page) .program-hero h2{
    margin:2px 0!important;
    font-size:1rem!important;
    line-height:1.15!important;
  }
  body:not(.dc-chat-page) .dash-hero p,
  body:not(.dc-chat-page) .program-hero p{
    margin:4px 0 0!important;
    font-size:.82rem!important;
    line-height:1.32!important;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
  }
  body:not(.dc-chat-page) .dash-hero>.dc-secondary,
  body:not(.dc-chat-page) .dash-hero>a.dc-secondary{
    min-height:38px!important;
    padding:8px 11px!important;
    font-size:.8rem!important;
    align-self:center;
  }

  /* Untermenüs bleiben direkt unter dem Kopfbereich und werden zuverlässig scrollbar. */
  body:not(.dc-chat-page) .module-tabs,
  body:not(.dc-chat-page) .support-tabs,
  body:not(.dc-chat-page) .team-nav,
  body:not(.dc-chat-page) .tabs,
  body:not(.dc-chat-page) .tabbar{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    gap:6px!important;
    padding:7px!important;
    margin:0 0 9px!important;
    border-radius:16px!important;
  }
  body:not(.dc-chat-page) .module-tabs a,
  body:not(.dc-chat-page) .support-tabs a,
  body:not(.dc-chat-page) .team-nav a,
  body:not(.dc-chat-page) .tabs a,
  body:not(.dc-chat-page) .tabbar a,
  body:not(.dc-chat-page) .module-tabs span,
  body:not(.dc-chat-page) .support-tabs span,
  body:not(.dc-chat-page) .team-nav span{
    flex:0 0 auto!important;
    min-width:max-content!important;
    max-width:none!important;
    min-height:38px!important;
    padding:8px 11px!important;
    font-size:.78rem!important;
    line-height:1.05!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    scroll-snap-align:start;
  }
  body:not(.dc-chat-page) .module-tabs::after,
  body:not(.dc-chat-page) .support-tabs::after,
  body:not(.dc-chat-page) .team-nav::after{
    content:"→"!important;
    flex:0 0 25px!important;
    min-width:25px!important;
    padding:5px!important;
    font-size:14px!important;
    text-align:center;
  }

  /* Karten kompakter, ohne Inhalte oder Funktionen auszublenden. */
  body:not(.dc-chat-page) .dash-card,
  body:not(.dc-chat-page) .program-card,
  body:not(.dc-chat-page) .profile-editor{
    padding:13px!important;
    margin-top:0!important;
    margin-bottom:9px!important;
    border-radius:19px!important;
  }
  body:not(.dc-chat-page) .dash-card>h2:first-child,
  body:not(.dc-chat-page) .program-card>h2:first-child{
    margin:0 0 9px!important;
    gap:7px!important;
    font-size:1.02rem!important;
    line-height:1.18!important;
  }
  body:not(.dc-chat-page) .dash-card>h2:first-child::after,
  body:not(.dc-chat-page) .program-card>h2:first-child::after{
    min-width:22px!important;
  }
  body:not(.dc-chat-page) .dash-card p,
  body:not(.dc-chat-page) .program-card p{
    margin-top:6px;
    margin-bottom:8px;
    line-height:1.38;
  }

  body:not(.dc-chat-page) .dash-grid,
  body:not(.dc-chat-page) .dashboard-info-grid,
  body:not(.dc-chat-page) .dashboard-role-grid,
  body:not(.dc-chat-page) .support-choice-grid,
  body:not(.dc-chat-page) .program-grid{
    gap:8px!important;
  }

  /* Formulare bleiben voll bedienbar, beanspruchen aber weniger Höhe. */
  body:not(.dc-chat-page) label{gap:4px!important;margin-bottom:8px!important;font-size:.86rem}
  body:not(.dc-chat-page) input,
  body:not(.dc-chat-page) select{
    min-height:41px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }
  body:not(.dc-chat-page) textarea{min-height:78px!important}
  body:not(.dc-chat-page) .dc-primary,
  body:not(.dc-chat-page) .dc-secondary,
  body:not(.dc-chat-page) .linkbtn,
  body:not(.dc-chat-page) button:not(.dc-burger):not(.dc-nav-arrow){
    min-height:41px;
    padding-top:8px;
    padding-bottom:8px;
  }

  /* Dashboard: vorhandene Schnellübersicht bleibt, wird nur dichter. */
  body:not(.dc-chat-page) .dashboard-top-grid{
    gap:7px!important;
    margin:8px 0!important;
  }
  body:not(.dc-chat-page) .quick-tile{
    min-height:78px!important;
    padding:9px 6px!important;
    border-radius:17px!important;
  }
  body:not(.dc-chat-page) .quick-tile>span{font-size:1.22rem!important}
  body:not(.dc-chat-page) .quick-tile>b{font-size:1.18rem!important;line-height:1.05!important}
  body:not(.dc-chat-page) .quick-tile>small{font-size:.68rem!important;line-height:1.05!important}
  body:not(.dc-chat-page) .info-card,
  body:not(.dc-chat-page) .role-card{
    padding:11px 12px!important;
    min-height:0!important;
  }
  body:not(.dc-chat-page) .info-card h2,
  body:not(.dc-chat-page) .role-card h2{margin:0 0 4px!important;font-size:.96rem!important}
  body:not(.dc-chat-page) .info-card p,
  body:not(.dc-chat-page) .role-card p{margin:0!important;font-size:.8rem!important;line-height:1.3!important}
  body:not(.dc-chat-page) .mini-action{min-height:36px!important;padding:7px 10px!important;font-size:.76rem!important}
  body:not(.dc-chat-page) .access-strip{padding:9px 11px!important;margin-top:0!important}

  /* Support: keine neue Navigation, nur schneller erreichbare Hauptaktionen. */
  body:not(.dc-chat-page) .support-menu-shell{margin:6px 0 9px!important;padding:7px!important}
  body:not(.dc-chat-page) .support-menu-shell>span{padding:0 4px 5px!important;font-size:.62rem!important}
  body:not(.dc-chat-page) .support-action-card,
  body:not(.dc-chat-page) .support-overview-card{padding:13px!important}
  body:not(.dc-chat-page) .support-step-kicker{font-size:.64rem!important;margin-bottom:3px!important}
  body:not(.dc-chat-page) .support-quick-note{margin:4px 0 9px!important;font-size:.8rem!important;line-height:1.3!important}
  body:not(.dc-chat-page) .support-admin-grid{gap:6px!important;margin:8px 0!important}
  body:not(.dc-chat-page) .support-admin-grid>div{padding:9px 5px!important;min-width:0!important}
  body:not(.dc-chat-page) .support-admin-grid b{font-size:1.02rem!important}
  body:not(.dc-chat-page) .support-admin-grid small{font-size:.64rem!important;line-height:1.05!important}
  body:not(.dc-chat-page) .support-choice{padding:12px 10px!important;min-height:100px!important}
  body:not(.dc-chat-page) .support-choice>span{font-size:1.45rem!important}
  body:not(.dc-chat-page) .support-choice b{font-size:.92rem!important}
  body:not(.dc-chat-page) .support-choice small{font-size:.7rem!important}
  body:not(.dc-chat-page) .support-cost{padding:10px!important;margin:8px 0!important}
  body:not(.dc-chat-page) .support-cost p{margin:3px 0!important}

  /* Teamlisten: mehr Inhalt ohne horizontales Brechen der Steuerung. */
  body:not(.dc-chat-page) .activity-row,
  body:not(.dc-chat-page) .audit-row,
  body:not(.dc-chat-page) .mail-row,
  body:not(.dc-chat-page) .coin-row{
    padding:10px!important;
    margin:7px 0!important;
  }
}

@media (max-width:390px){
  body:not(.dc-chat-page) .dash-wrap,
  body:not(.dc-chat-page) .program-wrap,
  body:not(.dc-chat-page) .profile-wrap{padding-left:7px!important;padding-right:7px!important}
  body:not(.dc-chat-page) .quick-tile{min-height:72px!important;padding:8px 4px!important}
  body:not(.dc-chat-page) .quick-tile>small{font-size:.62rem!important}
  body:not(.dc-chat-page) .support-admin-grid>div{padding:8px 3px!important}
  body:not(.dc-chat-page) .support-admin-grid small{font-size:.58rem!important}
}


/* Team-Chat Aktivität und dezente gemeinsame Überraschungen */
.dc-chat-heading{min-width:0;display:grid;gap:3px}
.dc-chat-heading h1{margin:0!important}
.dc-chat-subline,.dc-chat-activity{margin:0!important;font-size:.75rem;line-height:1.2;color:rgba(255,255,255,.78);white-space:nowrap}
.dc-chat-activity span{color:#70f0a2;font-size:.65rem;text-shadow:0 0 8px rgba(112,240,162,.7)}
.dc-chat-activity i{font-style:normal;opacity:.45;margin:0 3px}
.dc-chat-activity b{font-size:inherit}
.dc-atmosphere{position:fixed;inset:0;z-index:68;pointer-events:none;overflow:hidden}
.dc-atmos{pointer-events:none;opacity:0;will-change:transform,opacity}
.dc-msg.dc-atmos-target{position:relative;overflow:visible!important;contain:layout style!important}
.dc-atmos-disco{position:absolute;z-index:3;width:58px;height:35px;right:18px;top:-25px;transform:translateY(22px) scale(.88);transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .35s}
.dc-atmos-disco img{display:block;width:100%;height:auto;filter:drop-shadow(0 6px 9px rgba(0,0,0,.35))}
.dc-atmos-disco.show{opacity:1;transform:translateY(0) scale(1)}
.dc-atmos-glitter{position:absolute;left:6%;right:6%;top:12%;height:38%;opacity:0;transition:opacity .25s}
.dc-atmos-glitter.show{opacity:1}
.dc-atmos-glitter i{position:absolute;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 10px #fff,0 0 18px #e8b4ff;animation:dcGlitter 1.7s ease-out forwards}
.dc-atmos-glitter i:nth-child(1){left:4%;top:18%;animation-delay:.05s}.dc-atmos-glitter i:nth-child(2){left:19%;top:62%;animation-delay:.22s}.dc-atmos-glitter i:nth-child(3){left:36%;top:26%;animation-delay:.4s}.dc-atmos-glitter i:nth-child(4){left:53%;top:72%;animation-delay:.1s}.dc-atmos-glitter i:nth-child(5){left:70%;top:32%;animation-delay:.33s}.dc-atmos-glitter i:nth-child(6){left:85%;top:60%;animation-delay:.18s}.dc-atmos-glitter i:nth-child(7){left:95%;top:20%;animation-delay:.5s}
@keyframes dcGlitter{0%{transform:translate3d(-10px,18px,0) scale(.3);opacity:0}30%{opacity:.95}100%{transform:translate3d(18px,-26px,0) scale(1.35);opacity:0}}
.dc-atmos-light{position:absolute;top:0;bottom:var(--dc-composer-height,76px);left:-42%;width:34%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.08),rgba(224,154,255,.18),transparent);transform:skewX(-15deg);filter:blur(2px)}
.dc-atmos-light.show{opacity:1;animation:dcLightSweep 1.55s ease-in-out forwards}
@keyframes dcLightSweep{from{left:-42%}to{left:112%}}
.dc-atmos-note{position:absolute;right:12%;top:24%;font-size:30px;font-weight:900;color:#fff;text-shadow:0 0 14px #e18cff;transform:translateY(20px) rotate(-12deg) scale(.7);transition:opacity .3s,transform 1.7s ease-out}
.dc-atmos-note.show{opacity:.88;transform:translateY(-55px) rotate(12deg) scale(1.1)}
@media(max-width:420px){.dc-chat-activity{font-size:.68rem}.dc-atmos-disco{width:50px;height:30px;right:12px;top:-21px}}
@media(prefers-reduced-motion:reduce){.dc-atmosphere{display:none!important}}

/* Modernes internes Postfach v5.2 */
.mail-modern{gap:10px!important}.mail-compact-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;border-radius:22px}.mail-compact-head h1{margin:0;font-size:clamp(1.45rem,5vw,2rem)}.mail-compact-head p{margin:3px 0 0;color:rgba(255,255,255,.72);font-size:.86rem}.mail-head-actions{display:flex;gap:8px;flex-wrap:wrap}.mail-view-tabs{display:flex;align-items:center;gap:7px;padding:7px;border-radius:18px}.mail-view-tabs a{padding:9px 14px;border-radius:13px;color:#fff;text-decoration:none;font-weight:850}.mail-view-tabs a.active{background:linear-gradient(135deg,rgba(255,78,207,.33),rgba(66,220,255,.25));box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}.mail-view-tabs span{margin-left:auto;padding:0 8px;color:rgba(255,255,255,.72);font-size:.82rem}.mail-view-tabs b{color:#fff;font-size:1rem}.mail-modern-section{padding:14px;border-radius:22px}.mail-modern-section>header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}.mail-modern-section h2{margin:0;font-size:1.05rem}.mail-section-kicker{display:block;color:#8feeff;font-size:.63rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}.mail-system-section{border-color:rgba(255,190,72,.28)!important}.mail-modern-list{display:grid;gap:6px}.mail-conversation-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border-radius:16px;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.055)}.mail-conversation-row.unread{background:linear-gradient(135deg,rgba(255,74,201,.14),rgba(67,218,255,.1));border-color:rgba(122,232,255,.28)}.mail-conversation-row.required{box-shadow:inset 3px 0 0 #ffb84d}.mail-conversation-row.locked{opacity:.68}.mail-type-icon,.mail-person-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,rgba(255,83,205,.65),rgba(64,222,255,.55));font-size:1.35rem;flex:none}.mail-type-icon{background:rgba(255,255,255,.09)}.mail-person-avatar img{width:100%;height:100%;object-fit:cover}.mail-person-avatar i{font-style:normal;font-weight:950}.mail-conversation-copy{display:block;min-width:0}.mail-conversation-copy b,.mail-conversation-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-conversation-copy b{font-size:.94rem}.mail-conversation-copy small{margin-top:3px;color:rgba(255,255,255,.72);font-size:.79rem}.mail-conversation-copy .mail-inactive-note{display:block;margin-top:3px;color:#ffd38e;font-size:.68rem}.mail-conversation-meta{display:grid;justify-items:end;gap:5px;min-width:72px}.mail-conversation-meta time{color:rgba(255,255,255,.62);font-size:.68rem;white-space:nowrap}.mail-conversation-meta em{font-style:normal;background:#ff4fc8;color:#fff;border-radius:999px;padding:3px 7px;font-size:.64rem;font-weight:900}.mail-conversation-meta .required-label{background:#ffad3d}.mail-conversation-meta small{color:rgba(255,255,255,.55);font-size:.65rem}.mail-empty{margin:12px 3px;color:rgba(255,255,255,.65)}.mail-picker-box{max-width:650px}.mail-member-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mail-member-picker a{display:flex;align-items:center;gap:10px;padding:10px;border-radius:15px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.11);color:#fff;text-decoration:none}.mail-member-picker a span:last-child{min-width:0}.mail-member-picker b,.mail-member-picker small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-member-picker small{color:rgba(255,255,255,.63);margin-top:2px}.mail-thread-box{width:min(760px,calc(100vw - 20px));padding-bottom:16px}.mail-thread-head{display:flex;align-items:center;gap:11px;padding-right:40px;margin-bottom:12px}.mail-thread-head h2{margin:0;font-size:1.12rem}.mail-thread-head small{color:rgba(255,255,255,.65)}.mail-thread{display:flex;flex-direction:column;gap:8px;max-height:48vh;overflow:auto;padding:8px 3px 14px}.mail-thread-message{display:flex}.mail-thread-message.mine{justify-content:flex-end}.mail-thread-message>div{width:min(88%,560px);padding:10px 12px;border-radius:17px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.11)}.mail-thread-message.mine>div{background:linear-gradient(135deg,rgba(255,74,201,.2),rgba(69,214,255,.14));border-bottom-right-radius:5px}.mail-thread-message.theirs>div{border-bottom-left-radius:5px}.mail-thread-message small,.mail-thread-message time{display:block;color:rgba(255,255,255,.58);font-size:.66rem}.mail-thread-message p{margin:5px 0 6px;white-space:pre-wrap;line-height:1.42}.mail-thread-message time{text-align:right}.mail-thread-compose{display:grid;gap:8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}.mail-thread-compose label{display:grid;gap:5px}.mail-thread-compose label:first-of-type{grid-template-columns:auto minmax(130px,220px);align-items:center}.mail-thread-compose textarea{min-height:92px}.mail-thread-compose button{justify-self:end;min-width:120px}
@media(max-width:640px){.mail-compact-head{align-items:flex-start;padding:12px}.mail-compact-head p{display:none}.mail-head-actions{margin-left:auto}.mail-head-actions .dc-secondary{display:none}.mail-head-actions .dc-primary{width:auto!important;padding:9px 11px!important}.mail-modern-section{padding:10px}.mail-conversation-row{grid-template-columns:42px minmax(0,1fr) auto;padding:9px 8px;gap:8px}.mail-type-icon,.mail-person-avatar{width:42px;height:42px}.mail-conversation-meta{min-width:58px}.mail-conversation-meta time{font-size:.6rem}.mail-member-picker{grid-template-columns:1fr}.mail-thread{max-height:46vh}.mail-thread-message>div{width:92%}.mail-modern-section>header form .dc-secondary{width:auto!important;font-size:.72rem;padding:7px 9px!important}}


/* v4.1.12: kompakte echte Footer-Navigation (dc_footer_menu)
   Nur Darstellung; Navigation und Zielseiten bleiben unverändert. */
body:not(.dc-chat-page) .dc-bottom-nav.dfz-bottom-v4111{
  grid-template-columns:46px minmax(0,1fr) 30px!important;
  gap:4px!important;
  padding:5px calc(7px + env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) calc(7px + env(safe-area-inset-left))!important;
}
body:not(.dc-chat-page) .dc-bottom-nav.dfz-bottom-v4111 > button{
  width:100%!important;
  min-width:0!important;
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
}
body:not(.dc-chat-page) .dc-bottom-nav.dfz-bottom-v4111 > .dc-nav-arrow img{
  width:18px!important;
  height:18px!important;
}
body:not(.dc-chat-page) .dc-bottom-nav.dfz-bottom-v4111 > .dc-burger img{
  width:23px!important;
  height:23px!important;
}
body:not(.dc-chat-page) .dc-bottom-nav.dfz-bottom-v4111 nav{
  gap:5px!important;
  align-items:center!important;
}
body:not(.dc-chat-page) .dc-bottom-nav.dfz-bottom-v4111 nav a{
  min-height:44px!important;
  min-width:0!important;
  gap:5px!important;
  padding:5px 8px!important;
  justify-content:center!important;
  border-radius:15px!important;
}
body:not(.dc-chat-page) .dc-bottom-nav.dfz-bottom-v4111 .dc-nav-icon{
  position:relative!important;
  width:24px!important;
  height:24px!important;
  flex:0 0 24px!important;
  display:grid!important;
  place-items:center!important;
}
body:not(.dc-chat-page) .dc-bottom-nav.dfz-bottom-v4111 .dc-nav-icon > img{
  width:23px!important;
  height:23px!important;
  margin:0!important;
}
body:not(.dc-chat-page) .dc-bottom-nav.dfz-bottom-v4111 nav a em{
  margin:0!important;
  font-size:11px!important;
  line-height:1!important;
}
body:not(.dc-chat-page) .dc-bottom-nav.dfz-bottom-v4111 .dc-nav-icon > .nav-badge{
  position:absolute!important;
  top:-5px!important;
  right:-7px!important;
  min-width:16px!important;
  height:16px!important;
  padding:0 4px!important;
  margin:0!important;
  font-size:10px!important;
  line-height:16px!important;
  z-index:2!important;
}
@media(max-width:520px){
  body:not(.dc-chat-page) .dc-bottom-nav.dfz-bottom-v4111{
    grid-template-columns:44px minmax(0,1fr) 28px!important;
    gap:3px!important;
    padding-left:5px!important;
    padding-right:5px!important;
  }
  body:not(.dc-chat-page) .dc-bottom-nav.dfz-bottom-v4111 nav a{
    padding:5px 7px!important;
  }
}

/* DiscoFeed shares inside chat and internal mail */
.dc-discofeed-share,
.mail-discofeed-share{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  margin-top:6px;
  padding:8px 14px;
  border-radius:999px;
  background:linear-gradient(135deg,#ff43bc,#654bff);
  color:#fff!important;
  font-weight:900;
  text-decoration:none!important;
  box-shadow:0 8px 22px rgba(0,0,0,.24);
}

/* Kompaktes Team-Pulldown und eigenständiger TeamChef-Radiobereich */
.team-pulldown-nav{margin:12px 0;padding:12px;border:1px solid rgba(255,255,255,.15);border-radius:20px;background:linear-gradient(135deg,rgba(31,13,49,.94),rgba(12,25,51,.92));box-shadow:0 14px 36px rgba(0,0,0,.22);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.team-pulldown-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.team-pulldown-head>div{display:flex;flex-direction:column}.team-pulldown-head small{opacity:.66;font-size:11px;margin-top:2px}.team-pulldown-head>a{color:#fff;text-decoration:none;padding:7px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);font-size:12px;font-weight:800}.team-pulldown-nav label span{display:block;margin-bottom:5px;font-size:11px;opacity:.68;font-weight:800}.team-pulldown-nav select{width:100%;min-height:44px;border-radius:13px;border:1px solid rgba(255,255,255,.2);background:#170c25;color:#fff;padding:0 10px}.team-radio-approval-grid{grid-template-columns:1fr}.team-radio-approval{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px}.team-radio-approval>img{width:140px;height:140px;object-fit:cover;border-radius:18px}.team-radio-approval audio{width:100%;margin:6px 0 12px}.team-radio-approval form{display:grid;gap:8px}.team-radio-periods{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.team-radio-periods a{color:#fff;text-decoration:none;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);font-size:12px;font-weight:800}.team-radio-periods a.active{background:linear-gradient(135deg,#ff58bd,#5edfff)}.team-radio-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.team-radio-kpis article{padding:13px 8px;text-align:center;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.055)}.team-radio-kpis b{display:block;font-size:1.35rem}.team-radio-kpis span{display:block;font-size:.75rem;opacity:.68;margin-top:4px}.team-radio-genre{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.09)}
@media(max-width:680px){.team-radio-approval{grid-template-columns:1fr}.team-radio-approval>img{width:110px;height:110px}.team-radio-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* ==========================================================================
   DFZ central footer component – compact disco edition
   Visual design is fully scoped to .dfz-footer. Parent/page classes may only
   control functional positioning or the safe-area contribution.
   ========================================================================== */

/* The chat bottom block already contributes the iPhone safe area. */
body.dc-chat-page .dc-chat-bottom > .dfz-footer{
  --dfz-footer-safe-bottom:0px;
}

footer.dfz-footer{
  --dfz-footer-button-width:56px;
  --dfz-footer-button-height:44px;
  --dfz-footer-gap:6px;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) 28px!important;
  gap:6px!important;
  align-items:center!important;
  margin:0!important;
  padding:6px calc(8px + env(safe-area-inset-right))
    calc(6px + var(--dfz-footer-safe-bottom,env(safe-area-inset-bottom)))
    calc(8px + env(safe-area-inset-left))!important;
  border:0!important;
  border-top:1px solid rgba(137,235,255,.24)!important;
  border-radius:0!important;
  background:
    radial-gradient(circle at 18% 0%,rgba(255,73,214,.14),transparent 34%),
    radial-gradient(circle at 82% 0%,rgba(61,224,255,.13),transparent 32%),
    linear-gradient(180deg,rgba(25,11,45,.90),rgba(8,5,18,.985))!important;
  backdrop-filter:blur(22px) saturate(1.28)!important;
  -webkit-backdrop-filter:blur(22px) saturate(1.28)!important;
  box-shadow:
    0 -14px 38px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.08)!important;
  color:#fff!important;
  overflow:hidden!important;
}

footer.dfz-footer > button{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  height:var(--dfz-footer-button-height)!important;
  min-height:var(--dfz-footer-button-height)!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:15px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.045))!important;
  border:1px solid rgba(255,255,255,.15)!important;
  color:#fff!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 7px 18px rgba(0,0,0,.17)!important;
  transform:none!important;
}

footer.dfz-footer > button:active{
  filter:brightness(1.08)!important;
  transform:none!important;
}

footer.dfz-footer > .dc-burger img{
  display:block!important;
  width:21px!important;
  height:21px!important;
  object-fit:contain!important;
}

footer.dfz-footer > .dc-nav-arrow img{
  display:block!important;
  width:17px!important;
  height:17px!important;
  object-fit:contain!important;
}

footer.dfz-footer > nav{
  box-sizing:border-box!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:var(--dfz-footer-gap)!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-x:contain!important;
  padding:0!important;
}

footer.dfz-footer > nav::-webkit-scrollbar{
  display:none!important;
}

footer.dfz-footer > nav > a{
  box-sizing:border-box!important;
  flex:0 0 var(--dfz-footer-button-width)!important;
  width:var(--dfz-footer-button-width)!important;
  min-width:var(--dfz-footer-button-width)!important;
  max-width:var(--dfz-footer-button-width)!important;
  height:var(--dfz-footer-button-height)!important;
  min-height:var(--dfz-footer-button-height)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  padding:5px!important;
  border-radius:15px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.035))!important;
  border:1px solid rgba(255,255,255,.14)!important;
  color:rgba(255,255,255,.90)!important;
  text-decoration:none!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 7px 18px rgba(0,0,0,.16)!important;
  transform:none!important;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,filter .16s ease!important;
}

footer.dfz-footer > nav > a:hover,
footer.dfz-footer > nav > a:focus-visible{
  border-color:rgba(112,232,255,.36)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.055))!important;
  transform:none!important;
}

footer.dfz-footer > nav > a.active{
  width:var(--dfz-footer-button-width)!important;
  min-width:var(--dfz-footer-button-width)!important;
  max-width:var(--dfz-footer-button-width)!important;
  height:var(--dfz-footer-button-height)!important;
  min-height:var(--dfz-footer-button-height)!important;
  background:
    radial-gradient(circle at 24% 8%,rgba(255,255,255,.20),transparent 34%),
    linear-gradient(135deg,rgba(255,67,207,.34),rgba(95,89,255,.24) 52%,rgba(45,219,255,.30))!important;
  border-color:rgba(119,235,255,.56)!important;
  color:#fff!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    0 0 0 1px rgba(255,75,211,.10),
    0 0 20px rgba(54,217,255,.20),
    0 8px 22px rgba(0,0,0,.20)!important;
  transform:none!important;
}

footer.dfz-footer > nav > a .dc-nav-icon{
  position:relative!important;
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
  display:grid!important;
  place-items:center!important;
  transform:none!important;
}

footer.dfz-footer > nav > a .dc-nav-icon > img{
  display:block!important;
  width:21px!important;
  height:21px!important;
  margin:0!important;
  object-fit:contain!important;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.52))!important;
  transform:none!important;
}

footer.dfz-footer > nav > a.active .dc-nav-icon > img{
  filter:
    drop-shadow(0 0 6px rgba(255,86,216,.30))
    drop-shadow(0 0 7px rgba(63,226,255,.28))!important;
  transform:none!important;
}

footer.dfz-footer > nav > a > em{
  min-width:0!important;
  margin:0!important;
  font-style:normal!important;
  font-size:9px!important;
  font-weight:850!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

footer.dfz-footer .nav-badge{
  position:absolute!important;
  top:-5px!important;
  right:-7px!important;
  min-width:16px!important;
  height:16px!important;
  padding:0 4px!important;
  margin:0!important;
  border-radius:999px!important;
  font-size:10px!important;
  line-height:16px!important;
  z-index:2!important;
}

@media(max-width:520px){
  footer.dfz-footer{
    --dfz-footer-button-width:52px;
    --dfz-footer-gap:5px;
    grid-template-columns:42px minmax(0,1fr) 27px!important;
    gap:4px!important;
    padding-left:5px!important;
    padding-right:5px!important;
  }
  footer.dfz-footer > nav > a > em{
    display:none!important;
  }
}

@media(max-width:380px){
  footer.dfz-footer{
    --dfz-footer-button-width:49px;
    --dfz-footer-gap:4px;
  }
  footer.dfz-footer > .dc-burger img{
    width:20px!important;
    height:20px!important;
  }
}



/* v5.2.x Burger-Menü: an den zentral gekapselten Footer angepasst.
   Der Footer selbst bleibt unverändert; nur das Untermenü lebt als eigener Fixed-Layer. */
.dfz-burger-menu{
  position:fixed!important;
  z-index:2147482500!important;
  left:max(10px,env(safe-area-inset-left))!important;
  right:max(10px,env(safe-area-inset-right))!important;
  bottom:calc(62px + env(safe-area-inset-bottom))!important;
  width:auto!important;
  max-width:520px!important;
  max-height:min(68dvh,620px)!important;
  margin:0 auto!important;
  padding:12px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  box-sizing:border-box!important;
  border:1px solid rgba(122,232,255,.28)!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 12% 0%,rgba(255,71,211,.22),transparent 34%),
    radial-gradient(circle at 88% 0%,rgba(53,224,255,.20),transparent 32%),
    linear-gradient(155deg,rgba(34,15,61,.985),rgba(9,8,25,.99))!important;
  box-shadow:0 28px 90px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.10)!important;
  backdrop-filter:blur(24px) saturate(1.25)!important;
  -webkit-backdrop-filter:blur(24px) saturate(1.25)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(12px) scale(.985)!important;
  transform-origin:bottom center!important;
  transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s!important;
}
.dfz-burger-menu.open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0) scale(1)!important;
  transition-delay:0s!important;
}
.dfz-burger-menu .burger-title{
  grid-column:1/-1!important;
  display:flex!important;
  align-items:center!important;
  min-height:34px!important;
  padding:2px 5px 8px!important;
  color:#a8f4ff!important;
  font-size:11px!important;
  font-weight:950!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.dfz-burger-menu .burger-title::before{
  content:"";
  width:8px;
  height:8px;
  margin-right:8px;
  border-radius:50%;
  background:linear-gradient(135deg,#ff55d6,#55e8ff);
  box-shadow:0 0 12px rgba(255,74,213,.50),0 0 14px rgba(72,229,255,.38);
}
.dfz-burger-menu a{
  min-width:0!important;
  min-height:46px!important;
  display:flex!important;
  align-items:center!important;
  padding:10px 12px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:15px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.035))!important;
  color:rgba(255,255,255,.94)!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1.2!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 7px 20px rgba(0,0,0,.17)!important;
  overflow-wrap:anywhere!important;
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease!important;
}
.dfz-burger-menu a:hover,
.dfz-burger-menu a:focus-visible{
  border-color:rgba(102,232,255,.46)!important;
  background:linear-gradient(135deg,rgba(255,74,211,.18),rgba(56,219,255,.14))!important;
  box-shadow:0 0 20px rgba(62,220,255,.12),inset 0 1px 0 rgba(255,255,255,.09)!important;
  outline:none!important;
}
@media(max-width:520px){
  .dfz-burger-menu{
    left:max(7px,env(safe-area-inset-left))!important;
    right:max(7px,env(safe-area-inset-right))!important;
    bottom:calc(60px + env(safe-area-inset-bottom))!important;
    grid-template-columns:1fr!important;
    max-height:min(72dvh,640px)!important;
    padding:10px!important;
    gap:7px!important;
    border-radius:21px!important;
  }
  .dfz-burger-menu a{min-height:44px!important;padding:10px 12px!important;}
}
@media(prefers-reduced-motion:reduce){
  .dfz-burger-menu{transition:none!important;transform:none!important;}
}

.dc-msg-discogotchi-joke .dc-bubble{background:linear-gradient(145deg,rgba(255,244,168,.96),rgba(255,206,232,.96));border:1px solid rgba(150,88,25,.45);color:#22150b}
.dc-discogotchi-joke-avatar{background:linear-gradient(145deg,#ffe86a,#ff8bc7)!important;color:#27120b!important}
.dc-discogotchi-joke-card small{display:block;font-weight:900;color:#713b0d;margin-bottom:7px}
.dc-discogotchi-joke-card p{margin:0;font-weight:800;white-space:pre-wrap}


/* Wiederhergestelltes DiscoGotchi-Feierdesign */
.dc-msg-discogotchi-name{justify-content:center!important}.dc-msg-discogotchi-name .dc-bubble{max-width:min(88%,520px)!important;background:transparent!important;border:0!important;box-shadow:none!important}.dc-discogotchi-name-avatar{background:linear-gradient(135deg,#ff58cf,#5aeaff)!important;box-shadow:0 0 24px rgba(255,89,211,.45)}.dc-discogotchi-name-card{position:relative;isolation:isolate;overflow:hidden;text-align:center;padding:18px;border:1px solid rgba(255,255,255,.25);border-radius:23px;background:radial-gradient(circle at 50% 10%,rgba(255,231,93,.23),transparent 34%),linear-gradient(145deg,rgba(82,20,125,.96),rgba(13,38,82,.96));box-shadow:0 16px 42px rgba(0,0,0,.3)}.dc-discogotchi-name-card>*:not(.dc-discogotchi-party){position:relative;z-index:2}.dc-discogotchi-name-card small{display:block;color:#ffe770;font-weight:1000;letter-spacing:.15em}.dc-discogotchi-name-card p{margin:7px 0}.dc-discogotchi-name-card h3{margin:5px 0;font-size:clamp(27px,7vw,46px);line-height:1;color:#fff;text-shadow:0 0 13px #ff54cd,0 0 25px #56eaff}.dc-discogotchi-party{position:absolute;inset:0;opacity:.58;background-image:radial-gradient(circle,#ffe66a 0 3px,transparent 4px),radial-gradient(circle,#ff5bd5 0 3px,transparent 4px),radial-gradient(circle,#62edff 0 3px,transparent 4px);background-size:61px 73px,77px 59px,53px 81px;animation:dcGotchiParty 2.5s linear infinite}.dc-discogotchi-gift,.dc-discogotchi-gift-label{display:inline-flex;align-items:center;justify-content:center;margin-top:10px;padding:10px 16px;border-radius:999px;font-weight:1000}.dc-discogotchi-gift{border:1px solid rgba(255,255,255,.3);background:linear-gradient(135deg,#ff54ce,#6c65ff);color:#fff;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.24)}.dc-discogotchi-gift-label{background:rgba(255,255,255,.1);color:#ffe8f8}@keyframes dcGotchiParty{to{background-position:0 170px,0 145px,0 200px}}


/* ==========================================================================
   v5.2.x Chat footer cache-safe geometry fix
   chat_v416.css is imported and older PWA/browser caches may still contain
   its former grid-based footer rules. These selectors intentionally mirror
   that old specificity so the central footer geometry wins in every case.
   ========================================================================== */
body.dc-chat-page .dc-chat-bottom .dc-bottom-nav.dfz-bottom-v4111{
  grid-template-columns:44px minmax(0,1fr) 28px!important;
  gap:6px!important;
  padding-left:calc(8px + env(safe-area-inset-left))!important;
  padding-right:calc(8px + env(safe-area-inset-right))!important;
}
body.dc-chat-page .dc-chat-bottom .dc-bottom-nav.dfz-bottom-v4111 nav{
  box-sizing:border-box!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0 auto!important;
  display:flex!important;
  grid-template-columns:none!important;
  grid-auto-flow:initial!important;
  grid-auto-columns:initial!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:var(--dfz-footer-gap)!important;
  padding:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
body.dc-chat-page .dc-chat-bottom .dc-bottom-nav.dfz-bottom-v4111 nav a{
  box-sizing:border-box!important;
  flex:0 0 var(--dfz-footer-button-width)!important;
  width:var(--dfz-footer-button-width)!important;
  min-width:var(--dfz-footer-button-width)!important;
  max-width:var(--dfz-footer-button-width)!important;
  height:var(--dfz-footer-button-height)!important;
  min-height:var(--dfz-footer-button-height)!important;
  gap:4px!important;
  padding:5px!important;
}
body.dc-chat-page .dc-chat-bottom .dc-bottom-nav.dfz-bottom-v4111 .dc-nav-icon{
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
}
body.dc-chat-page .dc-chat-bottom .dc-bottom-nav.dfz-bottom-v4111 .dc-nav-icon > img{
  width:21px!important;
  height:21px!important;
}
body.dc-chat-page .dc-chat-bottom .dc-bottom-nav.dfz-bottom-v4111 nav a em{
  font-size:9px!important;
}
@media(max-width:520px){
  body.dc-chat-page .dc-chat-bottom .dc-bottom-nav.dfz-bottom-v4111{
    grid-template-columns:42px minmax(0,1fr) 27px!important;
    gap:4px!important;
    padding-left:5px!important;
    padding-right:5px!important;
  }
  body.dc-chat-page .dc-chat-bottom .dc-bottom-nav.dfz-bottom-v4111 nav{
    gap:var(--dfz-footer-gap)!important;
  }
  body.dc-chat-page .dc-chat-bottom .dc-bottom-nav.dfz-bottom-v4111 nav a{
    padding:5px!important;
  }
  body.dc-chat-page .dc-chat-bottom .dc-bottom-nav.dfz-bottom-v4111 nav a em{
    display:none!important;
  }
}

/* v5.2.x Burger-Menü: aufklappbare Bereiche ohne Änderung der bestehenden Footer-Logik. */
.dfz-burger-menu .dfz-burger-group{
  grid-column:1/-1!important;
  display:block!important;
  min-width:0!important;
}
.dfz-burger-menu .dfz-burger-toggle{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:100%!important;
  min-height:52px!important;
  margin:0!important;
  padding:9px 12px!important;
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr) 22px!important;
  gap:9px!important;
  align-items:center!important;
  text-align:left!important;
  border:1px solid rgba(97,229,255,.28)!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,rgba(255,76,211,.13),rgba(53,218,255,.10))!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 22px rgba(0,0,0,.18)!important;
  cursor:pointer!important;
  transform:none!important;
  filter:none!important;
}
.dfz-burger-menu .dfz-burger-toggle:hover,
.dfz-burger-menu .dfz-burger-toggle:focus-visible,
.dfz-burger-menu .dfz-burger-toggle[aria-expanded="true"]{
  border-color:rgba(98,234,255,.55)!important;
  background:linear-gradient(135deg,rgba(255,76,211,.21),rgba(53,218,255,.17))!important;
  box-shadow:0 0 22px rgba(57,220,255,.10),inset 0 1px 0 rgba(255,255,255,.10)!important;
  outline:none!important;
}
.dfz-burger-toggle-icon{
  display:grid!important;
  place-items:center!important;
  width:30px!important;
  height:30px!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.10)!important;
  font-size:17px!important;
  line-height:1!important;
}
.dfz-burger-toggle-copy{
  min-width:0!important;
  display:flex!important;
  align-items:baseline!important;
  gap:8px!important;
}
.dfz-burger-toggle-copy strong{
  min-width:0!important;
  font-size:13.5px!important;
  font-weight:950!important;
  line-height:1.15!important;
}
.dfz-burger-toggle-copy small{
  flex:0 0 auto!important;
  color:#9fefff!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.dfz-burger-chevron{
  width:17px!important;
  height:17px!important;
  justify-self:end!important;
  opacity:.9!important;
  transform:rotate(0deg)!important;
  transition:transform .16s ease!important;
}
.dfz-burger-toggle[aria-expanded="true"] .dfz-burger-chevron{
  transform:rotate(90deg)!important;
}
.dfz-burger-submenu{
  margin-top:7px!important;
  padding:7px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:15px!important;
  background:rgba(0,0,0,.16)!important;
}
.dfz-burger-submenu[hidden]{display:none!important;}
.dfz-burger-menu a.dfz-burger-subitem{
  min-height:42px!important;
  padding:9px 11px 9px 15px!important;
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(255,255,255,.09)!important;
  box-shadow:none!important;
  font-size:12.5px!important;
}
.dfz-burger-menu a.dfz-burger-subitem::before{
  content:"";
  flex:0 0 auto;
  width:4px;
  height:4px;
  margin-right:7px;
  border-radius:50%;
  background:#77ecff;
  box-shadow:0 0 8px rgba(98,232,255,.55);
}
.dfz-burger-menu a.dfz-burger-flat{
  min-height:44px!important;
}
.dfz-burger-menu a.dfz-burger-logout{
  grid-column:1/-1!important;
  min-height:46px!important;
  margin-top:2px!important;
  justify-content:center!important;
  border-color:rgba(255,104,136,.28)!important;
  background:linear-gradient(135deg,rgba(255,72,112,.13),rgba(255,255,255,.035))!important;
}
.dfz-burger-menu a.dfz-burger-logout:hover,
.dfz-burger-menu a.dfz-burger-logout:focus-visible{
  border-color:rgba(255,116,145,.5)!important;
  background:linear-gradient(135deg,rgba(255,72,112,.22),rgba(255,255,255,.05))!important;
}
@media(max-width:520px){
  .dfz-burger-submenu{grid-template-columns:1fr!important;}
  .dfz-burger-toggle-copy{display:grid!important;gap:2px!important;}
  .dfz-burger-toggle-copy small{font-size:8.5px!important;}
}
@media(max-width:350px){
  .dfz-burger-menu .dfz-burger-toggle{grid-template-columns:29px minmax(0,1fr) 19px!important;padding-left:10px!important;padding-right:10px!important;}
  .dfz-burger-toggle-icon{width:28px!important;height:28px!important;font-size:16px!important;}
}
@media(prefers-reduced-motion:reduce){
  .dfz-burger-chevron{transition:none!important;}
}


/* ==========================================================================
   Chat mobile keyboard refinement – NUR chat.php
   Der Fokusmodus wird sofort beim mobilen Textfeld-Fokus aktiv. Die eigentliche
   Keyboard-Hoehe wird separat stabilisiert, damit Tastaturanimationen die
   Endposition nicht zufaellig beeinflussen.
   ========================================================================== */
body.dc-chat-page.dc-chat-input-focus .dc-chat-bottom,
body.dc-chat-page.dc-chat-keyboard-open .dc-chat-bottom{
  padding-bottom:0!important;
}
body.dc-chat-page.dc-chat-input-focus .dc-chat-bottom > .dfz-footer,
body.dc-chat-page.dc-chat-keyboard-open .dc-chat-bottom > .dfz-footer{
  display:none!important;
}
/* Nur Textfeld + Senden, sobald das mobile Textfeld den Fokus hat. */
body.dc-chat-page.dc-chat-input-focus .dc-chat-bottom .dc-composer,
body.dc-chat-page.dc-chat-keyboard-open .dc-chat-bottom .dc-composer{
  grid-template-columns:minmax(0,1fr) 44px!important;
  gap:6px!important;
  padding:7px 7px!important;
  padding-left:calc(7px + env(safe-area-inset-left))!important;
  padding-right:calc(7px + env(safe-area-inset-right))!important;
  padding-bottom:7px!important;
}
body.dc-chat-page.dc-chat-input-focus .dc-composer > .dc-composer-icon,
body.dc-chat-page.dc-chat-keyboard-open .dc-composer > .dc-composer-icon{
  display:none!important;
}
body.dc-chat-page.dc-chat-input-focus #dcText,
body.dc-chat-page.dc-chat-keyboard-open #dcText{
  grid-column:1!important;
  grid-row:auto!important;
  justify-self:stretch!important;
  align-self:stretch!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}
body.dc-chat-page.dc-chat-input-focus .dc-send,
body.dc-chat-page.dc-chat-keyboard-open .dc-send{
  grid-column:2!important;
  grid-row:auto!important;
  justify-self:end!important;
  min-width:44px!important;
  width:44px!important;
  max-width:44px!important;
  margin:0!important;
  padding:0!important;
}
body.dc-chat-page.dc-chat-input-focus .dc-file-preview,
body.dc-chat-page.dc-chat-input-focus .reply-box,
body.dc-chat-page.dc-chat-keyboard-open .dc-file-preview,
body.dc-chat-page.dc-chat-keyboard-open .reply-box{
  grid-column:1/-1!important;
}
body.dc-chat-page.dc-chat-input-focus .dc-messages,
body.dc-chat-page.dc-chat-keyboard-open .dc-messages{
  padding-bottom:14px!important;
  scroll-padding-bottom:14px!important;
}
body.dc-chat-page.dc-chat-input-focus .dc-jump-bottom,
body.dc-chat-page.dc-chat-keyboard-open .dc-jump-bottom{
  bottom:72px!important;
}



/* v2026-08-23 Chat keyboard stability final: only textarea + send while typing. */
body.dc-chat-page .reply-box[hidden]{display:none!important;}
body.dc-chat-page.dc-chat-input-focus .dc-composer > :not(#dcText):not(.dc-send),
body.dc-chat-page.dc-chat-keyboard-open .dc-composer > :not(#dcText):not(.dc-send){
  display:none!important;
}
body.dc-chat-page.dc-chat-input-focus .dc-chat-bottom .dc-composer,
body.dc-chat-page.dc-chat-keyboard-open .dc-chat-bottom .dc-composer{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 52px!important;
  grid-template-rows:auto!important;
  align-items:end!important;
  column-gap:8px!important;
  row-gap:0!important;
}
body.dc-chat-page.dc-chat-input-focus #dcText,
body.dc-chat-page.dc-chat-keyboard-open #dcText{
  display:block!important;
  grid-column:1!important;
  min-height:44px!important;
}
body.dc-chat-page.dc-chat-input-focus .dc-send,
body.dc-chat-page.dc-chat-keyboard-open .dc-send{
  display:grid!important;
  place-items:center!important;
  grid-column:2!important;
  width:52px!important;
  min-width:52px!important;
  height:52px!important;
}


/* Chat UX 2026-08-23: Linkvorschauen bewusst im DiscoFriends-Dark-Look. */
body.dc-chat-page .dc-preview{
  margin-top:10px!important;
  display:grid!important;
  grid-template-columns:132px minmax(0,1fr)!important;
  min-height:104px!important;
  overflow:hidden!important;
  border:1px solid rgba(95,226,255,.30)!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 8% 0%,rgba(255,75,210,.16),transparent 38%),
    linear-gradient(145deg,rgba(20,10,38,.96),rgba(10,18,36,.95))!important;
  box-shadow:0 12px 30px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.07)!important;
  color:#fff!important;
  text-decoration:none!important;
}
body.dc-chat-page .dc-preview:hover,
body.dc-chat-page .dc-preview:focus-visible{
  border-color:rgba(255,90,220,.58)!important;
  box-shadow:0 15px 36px rgba(0,0,0,.34),0 0 0 2px rgba(95,226,255,.08)!important;
}
body.dc-chat-page .dc-preview-media{
  display:block!important;
  width:132px!important;
  height:100%!important;
  min-height:104px!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.06)!important;
  border-right:1px solid rgba(255,255,255,.10)!important;
}
body.dc-chat-page .dc-preview-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:104px!important;
  object-fit:cover!important;
}
body.dc-chat-page .dc-preview-copy{
  display:grid!important;
  align-content:center!important;
  gap:4px!important;
  min-width:0!important;
  padding:11px 13px!important;
}
body.dc-chat-page .dc-preview-domain{
  color:#6eeaff!important;
  font-size:.70rem!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.dc-chat-page .dc-preview strong{
  color:#fff!important;
  font-size:.92rem!important;
  line-height:1.25!important;
  overflow-wrap:anywhere!important;
}
body.dc-chat-page .dc-preview p{
  margin:1px 0 0!important;
  color:rgba(239,230,251,.78)!important;
  font-size:.78rem!important;
  line-height:1.3!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
body.dc-chat-page .dc-preview em{
  margin-top:2px!important;
  color:rgba(255,255,255,.58)!important;
  font-size:.69rem!important;
  font-style:normal!important;
  font-weight:800!important;
}
body.dc-chat-page .dc-preview.no-image{
  grid-template-columns:minmax(0,1fr)!important;
}
@media(max-width:560px){
  body.dc-chat-page .dc-preview.has-image{
    grid-template-columns:1fr!important;
  }
  body.dc-chat-page .dc-preview-media{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16/9!important;
    border-right:0!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
  }
  body.dc-chat-page .dc-preview-media img{
    min-height:0!important;
    aspect-ratio:16/9!important;
  }
}

.dc-live-end-marker{display:block;width:1px;height:1px;margin:0;padding:0;pointer-events:none;opacity:0}


.dc-history-anchor{scroll-margin:0!important}


/* ==========================================================================
   DiscoFriends Chat Tageslicht
   --------------------------------------------------------------------------
   Die Tageszeit sitzt absichtlich DIREKT auf .dc-chat. Diese Ebene fuellt im
   mobilen Chat den sichtbaren Bildschirm und lag bisher als nahezu deckende
   Glasflaeche ueber .dc-bg. Nachrichten, Header, Composer, Footer, Scroll- und
   Tastaturgeometrie bleiben unveraendert.

   Klassen werden einmalig beim PHP-Aufruf gesetzt:
   05-08 sunrise | 08-11 morning | 11-15 day
   15-18 golden  | 18-22 sunset  | 22-05 night
   ========================================================================== */

body.dc-chat-page .dc-chat{
  --dc-time-pos-a:12% 10%;
  --dc-time-pos-b:88% 20%;
  --dc-time-pos-c:52% 92%;
  background-repeat:no-repeat!important;
  background-attachment:local!important;
  animation:dcTimeLightDrift 54s ease-in-out infinite alternate;
  will-change:background-position;
}

/* 05-08 Uhr: dunkles Disco-Blau trifft den ersten warmen Horizont. */
body.dc-chat-page.dc-time-sunrise .dc-chat{
  background:
    radial-gradient(ellipse at 50% 105%,rgba(255,177,104,.30) 0%,rgba(255,91,180,.20) 23%,transparent 49%),
    radial-gradient(circle at 13% 18%,rgba(80,225,255,.19) 0%,transparent 34%),
    radial-gradient(circle at 86% 28%,rgba(255,77,213,.17) 0%,transparent 31%),
    linear-gradient(180deg,#121232 0%,#281348 52%,#42143e 78%,#302044 100%)!important;
}

/* 08-11 Uhr: frisch, klar, aber weiterhin unverkennbar DiscoFriends. */
body.dc-chat-page.dc-time-morning .dc-chat{
  background:
    radial-gradient(circle at 78% 8%,rgba(245,252,255,.19) 0 5%,transparent 22%),
    radial-gradient(circle at 14% 28%,rgba(73,232,255,.24) 0%,transparent 35%),
    radial-gradient(circle at 88% 66%,rgba(255,84,216,.15) 0%,transparent 33%),
    linear-gradient(165deg,#142448 0%,#173b5a 42%,#29305e 72%,#24183f 100%)!important;
}

/* 11-15 Uhr: heller Cyan-Lichtschein ohne Wetter-App-Optik. */
body.dc-chat-page.dc-time-day .dc-chat{
  background:
    radial-gradient(ellipse at 52% -8%,rgba(243,253,255,.23) 0%,rgba(99,228,255,.15) 22%,transparent 48%),
    radial-gradient(circle at 9% 56%,rgba(63,220,255,.20) 0%,transparent 34%),
    radial-gradient(circle at 91% 70%,rgba(250,85,220,.13) 0%,transparent 33%),
    linear-gradient(165deg,#153052 0%,#174660 44%,#253c62 72%,#281943 100%)!important;
}

/* 15-18 Uhr: blau-violette Basis mit langsamem goldenen Seitenlicht. */
body.dc-chat-page.dc-time-golden .dc-chat{
  background:
    radial-gradient(circle at 92% 30%,rgba(255,209,111,.24) 0%,rgba(255,154,96,.12) 24%,transparent 45%),
    radial-gradient(circle at 11% 26%,rgba(69,220,255,.17) 0%,transparent 34%),
    radial-gradient(circle at 43% 88%,rgba(230,79,255,.16) 0%,transparent 38%),
    linear-gradient(165deg,#172649 0%,#2b2855 47%,#42264f 74%,#31203f 100%)!important;
}

/* 18-22 Uhr: der staerkste DiscoFriends-Moment, aber weiterhin ruhig genug zum Lesen. */
body.dc-chat-page.dc-time-sunset .dc-chat{
  background:
    radial-gradient(ellipse at 84% 94%,rgba(255,168,86,.30) 0%,rgba(255,77,173,.19) 25%,transparent 49%),
    radial-gradient(circle at 13% 20%,rgba(67,218,255,.18) 0%,transparent 34%),
    radial-gradient(circle at 77% 29%,rgba(255,61,216,.20) 0%,transparent 34%),
    linear-gradient(175deg,#19163d 0%,#392051 45%,#591b51 72%,#34172f 100%)!important;
}

/* 22-05 Uhr: Navy, Mondlicht, wenige sehr dezente Sterne und Neon-Glow. */
body.dc-chat-page.dc-time-night .dc-chat{
  background:
    radial-gradient(circle at 82% 13%,rgba(241,247,255,.34) 0 2.1%,rgba(193,216,255,.12) 4.8%,transparent 12%),
    radial-gradient(circle at 14% 13%,rgba(255,255,255,.48) 0 1px,transparent 1.7px),
    radial-gradient(circle at 31% 20%,rgba(179,228,255,.40) 0 1px,transparent 1.8px),
    radial-gradient(circle at 58% 10%,rgba(255,255,255,.35) 0 1px,transparent 1.7px),
    radial-gradient(circle at 91% 31%,rgba(198,221,255,.38) 0 1px,transparent 1.8px),
    radial-gradient(circle at 70% 38%,rgba(255,255,255,.29) 0 1px,transparent 1.7px),
    radial-gradient(circle at 18% 42%,rgba(148,225,255,.24) 0 1px,transparent 1.8px),
    radial-gradient(circle at 8% 60%,rgba(61,220,255,.17) 0%,transparent 32%),
    radial-gradient(circle at 91% 77%,rgba(203,65,255,.15) 0%,transparent 35%),
    linear-gradient(180deg,#070b21 0%,#10102d 42%,#171039 74%,#160b2b 100%)!important;
}

/*
 * Nur Licht driftet. Keine Elemente bewegen sich, kein Text wird transformiert.
 * Der Weg ist bewusst klein und langsam, damit man die Bewegung eher fuehlt
 * als bewusst wahrnimmt.
 */
@keyframes dcTimeLightDrift{
  0%{
    background-position:
      0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0;
    filter:saturate(1);
  }
  50%{
    background-position:
      1.3% .7%,-.8% 1.1%,.9% -.6%,0 0,0 0,0 0,0 0,0 0,0 0,0 0;
    filter:saturate(1.025);
  }
  100%{
    background-position:
      2.1% 1.1%,-1.4% 1.8%,1.4% -.9%,0 0,0 0,0 0,0 0,0 0,0 0,0 0;
    filter:saturate(1.045);
  }
}

/* Nacht bekommt zusaetzlich ein kaum merkliches "Atmen" des Mond-/Sternlichts. */
body.dc-chat-page.dc-time-night .dc-chat{
  animation-name:dcNightLightBreath;
  animation-duration:62s;
}
@keyframes dcNightLightBreath{
  0%{background-position:0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0;filter:saturate(1) brightness(1)}
  50%{background-position:.8% .4%,0 0,.4% .2%,0 0,-.3% .3%,0 0,.2% -.2%,-.8% .8%,.8% -.5%,0 0;filter:saturate(1.025) brightness(1.018)}
  100%{background-position:1.4% .7%,0 0,.8% .4%,0 0,-.5% .5%,0 0,.4% -.3%,-1.3% 1.2%,1.2% -.8%,0 0;filter:saturate(1.04) brightness(1.028)}
}

/* Nutzerwunsch "Bewegung reduzieren" respektieren. */
@media (prefers-reduced-motion:reduce){
  body.dc-chat-page .dc-chat{
    animation:none!important;
    will-change:auto;
  }
}


/* v5.2.x Chat Sendebutton: cache-sicher genau EIN Symbol.
   Alte/Legacy Chat-CSS kann mobil noch ein Pfeil-Pseudoelement definieren.
   Der aktuelle Button verwendet ausschließlich assets/icons/chat/send.svg. */
html body.dc-chat-page button.dc-send::before,
html body.dc-chat-page button.dc-send::after,
html body.dc-chat-page.dc-chat-keyboard-open button.dc-send::before,
html body.dc-chat-page.dc-chat-keyboard-open button.dc-send::after{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
}


/* Support geben: TikTok-Link nach dem ersten erfolgreichen Start gegen
   versehentliches Doppelöffnen sperren. Abmessungen bleiben unverändert. */
.support-video-link.support-open-disabled,
.support-video-link[aria-disabled="true"]{
  pointer-events:none!important;
  cursor:default!important;
  opacity:.52!important;
  filter:saturate(.55) brightness(.82)!important;
  transform:none!important;
  box-shadow:none!important;
}
.support-video-link.support-open-disabled::after{
  content:' · geöffnet';
  font-size:.82em;
  opacity:.86;
}


/* Mitglieder-Login: Passwort-Hilfe nach ausgelöster 10-Minuten-Sperre. */
.login-password-help{
  display:grid;gap:8px;margin-top:10px;padding:12px;border-radius:16px;
  background:rgba(84,230,255,.08);border:1px solid rgba(84,230,255,.24);
}
.login-password-help strong{color:#fff;font-size:14px}
.login-password-help span{color:var(--dfz-muted,#d9c8ef);font-size:12px;line-height:1.4}
.login-password-help .dc-secondary{width:100%;margin-top:2px}
.dc-success{margin:10px 0;padding:10px 12px;border-radius:14px;background:rgba(58,255,148,.12);border:1px solid rgba(58,255,148,.30);color:#caffdc;font-weight:800}


/* ==========================================================================
   DiscoFriends Member UI 2026-08-24
   Referenz: dashboard.php
   Nur Oberflächen. Keine Chat- oder Footer-Geometrie.
   ========================================================================== */
body:not(.dc-chat-page){
  --df-member-bg-a:#14081f;
  --df-member-bg-b:#2a1236;
  --df-member-bg-c:#101a2d;
  --df-member-surface:linear-gradient(150deg,rgba(45,27,58,.88),rgba(18,27,45,.88));
  --df-member-surface-soft:linear-gradient(150deg,rgba(38,29,50,.78),rgba(17,26,43,.82));
  --df-member-surface-raised:linear-gradient(145deg,rgba(54,30,64,.92),rgba(19,27,45,.91));
  --df-member-border:rgba(255,255,255,.115);
  --df-member-border-warm:rgba(255,218,142,.22);
  --df-member-text:#fffaf2;
  --df-member-muted:rgba(246,239,255,.72);
  --df-member-warm:#f4d89d;
  --df-member-pink:#d98caf;
  --df-member-cyan:#83d4dc;
  --df-member-radius-card:19px;
  --df-member-radius-control:14px;
  --df-member-radius-small:11px;
  --df-member-gap:9px;
  --df-member-shadow:0 12px 32px rgba(3,0,14,.20),inset 0 1px 0 rgba(255,255,255,.075);
  --ui-glass-strong:var(--df-member-surface-raised);
  --ui-glass-soft:rgba(255,255,255,.055);
  --ui-outline:var(--df-member-border);
  --ui-glow:var(--df-member-shadow);
  --ui-radius:var(--df-member-radius-card);
}

/* Hintergrund etwas ruhiger und wohnlicher; Eventflächen behalten eigene Hintergründe. */
body:not(.dc-chat-page){
  background:
    radial-gradient(circle at 12% 3%,rgba(222,126,174,.20),transparent 31%),
    radial-gradient(circle at 87% 2%,rgba(91,194,210,.14),transparent 29%),
    linear-gradient(155deg,var(--df-member-bg-a),var(--df-member-bg-b) 49%,var(--df-member-bg-c))!important;
}
body:not(.dc-chat-page)>.dc-bg{
  background:
    radial-gradient(ellipse at 14% 5%,rgba(224,135,181,.20) 0,transparent 32%),
    radial-gradient(ellipse at 86% 10%,rgba(103,204,216,.15) 0,transparent 31%),
    radial-gradient(ellipse at 52% 102%,rgba(244,190,111,.08) 0,transparent 38%),
    linear-gradient(145deg,#12071c 0%,#291136 47%,#10192c 100%)!important;
}

/* Standardflächen – bewusst keine Eventklassen und keine Footer-/Burger-Flächen. */
body:not(.dc-chat-page) .dash-card,
body:not(.dc-chat-page) .admin-card,
body:not(.dc-chat-page) .auth-card,
body:not(.dc-chat-page) .profile-editor,
body:not(.dc-chat-page) .public-card,
body:not(.dc-chat-page) .mail-modern-section,
body:not(.dc-chat-page) .mail-compact-head,
body:not(.dc-chat-page) .support-menu-shell,
body:not(.dc-chat-page) .help-page-list{
  border-color:var(--df-member-border)!important;
  border-radius:var(--df-member-radius-card)!important;
  background:var(--df-member-surface)!important;
  box-shadow:var(--df-member-shadow)!important;
}
body:not(.dc-chat-page) .dash-hero{
  border-color:var(--df-member-border-warm)!important;
  background:var(--df-member-surface-raised)!important;
  box-shadow:0 17px 44px rgba(3,0,14,.24),inset 0 1px 0 rgba(255,255,255,.09)!important;
}
body:not(.dc-chat-page) .dash-card::before,
body:not(.dc-chat-page) .admin-card::before,
body:not(.dc-chat-page) .dash-hero::before,
body:not(.dc-chat-page) .profile-editor::before,
body:not(.dc-chat-page) .public-card::before{
  opacity:.12!important;
}

/* Typografie: weniger Neon, mehr ruhige Premium-Hierarchie. */
body:not(.dc-chat-page) .dash-hero h1,
body:not(.dc-chat-page) .profile-editor h1,
body:not(.dc-chat-page) .public-card h1{
  background:none!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
  color:var(--df-member-text)!important;
  text-shadow:0 0 18px rgba(255,205,130,.06)!important;
}
body:not(.dc-chat-page) .dash-hero h2{color:var(--df-member-warm)!important}
body:not(.dc-chat-page) .dash-hero p,
body:not(.dc-chat-page) .dash-card p,
body:not(.dc-chat-page) .admin-card p,
body:not(.dc-chat-page) .profile-editor p{
  color:var(--df-member-muted)!important;
}
body:not(.dc-chat-page) .dc-logo,
body:not(.dc-chat-page) .project-kicker,
body:not(.dc-chat-page) .support-step-kicker{
  color:var(--df-member-warm)!important;
}

/* Standardkarten haben dieselbe Kanten- und Abstandslogik. */
body:not(.dc-chat-page) .dash-grid,
body:not(.dc-chat-page) .dashboard-info-grid,
body:not(.dc-chat-page) .dashboard-role-grid,
body:not(.dc-chat-page) .support-choice-grid,
body:not(.dc-chat-page) .program-grid{
  gap:var(--df-member-gap)!important;
}
body:not(.dc-chat-page) .info-card,
body:not(.dc-chat-page) .role-card,
body:not(.dc-chat-page) .access-strip,
body:not(.dc-chat-page) .audit-row,
body:not(.dc-chat-page) .mail-row,
body:not(.dc-chat-page) .coin-row{
  border-radius:var(--df-member-radius-control)!important;
}

/* Formulare – nur Optik; Größen/Keyboard/VisualViewport bleiben wie bisher. */
body:not(.dc-chat-page) input:not([type="checkbox"]):not([type="radio"]),
body:not(.dc-chat-page) textarea,
body:not(.dc-chat-page) select{
  border-radius:var(--df-member-radius-control)!important;
  border-color:rgba(255,255,255,.14)!important;
  background:rgba(9,7,18,.50)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045)!important;
}
body:not(.dc-chat-page) input:not([type="checkbox"]):not([type="radio"]):focus,
body:not(.dc-chat-page) textarea:focus,
body:not(.dc-chat-page) select:focus{
  border-color:rgba(244,216,157,.46)!important;
  box-shadow:0 0 0 3px rgba(217,140,175,.09),inset 0 1px 0 rgba(255,255,255,.055)!important;
}

/* Einheitliche Buttonsprache. Keine Footer-/Burger-Buttons. */
body:not(.dc-chat-page) .dc-primary:not(.dc-send),
body:not(.dc-chat-page) .linkbtn{
  border-radius:var(--df-member-radius-control)!important;
  border-color:rgba(255,255,255,.24)!important;
  background:linear-gradient(135deg,#d58aa9 0%,#c58da8 38%,#a58dbb 67%,#78c5d1 100%)!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(3,0,14,.18),inset 0 1px 0 rgba(255,255,255,.22)!important;
}
body:not(.dc-chat-page) .dc-secondary:not(.dc-burger):not(.dc-nav-arrow){
  border-radius:var(--df-member-radius-control)!important;
  border-color:rgba(255,218,142,.20)!important;
  background:linear-gradient(145deg,rgba(255,218,142,.085),rgba(255,255,255,.055))!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055)!important;
}
body:not(.dc-chat-page) .mini-action{
  border-radius:var(--df-member-radius-control)!important;
}

/* Tabs bleiben technisch unverändert, erhalten nur dieselbe Farbwelt. */
body:not(.dc-chat-page) .module-tabs,
body:not(.dc-chat-page) .support-tabs,
body:not(.dc-chat-page) .team-nav,
body:not(.dc-chat-page) .admin-nav,
body:not(.dc-chat-page) .tabs,
body:not(.dc-chat-page) .tabbar{
  border-color:var(--df-member-border)!important;
  background:linear-gradient(145deg,rgba(19,13,31,.82),rgba(31,23,45,.76))!important;
  box-shadow:0 10px 28px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
body:not(.dc-chat-page) .module-tabs a,
body:not(.dc-chat-page) .support-tabs a,
body:not(.dc-chat-page) .team-nav a,
body:not(.dc-chat-page) .admin-nav a,
body:not(.dc-chat-page) .tabs a,
body:not(.dc-chat-page) .tabbar a{
  border-color:rgba(255,255,255,.10)!important;
  background:rgba(255,255,255,.05)!important;
}
body:not(.dc-chat-page) .module-tabs .active,
body:not(.dc-chat-page) .support-tabs .active,
body:not(.dc-chat-page) .team-nav .active,
body:not(.dc-chat-page) .admin-nav .active,
body:not(.dc-chat-page) .tabs .active,
body:not(.dc-chat-page) .tabbar .active{
  border-color:rgba(244,216,157,.30)!important;
  background:linear-gradient(135deg,rgba(217,140,175,.20),rgba(120,197,209,.14))!important;
  box-shadow:0 7px 20px rgba(3,0,14,.13),inset 0 1px 0 rgba(255,255,255,.08)!important;
}

/* Postfach/Support: gleiche Oberflächen ohne Eingriff in Overlay- oder Eingabelogik. */
body:not(.dc-chat-page) .mail-conversation-row,
body:not(.dc-chat-page) .support-choice,
body:not(.dc-chat-page) .support-cost,
body:not(.dc-chat-page) .help-page-list a{
  border-radius:var(--df-member-radius-control)!important;
}
body:not(.dc-chat-page) .mail-conversation-row{
  border-color:rgba(255,255,255,.085)!important;
}
body:not(.dc-chat-page) .help-page-list a{
  background:rgba(255,255,255,.045)!important;
}
body:not(.dc-chat-page) .help-page-list a.active{
  background:linear-gradient(135deg,rgba(217,140,175,.19),rgba(120,197,209,.13))!important;
  box-shadow:none!important;
}

/* Team-Verwaltung: gleiche Marke, aber kühler und sachlicher.
   Nur Elemente innerhalb eines Team-Pulldown-Kontexts werden eingefärbt. */
body:not(.dc-chat-page) .team-pulldown-nav{
  border-color:rgba(115,202,218,.22)!important;
  border-radius:var(--df-member-radius-card)!important;
  background:linear-gradient(145deg,rgba(19,28,48,.94),rgba(20,17,39,.94))!important;
  box-shadow:0 13px 32px rgba(0,0,0,.22),inset 0 1px 0 rgba(128,213,228,.055)!important;
}
body:not(.dc-chat-page) .team-pulldown-head strong{color:#dff8fb}
body:not(.dc-chat-page) .team-pulldown-head small{color:rgba(199,232,239,.66)}
body:not(.dc-chat-page) .team-pulldown-head>a{
  border-radius:var(--df-member-radius-control)!important;
  border-color:rgba(115,202,218,.18)!important;
  background:rgba(115,202,218,.055)!important;
}
body:not(.dc-chat-page) .team-pulldown-nav select{
  border-radius:var(--df-member-radius-control)!important;
  border-color:rgba(115,202,218,.20)!important;
  background:#111a2c!important;
}
body:not(.dc-chat-page) main:has(.team-pulldown-nav)>.dash-hero{
  border-color:rgba(115,202,218,.22)!important;
  background:linear-gradient(145deg,rgba(25,31,51,.94),rgba(22,17,39,.92))!important;
}
body:not(.dc-chat-page) main:has(.team-pulldown-nav)>.dash-hero .dc-logo{
  color:#bfeaf1!important;
}
body:not(.dc-chat-page) main:has(.team-pulldown-nav)>.dash-card,
body:not(.dc-chat-page) main:has(.team-pulldown-nav)>.admin-card{
  border-color:rgba(115,202,218,.13)!important;
}

/* Kleine Screens behalten die vorhandene Geometrie, nur Radien werden konsistent. */
@media(max-width:700px){
  body:not(.dc-chat-page) .dash-card,
  body:not(.dc-chat-page) .admin-card,
  body:not(.dc-chat-page) .auth-card,
  body:not(.dc-chat-page) .profile-editor,
  body:not(.dc-chat-page) .public-card,
  body:not(.dc-chat-page) .mail-modern-section,
  body:not(.dc-chat-page) .mail-compact-head,
  body:not(.dc-chat-page) .support-menu-shell,
  body:not(.dc-chat-page) .help-page-list{
    border-radius:17px!important;
  }
  body:not(.dc-chat-page) .dash-hero{border-radius:19px!important}
  body:not(.dc-chat-page) .info-card,
  body:not(.dc-chat-page) .role-card,
  body:not(.dc-chat-page) .access-strip,
  body:not(.dc-chat-page) .audit-row,
  body:not(.dc-chat-page) .mail-row,
  body:not(.dc-chat-page) .coin-row{
    border-radius:13px!important;
  }
}


/* ==========================================================================
   DiscoFriends Member UI – Qualitätsdurchgang 2 / 2026-08-24
   Nur visuelle Konsistenz. Keine Chat-/Footer-/Keyboard-/Layoutlogik.
   ========================================================================== */

/* Status- und Hinweisflächen folgen derselben ruhigen Oberfläche. */
body:not(.dc-chat-page) .dc-ok,
body:not(.dc-chat-page) .dc-error,
body:not(.dc-chat-page) .dc-success,
body:not(.dc-chat-page) .foreign-support-highlight,
body:not(.dc-chat-page) .birthday-missing-card,
body:not(.dc-chat-page) .birthday-team-card{
  border-radius:var(--df-member-radius-control)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045)!important;
}
body:not(.dc-chat-page) .dc-ok,
body:not(.dc-chat-page) .dc-success{
  background:rgba(72,190,137,.09)!important;
  border-color:rgba(111,220,168,.22)!important;
  color:#dff8eb!important;
}
body:not(.dc-chat-page) .dc-error{
  background:rgba(210,82,111,.095)!important;
  border-color:rgba(235,120,145,.22)!important;
  color:#ffe5ec!important;
}

/* Standard-Overlays: nur Oberfläche, keine Position/Größe/Funktion. */
body:not(.dc-chat-page) .mail-modal-box,
body:not(.dc-chat-page) .project-task-box,
body:not(.dc-chat-page) .avatar-crop-box,
body:not(.dc-chat-page) .reward-notice-box,
body:not(.dc-chat-page) .login-password-help{
  border-radius:var(--df-member-radius-card)!important;
  border-color:var(--df-member-border)!important;
  background:var(--df-member-surface-raised)!important;
  box-shadow:0 24px 64px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
body:not(.dc-chat-page) .mail-close{
  border-color:rgba(255,255,255,.14)!important;
  background:rgba(255,255,255,.07)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
}

/* Kleine Unterkarten/Listeneinträge: gleiche Flächentiefe statt wechselnder Neonflächen. */
body:not(.dc-chat-page) .compact-list>div,
body:not(.dc-chat-page) .support-list>article,
body:not(.dc-chat-page) .campaign-supporter,
body:not(.dc-chat-page) .account-ledger-card,
body:not(.dc-chat-page) .version-card,
body:not(.dc-chat-page) .project-task-box article{
  border-color:rgba(255,255,255,.095)!important;
  border-radius:var(--df-member-radius-control)!important;
}

/* Dateiauswahl soll wie ein reguläres Control wirken, ohne Input-Geometrie anzufassen. */
body:not(.dc-chat-page) input[type="file"]{
  color:var(--df-member-muted)!important;
}
body:not(.dc-chat-page) input[type="file"]::file-selector-button{
  border:1px solid rgba(255,218,142,.18);
  border-radius:11px;
  margin-right:10px;
  padding:7px 10px;
  background:rgba(255,255,255,.07);
  color:#fff;
  font:800 .8rem system-ui;
}

/* Checkbox-/Radio-Umfelder: Controls selbst bleiben technisch unverändert. */
body:not(.dc-chat-page) .support-check-row,
body:not(.dc-chat-page) .project-check,
body:not(.dc-chat-page) .inline-check,
body:not(.dc-chat-page) .check-row{
  border-radius:var(--df-member-radius-small);
}

/* Tabellenköpfe weniger hart, ohne Tabellenbreiten zu verändern. */
body:not(.dc-chat-page) .admin-table th{
  background:rgba(17,14,27,.78)!important;
  color:rgba(255,250,242,.88)!important;
}
body:not(.dc-chat-page) .admin-table td,
body:not(.dc-chat-page) .admin-table th{
  border-bottom-color:rgba(255,255,255,.085)!important;
}

/* Team-Kontext zusätzlich an Standard-Unterkarten erkennbar. */
body:not(.dc-chat-page) main:has(.team-pulldown-nav) .info-card,
body:not(.dc-chat-page) main:has(.team-pulldown-nav) .role-card,
body:not(.dc-chat-page) main:has(.team-pulldown-nav) .project-v2-card,
body:not(.dc-chat-page) main:has(.team-pulldown-nav) .audit-row,
body:not(.dc-chat-page) main:has(.team-pulldown-nav) .coin-row{
  border-color:rgba(115,202,218,.12)!important;
}
body:not(.dc-chat-page) main:has(.team-pulldown-nav) .dc-primary:not(.dc-send),
body:not(.dc-chat-page) main:has(.team-pulldown-nav) .linkbtn{
  background:linear-gradient(135deg,#7da9b6,#8d91b2 52%,#8fc8d0)!important;
  border-color:rgba(181,226,235,.22)!important;
}

/* Fokus sichtbar, aber nicht grell. */
body:not(.dc-chat-page) a:focus-visible,
body:not(.dc-chat-page) button:focus-visible{
  outline:2px solid rgba(244,216,157,.55);
  outline-offset:2px;
}

/* Ausdrücklich keine Regel für .dc-bottom-nav, .dfz-footer oder Chat-Elemente. */


/* ==========================================================================
   DiscoFriends UI – Seitenweiser Feinschliff 2026-08-25
   Bestehende Klassen, keine Funktions- oder Navigationsgeometrie.
   ========================================================================== */

/* SUPPORT */
body:not(.dc-chat-page) .support-wrap .support-action-card,
body:not(.dc-chat-page) .support-wrap .support-overview-card{
  border-color:rgba(255,255,255,.105)!important;
  border-radius:var(--df-member-radius-card)!important;
  background:var(--df-member-surface-soft)!important;
  box-shadow:var(--df-member-shadow)!important;
}
body:not(.dc-chat-page) .support-wrap .support-choice{
  border-color:rgba(255,255,255,.09)!important;
  background:rgba(255,255,255,.045)!important;
}
body:not(.dc-chat-page) .support-wrap .support-choice:hover,
body:not(.dc-chat-page) .support-wrap .support-choice:focus-within{
  border-color:rgba(244,216,157,.22)!important;
  background:linear-gradient(145deg,rgba(217,140,175,.075),rgba(120,197,209,.055))!important;
}
body:not(.dc-chat-page) .support-wrap .support-person{
  border-radius:var(--df-member-radius-control)!important;
  background:rgba(255,255,255,.04)!important;
}
body:not(.dc-chat-page) .support-wrap .support-video-link{
  border-radius:var(--df-member-radius-control)!important;
}

/* NACHRICHTEN / MESSENGER */
body:not(.dc-chat-page) .mail-wrap .mail-compact-head,
body:not(.dc-chat-page) .mail-wrap .mail-modern-section{
  border-color:rgba(255,255,255,.105)!important;
}
body:not(.dc-chat-page) .mail-wrap .mail-conversation-row{
  background:rgba(255,255,255,.042)!important;
}
body:not(.dc-chat-page) .mail-wrap .mail-conversation-row.unread{
  border-color:rgba(131,212,220,.18)!important;
  background:linear-gradient(135deg,rgba(217,140,175,.09),rgba(120,197,209,.07))!important;
}
body:not(.dc-chat-page) .mail-wrap .mail-empty{
  border-radius:var(--df-member-radius-control)!important;
  color:var(--df-member-muted)!important;
}

/* PROFIL */
body:not(.dc-chat-page) .profile-wrap .profile-editor{
  border-color:rgba(255,255,255,.11)!important;
}
body:not(.dc-chat-page) .profile-wrap .avatar-editor,
body:not(.dc-chat-page) .profile-wrap .filepick{
  border-radius:var(--df-member-radius-control)!important;
}
body:not(.dc-chat-page) .profile-wrap .avatar-preview{
  border-color:rgba(255,218,142,.18)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.22)!important;
}
body:not(.dc-chat-page) .profile-wrap .progress{
  background:rgba(255,255,255,.08)!important;
}
body:not(.dc-chat-page) .profile-wrap .progress>span{
  background:linear-gradient(90deg,#d98caf,#d9b578,#83d4dc)!important;
}

/* WALLET */
body:not(.dc-chat-page) .wallet-transfer,
body:not(.dc-chat-page) .coin-list{
  border-radius:var(--df-member-radius-card)!important;
}
body:not(.dc-chat-page) .coin-row{
  background:rgba(255,255,255,.042)!important;
  border-color:rgba(255,255,255,.08)!important;
}
body:not(.dc-chat-page) .pager a,
body:not(.dc-chat-page) .pager span{
  border-radius:var(--df-member-radius-control)!important;
}

/* HILFE */
body:not(.dc-chat-page) .help-layout .help-content,
body:not(.dc-chat-page) .help-layout .help-page-list{
  border-color:rgba(255,255,255,.10)!important;
}
body:not(.dc-chat-page) .help-text{
  color:var(--df-member-muted)!important;
}

/* TEAM – Standardkarten in der Verwaltung bewusst etwas kühler */
body:not(.dc-chat-page) .team-pulldown-nav + .dash-card,
body:not(.dc-chat-page) main:has(.team-pulldown-nav) .dash-card,
body:not(.dc-chat-page) main:has(.team-pulldown-nav) .admin-card{
  background:linear-gradient(150deg,rgba(28,34,52,.89),rgba(18,23,42,.88))!important;
  border-color:rgba(115,202,218,.12)!important;
}
body:not(.dc-chat-page) main:has(.team-pulldown-nav) .member-mini-card,
body:not(.dc-chat-page) main:has(.team-pulldown-nav) .compact-list>div,
body:not(.dc-chat-page) main:has(.team-pulldown-nav) .coupon-row,
body:not(.dc-chat-page) main:has(.team-pulldown-nav) .teaminfo-poll-admin,
body:not(.dc-chat-page) main:has(.team-pulldown-nav) .project-card{
  border-radius:var(--df-member-radius-control)!important;
  border-color:rgba(115,202,218,.11)!important;
  background:rgba(115,202,218,.038)!important;
}
body:not(.dc-chat-page) main:has(.team-pulldown-nav) .admin-table-wrap{
  border-color:rgba(115,202,218,.10)!important;
  background:rgba(7,14,25,.22)!important;
}
body:not(.dc-chat-page) main:has(.team-pulldown-nav) .admin-table th{
  background:rgba(14,24,39,.88)!important;
}

/* Standarddialoge: nur Oberfläche/Kanten/Aktionsabstand. */
body:not(.dc-chat-page) .mail-modal-box,
body:not(.dc-chat-page) .project-task-box,
body:not(.dc-chat-page) .avatar-crop-box,
body:not(.dc-chat-page) .cal-modal-box{
  border-color:rgba(255,255,255,.12)!important;
}
body:not(.dc-chat-page) .mail-modal-actions,
body:not(.dc-chat-page) .crop-actions,
body:not(.dc-chat-page) .support-actions{
  gap:8px!important;
}

/* Kleine Status-Pills */
body:not(.dc-chat-page) .foreign-badge,
body:not(.dc-chat-page) .project-v2-badge,
body:not(.dc-chat-page) .member-role,
body:not(.dc-chat-page) .status-pill{
  border-radius:999px!important;
  box-shadow:none!important;
}


/* ==========================================================================
   DailyGame UI – DiscoFriends Qualitätsangleichung 2026-08-25
   Gilt nur für das reguläre DailyGame-System.
   Glückskeks / fortune_cookie bleibt ausdrücklich unberührt.
   ========================================================================== */
.daily-game-page{
  background:
    radial-gradient(circle at 18% 7%,rgba(217,140,175,.20),transparent 34%),
    radial-gradient(circle at 84% 15%,rgba(131,212,220,.15),transparent 32%),
    radial-gradient(circle at 52% 105%,rgba(244,216,157,.08),transparent 38%),
    linear-gradient(155deg,#12071c,#291136 48%,#10192c)!important;
}
.daily-game-card{
  border-radius:19px!important;
  border-color:rgba(255,255,255,.12)!important;
  background:linear-gradient(150deg,rgba(45,27,58,.91),rgba(18,27,45,.91))!important;
  box-shadow:0 18px 48px rgba(3,0,14,.28),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.daily-game-card h1{color:#fffaf2!important}
.daily-game-card p{color:rgba(246,239,255,.76)!important}
.game-kicker{
  color:#f4d89d!important;
  letter-spacing:.045em;
}
.streak-line{
  color:rgba(246,239,255,.78)!important;
}
.streak-jackpot{
  border-radius:14px!important;
  border-color:rgba(244,216,157,.24)!important;
  background:linear-gradient(135deg,rgba(217,140,175,.13),rgba(244,216,157,.10))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}
.daily-game-prize{
  border-radius:19px!important;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(217,140,175,.08))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055);
}
.daily-game-page .dc-primary,
.daily-game-page .linkbtn{
  border-radius:14px!important;
  background:linear-gradient(135deg,#d58aa9,#a58dbb 58%,#78c5d1)!important;
  border-color:rgba(255,255,255,.22)!important;
  box-shadow:0 9px 22px rgba(3,0,14,.20),inset 0 1px 0 rgba(255,255,255,.20)!important;
}
.daily-game-page .dc-secondary{
  border-radius:14px!important;
  border-color:rgba(244,216,157,.18)!important;
  background:rgba(255,255,255,.055)!important;
}
.daily-game-page .game-admin-row{
  border-bottom-color:rgba(255,255,255,.085)!important;
}
@media(max-width:620px){
  .daily-game-card{border-radius:17px!important}
}


/* @-Picker: feste Ebene oberhalb des sichtbaren Textfelds.
   Die genaue Position kommt aus discochat.js, damit normale und breite
   Tastaturversion dieselbe Verankerung verwenden. */
body.dc-chat-page > .dc-mention-panel{
  position:fixed!important;
  margin:0!important;
  max-height:280px;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
body.dc-chat-page.dc-chat-input-focus > .dc-mention-panel:not([hidden]),
body.dc-chat-page.dc-chat-keyboard-open > .dc-mention-panel:not([hidden]){
  display:block!important;
}

/* ========================================================================== 
   Disco Battle – großes 1-gegen-1 Chatspiel
   Eigener Renderer, keine Änderung an den Layoutregeln der anderen Chatspiele.
   ========================================================================== */
.cg-game-card.is-featured{border-color:rgba(94,231,255,.34)!important;background:radial-gradient(circle at 12% 10%,rgba(94,231,255,.12),transparent 34%),linear-gradient(135deg,rgba(255,72,167,.13),rgba(64,83,210,.10))!important}
.cg-overlay.is-discobattle{padding:max(6px,env(safe-area-inset-top)) max(5px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));background:radial-gradient(circle at 50% 5%,rgba(21,124,180,.18),transparent 36%),rgba(2,7,17,.92)}
.cg-overlay.is-discobattle .cg-modal{width:min(98vw,720px);max-height:96dvh;padding:15px 14px 18px;border-radius:22px;background:radial-gradient(circle at 16% -4%,rgba(42,220,255,.16),transparent 34%),radial-gradient(circle at 92% 5%,rgba(255,57,156,.13),transparent 36%),linear-gradient(160deg,rgba(8,20,42,.985),rgba(11,10,31,.985));border-color:rgba(106,222,255,.24)}
.cg-overlay.is-discobattle .cg-close{top:7px;right:7px}
.cg-overlay.is-discobattle .cg-match-head{margin-bottom:7px}
.cg-overlay.is-discobattle .cg-versus{margin:7px 0 9px}
.cg-battle-status{min-height:60px;margin-bottom:7px;background:linear-gradient(135deg,rgba(25,174,222,.10),rgba(255,56,153,.055))}
.cg-battle-wrap{position:relative;padding:10px;margin-top:7px;overflow:hidden;background:radial-gradient(circle at 50% 12%,rgba(35,201,242,.08),transparent 42%),linear-gradient(155deg,rgba(12,35,58,.82),rgba(8,14,35,.94));border-color:rgba(89,214,244,.20)}
.cg-battle-stage-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin:1px 2px 8px}.cg-battle-stage-head>div{min-width:0}.cg-battle-stage-head small{font-size:.62rem;letter-spacing:.13em;font-weight:950;color:#7beaff}.cg-battle-stage-head h3{font-size:1rem;margin:2px 0}.cg-battle-stage-head p{font-size:.74rem;line-height:1.35;margin:2px 0 0;color:rgba(238,248,255,.68)}
.cg-battle-progress{flex:0 0 auto;min-width:62px;text-align:center;padding:7px 9px;border-radius:14px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}.cg-battle-progress b,.cg-battle-progress span{display:block}.cg-battle-progress b{font-size:1.02rem;color:#ffe174}.cg-battle-progress span{font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;opacity:.62}
.cg-battle-tools{display:flex;justify-content:center;margin:4px 0 8px}.cg-battle-rotate{display:grid!important;grid-template-columns:34px auto;grid-template-areas:"icon title" "icon sub";align-items:center;column-gap:8px;min-height:44px!important;padding:6px 12px!important;border-radius:14px!important;background:linear-gradient(135deg,rgba(54,213,240,.12),rgba(124,87,255,.12))!important;border:1px solid rgba(111,229,255,.22)!important;color:#fff!important}.cg-battle-rotate>span{grid-area:icon;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(102,227,255,.12);font-size:20px;color:#8feeff}.cg-battle-rotate b{grid-area:title;text-align:left;font-size:.76rem}.cg-battle-rotate small{grid-area:sub;text-align:left;font-size:.60rem;opacity:.62}
.cg-battle-grid{width:min(92vw,456px);aspect-ratio:1;margin:0 auto;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;padding:7px;border-radius:18px;background:linear-gradient(155deg,#0e5579,#09345a 50%,#112755);border:1px solid rgba(124,233,255,.38);box-shadow:inset 0 0 26px rgba(0,7,33,.62),0 12px 26px rgba(0,0,0,.24)}
.cg-battle-cell{position:relative;min-width:0!important;width:100%!important;aspect-ratio:1;height:auto!important;min-height:0!important;padding:0!important;overflow:visible;border-radius:8px!important;border:1px solid rgba(163,237,255,.16)!important;background:radial-gradient(circle at 32% 25%,rgba(255,255,255,.08),transparent 32%),linear-gradient(145deg,rgba(24,112,145,.74),rgba(8,52,91,.86))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;transition:transform .12s ease,border-color .14s ease,background .14s ease}.cg-battle-cell:not(:disabled):active{transform:scale(.91)}.cg-battle-cell.can-place{border-color:rgba(139,255,216,.38)!important;background:linear-gradient(145deg,rgba(29,150,134,.70),rgba(11,82,103,.84))!important}.cg-battle-cell.can-place::after{content:"+";position:absolute;inset:0;display:grid;place-items:center;font-size:17px;font-weight:900;color:rgba(161,255,219,.70)}
.cg-battle-cell.is-ship{border-color:rgba(255,205,96,.40)!important;background:radial-gradient(circle at 35% 28%,rgba(255,245,180,.22),transparent 30%),linear-gradient(145deg,#9f7223,#5c3e17)!important;box-shadow:inset 0 0 0 2px rgba(255,213,102,.12),0 0 8px rgba(255,194,66,.12)!important}.cg-battle-cell.is-ship>span:empty::after{content:"";position:absolute;inset:26%;border-radius:50%;background:rgba(255,229,153,.45);box-shadow:0 0 8px rgba(255,214,100,.35)}
.cg-battle-cell.is-miss>span{position:absolute;inset:0;display:grid;place-items:center;font-size:24px;line-height:1;color:#b8ecff;text-shadow:0 0 9px rgba(112,221,255,.60)}.cg-battle-cell.is-hit{border-color:rgba(255,91,103,.66)!important;background:radial-gradient(circle at 50% 50%,#ffcf62 0 10%,#ff5b4d 22%,#9e1429 45%,#311127 76%)!important;box-shadow:0 0 13px rgba(255,74,87,.45),inset 0 0 10px rgba(255,235,130,.22)!important}.cg-battle-cell.is-hit>span{position:absolute;inset:0;display:grid;place-items:center;color:#fff4b2;font-size:23px;text-shadow:0 0 8px #ffca55}
.cg-battle-secret{text-align:center;margin:7px 0 0;font-size:.68rem;color:rgba(202,242,255,.68)}
.cg-battle-score{display:grid;grid-template-columns:1fr minmax(110px,1.2fr) 1fr;gap:7px;align-items:center;margin-bottom:8px}.cg-battle-score>span{padding:7px 8px;border-radius:13px;background:rgba(255,255,255,.045);text-align:center}.cg-battle-score small,.cg-battle-score b{display:block}.cg-battle-score small{font-size:.58rem;text-transform:uppercase;letter-spacing:.07em;opacity:.58}.cg-battle-score b{margin-top:2px;color:#8eeeff;font-size:.88rem}.cg-battle-score strong{text-align:center;font-size:.72rem;line-height:1.3;color:#ffe07b}
.cg-battle-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 auto 8px;width:min(92vw,456px)}.cg-battle-tabs button{min-height:38px!important;padding:7px 9px!important;border-radius:12px!important;background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.08)!important;color:rgba(255,255,255,.72)!important;font-weight:850}.cg-battle-tabs button.active{background:linear-gradient(135deg,rgba(49,210,240,.17),rgba(255,64,160,.10))!important;border-color:rgba(101,229,255,.31)!important;color:#fff!important;box-shadow:0 0 16px rgba(50,207,240,.08)}
.cg-battle-board-label{display:flex;justify-content:space-between;align-items:center;gap:8px;width:min(92vw,456px);margin:0 auto 5px}.cg-battle-board-label b{font-size:.76rem}.cg-battle-board-label span{font-size:.65rem;opacity:.62}
.cg-battle-fleet{width:min(92vw,456px);margin:9px auto 0}.cg-battle-fleet>small{display:block;margin:0 0 5px;font-size:.60rem;letter-spacing:.09em;text-transform:uppercase;color:rgba(191,238,255,.60)}.cg-battle-fleet>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.cg-battle-fleet span{min-width:0;padding:6px 4px;border-radius:11px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);text-align:center}.cg-battle-fleet i,.cg-battle-fleet b,.cg-battle-fleet em{display:block}.cg-battle-fleet i{font-style:normal;font-size:17px}.cg-battle-fleet b{font-size:.56rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cg-battle-fleet em{margin-top:2px;font-size:.49rem;font-style:normal;opacity:.52;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cg-battle-fleet span.is-sunk{opacity:.42;filter:grayscale(.65);border-color:rgba(255,84,101,.24);background:rgba(130,22,38,.12)}.cg-battle-fleet span.is-sunk i{filter:drop-shadow(0 0 4px rgba(255,52,73,.3))}
.cg-battle-explosion,.cg-battle-splash{pointer-events:none;position:absolute;z-index:5;left:50%;top:50%;width:12px;height:12px;transform:translate(-50%,-50%)}.cg-battle-explosion::before{content:"";position:absolute;inset:-17px;border-radius:50%;background:radial-gradient(circle,#fff9c4 0 7%,#ffcd57 14%,#ff5a44 31%,rgba(255,34,82,.36) 48%,transparent 68%);animation:cgBattleBoom .8s ease-out forwards}.cg-battle-explosion b{position:absolute;left:5px;top:5px;width:3px;height:3px;border-radius:50%;background:#ffd768;box-shadow:0 0 5px #ff6a45;animation:cgBattleShard .85s ease-out forwards}.cg-battle-explosion b:nth-child(1){--x:27px;--y:-18px}.cg-battle-explosion b:nth-child(2){--x:-26px;--y:-15px}.cg-battle-explosion b:nth-child(3){--x:24px;--y:21px}.cg-battle-explosion b:nth-child(4){--x:-21px;--y:23px}.cg-battle-explosion b:nth-child(5){--x:4px;--y:-31px}.cg-battle-explosion b:nth-child(6){--x:-4px;--y:31px}.cg-battle-splash::before{content:"";position:absolute;inset:-15px;border:2px solid rgba(161,232,255,.86);border-radius:50%;animation:cgBattleSplash .75s ease-out forwards}.cg-battle-splash b{position:absolute;left:5px;top:5px;width:4px;height:8px;border-radius:50%;background:#aff0ff;animation:cgBattleDrop .72s ease-out forwards}.cg-battle-splash b:nth-child(1){--x:18px;--y:-18px}.cg-battle-splash b:nth-child(2){--x:-18px;--y:-13px}.cg-battle-splash b:nth-child(3){--x:3px;--y:-25px}
@keyframes cgBattleBoom{0%{transform:scale(.2);opacity:0}22%{opacity:1}100%{transform:scale(1.65);opacity:0}}@keyframes cgBattleShard{0%{transform:translate(0,0) scale(1);opacity:1}100%{transform:translate(var(--x),var(--y)) scale(.3);opacity:0}}@keyframes cgBattleSplash{0%{transform:scale(.2);opacity:.2}35%{opacity:1}100%{transform:scale(1.6);opacity:0}}@keyframes cgBattleDrop{0%{transform:translate(0,0);opacity:1}100%{transform:translate(var(--x),var(--y));opacity:0}}
@media(max-width:390px){.cg-overlay.is-discobattle .cg-modal{padding:12px 7px 14px}.cg-battle-wrap{padding:7px}.cg-battle-grid{width:min(95vw,456px);gap:2px;padding:5px;border-radius:15px}.cg-battle-tabs,.cg-battle-board-label,.cg-battle-fleet{width:min(95vw,456px)}.cg-battle-score{grid-template-columns:1fr 1fr}.cg-battle-score strong{grid-column:1/-1;grid-row:1}.cg-battle-fleet>div{gap:3px}.cg-battle-fleet span{padding:5px 2px}.cg-battle-fleet b{display:none}.cg-battle-stage-head p{font-size:.69rem}}
@media(max-height:700px) and (max-width:520px){.cg-overlay.is-discobattle .cg-versus{display:none}.cg-overlay.is-discobattle .cg-status{min-height:52px;padding:8px 10px}.cg-battle-wrap{margin-top:5px}.cg-battle-grid{width:min(78dvh,94vw,430px)}.cg-battle-fleet{margin-top:6px}.cg-battle-fleet>small{display:none}.cg-battle-fleet span{padding:3px 2px}.cg-battle-fleet i{font-size:14px}.cg-battle-fleet em{font-size:.45rem}}
@media(prefers-reduced-motion:reduce){.cg-battle-cell,.cg-battle-explosion::before,.cg-battle-explosion b,.cg-battle-splash::before,.cg-battle-splash b{animation:none!important;transition:none!important}}


/* ========================================================================
   Disco Battle v2 – vollflächiges Mobile-Board, zwei Bretter, echte Objekte
   ======================================================================== */
.cg-overlay.is-discobattle{padding:max(2px,env(safe-area-inset-top)) max(2px,env(safe-area-inset-right)) max(2px,env(safe-area-inset-bottom)) max(2px,env(safe-area-inset-left))!important;background:rgba(2,7,17,.96)!important}
.cg-overlay.is-discobattle .cg-modal{width:min(100vw,760px)!important;height:min(100dvh,920px)!important;max-height:100dvh!important;padding:7px 7px 8px!important;border-radius:16px!important;overflow:hidden!important;display:flex;flex-direction:column;background:radial-gradient(circle at 50% 8%,rgba(17,171,218,.19),transparent 36%),linear-gradient(165deg,#071b31,#071225 58%,#120c28)!important;border:1px solid rgba(93,224,255,.26)!important}
.cg-overlay.is-discobattle #cgContent{min-height:0;flex:1 1 auto;overflow:hidden;display:flex;flex-direction:column}
.cg-overlay.is-discobattle .cg-match-head{height:30px;min-height:30px;margin:0 38px 2px 5px!important;display:flex;align-items:center}.cg-overlay.is-discobattle .cg-match-head h2{font-size:.88rem!important;margin:0}.cg-overlay.is-discobattle .cg-match-head small{font-size:.52rem}.cg-overlay.is-discobattle .cg-live-dot{font-size:.48rem;padding:3px 6px}.cg-overlay.is-discobattle .cg-close{top:4px!important;right:4px!important;width:34px!important;height:34px!important;z-index:20}
.cg-battle-screen{min-height:0;flex:1 1 auto;display:flex;flex-direction:column;overflow:hidden;padding:0 2px 2px}
.cg-battle-players{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:5px;align-items:center;margin:1px 0 5px}.cg-battle-players>strong{text-align:center;font-size:.65rem;color:rgba(255,255,255,.48)}
.cg-battle-player{min-width:0;height:42px;padding:4px 6px;border-radius:13px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:6px;transition:.18s ease}.cg-battle-player>i{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:950;background:linear-gradient(145deg,#1d6581,#273c72);border:2px solid rgba(255,255,255,.18)}.cg-battle-player span{min-width:0}.cg-battle-player small,.cg-battle-player b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cg-battle-player small{font-size:.45rem;letter-spacing:.09em;opacity:.58}.cg-battle-player b{font-size:.66rem}.cg-battle-player em{font-style:normal;font-size:.48rem;font-weight:950;white-space:nowrap}
.cg-battle-player.is-turn{border-color:rgba(84,255,181,.62);background:linear-gradient(135deg,rgba(24,160,119,.30),rgba(33,119,159,.22));box-shadow:0 0 14px rgba(65,244,176,.20),inset 0 0 0 1px rgba(113,255,205,.10)}.cg-battle-player.is-turn em{color:#7dffd0}.cg-battle-player.is-idle{opacity:.58;filter:saturate(.72)}.cg-battle-player.opponent.is-turn{border-color:rgba(255,148,86,.72);background:linear-gradient(135deg,rgba(183,66,36,.30),rgba(147,41,74,.22));box-shadow:0 0 14px rgba(255,96,70,.18)}.cg-battle-player.opponent.is-turn em{color:#ffb07f}
.cg-battle-message{flex:0 0 auto;min-height:28px;margin:0 1px 4px;padding:5px 8px;border-radius:10px;text-align:center;font-size:.68rem;font-weight:850;color:#d9f7ff;background:rgba(52,182,219,.08);border:1px solid rgba(95,222,255,.10)}.cg-battle-message.is-hit{color:#ffe2bd;background:rgba(207,61,44,.12);border-color:rgba(255,104,79,.20)}
.cg-battle-main{min-height:0;flex:1 1 auto;display:flex;flex-direction:column;align-items:center}.cg-battle-board-label{flex:0 0 auto;width:100%!important;max-width:520px;margin:0 auto 3px!important;padding:0 2px}.cg-battle-board-label b{font-size:.65rem}.cg-battle-board-label span{font-size:.56rem}
.cg-battle-grid{position:relative;isolation:isolate;width:min(94vw,calc(100dvh - 345px),510px)!important;max-width:100%;aspect-ratio:1;margin:0 auto!important;display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));gap:1px!important;padding:3px!important;border-radius:13px!important;background:linear-gradient(150deg,#057ea7,#07577e 50%,#073557)!important;border:1px solid rgba(124,235,255,.56)!important;box-shadow:inset 0 0 36px rgba(0,31,66,.45),0 8px 22px rgba(0,0,0,.24)!important}
.cg-battle-grid.is-active-turn{box-shadow:inset 0 0 36px rgba(0,31,66,.36),0 0 0 2px rgba(78,255,187,.22),0 0 24px rgba(57,245,181,.15)!important}
.cg-battle-grid.is-enemy:not(.is-active-turn){filter:saturate(.76) brightness(.84)}
.cg-battle-cell{z-index:1;position:relative;min-width:0!important;min-height:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;padding:0!important;border-radius:2px!important;border:1px solid rgba(150,235,255,.22)!important;background:linear-gradient(145deg,rgba(21,150,185,.54),rgba(4,91,133,.55))!important;box-shadow:none!important}.cg-battle-cell.can-place{background:linear-gradient(145deg,rgba(33,184,154,.50),rgba(6,108,126,.55))!important;border-color:rgba(133,255,216,.34)!important}.cg-battle-cell.can-place::after{display:none!important}.cg-battle-cell:not(:disabled):active{transform:scale(.90);background:rgba(82,237,196,.35)!important}
.cg-battle-shotmark{position:absolute;inset:0;display:grid;place-items:center;z-index:7;font-weight:950;line-height:1}.cg-battle-cell.is-miss .cg-battle-shotmark{font-size:clamp(12px,4.2vw,24px);color:#d9f6ff;text-shadow:0 0 8px #5de0ff}.cg-battle-cell.is-hit{background:radial-gradient(circle,#ffd86b 0 10%,#ff563f 23%,#901b2f 52%,#36152a 80%)!important;border-color:rgba(255,117,88,.68)!important;box-shadow:0 0 9px rgba(255,65,55,.42)!important}.cg-battle-cell.is-hit .cg-battle-shotmark{font-size:clamp(10px,3.5vw,20px);color:#fff5c0;text-shadow:0 0 8px #ff932f}
/* Zusammenhängende Disco-Objekte liegen als echte Rasterobjekte über ihren Feldern. */
.cg-battle-asset{z-index:4;pointer-events:none;min-width:0;min-height:0;margin:3px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:3px;overflow:hidden;color:#fff8dc;border:1px solid rgba(255,231,147,.60);background:linear-gradient(135deg,#d19631,#75501c 44%,#b77d29);box-shadow:inset 0 1px 0 rgba(255,255,255,.30),0 2px 8px rgba(0,0,0,.36),0 0 9px rgba(255,196,65,.16)}.cg-battle-asset.is-v{flex-direction:column}.cg-battle-asset .cg-battle-asset-icon{font-size:clamp(12px,3.6vw,21px);filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.cg-battle-asset b{font-size:clamp(7px,1.9vw,10px);white-space:nowrap;text-shadow:0 1px 2px #000}.cg-battle-asset.asset-mirrorball{background:linear-gradient(135deg,#47d7e8,#805be6 44%,#ed66b6)}.cg-battle-asset.asset-djdesk{background:linear-gradient(135deg,#424c62,#202a3c 42%,#6f445f)}.cg-battle-asset.asset-speakers{background:linear-gradient(135deg,#2c3440,#111821 47%,#564052)}.cg-battle-asset.asset-stage{background:linear-gradient(135deg,#e15f63,#9d3157 48%,#5d275d)}.cg-battle-asset.asset-turntable{background:linear-gradient(135deg,#677381,#323d4b 50%,#785b6d)}.cg-battle-asset.is-enemy-reveal{filter:saturate(.55) brightness(.75);opacity:.82;border-color:rgba(255,118,91,.72);box-shadow:0 0 11px rgba(255,62,61,.30)}
.cg-battle-lower{flex:0 0 auto;display:grid;grid-template-columns:minmax(112px,.72fr) minmax(0,1.28fr);gap:6px;align-items:end;margin-top:5px}.cg-battle-own-mini{min-width:0}.cg-battle-own-mini .cg-battle-board-label{margin-bottom:2px!important}.cg-battle-grid.is-mini{width:min(31vw,145px)!important;padding:2px!important;gap:1px!important;border-radius:9px!important}.cg-battle-grid.is-mini .cg-battle-asset{margin:1px;gap:0}.cg-battle-grid.is-mini .cg-battle-asset b{display:none}.cg-battle-grid.is-mini .cg-battle-asset-icon{font-size:9px}.cg-battle-grid.is-mini .cg-battle-shotmark{font-size:10px!important}
.cg-battle-fleet{width:100%!important;margin:0!important}.cg-battle-fleet>small{font-size:.48rem;margin-bottom:3px}.cg-battle-fleet>div{gap:3px!important}.cg-battle-fleet span{padding:3px 2px!important;border-radius:8px!important}.cg-battle-fleet i{font-size:12px!important}.cg-battle-fleet b{font-size:.45rem!important}.cg-battle-fleet em{font-size:.42rem!important}.cg-battle-fleet span.is-sunk{background:rgba(145,21,35,.20)!important;border-color:rgba(255,78,85,.32)!important}
.cg-battle-setup-head{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center;margin:1px 1px 4px;padding:6px 8px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}.cg-battle-setup-head small{font-size:.48rem;letter-spacing:.07em;color:#78eaff}.cg-battle-setup-head h3{margin:1px 0;font-size:.76rem}.cg-battle-setup-head p{margin:0;font-size:.57rem;opacity:.66}.cg-battle-readyline{display:grid;gap:3px}.cg-battle-readyline span{padding:3px 5px;border-radius:8px;font-size:.48rem;white-space:nowrap;background:rgba(255,255,255,.05)}.cg-battle-readyline span.ready{color:#82ffd1;background:rgba(39,186,132,.14)}
.cg-battle-tools{flex:0 0 auto;margin:0 0 4px!important}.cg-battle-rotate{min-height:32px!important;padding:3px 8px!important;grid-template-columns:24px auto!important}.cg-battle-rotate>span{width:24px!important;height:24px!important;font-size:14px!important}.cg-battle-rotate b{font-size:.58rem!important}.cg-battle-rotate small{font-size:.46rem!important}.cg-battle-confirm{display:grid;grid-template-columns:1fr 1.3fr;gap:6px;margin:5px auto 0;width:min(94vw,510px)}.cg-battle-confirm button{min-height:36px!important;padding:6px 8px!important;font-size:.62rem!important}.cg-battle-wait{margin:5px auto 0;width:min(94vw,510px);padding:7px 9px;border-radius:11px;text-align:center;background:rgba(37,172,132,.10);border:1px solid rgba(95,240,190,.16)}.cg-battle-wait span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#6dffd0;box-shadow:0 0 10px #6dffd0;animation:cgBattleWait 1.2s ease-in-out infinite}.cg-battle-wait b,.cg-battle-wait small{display:block}.cg-battle-wait b{font-size:.61rem}.cg-battle-wait small{font-size:.49rem;opacity:.62}@keyframes cgBattleWait{50%{opacity:.3;transform:scale(.75)}}
.cg-battle-screen.is-placement .cg-battle-grid{width:min(91vw,calc(100dvh - 300px),500px)!important}.cg-battle-screen.is-placement .cg-battle-fleet{margin-top:5px!important}
@media(max-width:380px){.cg-overlay.is-discobattle .cg-modal{padding-left:3px!important;padding-right:3px!important}.cg-battle-player{grid-template-columns:27px minmax(0,1fr);height:38px}.cg-battle-player>i{width:27px;height:27px}.cg-battle-player em{display:none}.cg-battle-grid{width:min(96vw,calc(100dvh - 330px),470px)!important}.cg-battle-lower{grid-template-columns:minmax(100px,.68fr) minmax(0,1.32fr)}.cg-battle-grid.is-mini{width:min(30vw,125px)!important}.cg-battle-fleet b{display:none!important}}
@media(max-height:720px) and (max-width:520px){.cg-overlay.is-discobattle .cg-match-head{height:24px;min-height:24px}.cg-battle-player{height:36px}.cg-battle-player>i{width:27px;height:27px}.cg-battle-message{min-height:23px;padding:3px 6px}.cg-battle-grid{width:min(92vw,calc(100dvh - 284px),430px)!important}.cg-battle-grid.is-mini{width:min(25vw,112px)!important}.cg-battle-lower{margin-top:3px}.cg-battle-fleet>small{display:none}.cg-battle-fleet span{padding:2px!important}.cg-battle-asset{margin:2px}.cg-battle-screen.is-placement .cg-battle-grid{width:min(88vw,calc(100dvh - 252px),430px)!important}}
@media(max-height:620px) and (max-width:520px){.cg-battle-player small,.cg-battle-fleet em,.cg-battle-board-label span{display:none}.cg-battle-players{margin-bottom:2px}.cg-battle-message{font-size:.56rem;margin-bottom:2px}.cg-battle-grid{width:min(84vw,calc(100dvh - 228px),380px)!important}.cg-battle-grid.is-mini{width:92px!important}.cg-battle-lower{grid-template-columns:96px 1fr}.cg-battle-screen.is-placement .cg-battle-grid{width:min(82vw,calc(100dvh - 215px),375px)!important}}
@media(prefers-reduced-motion:reduce){.cg-battle-player,.cg-battle-wait span{animation:none!important;transition:none!important}}


/* Disco Battle V2.1 – Treffer-Layer, Wartezustand und Abschlussphase */
.cg-battle-impact{z-index:9;pointer-events:none;align-self:stretch;justify-self:stretch;display:grid;place-items:center;font-style:normal;font-weight:950;line-height:1}
.cg-battle-impact.is-miss{font-size:clamp(12px,4.2vw,24px);color:#d9f6ff;text-shadow:0 0 8px #5de0ff}
.cg-battle-impact.is-hit{font-size:clamp(10px,3.5vw,20px);color:#fff5c0;text-shadow:0 0 5px #fff,0 0 10px #ff932f,0 0 15px #ff3e3e}
.cg-battle-grid.is-mini .cg-battle-impact{font-size:10px!important}
.cg-battle-fx-top{z-index:14!important;pointer-events:none;position:relative!important;inset:auto!important;align-self:stretch;justify-self:stretch;display:block!important}
.cg-battle-board-stage{position:relative;width:fit-content;max-width:100%;margin:0 auto}
.cg-battle-board-blocker{position:absolute;z-index:18;inset:3px;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;padding:12px;background:rgba(5,12,26,.55);backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);border:1px solid rgba(255,159,94,.34);box-shadow:inset 0 0 40px rgba(0,0,0,.30);pointer-events:auto}
.cg-battle-board-blocker strong{font-size:clamp(.78rem,3.2vw,1.12rem);letter-spacing:.055em;color:#ffb47e;text-shadow:0 0 12px rgba(255,111,65,.45)}
.cg-battle-board-blocker span{font-size:clamp(.54rem,2.2vw,.72rem);color:rgba(255,239,229,.78)}
.cg-battle-board-blocker.is-victory{background:rgba(5,11,24,.67);border-width:2px;animation:cgBattleVictoryIn .28s ease-out both}
.cg-battle-board-blocker.is-victory.is-win{border-color:rgba(91,255,185,.62);box-shadow:inset 0 0 50px rgba(20,180,124,.16),0 0 24px rgba(64,255,177,.18)}
.cg-battle-board-blocker.is-victory.is-win strong{color:#87ffd3;text-shadow:0 0 16px rgba(73,255,185,.52)}
.cg-battle-board-blocker.is-victory.is-loss{border-color:rgba(255,91,91,.58);box-shadow:inset 0 0 50px rgba(195,32,45,.18),0 0 24px rgba(255,64,70,.16)}
.cg-battle-board-blocker.is-victory.is-loss strong{color:#ff9c9c;text-shadow:0 0 16px rgba(255,62,68,.48)}
@keyframes cgBattleVictoryIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.cg-battle-board-blocker.is-victory{animation:none!important}}


/* ========================================================================
   Disco Battle V2.2 – Arcade FX / hochwertigere Objektgrafiken
   Rein visuelle Ebene: keine Koordinaten-, State-, Zug- oder Trefferlogik.
   ======================================================================== */
/* Aktiver Zug klarer und lebendiger */
.cg-battle-screen.your-turn .cg-battle-main .cg-battle-grid{
  animation:cgDbTargetPulse 1.8s ease-in-out infinite;
}
.cg-battle-screen.opponent-turn .cg-battle-main .cg-battle-grid{
  filter:saturate(.72) brightness(.76)!important;
}
.cg-battle-screen.your-turn .cg-battle-board-label:first-child span{
  color:#92ffd8;opacity:1;font-weight:850;text-shadow:0 0 9px rgba(76,255,194,.28)
}
@keyframes cgDbTargetPulse{
  0%,100%{box-shadow:inset 0 0 34px rgba(0,31,66,.36),0 0 0 2px rgba(78,255,187,.20),0 0 16px rgba(57,245,181,.10)}
  50%{box-shadow:inset 0 0 42px rgba(0,31,66,.42),0 0 0 2px rgba(78,255,187,.42),0 0 30px rgba(57,245,181,.26)}
}

/* Spielfeld erhält mehr Tiefe ohne die Rastergeometrie zu verändern */
.cg-battle-grid{
  position:relative;
  background:
    radial-gradient(circle at 18% 10%,rgba(79,220,255,.18),transparent 28%),
    radial-gradient(circle at 85% 88%,rgba(89,91,255,.13),transparent 32%),
    linear-gradient(155deg,#0d5d83,#083758 52%,#142655)!important;
}
.cg-battle-grid::before{
  content:"";position:absolute;inset:4px;z-index:0;pointer-events:none;border-radius:12px;
  background:linear-gradient(115deg,transparent 0 38%,rgba(255,255,255,.035) 39% 40%,transparent 41% 100%);
  opacity:.7
}

/* Disco-Objekte: mehr Material, Details und Licht */
.cg-battle-asset{
  position:relative;isolation:isolate;
  border-width:1px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -5px 9px rgba(0,0,0,.22),0 3px 10px rgba(0,0,0,.38),0 0 12px rgba(255,196,65,.18)!important;
}
.cg-battle-asset::before,.cg-battle-asset::after{content:"";position:absolute;pointer-events:none;z-index:-1}
.cg-battle-asset::before{inset:2px;border-radius:inherit;background:linear-gradient(105deg,rgba(255,255,255,.16),transparent 30% 70%,rgba(255,255,255,.05))}
.cg-battle-asset::after{left:8%;right:8%;bottom:10%;height:2px;border-radius:999px;background:rgba(255,255,255,.28);box-shadow:0 -5px 0 rgba(0,0,0,.12)}
.cg-battle-asset.asset-mirrorball{
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.15) 0 2px,transparent 2px 7px),
    repeating-linear-gradient(0deg,rgba(255,255,255,.12) 0 2px,transparent 2px 7px),
    linear-gradient(135deg,#55e4ef,#6e65e9 46%,#e86dbc)!important;
}
.cg-battle-asset.asset-djdesk{
  background:
    radial-gradient(circle at 26% 50%,#111 0 10%,#8997a7 11% 14%,transparent 15%),
    radial-gradient(circle at 74% 50%,#111 0 10%,#8997a7 11% 14%,transparent 15%),
    linear-gradient(135deg,#596477,#222d40 48%,#724a67)!important;
}
.cg-battle-asset.asset-speakers{
  background:
    radial-gradient(circle at 30% 50%,#0b0e13 0 13%,#3f4a58 14% 20%,transparent 21%),
    radial-gradient(circle at 70% 50%,#0b0e13 0 13%,#3f4a58 14% 20%,transparent 21%),
    linear-gradient(135deg,#333d49,#121922 52%,#514052)!important;
}
.cg-battle-asset.asset-stage{
  background:
    linear-gradient(90deg,transparent 12%,rgba(255,229,121,.48) 13% 16%,transparent 17% 83%,rgba(255,229,121,.48) 84% 87%,transparent 88%),
    linear-gradient(135deg,#ef7470,#a8365d 48%,#672d65)!important;
}
.cg-battle-asset.asset-turntable{
  background:
    radial-gradient(circle at 50% 50%,#0d1117 0 18%,#768290 19% 22%,#222a35 23% 31%,transparent 32%),
    linear-gradient(135deg,#788592,#34414f 50%,#7b5e70)!important;
}
.cg-battle-asset.is-enemy-reveal{filter:saturate(.65) brightness(.80)!important;opacity:.94!important}

/* Dauerhafte Trefferzeichen klarer */
.cg-battle-impact.is-hit{
  color:#fffbd5!important;
  text-shadow:0 0 4px #fff,0 0 9px #ffd44d,0 0 15px #ff602f,0 0 21px #ff243d!important;
  animation:cgDbHitAfterglow 1.2s ease-out 1
}
.cg-battle-impact.is-miss{
  color:#dffaff!important;
  text-shadow:0 0 5px #fff,0 0 10px #52d7ff,0 0 17px #168ee9!important;
}
@keyframes cgDbHitAfterglow{0%{transform:scale(1.55);filter:brightness(1.7)}100%{transform:scale(1);filter:brightness(1)}}

/* Treffer: größerer mehrstufiger Feuerball + Schockwelle + Funken */
.cg-battle-explosion,.cg-battle-splash{
  overflow:visible!important;width:100%!important;height:100%!important;left:auto!important;top:auto!important;transform:none!important;
}
.cg-battle-explosion::before{
  inset:-58%!important;
  background:radial-gradient(circle,#fff 0 5%,#fff4a6 6% 11%,#ffd343 12% 20%,#ff6a32 21% 35%,rgba(255,27,65,.70) 36% 49%,rgba(173,22,70,.24) 50% 61%,transparent 72%)!important;
  filter:drop-shadow(0 0 8px rgba(255,100,43,.85));
  animation:cgDbMegaBoom .95s cubic-bezier(.14,.72,.2,1) forwards!important;
}
.cg-battle-explosion span{
  position:absolute;z-index:1;inset:-24%;border:2px solid rgba(255,228,115,.78);border-radius:50%;
  box-shadow:0 0 12px rgba(255,75,46,.55),inset 0 0 10px rgba(255,221,79,.30);
  animation:cgDbShock 1.05s ease-out forwards
}
.cg-battle-explosion b{
  left:50%!important;top:50%!important;width:5px!important;height:5px!important;margin:-2px!important;
  background:linear-gradient(#fff7ac,#ff7d36)!important;box-shadow:0 0 7px #ff522e!important;
  animation:cgDbShard 1.05s ease-out forwards!important
}
.cg-battle-explosion b:nth-of-type(1){--x:43px;--y:-34px}.cg-battle-explosion b:nth-of-type(2){--x:-46px;--y:-31px}.cg-battle-explosion b:nth-of-type(3){--x:45px;--y:33px}.cg-battle-explosion b:nth-of-type(4){--x:-42px;--y:36px}.cg-battle-explosion b:nth-of-type(5){--x:6px;--y:-52px}.cg-battle-explosion b:nth-of-type(6){--x:-7px;--y:54px}.cg-battle-explosion b:nth-of-type(7){--x:56px;--y:2px}.cg-battle-explosion b:nth-of-type(8){--x:-57px;--y:5px}.cg-battle-explosion b:nth-of-type(9){--x:31px;--y:-48px}.cg-battle-explosion b:nth-of-type(10){--x:-34px;--y:48px}
.cg-battle-explosion.is-sunk::after{
  content:"";position:absolute;inset:-90%;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(255,246,158,.88) 0 8%,rgba(255,92,47,.42) 20%,rgba(255,33,68,.18) 40%,transparent 68%);
  animation:cgDbSunkBoom 1.25s ease-out forwards
}
@keyframes cgDbMegaBoom{0%{transform:scale(.10);opacity:0}14%{opacity:1}42%{transform:scale(.92);opacity:1}100%{transform:scale(1.55);opacity:0}}
@keyframes cgDbShock{0%{transform:scale(.15);opacity:.95}100%{transform:scale(1.85);opacity:0}}
@keyframes cgDbShard{0%{transform:translate(0,0) rotate(0) scale(1.1);opacity:1}100%{transform:translate(var(--x),var(--y)) rotate(180deg) scale(.15);opacity:0}}
@keyframes cgDbSunkBoom{0%{transform:scale(.15);opacity:0}18%{opacity:1}100%{transform:scale(1.35);opacity:0}}

/* Wasser: deutlich größerer Splash, Wellenringe und 8 Tropfen */
.cg-battle-splash::before{
  inset:-55%!important;border:3px solid rgba(199,247,255,.95)!important;
  box-shadow:0 0 15px rgba(80,213,255,.78),inset 0 0 12px rgba(104,222,255,.28);
  animation:cgDbWaterRing .95s ease-out forwards!important
}
.cg-battle-splash span{
  position:absolute;inset:-18%;border:2px solid rgba(70,198,255,.72);border-radius:50%;
  animation:cgDbWaterRing2 1.15s .08s ease-out forwards
}
.cg-battle-splash b{
  left:50%!important;top:50%!important;width:6px!important;height:12px!important;margin:-3px!important;
  border-radius:60% 60% 70% 70%!important;background:linear-gradient(#efffff,#62dcff)!important;
  box-shadow:0 0 7px rgba(74,204,255,.76)!important;animation:cgDbWaterDrop 1s ease-out forwards!important
}
.cg-battle-splash b:nth-of-type(1){--x:35px;--y:-32px}.cg-battle-splash b:nth-of-type(2){--x:-35px;--y:-29px}.cg-battle-splash b:nth-of-type(3){--x:9px;--y:-46px}.cg-battle-splash b:nth-of-type(4){--x:-8px;--y:-50px}.cg-battle-splash b:nth-of-type(5){--x:42px;--y:-10px}.cg-battle-splash b:nth-of-type(6){--x:-43px;--y:-7px}.cg-battle-splash b:nth-of-type(7){--x:27px;--y:-42px}.cg-battle-splash b:nth-of-type(8){--x:-28px;--y:-40px}
@keyframes cgDbWaterRing{0%{transform:scale(.10);opacity:.9}100%{transform:scale(1.55);opacity:0}}
@keyframes cgDbWaterRing2{0%{transform:scale(.15);opacity:.75}100%{transform:scale(1.85);opacity:0}}
@keyframes cgDbWaterDrop{0%{transform:translate(0,0) scale(.9);opacity:1}70%{opacity:1}100%{transform:translate(var(--x),var(--y)) scale(.35);opacity:0}}

/* Gegner wartet / Sieg noch hochwertiger */
.cg-battle-board-blocker:not(.is-victory){
  background:radial-gradient(circle at 50% 45%,rgba(255,118,60,.10),transparent 40%),rgba(4,10,24,.62)!important;
  border-color:rgba(255,153,86,.45)!important;
}
.cg-battle-board-blocker:not(.is-victory) strong{animation:cgDbWaitGlow 1.6s ease-in-out infinite}
@keyframes cgDbWaitGlow{50%{text-shadow:0 0 18px rgba(255,111,55,.72);transform:scale(1.025)}}
.cg-battle-board-blocker.is-victory::before,.cg-battle-board-blocker.is-victory::after{
  content:"✦";position:absolute;font-size:clamp(22px,8vw,54px);opacity:0;pointer-events:none
}
.cg-battle-board-blocker.is-victory.is-win::before{left:16%;top:20%;color:#ffe372;animation:cgDbVictorySpark 1.5s .15s ease-out both}
.cg-battle-board-blocker.is-victory.is-win::after{right:14%;bottom:18%;color:#76ffd0;animation:cgDbVictorySpark 1.5s .32s ease-out both}
.cg-battle-board-blocker.is-victory.is-loss::before{left:16%;top:22%;color:#ff785e;animation:cgDbLossSmoke 1.4s ease-out both}
.cg-battle-board-blocker.is-victory.is-loss::after{right:15%;bottom:20%;color:#ff4a72;animation:cgDbLossSmoke 1.4s .18s ease-out both}
@keyframes cgDbVictorySpark{0%{transform:scale(.2) rotate(0);opacity:0}24%{opacity:1}100%{transform:scale(1.6) rotate(75deg);opacity:0}}
@keyframes cgDbLossSmoke{0%{transform:scale(.4) translateY(8px);opacity:0}25%{opacity:.8}100%{transform:scale(1.8) translateY(-18px);opacity:0}}

/* Mini-Brett: Effekte kleiner halten, damit es lesbar bleibt */
.cg-battle-grid.is-mini .cg-battle-explosion::before,.cg-battle-grid.is-mini .cg-battle-splash::before{inset:-35%!important}
.cg-battle-grid.is-mini .cg-battle-explosion b,.cg-battle-grid.is-mini .cg-battle-splash b{display:none!important}
.cg-battle-grid.is-mini .cg-battle-explosion span,.cg-battle-grid.is-mini .cg-battle-splash span{inset:-8%!important}

@media(prefers-reduced-motion:reduce){
  .cg-battle-screen.your-turn .cg-battle-main .cg-battle-grid,
  .cg-battle-impact.is-hit,
  .cg-battle-explosion::before,.cg-battle-explosion::after,.cg-battle-explosion span,.cg-battle-explosion b,
  .cg-battle-splash::before,.cg-battle-splash span,.cg-battle-splash b,
  .cg-battle-board-blocker strong,.cg-battle-board-blocker.is-victory::before,.cg-battle-board-blocker.is-victory::after{
    animation:none!important
  }
}
