/* KoenigHeineDE — Community shell (Cockpit + Bento) */

/* Reuse landing's nav layout */
.nav{position:sticky;top:0;z-index:50;padding:var(--s-4) 0;background:rgba(15,20,32,0.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft)}
.nav-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--s-5)}
.nav-right{display:flex;align-items:center;gap:var(--s-3);justify-self:end}

.info-chip{--chip-accent:var(--cyan);--chip-accent-glow:rgba(79,209,228,0.55);display:inline-flex;align-items:center;gap:var(--s-3);padding:8px 6px 8px 14px;border-radius:var(--r-pill);background:var(--bg-panel);border:1px solid var(--line-soft);color:var(--ivory);font-family:var(--font-body);font-size:0.88rem;font-weight:600;text-decoration:none;cursor:pointer;justify-self:start;transition:border-color var(--dur-fast) var(--ease-out-quart),background var(--dur-fast) var(--ease-out-quart),transform var(--dur-fast) var(--ease-out-quart)}
.info-chip:hover{border-color:var(--chip-accent);background:var(--bg-raised);transform:translateY(-1px)}
.info-chip-icon{width:16px;height:16px;flex-shrink:0;color:var(--chip-accent)}
.info-chip-label{font-family:var(--font-mono);letter-spacing:-0.01em;color:var(--ivory)}
.info-chip-meta{display:inline-flex;align-items:center;gap:8px;padding:0 4px;color:var(--chip-accent);font-family:var(--font-mono);font-size:0.86rem;font-weight:700;font-feature-settings:"tnum";line-height:1}
.info-chip-meta::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--chip-accent);box-shadow:0 0 10px var(--chip-accent-glow);animation:chipDotPulse 2.4s ease-in-out infinite}
@keyframes chipDotPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(0.65);opacity:0.6}}
.info-chip-discord{--chip-accent:#5865f2;--chip-accent-glow:rgba(88,101,242,0.65);padding:8px 14px 8px 6px}
.info-chip-meta-discord{color:#b3b9ff}

.nav-center{justify-self:center}
.nav-links{display:flex;align-items:center;gap:var(--s-2);list-style:none;margin:0;padding:0}
.nav-links a{display:inline-flex;align-items:center;padding:8px 16px;border-radius:var(--r-pill);color:var(--ivory-muted);font-size:0.96rem;font-weight:500;text-decoration:none;transition:color var(--dur-fast) var(--ease-out-quart),background var(--dur-fast) var(--ease-out-quart)}
.nav-links a:hover{color:var(--ivory);background:rgba(255,255,255,0.04)}
.nav-home a{padding:0 var(--s-3);background:none}
.nav-home a:hover{background:none}
.nav-home img{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 0 4px rgba(79,209,228,0.85)) drop-shadow(0 0 12px rgba(79,209,228,0.35));animation:navLogoFloat 5.5s ease-in-out infinite alternate;will-change:transform}
@keyframes navLogoFloat{0%{transform:translateY(-2px) rotate(-2deg)}100%{transform:translateY(2px) rotate(2deg)}}

/* Profile dropdown (CSS-only using <details>) */
.profile-dropdown{position:relative}
.profile-dropdown > summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:var(--s-2);padding:6px 12px 6px 6px;border-radius:var(--r-pill);background:var(--bg-panel);border:1px solid var(--line-soft);color:var(--ivory);font-size:0.88rem;font-weight:600;transition:border-color var(--dur-fast) var(--ease-out-quart),background var(--dur-fast) var(--ease-out-quart)}
.profile-dropdown > summary::-webkit-details-marker{display:none}
.profile-dropdown > summary:hover{border-color:var(--line-strong);background:var(--bg-raised)}
.profile-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;image-rendering:pixelated;border:1px solid var(--line-soft);background:var(--bg-deep)}
.profile-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-caret{width:14px;height:14px;color:var(--ivory-muted);transition:transform var(--dur-fast) var(--ease-out-quart)}
.profile-dropdown[open] > summary > .profile-caret{transform:rotate(180deg)}
.profile-dropdown[open] > summary{border-color:var(--cyan)}
.profile-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:260px;background:var(--bg-panel);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:var(--s-2);box-shadow:var(--shadow-strong);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);z-index:100}
.profile-menu a{display:block;padding:10px 14px;border-radius:var(--r-sm);color:var(--ivory);font-size:0.92rem;text-decoration:none;font-weight:500;transition:background var(--dur-fast) var(--ease-out-quart),color var(--dur-fast) var(--ease-out-quart)}
.profile-menu a:hover{background:var(--bg-raised);color:var(--cyan)}
.profile-menu hr{border:0;border-top:1px solid var(--line-soft);margin:var(--s-2) 0}
.profile-menu-head{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-3) var(--s-3);border-radius:var(--r-md);margin-bottom:var(--s-2);background:rgba(255,255,255,0.02)}
.profile-menu-head img{width:48px;height:48px;border-radius:var(--r-md);object-fit:cover;image-rendering:pixelated;border:1px solid var(--line-soft)}
.profile-menu-name{font-weight:600;color:var(--ivory);font-size:0.95rem;margin-bottom:4px;font-family:var(--font-display)}
.profile-menu-danger{color:var(--red) !important}
.profile-menu-danger:hover{background:rgba(248,113,113,0.10) !important;color:#fff !important}

.rank-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-pill);background:color-mix(in srgb, var(--rank-color, #9ca3af) 16%, transparent);border:1px solid color-mix(in srgb, var(--rank-color, #9ca3af) 50%, transparent);color:var(--rank-color, var(--ivory-muted));font-size:0.7rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase}

/* Main */
.app-main{flex:1;position:relative;z-index:1;padding:var(--s-8) 0 var(--s-9)}

/* Dashboard hero */
.dash-hero{text-align:center;margin-bottom:var(--s-8)}
.dash-greeting{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:600;letter-spacing:-0.02em;color:var(--ivory);margin:0 0 var(--s-3)}
.dash-greeting .accent{color:var(--cyan)}
.dash-sub{color:var(--ivory-muted);font-size:1rem;margin:0}

/* Bento grid */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--s-4);max-width:1180px;margin:0 auto}
.bento-card{grid-column:span 2;display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-6);background:var(--bg-panel);border:1px solid var(--line-soft);border-radius:var(--r-lg);text-decoration:none;color:inherit;transition:border-color var(--dur-fast) var(--ease-out-quart),background var(--dur-fast) var(--ease-out-quart),transform var(--dur-fast) var(--ease-out-quart);box-shadow:var(--shadow-soft);position:relative;overflow:hidden;min-height:170px}
.bento-card:hover{border-color:var(--cyan);background:var(--bg-raised);transform:translateY(-2px)}
.bento-card.col-3{grid-column:span 3}
.bento-card.col-4{grid-column:span 4}
.bento-card.col-6{grid-column:span 6}
.bento-card.tall{grid-row:span 2}

