/*
 * TravTools · © MUNLabs
 * motion.css — Bewegung, Licht und Hover-Zustaende. LETZTE Datei im Stack.
 *
 * Regeln:
 *  - Hover bewegt nie das Element (kein translate/scale), sondern Licht: Glow, Lichtkante,
 *    wandernder Verlauf, Lichtstreifen, Fokusring.
 *  - Textfarben sind in jedem Button-Zustand explizit gesetzt.
 *  - Einflug beim Laden ist gestaffelt und einmalig. Dauerhaft laufende Effekte gibt es
 *    nur als billige Opazitaets-Animationen (Status-Punkte); keine Filter-, Blur- oder
 *    Zeiger-Effekte, die pro Frame neu gezeichnet werden muessten.
 *  - Bewegung nur ueber opacity/transform (Compositor), nie ueber left/top/filter.
 *  - prefers-reduced-motion schaltet alles ab (shared.css).
 */

/* =========================================================
   1) GRUNDREGEL: kein Versatz beim Hover
   ========================================================= */
/* Das :not() ist kein Schoenheitsfehler, sondern die Korrektur aus r78.
   Die Regel loescht absichtlich jeden Hover-Versatz. Sie unterscheidet aber nicht
   zwischen einem Versatz als Effekt und einem transform, das ein Element ueberhaupt
   erst an seinen Platz setzt. Die Rundgang-Karte steht mit translate(-50%,-50%) in
   der Mitte und traegt "card" im Namen, die Fortsetzen-Pille mit translateX(-50%)
   und traegt "pill" – beim Darueberfahren verloren sie ihr transform und sprangen an
   die Fensterecke, beim Wegfahren zurueck. Genau das war das Hin-und-Her-Springen.
   Der Rundgang hat selbst keinen Hover-Versatz, die Ausnahme aendert also nichts am
   Aussehen. (Gleiche Ursache wie beim Auge am Passwortfeld in r75.) */
.tt-app :is(a,button,input[type="submit"],input[type="button"],li,tr,td,th,label,summary,
  [class*="card"],[class*="tile"],[class*="item"],[class*="row"],[class*="btn"],[class*="link"],[class*="box"],
  [class*="chip"],[class*="pill"],[class*="widget"],[class*="panel"],[class*="opt"],[class*="slot"],[class*="col"]):not([class*="tt-tour"]):hover{
  transform:none !important;
}
/* Ausnahmen: Schliessen-X darf sich drehen, Chevrons klappen, Spinner drehen */
.tt-app :is(.tt-popup-close,.tt-modal-close,.close-btn,.wartung-modal-close):hover{transform:rotate(90deg) !important;}
.tt-app .tt-group[data-open="true"] > .tt-group-btn .tt-chev,
.tt-app .tt-group[data-open="true"] > .tt-group-btn:hover .tt-chev{transform:rotate(90deg) !important;}
.tt-app .tt-sub[data-open="true"] .tt-sub-btn .tt-chev{transform:rotate(90deg) !important;}
.tt-app .tt-top-right > .tt-btn-mini[data-tt-world-open]:hover .tt-chev{transform:rotate(90deg) !important;}
.tt-app .tt-top-right > .tt-btn-mini[data-tt-world-open][aria-expanded="true"]:hover .tt-chev{transform:rotate(-90deg) !important;}

/* =========================================================
   2) BUTTONS — Textfarbe je Familie in jedem Zustand (Schutz gegen Alt-CSS)
   ========================================================= */