.bento-eyebrow{font-size:var(--fs-micro);font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ivory-faint);display:flex;align-items:center;gap:var(--s-2)}
.bento-eyebrow svg{width:14px;height:14px;color:var(--cyan)}
.bento-title{font-family:var(--font-display);font-size:1.4rem;font-weight:600;letter-spacing:-0.01em;color:var(--ivory);margin:0}
.bento-body{color:var(--ivory-muted);margin:0;font-size:0.95rem;line-height:1.5}
.bento-cta{margin-top:auto;display:inline-flex;align-items:center;gap:6px;color:var(--cyan);font-size:0.88rem;font-weight:600}
.bento-cta svg{width:14px;height:14px;transition:transform var(--dur-fast) var(--ease-out-quart)}
.bento-card:hover .bento-cta svg{transform:translateX(3px)}

.bento-stat{font-family:var(--font-display);font-size:2.4rem;font-weight:600;line-height:1;color:var(--ivory)}
.bento-stat.cyan{color:var(--cyan)}
.bento-stat.gold{color:var(--gold)}

.bento-mc-row{display:flex;align-items:center;gap:var(--s-3)}
.bento-mc-avatar{width:56px;height:56px;border-radius:var(--r-md);image-rendering:pixelated;border:1px solid var(--line-soft);background:var(--bg-deep)}
.bento-mc-name{font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:var(--ivory);margin:0 0 4px}

.bento-news-list{display:grid;gap:var(--s-3);margin:0;padding:0;list-style:none}
.bento-news-item{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3);border-radius:var(--r-md);background:rgba(255,255,255,0.03);transition:background var(--dur-fast) var(--ease-out-quart)}
.bento-news-item:hover{background:rgba(255,255,255,0.06)}
.bento-news-date{font-family:var(--font-mono);font-size:0.78rem;color:var(--ivory-faint);min-width:64px}
.bento-news-title{font-weight:600;color:var(--ivory);font-size:0.95rem}

.bento-empty{color:var(--ivory-faint);font-style:italic;font-size:0.92rem}

/* Footer */
.footer{position:relative;z-index:1;padding:var(--s-6) 0;border-top:1px solid var(--line-soft);background:rgba(5,4,7,0.4);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);margin-top:var(--s-9)}
.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-4);font-size:var(--fs-small);color:var(--ivory-faint)}
.footer a{color:var(--ivory-muted)}
.footer a:hover{color:var(--gold)}

/* Responsive */
@media (max-width:1080px){.nav-inner{grid-template-columns:auto auto auto}.info-chip-label{display:none}.info-chip{padding:8px 12px}.info-chip-discord{padding:8px 12px}}
@media (max-width:880px){.nav-inner{grid-template-columns:1fr auto 1fr;gap:var(--s-3)}.nav-links li:not(.nav-home){display:none}.profile-name{display:none}.bento{grid-template-columns:repeat(2,1fr)}.bento-card,.bento-card.col-3,.bento-card.col-4,.bento-card.col-6{grid-column:span 2}}
@media (max-width:540px){.nav{padding:10px 0}.nav-home img{width:44px;height:44px}.bento{grid-template-columns:1fr}.bento-card,.bento-card.col-3,.bento-card.col-4,.bento-card.col-6{grid-column:span 1}.profile-menu{min-width:240px}}

@media (prefers-reduced-motion: reduce){
  .info-chip-meta::before{animation:none}
  .nav-home img{animation:none}
}

/* Account / Settings */
.settings{max-width:760px;margin:0 auto;padding-bottom:var(--s-9)}
.page-title{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:600;letter-spacing:-0.02em;color:var(--ivory);margin:0 0 var(--s-7)}
.settings-card{background:var(--bg-panel);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:var(--s-6);margin-bottom:var(--s-5);box-shadow:var(--shadow-soft)}
.settings-card h2{font-family:var(--font-display);font-size:1.25rem;font-weight:600;margin:0 0 var(--s-5);color:var(--ivory);letter-spacing:-0.01em}
.settings-list{display:grid;gap:0;margin:0;padding:0}
.settings-list > div{display:grid;grid-template-columns:160px 1fr;gap:var(--s-4);align-items:center;padding:var(--s-3) 0;border-bottom:1px solid var(--line-soft)}
.settings-list > div:last-child{border-bottom:none}
.settings-list dt{font-size:var(--fs-micro);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--ivory-faint);margin:0}
.settings-list dd{margin:0;color:var(--ivory);display:inline-flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}
.settings-form{display:grid;gap:var(--s-4)}
.settings-form label{display:block;font-size:var(--fs-micro);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--ivory-faint);margin-bottom:var(--s-2)}
.settings-form .form-actions{display:flex;justify-content:flex-start;margin-top:var(--s-2)}
.settings-form .btn{min-width:160px}
@media (max-width:540px){.settings-list > div{grid-template-columns:1fr;gap:var(--s-1);padding:var(--s-2) 0}.settings-form .btn{width:100%}}

/* Minecraft linking */
.mc-linked-card{padding:var(--s-7) var(--s-6) var(--s-6)}
.mc-linked-row{display:flex;align-items:center;gap:var(--s-5)}
.mc-linked-avatar{width:80px;height:80px;border-radius:var(--r-md);image-rendering:pixelated;border:1px solid var(--line-soft);background:var(--bg-deep)}
.mc-linked-name{font-family:var(--font-display);font-size:1.6rem;font-weight:600;letter-spacing:-0.01em;margin-bottom:var(--s-2)}
.mc-linked-meta{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;font-size:var(--fs-small)}
.mc-linked-divider{border:0;border-top:1px solid var(--line-soft);margin:var(--s-6) 0 var(--s-5)}

.mc-code-card{text-align:center;padding:var(--s-7) var(--s-6)}
.mc-code-card h2{text-align:center}
.mc-code-display{display:inline-block;margin:var(--s-5) auto;padding:var(--s-6) var(--s-8);font-family:var(--font-mono);font-size:clamp(2.4rem,5vw,3.2rem);font-weight:700;letter-spacing:0.35em;color:var(--cyan);background:rgba(79,209,228,0.08);border:2px dashed rgba(79,209,228,0.5);border-radius:var(--r-lg);cursor:pointer;user-select:all;transition:background var(--dur-fast) var(--ease-out-quart),border-color var(--dur-fast) var(--ease-out-quart)}
.mc-code-display:hover{background:rgba(79,209,228,0.14);border-color:var(--cyan)}
.mc-code-instr{margin:var(--s-5) auto var(--s-4);max-width:480px}
.mc-code-instr p{color:var(--ivory-muted);margin:0 0 var(--s-3)}
.mc-code-cmd{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-5);background:var(--bg-deep);border:1px solid var(--line-soft);border-radius:var(--r-md);font-family:var(--font-mono);font-size:1.05rem;color:var(--ivory)}
.mc-code-cmd-prefix{color:var(--gold);font-weight:600}
.mc-code-foot{display:flex;flex-direction:column;align-items:center;gap:var(--s-3);margin-top:var(--s-5);font-size:var(--fs-small);color:var(--ivory-muted)}
.mc-code-timer{font-family:var(--font-mono)}
.mc-code-waiting{display:inline-flex;align-items:center;gap:var(--s-2)}
.mc-spinner{width:12px;height:12px;border:2px solid var(--line-soft);border-top-color:var(--cyan);border-radius:50%;animation:mcSpin 1s linear infinite}
@keyframes mcSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){.mc-spinner{animation:none}}

code{font-family:var(--font-mono);font-size:0.9em;padding:2px 6px;background:rgba(79,209,228,0.12);border-radius:4px;color:var(--cyan)}

.copyable{cursor:pointer;user-select:all;transition:background var(--dur-fast) var(--ease-out-quart),border-color var(--dur-fast) var(--ease-out-quart),transform var(--dur-fast) var(--ease-out-quart)}
.mc-code-cmd.copyable:hover{background:var(--bg-raised);border-color:var(--cyan);transform:translateY(-1px)}

/* Thread list (Anträge/Meldungen Liste) */
.thread-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3)}
.thread-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-4) var(--s-5);border-radius:var(--r-md);background:var(--bg-panel-soft);border:1px solid var(--line-soft);text-decoration:none;color:inherit;transition:border-color var(--dur-fast) var(--ease-out-quart),background var(--dur-fast) var(--ease-out-quart),transform var(--dur-fast) var(--ease-out-quart)}
.thread-row:hover{border-color:var(--cyan);background:var(--bg-raised);transform:translateY(-1px)}
.thread-row-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}
.thread-row-title{font-weight:600;color:var(--ivory);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.thread-row-meta{font-size:var(--fs-small);color:var(--ivory-muted)}
.thread-row-meta code{font-size:0.85em;padding:1px 5px}

/* Message bubbles */
.thread-msgs{display:grid;gap:var(--s-3);margin-bottom:var(--s-3)}
.thread-msg{padding:var(--s-3) var(--s-4);border-radius:var(--r-md);max-width:82%;background:var(--bg-panel-soft);border:1px solid var(--line-soft)}
.thread-msg.is-self{justify-self:end;background:rgba(79,209,228,0.10);border-color:rgba(79,209,228,0.30)}
.thread-msg.is-admin{justify-self:start;background:rgba(247,213,107,0.10);border-color:rgba(247,213,107,0.30)}
.thread-msg-head{font-size:var(--fs-micro);font-weight:700;letter-spacing:0.10em;text-transform:uppercase;color:var(--ivory-faint);margin-bottom:var(--s-2)}
.thread-msg-body{white-space:pre-wrap;color:var(--ivory);font-size:0.95rem;line-height:1.5;word-wrap:break-word}

@media (max-width:540px){
  .thread-row{padding:var(--s-3) var(--s-4)}
  .thread-msg{max-width:100%}
}

/* News — public list */
.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--s-5);margin-top:var(--s-6)}
.news-card{display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:inherit;transition:border-color var(--dur-fast) var(--ease-out-quart),transform var(--dur-fast) var(--ease-out-quart);box-shadow:var(--shadow-soft)}
.news-card:hover{border-color:var(--cyan);transform:translateY(-2px)}
.news-card-banner{position:relative;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#252c3e,#151b2a)}
.news-card-banner img{width:100%;height:100%;object-fit:cover;display:block}
.news-card-banner .news-card-tag{position:absolute;top:var(--s-3);left:var(--s-3);padding:4px 8px 4px 10px;line-height:1;border-radius:var(--r-pill);background:rgba(15,20,32,0.85);backdrop-filter:blur(8px);color:var(--cyan);font-size:var(--fs-micro);font-weight:700;letter-spacing:0.06em;text-transform:uppercase}
.news-card-body{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-5);flex:1}
.news-card-title{font-family:var(--font-display);font-size:1.2rem;font-weight:600;letter-spacing:-0.01em;color:var(--ivory);margin:0}
.news-card-excerpt{color:var(--ivory-muted);font-size:0.95rem;line-height:1.5;margin:0;flex:1}
.news-card-meta{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-small);color:var(--ivory-faint);margin-top:var(--s-2)}
.news-card-meta img{width:20px;height:20px;border-radius:4px;image-rendering:pixelated;border:1px solid var(--line-soft)}
.news-card-meta .news-card-author{color:var(--ivory-muted);font-weight:600}