.tt-app :is(.tt-btn,.tt-cta-btn,.tt-su-btn,.tt-send-btn,.tt-act-btn,.tt-save-btn,.wiz-btn,.tt-btn-login,.tt-btn-mini,.tt-btn-head,.tt-btn-inline,.tt-btn-small,.tt-mini-btn,.tt-p-btn,.tt-bulk-btn,.btn-mini,.tt-btn-add,
  .dc-btn-save,.rm-btn-save,.tm-btn-save,.rm-btn-new,.mt-btn-save-mini,.btn-save,.btn-fix,.btn-act.primary,.dc-btn.primary,.tt-btn-parse,.tt-btn-new,.tt-btn-create,.tt-btn-submit,.tt-btn-send,.tt-btn-backup,.tt-btn-upload,
  .tt-tab.active,.tt-toggle-btn.active,.nav-btn.active,.tt-tab-btn.active,.tt-view-btn.active,.tt-btn-secondary.active,.tt-page-btn.active,.tt-btn-icon.active,.tt-icon-btn.active)
  :is(:hover,:focus-visible){
  color:var(--gold-fg) !important;
}
.tt-app :is(.tt-btn,.tt-cta-btn,.tt-su-btn,.tt-send-btn,.tt-act-btn,.tt-save-btn,.wiz-btn,.tt-btn-login,.tt-btn-mini,.tt-btn-head,.tt-btn-inline,.tt-btn-small,.tt-mini-btn,.tt-p-btn,.tt-bulk-btn,.btn-mini,.tt-btn-add):is(:hover,:focus-visible) > i{color:var(--gold-fg) !important;}
.tt-app :is(.tt-btn-secondary,.tt-btn-cancel,.tt-btn-back,.tt-btn-ghost,.tt-btn-lock,.tt-btn-leave,.tt-btn-leave-text,.tt-btn-archive,.tt-btn-unblur,.tt-btn-sub,.tt-btn-reset,.btn-back,.tt-btn.secondary,.tt-view-btn,.wiz-btn-sec,.tm-btn-cancel,
  .tt-btn-mini.secondary,.tt-btn-inline.secondary,.tt-btn-small.secondary,.tt-btn-head.secondary,.tm-btn-icon,.tt-btn-icon,.tt-icon-btn,.btn-icon,.tt-page-btn,
  .tt-btn-danger,.tt-btn-del,.tt-btn-delete,.tt-btn-remove,.tt-btn-nuke,.tt-btn-deny,.tt-btn-block,.tt-danger-btn,.tt-del-btn,.tt-btn.danger,.btn-del,.tt-admin-del,
  .tt-btn-info,.tt-btn-blue,.tt-btn.info,.tt-btn-link,.btn-send-link,.tt-btn-invite,.tt-btn-join,.tt-btn-play,.tt-btn-dashboard,
  .tt-btn-success,.tt-btn-ok,.tt-btn.ok,.btn-approve,.tt-btn-approve,.tt-req-btn-ok,.tt-btn-check,.accept,
  .btn-red,.btn-block,.btn-delete,.dc-btn-del,.rm-btn-del,.gc-btn-del,.reject,.tt-tab,.tt-toggle-btn,.nav-btn,.tt-tab-btn,.dc-btn,.rm-btn,.gi-btn,.gc-btn,.tm-btn,.stat-btn,.btn-act,.tt-part-btn,.tt-detail-btn,.tt-mute-btn,.tt-res-btn,.tt-req-btn-no,.btn-ignore,.tt-btn-sync)
  :not(.active):not(.is-active):not(.primary):not(.dc-btn-save):not(.rm-btn-save):not(.tm-btn-save):not(.rm-btn-new):hover{
  color:#fff !important;
}
/* Gold bleibt gold, auch wenn Alt-CSS beim Hover den Hintergrund tauscht */
.tt-app :is(.dc-btn-save,.rm-btn-save,.tm-btn-save,.rm-btn-new,.mt-btn-save-mini,.btn-save,.btn-fix,.btn-act.primary,.dc-btn.primary,.tt-btn-parse,.tt-btn-new,.tt-btn-create,.tt-btn-submit,.tt-btn-send,.tt-btn-backup,.tt-btn-upload):hover{
  background:var(--tt-grad-gold-h) !important; border-color:rgba(255,226,140,.9) !important;
}
/* Gruen/Rot/Blau-Skins: beim Hover kraeftiger, Text weiss */
.tt-app :is(.btn-approve,.tt-btn-approve,.tt-req-btn-ok,.tt-btn-check,.accept):hover{background:linear-gradient(180deg, rgba(61,220,132,.40), rgba(22,163,74,.30)) !important; color:#fff !important;}
.tt-app :is(.btn-red,.btn-block,.btn-delete,.dc-btn-del,.rm-btn-del,.gc-btn-del,.reject):hover{background:rgba(255,92,92,.26) !important; color:#fff !important;}
/* Fokusring fuer Tastatur */
.tt-app :is(button,a,[role="button"],input,select,textarea,summary):focus-visible{
  outline:2px solid rgba(242,193,74,.7) !important; outline-offset:2px !important;
  box-shadow:0 0 0 4px rgba(242,193,74,.14), 0 0 22px rgba(242,193,74,.3) !important;
}

/* =========================================================
   3) SEITEN-EINFLUG — gestaffelt (einmalig beim Laden)
   ========================================================= */
@media (prefers-reduced-motion: no-preference){
  .tt-page > *{animation:tt-rise-in .55s var(--tt-ease-out) backwards;}
  .tt-page > *:nth-child(1){animation-delay:.02s}
  .tt-page > *:nth-child(2){animation-delay:.08s}
  .tt-page > *:nth-child(3){animation-delay:.14s}
  .tt-page > *:nth-child(4){animation-delay:.20s}
  .tt-page > *:nth-child(5){animation-delay:.26s}
  .tt-page > *:nth-child(6){animation-delay:.32s}
  .tt-page > *:nth-child(n+7){animation-delay:.38s}
  /* Tabellenzeilen fliessen nacheinander ein */
  .tt-page :is(.tt-table,table) tbody tr{animation:tt-fade-in .5s var(--tt-ease-out) both;}
  .tt-page :is(.tt-table,table) tbody tr:nth-child(2){animation-delay:.04s}
  .tt-page :is(.tt-table,table) tbody tr:nth-child(3){animation-delay:.08s}
  .tt-page :is(.tt-table,table) tbody tr:nth-child(4){animation-delay:.12s}
  .tt-page :is(.tt-table,table) tbody tr:nth-child(5){animation-delay:.16s}
  .tt-page :is(.tt-table,table) tbody tr:nth-child(6){animation-delay:.20s}
  .tt-page :is(.tt-table,table) tbody tr:nth-child(7){animation-delay:.24s}
  .tt-page :is(.tt-table,table) tbody tr:nth-child(8){animation-delay:.28s}
  .tt-page :is(.tt-table,table) tbody tr:nth-child(n+9){animation-delay:.32s}
  /* Listenelemente */
  .tt-page :is(.tt-row-item,.tt-u-item,.tt-user-item,.tt-ticket-item,.tt-chat-item,.tt-menu-btn,.tt-feed-item,.tt-log-item,.tt-req-item,.tt-player-item,.rm-item,.tt-menu-row,.dc-list-row,.tt-res-item,.tt-top-item,.tt-link-card,.ttg-plink,.tt-project-link){animation:tt-fade-up .5s var(--tt-ease-out) backwards;}
  .tt-page :is(.tt-row-item,.tt-u-item,.tt-user-item,.tt-ticket-item,.tt-chat-item,.tt-menu-btn,.tt-feed-item,.tt-log-item,.tt-req-item,.tt-player-item,.rm-item,.tt-menu-row,.dc-list-row,.tt-res-item,.tt-top-item,.tt-link-card,.ttg-plink,.tt-project-link):nth-child(2){animation-delay:.05s}
  .tt-page :is(.tt-row-item,.tt-u-item,.tt-user-item,.tt-ticket-item,.tt-chat-item,.tt-menu-btn,.tt-feed-item,.tt-log-item,.tt-req-item,.tt-player-item,.rm-item,.tt-menu-row,.dc-list-row,.tt-res-item,.tt-top-item,.tt-link-card,.ttg-plink,.tt-project-link):nth-child(3){animation-delay:.10s}
  .tt-page :is(.tt-row-item,.tt-u-item,.tt-user-item,.tt-ticket-item,.tt-chat-item,.tt-menu-btn,.tt-feed-item,.tt-log-item,.tt-req-item,.tt-player-item,.rm-item,.tt-menu-row,.dc-list-row,.tt-res-item,.tt-top-item,.tt-link-card,.ttg-plink,.tt-project-link):nth-child(4){animation-delay:.15s}
  .tt-page :is(.tt-row-item,.tt-u-item,.tt-user-item,.tt-ticket-item,.tt-chat-item,.tt-menu-btn,.tt-feed-item,.tt-log-item,.tt-req-item,.tt-player-item,.rm-item,.tt-menu-row,.dc-list-row,.tt-res-item,.tt-top-item,.tt-link-card,.ttg-plink,.tt-project-link):nth-child(5){animation-delay:.20s}
  .tt-page :is(.tt-row-item,.tt-u-item,.tt-user-item,.tt-ticket-item,.tt-chat-item,.tt-menu-btn,.tt-feed-item,.tt-log-item,.tt-req-item,.tt-player-item,.rm-item,.tt-menu-row,.dc-list-row,.tt-res-item,.tt-top-item,.tt-link-card,.ttg-plink,.tt-project-link):nth-child(n+6){animation-delay:.25s}
  /* Kopfzeilen: Titel mit wanderndem Lichtschein, Icon-Chip pulsiert leise */
  .tt-header-standalone h1, .tt-header-row h1, .tt-head h1, .tt-log-head h1, .tt-stat-header h1, .tt-dash-header h1, .tt-dash-title,
  .tt-news-head-simple h1, .tt-goals-head h1, .tt-troops-head h1, .tt-sitter-head h1, .tt-notes-header h1, .tt-online-header h1,
  .tt-menu-header h1, .tt-adm-header h1, .tt-imp-head h1, .tt-rm-head h1, .tt-dual-head h1, .tt-player-header h1, .tt-log-header h1,
  .page-title, .tt-page-title, .tt-title, .tt-page > h1:first-child, .ttg-hero h1, .tt-module-hero h2, .tt-founder-head h1, .tt-donate-head h1,
  .tt-pn-hero h1, .tt-about-hero h1, .tt-imp-hero h1, .tt-imp2-hero h1, .tt-placeholder-hero h1, .tt-placeholder-hero h2{
    background-image:linear-gradient(90deg,#ffffff 0%,#ffe9b5 16%,#f2c14a 30%,#ffe9b5 44%,#ffffff 58%,#ffffff 100%) !important;
    background-size:260% 100% !important; background-position:0 0 !important;
    animation:tt-title-shine 2.4s var(--tt-ease-out) 1 backwards;
  }
  /* Untertitel-Linie waechst */
  .tt-header-standalone::after,.tt-header-row::after,.tt-head::after,.tt-log-head::after,.tt-stat-header::after,.tt-dash-header::after{transform-origin:left; animation:tt-line-grow .9s var(--tt-ease-out) both;}
}

/* =========================================================
   4) ZEILEN, LISTEN, KACHELN — Lichtkante + Verlauf
   ========================================================= */
.tt-app :is(.tt-table tbody tr,.tt-acc-row,.tt-user-row,.tt-log-row,.rank-row,.sc-row,.dc-list-row,.dc-res-item,.tt-res-item,.tt-player-item,.rm-item,.tt-menu-row){
  transition:background var(--tt-med) var(--tt-ease), box-shadow var(--tt-med) var(--tt-ease), color var(--tt-fast) var(--tt-ease);
}
.tt-app :is(.tt-table tbody tr,.tt-acc-row,.tt-user-row,.tt-log-row,.rank-row,.sc-row):hover{
  background:linear-gradient(90deg, rgba(242,193,74,.12), rgba(242,193,74,.04) 40%, rgba(61,108,245,.06)) !important;
  box-shadow:inset 3px 0 0 var(--tt-gold), inset 0 0 0 1px rgba(242,193,74,.10), 0 0 18px rgba(242,193,74,.06) !important;
}
.tt-app :is(.tt-table tbody tr,.tt-acc-row,.tt-user-row,.tt-log-row):hover td{color:#fff !important;}
.tt-app :is(.tt-row-item,.tt-u-item,.tt-user-item,.tt-ticket-item,.tt-chat-item,.tt-feed-item,.tt-log-item,.tt-req-item,.tt-top-item,.tt-link-card,.tt-menu-btn,.tt-day-col,.type-opt,.vil-box,.tt-part-row,.bnd-chip,.tt-sub-item,.gc-sub-item,.tt-player-item,.dc-list-row,.dc-res-item,.tt-res-item,.rm-item,.tt-menu-row,.tt-bell-item,.tt-module-tile,.tt-placeholder-card){
  position:relative; overflow:hidden;
  transition:background var(--tt-med) var(--tt-ease), border-color var(--tt-med) var(--tt-ease), box-shadow var(--tt-slow) var(--tt-ease), color var(--tt-fast) var(--tt-ease);
}
/* Lichtstreifen zieht beim Hover durch Zeilen/Kacheln */
.tt-app :is(.tt-row-item,.tt-u-item,.tt-user-item,.tt-ticket-item,.tt-chat-item,.tt-feed-item,.tt-log-item,.tt-req-item,.tt-top-item,.tt-link-card,.tt-menu-btn,.tt-module-tile,.tt-placeholder-card,.tt-bell-item,.ttg-plink,.tt-project-link,.tt-player-item,.rm-item,.tt-menu-row)::after{
  content:""; position:absolute; top:-40%; bottom:-40%; width:36%; left:0; z-index:2; pointer-events:none;
  background:linear-gradient(100deg, transparent 0%, rgba(255,255,255,.07) 45%, rgba(255,240,200,.14) 50%, rgba(255,255,255,.07) 55%, transparent 100%);
  transform:translateX(-220%) skewX(-18deg);
  transition:transform .9s var(--tt-ease);
}
.tt-app :is(.tt-row-item,.tt-u-item,.tt-user-item,.tt-ticket-item,.tt-chat-item,.tt-feed-item,.tt-log-item,.tt-req-item,.tt-top-item,.tt-link-card,.tt-menu-btn,.tt-module-tile,.tt-placeholder-card,.tt-bell-item,.ttg-plink,.tt-project-link,.tt-player-item,.rm-item,.tt-menu-row):hover::after{transform:translateX(420%) skewX(-18deg);}
/* Icon-Chips in Listen/Kacheln leuchten mit — nur Schein, nie Farbwechsel:
   viele Chips sind selbst gold gefuellt (dunkles Symbol), ein erzwungenes Gold waere dort unsichtbar. */
.tt-app :is(.tt-row-item,.tt-u-item,.tt-menu-btn:not(.btn-gold),.tt-module-tile,.tt-feat-card,.tt-role-card,.tt-widget,.tt-stat-card,.tt-link-card,.ttg-plink,.tt-project-link):hover
  :is(i,.tt-ico,.tt-w-icon,.tt-ri-icon,.tt-feat-ic,.tm-icon-box,.ttg-ic):not(:where(button i,button .tt-ico,a[class*="btn"] i,[class*="btn"] i,[class*="btn"] .tt-ico,.btn-gold i,.tt-tab i,.tt-vbadge,.tt-vbadge *,.tt-status-pill i,[class*="badge"] i,[class*="pill"] i)){
  filter:drop-shadow(0 0 8px rgba(242,193,74,.55));
  transition:filter var(--tt-med) var(--tt-ease);
}
/* Icons in Gold-Buttons bleiben dunkel — auch wenn die umgebende Karte gehovert wird */
.tt-app :is(.tt-btn,.tt-btn-head,.tt-btn-mini,.tt-btn-inline,.tt-btn-small,.tt-cta-btn,.tt-su-btn,.tt-send-btn,.tt-act-btn,.tt-save-btn,.dc-btn.primary,.tt-tab.active,.tt-menu-btn.btn-gold,.tt-view-btn.active,.tt-toggle-btn.active):not(.secondary):not(.danger):not(.info):not(.ok) :is(i,.fa,.tt-ico){color:inherit !important; filter:none !important;}
.tt-app .tt-tab.active .tt-tab-count{background:rgba(23,28,51,.16) !important; color:var(--tt-gold-ink) !important;}

/* =========================================================
   5) EINGABEN — Fokus blueht auf, Label reagiert
   ========================================================= */
.tt-app :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]){
  transition:border-color var(--tt-med) var(--tt-ease), box-shadow var(--tt-slow) var(--tt-ease), background var(--tt-med) var(--tt-ease);
}
.tt-app :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):hover{border-color:rgba(170,192,255,.32) !important;}
.tt-app :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):focus{
  border-color:rgba(242,193,74,.6) !important;
  box-shadow:0 0 0 3px rgba(242,193,74,.16), 0 0 26px rgba(242,193,74,.20), inset 0 1px 0 rgba(255,255,255,.05) !important;
  background:rgba(3,9,30,.86) !important;
}
.tt-app :is(.tt-field,.tt-form-group,.form-group,.tt-form-row,.wiz-field,.tt-input-wrapper):focus-within > label,
.tt-app :is(.tt-field,.tt-form-group,.form-group,.tt-form-row,.wiz-field):focus-within > .tt-label{color:var(--tt-gold-3) !important; text-shadow:0 0 12px rgba(242,193,74,.35);}
.tt-app :is(.tt-check-label,.tt-chk-label,.tt-form-check,.tt-switch,.settings-toggle):hover{border-color:rgba(242,193,74,.4) !important; box-shadow:0 0 16px rgba(242,193,74,.10);}