.news-empty{text-align:center;padding:var(--s-9);color:var(--ivory-muted)}

/* News detail */
.news-detail{max-width:820px;margin:0 auto;padding-bottom:var(--s-9)}
.news-detail-banner{aspect-ratio:16/7;overflow:hidden;border-radius:var(--r-xl);margin-bottom:var(--s-7);background:linear-gradient(135deg,#252c3e,#151b2a);position:relative}
.news-detail-banner img{width:100%;height:100%;object-fit:cover}
.news-detail-tag{display:inline-block;padding:5px 12px;border-radius:var(--r-pill);background:var(--cyan-soft);color:var(--cyan);font-size:var(--fs-micro);font-weight:700;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:var(--s-4)}
.news-detail-title{font-family:var(--font-display);font-size:clamp(2rem,3.5vw,3rem);font-weight:600;letter-spacing:-0.02em;color:var(--ivory);margin:0 0 var(--s-5);line-height:1.1}
.news-detail-meta{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-7);font-size:var(--fs-small);color:var(--ivory-muted)}
.news-detail-meta img{width:32px;height:32px;border-radius:var(--r-sm);image-rendering:pixelated;border:1px solid var(--line-soft)}
.news-detail-meta strong{color:var(--ivory);font-weight:600}
.news-detail-content{color:var(--ivory);font-size:1.05rem;line-height:1.7;white-space:pre-wrap;word-wrap:break-word}
.news-detail-back{display:inline-flex;align-items:center;gap:6px;color:var(--ivory-muted);font-size:var(--fs-small);text-decoration:none;margin-bottom:var(--s-5)}
.news-detail-back:hover{color:var(--ivory)}

/* News admin — Table + Actions */
.news-admin-table{width:100%;border-collapse:collapse;margin-top:var(--s-4)}
.news-admin-table th,.news-admin-table td{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line-soft);text-align:left}
.news-admin-table th{font-size:var(--fs-micro);font-weight:700;letter-spacing:0.10em;text-transform:uppercase;color:var(--ivory-faint)}
.news-admin-table tr:last-child td{border-bottom:none}
.news-admin-actions{display:flex;gap:var(--s-2);flex-wrap:wrap}
.news-admin-actions .btn{padding:6px 12px;min-height:32px;font-size:0.85rem}

/* News — wide/centered card list */
.news-list{max-width:820px;margin:0 auto;display:grid;gap:var(--s-6)}
.news-card-wide{display:block;background:var(--bg-panel);border:1px solid rgba(79,209,228,0.25);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:inherit;transition:border-color var(--dur-fast) var(--ease-out-quart),transform var(--dur-fast) var(--ease-out-quart);box-shadow:var(--shadow-soft);cursor:pointer}
.news-card-wide:hover{border-color:var(--cyan);transform:translateY(-2px)}
.news-card-wide-banner{position:relative;aspect-ratio:16/6;overflow:hidden;background:linear-gradient(135deg,#252c3e,#151b2a);margin:16px 16px 0 16px;border-radius:12px}
.news-card-wide-banner img{width:100%;height:100%;object-fit:cover;display:block}
.news-card-wide-body{padding:var(--s-5) var(--s-6) var(--s-6)}
.news-card-wide-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-2)}
.news-card-wide-title{font-family:var(--font-display);font-size:1.5rem;font-weight:600;letter-spacing:-0.015em;color:var(--ivory);margin:0}
.news-card-wide-author{display:flex;align-items:center;gap:var(--s-2);font-size:0.9rem;color:var(--ivory-muted);flex-shrink:0}
.news-card-wide-author img{border-radius:6px;image-rendering:pixelated;border:1px solid var(--line-soft)}
.news-card-wide-date{display:flex;align-items:center;gap:6px;font-size:var(--fs-small);color:var(--ivory-faint);margin-bottom:var(--s-3)}
.news-card-wide-date svg{opacity:0.6}
.news-card-wide-excerpt{color:var(--ivory-muted);font-size:0.98rem;line-height:1.6;margin:0}
@media (max-width:540px){
  .news-card-wide-head{flex-direction:column;align-items:flex-start}
}

/* News Modal (omni-verse style) */
.news-modal-backdrop{position:fixed;inset:0;background:rgba(5,7,14,0.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:var(--s-7) var(--s-4);overflow-y:auto;animation:modalFade var(--dur-med) var(--ease-out-quart)}
.news-modal-backdrop[hidden]{display:none}
@keyframes modalFade{from{opacity:0}to{opacity:1}}
.news-modal{background:var(--bg-panel);border-radius:var(--r-xl);max-width:820px;width:100%;box-shadow:var(--shadow-strong);border:1px solid var(--line-soft);position:relative;animation:modalSlide var(--dur-med) var(--ease-out-quart)}
@keyframes modalSlide{from{opacity:0;transform:translateY(20px) scale(0.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.news-modal-close{position:fixed;top:var(--s-6);right:var(--s-6);z-index:20;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--bg-deep);border:2px solid var(--cyan);color:var(--ivory);cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,0.5);transition:background var(--dur-fast) var(--ease-out-quart),border-color var(--dur-fast) var(--ease-out-quart)}
.news-modal-close:hover{background:var(--bg-raised);border-color:var(--cyan);color:var(--cyan)}
.news-modal-body{padding:var(--s-7)}
.news-modal-body .news-detail-banner{border-radius:var(--r-lg);margin-bottom:var(--s-5);margin-top:calc(-1 * var(--s-7));margin-left:calc(-1 * var(--s-7));margin-right:calc(-1 * var(--s-7));border-top-left-radius:var(--r-xl);border-top-right-radius:var(--r-xl);border-bottom-left-radius:0;border-bottom-right-radius:0}
@media (prefers-reduced-motion: reduce){
  .news-modal-backdrop,.news-modal{animation:none}
}

/* Modal — Fallback / Override */

/* Modal typography — feiner Polish */
.news-modal .news-detail-tag{display:inline-block;padding:5px 10px 5px 12px;line-height:1;border-radius:999px;background:rgba(79,209,228,0.14);border:1px solid rgba(79,209,228,0.30);color:var(--cyan);font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:16px}
.news-modal .news-detail-title{font-family:var(--font-display);font-size:clamp(1.6rem, 2.6vw, 2rem);font-weight:600;letter-spacing:-0.02em;color:var(--ivory);margin:0 0 18px;line-height:1.15}
.news-modal .news-detail-meta{display:flex;align-items:center;gap:10px;color:var(--ivory-muted);font-size:0.9rem;margin-bottom:0}
.news-modal .news-detail-meta img{width:26px;height:26px;border-radius:6px;image-rendering:pixelated;border:1px solid var(--line-soft)}
.news-modal .news-detail-meta strong{color:var(--ivory);font-weight:600}
.news-modal .news-detail-meta-sep{color:var(--ivory-faint);margin:0}
.news-modal .news-detail-divider{border:0;border-top:1px solid var(--line-soft);margin:20px 0 24px}
.news-modal .news-detail-content{color:var(--ivory);font-size:1rem;line-height:1.75;white-space:pre-wrap;word-wrap:break-word}

/* Custom scrollbar im modal-body */
.news-modal-body::-webkit-scrollbar{width:8px}
.news-modal-body::-webkit-scrollbar-track{background:transparent}
.news-modal-body::-webkit-scrollbar-thumb{background:var(--gold);border-radius:4px}
.news-modal-body::-webkit-scrollbar-thumb:hover{background:var(--gold-soft)}

/* Modal Scrollbar — gold, sichtbar, nicht bis ganz an den Rand */
.news-modal-body{scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
.news-modal-body::-webkit-scrollbar{width:10px}
.news-modal-body::-webkit-scrollbar-track{background:transparent;margin:8px 0}
.news-modal-body::-webkit-scrollbar-thumb{background:var(--gold);border-radius:5px;border:2px solid transparent;background-clip:content-box}
.news-modal-body::-webkit-scrollbar-thumb:hover{background:var(--gold-soft);background-clip:content-box;border:2px solid transparent}

#newsModalBody{scrollbar-color:#f7d56b transparent}
#newsModalBody::-webkit-scrollbar{width:10px;background:transparent}
#newsModalBody::-webkit-scrollbar-track{background:transparent}
#newsModalBody::-webkit-scrollbar-thumb{background:#f7d56b;border-radius:5px;min-height:40px}
#newsModalBody::-webkit-scrollbar-thumb:hover{background:#f6e7b0}

.news-modal-header{padding:0}
.news-modal-header .news-detail-header{padding:24px 28px 0}
.news-modal-header .news-detail-banner{margin:0;border-radius:20px 20px 0 0;overflow:hidden;aspect-ratio:16/7}
.news-modal-header .news-detail-banner img{width:100%;height:100%;object-fit:cover;display:block}
.news-modal-header .news-detail-meta{padding-bottom:20px;border-bottom:1px solid var(--line-soft);margin-bottom:0}
#newsModalBody{padding:24px 28px 32px !important}

.news-detail-lead{font-size:1.08rem;line-height:1.6;color:var(--ivory);font-weight:500;margin:0 0 20px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,0.05)}

/* Admin panel */
.admin-tabs{display:flex;gap:var(--s-2);margin-bottom:var(--s-6);flex-wrap:wrap}
.admin-tabs a{padding:var(--s-2) var(--s-4);border-radius:var(--r-md);background:var(--bg-panel-soft);border:1px solid var(--line-soft);color:var(--ivory-muted);text-decoration:none;font-size:0.85rem;font-weight:600;transition:border-color var(--dur-fast) var(--ease-out-quart),background var(--dur-fast) var(--ease-out-quart),color var(--dur-fast) var(--ease-out-quart)}
.admin-tabs a:hover{border-color:var(--cyan);color:var(--ivory)}
.admin-tabs a.active{background:rgba(79,209,228,0.12);border-color:var(--cyan);color:var(--cyan)}

.filter-tabs{display:flex;gap:var(--s-2);margin-bottom:var(--s-4);flex-wrap:wrap}
.filter-tabs a{padding:6px 14px;border-radius:var(--r-pill);background:var(--bg-panel-soft);border:1px solid var(--line-soft);color:var(--ivory-muted);text-decoration:none;font-size:0.8rem;font-weight:600}
.filter-tabs a:hover{border-color:var(--cyan);color:var(--ivory)}
.filter-tabs a.active{background:rgba(247,213,107,0.14);border-color:var(--gold);color:var(--gold)}

.admin-search{display:flex;gap:var(--s-2);margin-bottom:var(--s-5)}
.admin-search input[type="text"]{flex:1;padding:12px 16px;border-radius:var(--r-md);border:1px solid var(--line-soft);background:var(--bg-panel-soft);color:var(--ivory);font-family:var(--font-body);font-size:0.95rem}
.admin-search input[type="text"]:focus{outline:none;border-color:var(--cyan)}

.btn-danger{--btn-bg:rgba(248,113,113,0.12);--btn-border:rgba(248,113,113,0.45);--btn-color:#ffb3b3;--btn-bg-hover:rgba(248,113,113,0.22)}
.btn-danger:hover{border-color:#f87171;color:#fff}

/* Admin: select in Suchleiste + volle Tabellenbreite */
.admin-search select{padding:12px 16px;border-radius:var(--r-md);border:1px solid var(--line-soft);background:var(--bg-panel-soft);color:var(--ivory);font-family:var(--font-body);font-size:0.9rem;cursor:pointer}
.admin-search select:focus{outline:none;border-color:var(--cyan)}
.container-wide.settings{max-width:1180px}
.admin-users-table td,.admin-users-table th{vertical-align:middle}

/* --- Admin-Panel Korrekturen --- */
/* Select-Control im dunklen Theme + lesbare Optionen */
.settings-form select{width:100%;padding:12px 16px;border-radius:var(--r-md);border:1px solid var(--line-soft);background:var(--bg-panel-soft);color:var(--ivory);font-family:var(--font-body);font-size:0.95rem;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23aaa' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px}
.settings-form select:focus,.admin-search select:focus{outline:none;border-color:var(--cyan)}
select option{background:#141a28;color:#f4f4f5}
select option:checked{background:#1d2740;color:#fff}

/* Suchleiste: Textfeld klar sichtbar, Select vernünftig breit */
.admin-search{align-items:center;flex-wrap:wrap}
.admin-search input[type="text"]{flex:1 1 260px;min-width:200px}
.admin-search select{flex:0 1 240px;min-width:180px}

/* Spieler-Nachricht links (neutral), Team rechts (is-self, cyan) */
.thread-msg.is-player{justify-self:start;background:var(--bg-panel-soft);border-color:var(--line-soft)}

/* Liste mit Löschen-Button daneben */
.thread-list li.thread-row-item{display:flex;align-items:stretch;gap:var(--s-3)}
.thread-row-item .thread-row{flex:1;min-width:0}
.thread-row-del{margin:0;display:flex;align-items:center}
@media (max-width:540px){.thread-list li.thread-row-item{flex-direction:column}}

/* === Kompakte Icon-Buttons === */
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-md);border:1px solid var(--line-soft);background:var(--bg-panel-soft);color:var(--ivory-muted);cursor:pointer;text-decoration:none;transition:border-color var(--dur-fast) var(--ease-out-quart),color var(--dur-fast) var(--ease-out-quart),background var(--dur-fast) var(--ease-out-quart)}
.icon-btn:hover{border-color:var(--cyan);color:var(--ivory);background:var(--bg-raised)}
.icon-btn svg{width:16px;height:16px}
.icon-btn-gold:hover{border-color:var(--gold);color:var(--gold);background:rgba(247,213,107,0.10)}
.icon-btn-danger:hover{border-color:#f87171;color:#ff9b9b;background:rgba(248,113,113,0.12)}
.icon-btn-group{display:flex;gap:6px;align-items:center;flex-wrap:nowrap}
.icon-btn-group form{margin:0;display:inline-flex}
.admin-users-table td:last-child{white-space:nowrap}

/* === Admin-Liste (Anträge/Meldungen) mit integriertem Löschen === */
.admin-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3)}
.admin-row{display:flex;align-items:stretch;background:var(--bg-panel-soft);border:1px solid var(--line-soft);border-radius:var(--r-md);overflow:hidden;transition:border-color var(--dur-fast) var(--ease-out-quart),transform var(--dur-fast) var(--ease-out-quart)}
.admin-row:hover{border-color:var(--cyan);transform:translateY(-1px)}
.admin-row-link{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-4) var(--s-5);text-decoration:none;color:inherit}
.admin-row-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}
.admin-row-title{font-weight:600;color:var(--ivory);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-row-meta{font-size:var(--fs-small);color:var(--ivory-muted)}
.admin-row-del{display:flex;align-items:stretch;border-left:1px solid var(--line-soft)}
.admin-row-del form{margin:0;display:flex}
.admin-row-del button{border:none;background:transparent;width:52px;color:var(--ivory-faint);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--dur-fast) var(--ease-out-quart),color var(--dur-fast) var(--ease-out-quart)}
.admin-row-del button:hover{background:rgba(248,113,113,0.14);color:#ff9b9b}
.admin-row-del button svg{width:17px;height:17px}
@media (max-width:540px){.admin-row-link{padding:var(--s-3) var(--s-4)}}

/* === Benachrichtigungs-Bell === */
.notif-dropdown{position:relative}
.notif-dropdown > summary{list-style:none;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--r-md);border:1px solid var(--line-soft);background:var(--bg-panel-soft);color:var(--ivory-muted);cursor:pointer;position:relative;transition:border-color var(--dur-fast) var(--ease-out-quart),color var(--dur-fast) var(--ease-out-quart)}
.notif-dropdown > summary::-webkit-details-marker{display:none}
.notif-dropdown > summary:hover,.notif-dropdown[open] > summary{border-color:var(--cyan);color:var(--ivory)}
.notif-dropdown > summary svg{width:19px;height:19px}
.notif-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#f87171;color:#2a0a0a;font-size:0.7rem;font-weight:800;display:flex;align-items:center;justify-content:center;line-height:1;border:2px solid var(--bg-deep)}
.notif-badge[hidden]{display:none}
.notif-menu{position:absolute;top:calc(100% + 10px);right:0;width:360px;max-width:calc(100vw - 32px);background:var(--bg-panel);border:1px solid var(--line-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-soft);overflow:hidden;z-index:60}
.notif-head{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--line-soft)}
.notif-head span{font-weight:700;color:var(--ivory);font-size:0.9rem}
.notif-markall{background:none;border:none;color:var(--cyan);font-size:0.8rem;font-weight:600;cursor:pointer;padding:0}
.notif-markall:hover{text-decoration:underline}
.notif-list{max-height:min(60vh,420px);overflow-y:auto}
.notif-empty{padding:var(--s-6);text-align:center;color:var(--ivory-faint);font-size:0.9rem;margin:0}
.notif-item{display:flex;align-items:stretch;border-bottom:1px solid var(--line-soft)}
.notif-item:last-child{border-bottom:none}
.notif-item.is-unread{background:rgba(79,209,228,0.06)}
.notif-item-main{flex:1;min-width:0;display:block;padding:var(--s-3) var(--s-4);text-decoration:none;color:inherit}
a.notif-item-main{cursor:pointer}
.notif-item-main:hover{background:rgba(255,255,255,0.03)}
.notif-item-title{font-weight:600;color:var(--ivory);font-size:0.88rem;line-height:1.3}
.notif-item.is-unread .notif-item-title::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--cyan);margin-right:7px;vertical-align:middle}
.notif-item-msg{color:var(--ivory-muted);font-size:0.82rem;margin-top:2px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.notif-item-time{color:var(--ivory-faint);font-size:0.72rem;margin-top:4px}
.notif-item-del{border:none;background:transparent;color:var(--ivory-faint);width:42px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--dur-fast) var(--ease-out-quart),background var(--dur-fast) var(--ease-out-quart)}
.notif-item-del:hover{background:rgba(248,113,113,0.12);color:#ff9b9b}
.notif-item-del svg{width:15px;height:15px}
@media (max-width:540px){.notif-menu{width:calc(100vw - 24px);right:-8px}}

/* Notif-Liste: gleiche goldene Scrollbar wie im News-Modal */
.notif-list{scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
.notif-list::-webkit-scrollbar{width:10px;background:transparent}
.notif-list::-webkit-scrollbar-track{background:transparent;margin:8px 0}
.notif-list::-webkit-scrollbar-thumb{background:var(--gold);border-radius:5px;border:2px solid transparent;background-clip:content-box}
.notif-list::-webkit-scrollbar-thumb:hover{background:var(--gold-soft);background-clip:content-box;border:2px solid transparent}

/* === Team-Roster === */
.team-group{margin-bottom:var(--s-7)}
.team-group-title{display:flex;align-items:center;gap:var(--s-3);margin:0 0 var(--s-4)}
.team-members{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--s-3)}
.team-member{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--bg-panel-soft);border:1px solid var(--line-soft);border-radius:var(--r-md);transition:border-color var(--dur-fast) var(--ease-out-quart),transform var(--dur-fast) var(--ease-out-quart)}
.team-member:hover{border-color:var(--cyan);transform:translateY(-1px)}
.team-member img{width:40px;height:40px;border-radius:var(--r-md);image-rendering:pixelated;border:1px solid var(--line-soft);background:var(--bg-deep);flex-shrink:0}
.team-member-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* === Spieler-History / Strafen === */
.pun-player-head{display:flex;align-items:center;gap:var(--s-4);margin-bottom:var(--s-5)}
.pun-player-head img{width:56px;height:56px;border-radius:var(--r-md);image-rendering:pixelated;border:1px solid var(--line-soft);background:var(--bg-deep);flex-shrink:0}
.pun-player-name{font-family:var(--font-display);font-size:1.4rem;font-weight:600;color:var(--ivory)}
.pun-player-uuid{font-family:var(--font-mono);font-size:0.75rem;color:var(--ivory-faint)}
.pun-list{display:grid;gap:var(--s-3)}
.pun-item{padding:var(--s-4) var(--s-5);background:var(--bg-panel-soft);border:1px solid var(--line-soft);border-radius:var(--r-md)}
.pun-item-head{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;margin-bottom:var(--s-2)}
.pun-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--r-pill);font-size:var(--fs-micro);font-weight:800;letter-spacing:0.04em;text-transform:uppercase;border:1px solid var(--line-soft);white-space:nowrap}
.pun-ban{background:var(--red-soft);border-color:rgba(248,113,113,0.35);color:#ffd9d9}
.pun-mute{background:rgba(247,213,107,0.14);border-color:var(--line);color:var(--gold-soft)}
.pun-kick{background:rgba(255,255,255,0.06);color:var(--ivory-muted)}
.pun-note{background:rgba(79,209,228,0.12);border-color:rgba(79,209,228,0.3);color:#bff}
.pun-status{font-size:var(--fs-micro);font-weight:800;text-transform:uppercase;letter-spacing:0.04em;padding:3px 8px;border-radius:var(--r-pill)}
.pun-status.on{background:var(--red-soft);color:#ffd9d9;border:1px solid rgba(248,113,113,0.35)}
.pun-status.off{background:rgba(255,255,255,0.05);color:var(--ivory-muted);border:1px solid var(--line-soft)}
.pun-id{font-family:var(--font-mono);font-size:0.78rem;color:var(--ivory-faint)}
.pun-date{font-size:0.8rem;color:var(--ivory-muted);margin-left:auto;white-space:nowrap}
.pun-reason{color:var(--ivory);font-weight:500;margin-bottom:4px;white-space:pre-wrap}
.pun-meta{font-size:0.82rem;color:var(--ivory-muted);display:flex;gap:var(--s-2);flex-wrap:wrap}
.pun-unban{margin-top:var(--s-2);padding-top:var(--s-2);border-top:1px solid var(--line-soft);font-size:0.82rem;color:var(--ivory-muted)}

/* === Öffentliche Team-Seite (Karten) === */
.team-divider{border:none;border-top:1px solid var(--line-soft);margin:var(--s-4) 0 var(--s-7)}
.team-block{margin-bottom:var(--s-8)}
.team-rank-head{font-size:1.05rem;font-weight:800;letter-spacing:0.16em;text-transform:uppercase;margin:0 0 var(--s-4)}
.team-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s-4)}
.team-card{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-4) var(--s-5);background:var(--bg-panel);border:1px solid var(--line-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-soft);transition:border-color var(--dur-fast) var(--ease-out-quart),transform var(--dur-fast) var(--ease-out-quart)}
.team-card:hover{border-color:var(--cyan);transform:translateY(-2px)}
.team-card > img{width:60px;height:60px;border-radius:var(--r-md);image-rendering:pixelated;border:1px solid var(--line-soft);background:var(--bg-deep);flex-shrink:0}
.team-card-body{min-width:0}
.team-card-name{font-weight:700;font-size:1.05rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.team-card-rank{font-size:var(--fs-micro);font-weight:800;letter-spacing:0.1em;text-transform:uppercase;opacity:0.72;margin-top:3px}
.team-card-quote{font-size:0.84rem;color:var(--ivory-muted);font-style:italic;margin-top:7px;line-height:1.35}

/* Team-Banner (Wordmark mit Glow) */
.team-banner{text-align:center;margin:var(--s-5) 0 var(--s-7)}
.team-banner-img{max-width:min(520px,78%);height:auto;filter:drop-shadow(0 0 28px rgba(79,209,228,0.45)) drop-shadow(0 0 10px rgba(79,209,228,0.35))}
@media (max-width:540px){.team-banner-img{max-width:88%}}

/* Team-Seite: zentrierte, schmalere Spalte (3 Karten pro Reihe) */
.team-page{max-width:1060px;margin:0 auto;padding:0 var(--s-5)}

/* Banner: volle Breite, mittig, größer */
.team-banner{text-align:center;margin:var(--s-7) 0 var(--s-7)}
.team-banner-img{max-width:min(760px,92%)}
@media (max-width:540px){.team-banner-img{max-width:94%}}

/* Banner-Bild als Block zentrieren (text-align greift bei display:block nicht) */
.team-banner-img{display:block;margin-left:auto;margin-right:auto}

/* Banner: kompaktere Abstände oben/unten */
.team-banner{margin:var(--s-3) 0 var(--s-4)}

/* Banner etwas kompakter */
.team-banner-img{max-width:min(580px,86%)}

/* Server-Chip: "Kopiert!"-Feedback */
.info-chip-server{cursor:pointer}
.info-chip-server.is-copied{border-color:rgba(74,222,128,0.5)}
.info-chip-server.is-copied .info-chip-label{color:#d8ffe5}
.info-chip-server.is-copied .info-chip-meta{display:none}

/* Profilname nicht zusammenquetschen (volle Anzeige normaler Namen) */
.profile-name{max-width:200px;flex-shrink:0}

/* 2FA Backup-Codes */
.twofa-codes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--s-2);margin:var(--s-4) 0}
.twofa-codes code{padding:8px 10px;background:var(--bg-panel-soft);border:1px solid var(--line-soft);border-radius:var(--r-md);text-align:center;font-family:var(--font-mono);letter-spacing:0.10em;color:var(--ivory)}