/* =========================================================
   6) LINKS — Unterstreichung waechst aus der Mitte
   ========================================================= */
.tt-app .tt-page a:not([class]), .tt-app .tt-link, .tt-app .tt-back-link, .tt-app .tt-page-foot-inner a, .tt-app .tt-foot-sub a{
  position:relative; border-bottom:0 !important; text-decoration:none !important;
  background-image:linear-gradient(90deg, var(--tt-gold-3), var(--tt-gold)); background-repeat:no-repeat;
  background-size:0% 1px; background-position:50% 100%;
  transition:background-size var(--tt-med) var(--tt-ease), color var(--tt-fast) var(--tt-ease);
}
.tt-app .tt-page a:not([class]):hover, .tt-app .tt-link:hover, .tt-app .tt-back-link:hover, .tt-app .tt-page-foot-inner a:hover, .tt-app .tt-foot-sub a:hover{background-size:100% 1px;}

/* =========================================================
   7) MODALE, POPUPS, TOASTS
   ========================================================= */
@media (prefers-reduced-motion: no-preference){
  .tt-app :is(.tt-modal-overlay.active,.tt-modal-overlay.is-open,.tt-modal-overlay.show,.tt-modal-overlay.open,.tt-popup-overlay.active,.tt-modal-backdrop.active){animation:tt-fade-in .25s var(--tt-ease) both;}
  .tt-app :is(.tt-modal-overlay.active,.tt-modal-overlay.is-open,.tt-modal-overlay.show,.tt-modal-overlay.open) > :is(.tt-modal,.tt-modal-lg,.tt-modal-card,.tt-dialog,.tt-popup-card){animation:tt-modal-in .42s var(--tt-ease-out) backwards;}
}
@keyframes tt-modal-in{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.tt-app :is(.tt-modal-close,.close-btn,.tt-popup-close,.wartung-modal-close){transition:background var(--tt-med) var(--tt-ease), border-color var(--tt-med) var(--tt-ease), box-shadow var(--tt-med) var(--tt-ease), transform var(--tt-slow) var(--tt-ease-spring), color var(--tt-fast) var(--tt-ease) !important;}

/* =========================================================
   8) STATUS-PUNKTE — leises Atmen (nur Opazitaet)
   ========================================================= */
@media (prefers-reduced-motion: no-preference){
  .tt-app :is(.st-live,.status-dot.st-live,.tt-live-indicator,.tt-user-avatar::after){animation:tt-glow-breathe 2.2s ease-in-out infinite;}
}

/* =========================================================
   9) SIDEBAR — Feinschliff (Geruest in _shared/sidebar.css)
   ========================================================= */
.tt-app .tt-sb .tt-item, .tt-app .tt-sb .tt-sub-btn, .tt-app .tt-sb .tt-group-btn{transform:none !important;}
.tt-app .tt-sb .tt-ico{transform:none !important;}
/* Welten-Button in der Topbar bleibt Glas (buttons.css wuerde ihn beim Hover in Gold tauchen) */
.tt-app .tt-top-right > .tt-btn-mini[data-tt-world-open]{
  background-image:linear-gradient(180deg, rgba(170,192,255,.09), rgba(170,192,255,.035)) !important; background-color:transparent !important;
  background-size:100% 100% !important; background-position:0 0 !important;
  color:#fff !important; border-color:rgba(170,192,255,.14) !important;
}
.tt-app .tt-top-right > .tt-btn-mini[data-tt-world-open]:hover{
  background-image:none !important; background-color:rgba(242,193,74,.12) !important;
  color:#fff !important; border-color:rgba(242,193,74,.5) !important;
  box-shadow:0 0 20px rgba(242,193,74,.22), inset 0 0 0 1px rgba(242,193,74,.14) !important;
}
.tt-app .tt-top-right > .tt-btn-mini[data-tt-world-open] .tt-top-world-ic{color:var(--tt-gold) !important;}
.tt-app .tt-top-right > .tt-btn-mini[data-tt-world-open] .tt-chev{color:#fff !important;}
/* Welten-Auswahl im Popup: Glas mit Goldkante, kein Vollgold beim Hover */
.tt-app .tt-worldpick-row .tt-btn-mini:hover{
  background-image:linear-gradient(90deg, rgba(242,193,74,.18), rgba(242,193,74,.04) 60%, rgba(170,192,255,.04)) !important;
  background-size:220% 100% !important; background-position:0 0 !important; background-color:transparent !important;
  color:#fff !important; border-color:rgba(242,193,74,.5) !important;
  box-shadow:0 0 20px rgba(242,193,74,.16), inset 0 0 0 1px rgba(242,193,74,.14) !important;
}

/* =========================================================
   10) LAYOUT — Vollbreite auf allen Seiten (gleiche Kante wie die Topbar)
   ========================================================= */
body.tt-app .tt-page > :is(.tt-mw-wrap,.tt-account-wrap,.tt-ac-wrap,.tt-profile-wrap,.tt-request-wrap,.tt-log-wrap,.tt-about-wrap,.tt-patch-wrap,.tt-founder-wrap,.tt-donate-wrap,.tt-privacy-wrap,.tt-impressum-wrap,.tt-imp-wrap,.tt-imp2-wrap,.ttg-wrap,.tt-adm-wrap,.tt-log-container,.tt-stat-wrap,.tt-online-wrap,.tt-chat-wrap,.tt-module-page,.tt-placeholder-page,.tt-dash-wrap,.tt-wrap,.tt-container,.tt-content,.tt-page-inner,.tt-pn-wrap,.tt-kontakt-wrap,.tt-contact-wrap,.tt-guest-wrap,.tt-settings-wrap,.settings-wrap,.tt-wizard-wrap,.wiz-wrap,.tt-import-wrap),
body.tt-app .tt-page :is(.tt-mw-wrap,.tt-account-wrap,.tt-ac-wrap,.tt-about-wrap,.tt-patch-wrap,.tt-founder-wrap,.tt-donate-wrap,.tt-privacy-wrap,.tt-impressum-wrap,.tt-imp-wrap,.tt-imp2-wrap,.ttg-wrap,.tt-adm-wrap,.tt-profile-wrap){
  width:100% !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important;
}
/* =========================================================
   11) LADEZUSTAENDE — Skeleton-Schimmer
   ========================================================= */
.tt-app :is(.tt-skeleton,.skeleton,.tt-loading-line){
  position:relative; overflow:hidden; border-radius:8px; background:rgba(170,192,255,.08); color:transparent !important;
}
.tt-app :is(.tt-skeleton,.skeleton,.tt-loading-line)::after{
  content:""; position:absolute; inset:0; background:linear-gradient(90deg, transparent, rgba(255,255,255,.10), transparent);
  background-size:200% 100%; animation:tt-shimmer 1.6s linear infinite;
}

/* =========================================================
   12) VERIFIED-BADGE — Schutz gegen generische [class*="badge"]-Regeln
   ========================================================= */
.tt-app .tt-vbadge, .tt-app .tt-sender-name .tt-vbadge, .tt-app .tt-u-name .tt-vbadge, .tt-app .tt-friend-list .tt-u-name .tt-vbadge, .tt-app .tt-msg-meta .tt-vbadge,
.tt-vbadge, .tt-sender-name .tt-vbadge, .tt-u-name .tt-vbadge{
  display:inline-block !important; width:1.06em !important; height:1.06em !important;
  min-width:0 !important; min-height:0 !important; max-width:none !important; max-height:none !important;
  margin:0 0 0 .04em !important; padding:0 !important; border:0 !important; border-radius:0 !important;
  background:none !important; box-shadow:none !important; font-size:inherit !important; line-height:0 !important;
  vertical-align:-.17em !important; text-transform:none !important; letter-spacing:0 !important;
  position:static !important; overflow:visible !important; opacity:1 !important; transform:none !important;
}
.tt-app .tt-vbadge::before, .tt-app .tt-vbadge::after, .tt-vbadge::before, .tt-vbadge::after{content:none !important; display:none !important;}
.tt-app .tt-vbadge svg, .tt-vbadge svg{display:block !important; width:100% !important; height:100% !important; overflow:visible !important;}
/* Grosse Vorschauen: Groesse ueber die Schrift des Containers */
.tt-app .tt-supporter-badge{font-size:34px !important;}
.tt-app .tt-badge-preview-icon{font-size:40px !important;}
.tt-app :is(.tt-supporter-badge,.tt-badge-preview-icon) .tt-vbadge{margin-left:0 !important;}

/* =========================================================
   13) RENDERING — keine Weichzeichner auf Inhaltsflaechen (Alt-CSS)
   Overlays behalten ihren leichten backdrop-filter, Karten/Panels nicht.
   ========================================================= */
.tt-app :is(.tt-card,.tt-section-card,.tt-widget,.tt-panel,.tt-box,.tt-msg-bubble,[class*="-card"],[class*="-panel"],[class*="-box"],[class*="-wrap"]):not([class*="overlay"]):not([class*="backdrop"]){
  backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
}