/* === Netzwerksteuerung === */
.net-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--s-4);margin-bottom:var(--s-7)}
.net-card{background:var(--bg-panel);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3);box-shadow:var(--shadow-soft)}
.net-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);flex-wrap:wrap}
.net-card-title{font-weight:700;color:var(--ivory)}
.net-card-sub{font-size:0.75rem;color:var(--ivory-faint);text-transform:uppercase;letter-spacing:0.08em}
.net-actions{display:flex;gap:var(--s-2);flex-wrap:wrap}
.net-actions form{margin:0}
.net-actions .btn{padding:6px 12px;min-height:34px;font-size:0.82rem}
.net-status-text{font-size:0.78rem;color:var(--ivory-muted);font-family:var(--font-mono);white-space:pre-wrap;margin:0}
.net-group{margin-bottom:var(--s-7)}
.net-group-title{font-size:1rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--ivory-faint);margin:0 0 var(--s-4)}
.net-console{margin-top:var(--s-2)}
.net-console > summary{cursor:pointer;font-size:0.85rem;color:var(--cyan);font-weight:600;list-style:none}
.net-console > summary::-webkit-details-marker{display:none}
.net-console pre{margin:var(--s-3) 0 0;max-height:320px;overflow:auto;background:#05070d;border:1px solid var(--line-soft);border-radius:var(--r-md);padding:var(--s-3);font-family:var(--font-mono);font-size:0.78rem;line-height:1.5;color:#cdeefc;white-space:pre-wrap;word-break:break-word}
.net-console pre::-webkit-scrollbar{width:10px}
.net-console pre::-webkit-scrollbar-track{background:transparent}
.net-console pre::-webkit-scrollbar-thumb{background:var(--gold);border-radius:5px;border:2px solid transparent;background-clip:content-box}
.net-cmd{display:flex;gap:var(--s-2);margin-top:var(--s-3)}
.net-cmd input[type=text]{flex:1;min-width:0;padding:8px 12px;border-radius:var(--r-md);border:1px solid var(--line-soft);background:var(--bg-panel-soft);color:var(--ivory);font-family:var(--font-mono);font-size:0.82rem}
.net-cmd input[type=text]:focus{outline:none;border-color:var(--cyan)}
.net-console-stamp{color:var(--ivory-faint);font-weight:400;font-size:0.72rem}

/* === Netzwerksteuerung – Feinschliff === */
.btn-ok{--btn-bg:rgba(74,222,128,0.12);--btn-border:rgba(74,222,128,0.42);--btn-color:#a7f3c0;--btn-bg-hover:rgba(74,222,128,0.20)}
.btn-ok:hover{border-color:#4ade80;color:#d8ffe5}
.net-card{padding:var(--s-4) var(--s-5)}
.net-card-head{align-items:flex-start;flex-wrap:nowrap}
.net-card-head .badge{flex-shrink:0;margin-top:3px}
.net-actions{margin-top:var(--s-1)}
.net-actions form{flex:1;margin:0}
.net-actions .btn{width:100%}
.net-status-text{opacity:0.85}
.net-console{border-top:1px solid var(--line-soft);padding-top:var(--s-3);margin-top:var(--s-3)}

/* Netzwerk-Kacheln größer */
.net-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:var(--s-5)}
.net-card{padding:var(--s-6)}

/* Server-Kacheln mit Konsole breiter (Schnellzugriff bleibt schmal) */
.net-group .net-grid{grid-template-columns:repeat(auto-fill,minmax(440px,1fr))}

/* Kacheln nicht auf gleiche Höhe strecken (offene Konsole zieht Nachbar nicht mit) */
.net-grid{align-items:start}

/* Konsole feste Höhe → stabile Seitenhöhe (Scroll-Restore trifft) */
.net-console pre{height:300px;max-height:300px}
