/* Tema „PlayStrike - Default”, pe paginile publice ale modulelor (Forum, Game Panel): aceeași temă ca pe site, peste cadrul panoului.
   Doar aspect: lucrează pe variabilele --acs-* și pe piesele ace-c-*, acp-*, forum-*. Nu ascunde nimic din ce are modulul, în afară de pozele de decor pe care planșele nu le au.
   Valorile: planșele PS-Forum*, PS-GamePanel*, PS-Deschis-* de pe canvasul „ACE Core OS - PlayStrike Tema”. */

@font-face { font-family: "Chakra Petch"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/chakra-petch-500.woff2") format("woff2"); }
@font-face { font-family: "Chakra Petch"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/chakra-petch-600.woff2") format("woff2"); }
@font-face { font-family: "Chakra Petch"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/chakra-petch-700.woff2") format("woff2"); }

@property --ps-g { syntax: "<number>"; inherits: false; initial-value: -24.16; }
@property --ps-h { syntax: "<number>"; inherits: false; initial-value: 98.4; }
@property --ps-x { syntax: "<number>"; inherits: false; initial-value: 0; }
@property --ps-w { syntax: "<number>"; inherits: false; initial-value: 0; }
@property --ps-f { syntax: "<number>"; inherits: false; initial-value: 0.55; }

@keyframes ps-coroana { 0%, 100% { transform: translateY(0) rotate(0); } 25% { transform: translateY(calc(var(--ps-u) * -12.04)) rotate(-5deg); } 50% { transform: translateY(calc(var(--ps-u) * -1.72)) rotate(0); } 75% { transform: translateY(calc(var(--ps-u) * -9.46)) rotate(5deg); } }
@keyframes ps-p { 0% { transform: scaleX(1); } 2.5% { transform: scaleX(0.866); } 5% { transform: scaleX(0.5); } 7.5% { transform: scaleX(0); } 10% { transform: scaleX(-0.5); } 12.5% { transform: scaleX(-0.866); } 15% { transform: scaleX(-1); } 17.5% { transform: scaleX(-0.866); } 20% { transform: scaleX(-0.5); } 22.5% { transform: scaleX(0); } 25% { transform: scaleX(0.5); } 27.5% { transform: scaleX(0.866); } 30%, 100% { transform: scaleX(1); } }
@keyframes ps-lumina-scut { 0%, 26% { --ps-g: -24.16; } 46%, 100% { --ps-g: 185.84; } }
@keyframes ps-lumina-nume { 0%, 36% { --ps-h: 98.4; } 76%, 100% { --ps-h: 518.4; } }
@keyframes ps-drum { 0%, 30% { --ps-w: 0; --ps-x: 0; } 38% { --ps-w: 1; } 64% { --ps-w: 1; } 74%, 100% { --ps-w: 0; --ps-x: 360; } }
@keyframes ps-sclipire { 0%, 100% { --ps-f: 0.25; } 25%, 75% { --ps-f: 1; } 50% { --ps-f: 0.45; } }
@keyframes ps-taietura { from { left: -30%; } 34%, to { left: 115%; } }
@keyframes ps-linie { 0% { transform: scaleX(0); opacity: 1; } 34% { transform: scaleX(1); opacity: 1; } 60%, 100% { transform: scaleX(1); opacity: 0; } }

/* ---------- Variabilele, în cele două teme ---------- */
:root[data-ace-theme="dark"] body[data-ace-portal]:not(#ps) {
  color-scheme: dark;
  --acs-bg: var(--ace-site-bg, #08080A);
  --acs-surface: var(--ace-site-surface, #111114);
  --acs-surface-2: #17171C;
  --acs-border: var(--ace-site-border, #26262C);
  --acs-border-strong: #5A5A66;
  --acs-text: var(--ace-site-text, #F5F5F7);
  --acs-muted: var(--ace-site-muted, #A1A1AA);
  --acs-subtle: var(--ace-site-muted, #A1A1AA);
  --acs-primary: var(--ace-site-primary, #E11D2A);
  --acs-primary-hover: var(--ps-deep);
  --acs-primary-text: var(--ps-link);
  --acs-primary-soft: color-mix(in srgb, var(--acs-primary) 16%, transparent);
  --acs-primary-gradient: linear-gradient(90deg, var(--ps-deep), var(--acs-primary) 45%, var(--ps-deeper));
  --acs-primary-shadow: none;
  --acs-on-primary: var(--ps-on-primary);
  --acs-tab-active-bg: var(--acs-primary);
  --acs-tab-active-text: var(--ps-on-primary);
  --acs-accent: var(--ps-bright);
  --acs-focus: 0 0 0 2px var(--ps-bright);
  --acs-focus-color: var(--ps-bright);
  --acs-chosen-soft: color-mix(in srgb, var(--ps-bright) 28%, transparent);
  --acs-chosen-ring: color-mix(in srgb, var(--acs-primary) 18%, transparent);
  --acs-header: #0A0A0C;
  --acs-topbar-bg: rgba(10, 10, 12, 0.8);
  --acs-topbar-solid: rgba(10, 10, 12, 0.97);
  --acs-topbar-open: color-mix(in srgb, var(--acs-primary) 16%, transparent);
  --acs-search-border: #2F2F37;
  --acs-segment-bg: #0D0D10;
  --acs-sidebar: #0A0A0C;
  --acs-sidebar-2: #0A0A0C;
  --acs-sidebar-text: #D4D4DA;
  --acs-sidebar-muted: #A1A1AA;
  --acs-sidebar-strong: #FFFFFF;
  --acs-sidebar-line: #26262C;
  --acs-sidebar-hover: #17171C;
  --acs-sidebar-icon: var(--ps-eyebrow);
  --acs-sidebar-icon-muted: #A1A1AA;
  --acs-sidebar-card: #141418;
  --acs-sidebar-group-open: #141418;
  --acs-sidebar-sub-active: #1F1F25;
  --acs-sidebar-firm: #141418;
  --acs-sidebar-tile: #1F1F25;
  --acs-sidebar-tile-border: #2F2F37;
  --acs-phonebar-bg: #0A0A0C;
  --acs-phonebar-text: #F5F5F7;
  --acs-phonebar-line: #26262C;
  --acs-info: #D4D4DA;
  --acs-info-soft: #1F1F25;
  --acs-success: #4ADE80;
  --acs-success-soft: rgba(74, 222, 128, 0.14);
  --acs-warning: #E5A63B;
  --acs-warning-soft: rgba(229, 166, 59, 0.14);
  --acs-danger: #FF8088;
  --acs-danger-soft: rgba(225, 29, 42, 0.2);
  --acs-danger-solid: #C2101C;
  --acs-shadow: none;
  --acs-shadow-strong: 0 14px 34px rgba(0, 0, 0, 0.55);
  --acs-glow: none;
  --acs-neutral-soft: #1F1F25;
  --acs-band-bg: #111114;
  --acs-band-text: #F5F5F7;
  --acs-band-soft: #D4D4DA;
  --acs-band-line: transparent;
  --acs-card-shadow: none;

  --ps-text-2: #D4D4DA;
  --ps-strong: #FFFFFF;
  --ps-soft: #1F1F25;
  --ps-line: #2F2F37;
  --ps-line-2: #1F1F25;
  --ps-panel: #141418;
  --ps-input: #0D0D10;
  --ps-hover: #17171C;
  --ps-outline: rgba(255, 255, 255, 0.03);
  --ps-head: #17171C;
  --ps-head-2: #0E0E12;
  --ps-author: #0D0D10;
  --ps-quote: #17171C;
  --ps-edge: linear-gradient(135deg, #3A3A44, #1C1C22 55%, #3A3A44);
  --ps-bright: #FF4A55;
  --ps-eyebrow: #FF6B74;
  --ps-link: #FF8088;
  --ps-hex: url("../images/hex-inchis.webp");
  --ps-fade-1: rgba(8, 8, 10, 0.2);
  --ps-fade-2: rgba(8, 8, 10, 0.9);
  --ps-glow-1: rgba(225, 29, 42, 0.17);
  --ps-glow-2: rgba(225, 29, 42, 0.07);
  --ps-hero-glow: rgba(225, 29, 42, 0.22);
  --ps-deep: #A50F1C;
  --ps-deeper: #5E0710;
  --ps-on-primary: #FFFFFF;
  --ps-on-band: #FFFFFF;
}
:root[data-ace-theme="light"] body[data-ace-portal]:not(#ps) {
  color-scheme: light;
  --acs-bg: var(--ace-site-bg, #F4F4F6);
  --acs-surface: var(--ace-site-surface, #FFFFFF);
  --acs-surface-2: #F1F1F4;
  --acs-border: var(--ace-site-border, #DCDCE1);
  --acs-border-strong: #7C7C88;
  --acs-text: var(--ace-site-text, #111114);
  --acs-muted: var(--ace-site-muted, #5F5F6B);
  --acs-subtle: var(--ace-site-muted, #5F5F6B);
  --acs-primary: var(--ace-site-primary, #E11D2A);
  --acs-primary-hover: var(--ps-deep);
  --acs-primary-text: var(--ps-link);
  --acs-primary-soft: color-mix(in srgb, var(--acs-primary) 10%, transparent);
  --acs-primary-gradient: linear-gradient(90deg, var(--ps-deep), var(--acs-primary) 45%, var(--ps-deeper));
  --acs-primary-shadow: none;
  --acs-on-primary: var(--ps-on-primary);
  --acs-tab-active-bg: var(--acs-primary);
  --acs-tab-active-text: var(--ps-on-primary);
  --acs-accent: var(--acs-primary);
  --acs-focus: 0 0 0 2px var(--acs-primary);
  --acs-focus-color: var(--acs-primary);
  --acs-chosen-soft: color-mix(in srgb, var(--acs-primary) 20%, transparent);
  --acs-chosen-ring: color-mix(in srgb, var(--acs-primary) 14%, transparent);
  --acs-header: #FFFFFF;
  --acs-topbar-bg: rgba(255, 255, 255, 0.8);
  --acs-topbar-solid: rgba(255, 255, 255, 0.97);
  --acs-topbar-open: color-mix(in srgb, var(--acs-primary) 10%, transparent);
  --acs-search-border: #CDCDD4;
  --acs-segment-bg: #F7F7F9;
  --acs-sidebar: #FFFFFF;
  --acs-sidebar-2: #FFFFFF;
  --acs-sidebar-text: #3F3F46;
  --acs-sidebar-muted: #5F5F6B;
  --acs-sidebar-strong: #111114;
  --acs-sidebar-line: #DCDCE1;
  --acs-sidebar-hover: #F1F1F4;
  --acs-sidebar-icon: var(--ps-eyebrow);
  --acs-sidebar-icon-muted: #5F5F6B;
  --acs-sidebar-card: #F7F7F9;
  --acs-sidebar-group-open: #F7F7F9;
  --acs-sidebar-sub-active: #EDEDF0;
  --acs-sidebar-firm: #F7F7F9;
  --acs-sidebar-tile: #EDEDF0;
  --acs-sidebar-tile-border: #CDCDD4;
  --acs-phonebar-bg: #FFFFFF;
  --acs-phonebar-text: #111114;
  --acs-phonebar-line: #DCDCE1;
  --acs-info: #3F3F46;
  --acs-info-soft: #EDEDF0;
  --acs-success: #166534;
  --acs-success-soft: rgba(21, 128, 61, 0.12);
  --acs-warning: #92590F;
  --acs-warning-soft: rgba(183, 121, 31, 0.14);
  --acs-danger: #C2101C;
  --acs-danger-soft: rgba(225, 29, 42, 0.1);
  --acs-danger-solid: #C2101C;
  --acs-shadow: none;
  --acs-shadow-strong: 0 14px 34px rgba(0, 0, 0, 0.14);
  --acs-glow: none;
  --acs-neutral-soft: #EDEDF0;
  --acs-band-bg: #FFFFFF;
  --acs-band-text: #111114;
  --acs-band-soft: #3F3F46;
  --acs-band-line: transparent;
  --acs-card-shadow: none;

  --ps-text-2: #3F3F46;
  --ps-strong: #111114;
  --ps-soft: #EDEDF0;
  --ps-line: #CDCDD4;
  --ps-line-2: #EDEDF0;
  --ps-panel: #FFFFFF;
  --ps-input: #F7F7F9;
  --ps-hover: #F1F1F4;
  --ps-outline: rgba(0, 0, 0, 0.03);
  --ps-head: #F1F1F4;
  --ps-head-2: #F7F7F9;
  --ps-author: #F7F7F9;
  --ps-quote: #F1F1F4;
  --ps-edge: linear-gradient(135deg, #C4C4CC, #E4E4E7 55%, #C4C4CC);
  --ps-bright: #E11D2A;
  --ps-eyebrow: #C2101C;
  --ps-link: #C2101C;
  --ps-hex: url("../images/hex-deschis.webp");
  --ps-fade-1: rgba(244, 244, 246, 0.2);
  --ps-fade-2: rgba(244, 244, 246, 0.9);
  --ps-glow-1: rgba(225, 29, 42, 0.17);
  --ps-glow-2: rgba(225, 29, 42, 0.07);
  --ps-hero-glow: rgba(225, 29, 42, 0.12);
  --ps-deep: #A50F1C;
  --ps-deeper: #5E0710;
  --ps-on-primary: #FFFFFF;
  --ps-on-band: #FFFFFF;
}

/* Culorile din Setări website ajung și aici: aceeași nuanță, mai deschisă sau mai închisă. Unde browserul nu știe, rămân roșii. */
@supports (color: hsl(from red h s l)) {
  :root[data-ace-theme] body[data-ace-portal]:not(#ps) {
    --ps-deep: hsl(from var(--acs-primary) h calc(s + 6) calc(l - 15));
    --ps-deeper: hsl(from var(--acs-primary) h s calc(l - 30));
    --ps-glow-1: hsl(from var(--acs-primary) h s l / 0.17);
    --ps-glow-2: hsl(from var(--acs-primary) h s l / 0.07);
  }
  :root[data-ace-theme="dark"] body[data-ace-portal]:not(#ps) {
    --ps-bright: hsl(from var(--acs-primary) h 100 calc(l + 15));
    --ps-eyebrow: hsl(from var(--acs-primary) h 100 calc(l + 21));
    --ps-link: hsl(from var(--acs-primary) h 100 calc(l + 25));
    --ps-hero-glow: hsl(from var(--acs-primary) h s l / 0.22);
  }
  :root[data-ace-theme="light"] body[data-ace-portal]:not(#ps) {
    --ps-bright: var(--acs-primary);
    --ps-eyebrow: hsl(from var(--acs-primary) h s calc(l - 8));
    --ps-link: hsl(from var(--acs-primary) h s calc(l - 8));
    --ps-hero-glow: hsl(from var(--acs-primary) h s l / 0.12);
  }
}
/* Textul de pe culoarea principală: alb sau negru, după culoare. */
@supports (color: lch(from red l c h)) {
  :root[data-ace-theme] body[data-ace-portal]:not(#ps) {
    --ps-on-primary: lch(from var(--acs-primary) calc((50 - l) * 1000) 0 0);
    --ps-on-band: lch(from var(--ps-deep) calc((50 - l) * 1000) 0 0);
  }
}

/* Piesele: două id-uri în față, ca să treacă peste regulile mai lungi ale panoului, fără !important. */
:root[data-ace-theme] body[data-ace-portal][data-ace-theme-scope]:not(#ps):not(#ps) {
  --ps-heading: "Chakra Petch", "Segoe UI", system-ui, sans-serif;
  --ps-gutter: 32px;
  --ps-width: 1376px;
  --ps-edge-size: max(var(--ps-gutter), calc((100% - var(--ps-width)) / 2));
  --ps-cut: polygon(0 0, calc(100% - var(--c, 16px)) 0, 100% var(--c, 16px), 100% 100%, var(--c, 16px) 100%, 0 calc(100% - var(--c, 16px)));
  --acs-font: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --acs-radius: 0px;
  --acs-radius-sm: 0px;
  --acs-radius-xs: 0px;
  --acs-radius-pill: 0px;
  --acs-content-max: calc(var(--ps-width) + 2 * var(--ps-gutter));
  position: relative;
  isolation: isolate;
  background: var(--acs-bg);
  color: var(--acs-text);
  font-family: var(--acs-font);

  /* ---------- Fundalul: luminile roșii și hexagoanele, care se sting spre josul paginii ---------- */
  &::before { content: ""; position: absolute; inset: 0; z-index: -2; pointer-events: none; background: radial-gradient(900px 520px at 80% 4%, var(--ps-glow-1), transparent 66%), radial-gradient(760px 460px at 6% 42%, var(--ps-glow-2), transparent 70%), linear-gradient(180deg, var(--ps-fade-1), var(--ps-fade-2) 72%); }
  &::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: var(--ps-hex) 0 0 / 84px 72px; -webkit-mask-image: linear-gradient(180deg, #000, transparent 74%); mask-image: linear-gradient(180deg, #000, transparent 74%); }
  .acp-shell, .acp-main { background: transparent; }
  :focus-visible { outline: 2px solid var(--ps-bright); outline-offset: 2px; box-shadow: none; }
  .acp-content :where(h1, h2, h3, h4) { font-family: var(--ps-heading); font-weight: 700; }
  .acp-content a.ace-c-link:not(.is-strong):hover { color: var(--ps-link); }

  /* ---------- Bara de sus ---------- */
  .acp-header { --ps-u: calc(56px / 158); position: relative; gap: 4px; min-height: 84px; height: 84px; padding: 0 var(--ps-edge-size); border-bottom: 1px solid var(--acs-border); background: var(--acs-topbar-bg); backdrop-filter: none; }

  /* Logoul: tema deschisă, poza lui, fără mișcare. */
  .acp-header-brand.ace-site-brand { position: relative; display: block; flex: 0 0 auto; width: calc(var(--ps-u) * 444.75); height: calc(var(--ps-u) * 150); margin: 0 18px 0 -5.7px; padding: 0; overflow: visible; color: transparent; font-size: 0; line-height: 0; transform: translateY(-7.4px); background: url("../images/logo-deschis.webp") 0 0 / 100% 100% no-repeat; }
  /* Meniul și căutarea. */
  .acp-header .ace-top-bar { flex: 0 1 auto; min-width: 0; margin: 0; padding: 0; border: 0; background: none; }
  .ace-section-bar__pills { gap: 4px; }
  .ace-top-bar .ace-section-bar__item { position: relative; display: inline-flex; align-items: center; border: 0; background: none; box-shadow: none; }
  .ace-top-bar .ace-section-bar__pill { position: relative; top: 3px; display: inline-flex; align-items: center; gap: 5px; height: 42px; padding: 0 14px; border: 0; border-radius: 0; background: none; box-shadow: none; color: var(--ps-text-2); font: 600 16px var(--ps-heading); transition: color 0.2s; }
  .ace-top-bar .ace-section-bar__pill > svg:first-child:not(:only-child) { display: none; }
  .ace-top-bar .ace-section-bar__pill::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 5px; height: 2px; background: var(--acs-primary); transform: scaleX(0); transform-origin: left; transition: transform 0.25s; }
  .ace-top-bar .ace-section-bar__item:is(:hover, .is-active) .ace-section-bar__pill { background: none; color: var(--ps-strong); }
  .ace-top-bar .ace-section-bar__item:is(:hover, .is-active) .ace-section-bar__pill::after { transform: scaleX(1); }
  .ace-top-bar .ace-section-bar__item.has-drop .ace-section-bar__pill { padding-right: 4px; }
  .ace-top-bar .ace-section-bar__item.has-drop .ace-section-bar__pill::after { right: 4px; }
  .ace-top-bar .ace-section-bar__drop { position: relative; top: 3px; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 42px; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; color: var(--ps-text-2); }
  .ace-top-bar .ace-section-bar__item:is(:hover, .is-active) .ace-section-bar__drop { background: none; color: var(--ps-strong); }
  .ace-top-bar .ace-section-bar__drop svg { width: 14px; height: 14px; }
  .ace-section-bar__menu { padding: 6px; border: 1px solid var(--ps-line); border-radius: 10px; background: var(--ps-panel); box-shadow: var(--acs-shadow-strong); }
  .ace-section-bar__option { padding: 8px 10px; border-radius: 7px; background: none; color: var(--ps-text-2); font: 400 14px var(--acs-font); }
  .ace-section-bar__option > svg { display: none; }
  .ace-section-bar__option:is(:hover, .is-active) { background: var(--ps-soft); color: var(--ps-strong); }
  .acp-header-left { flex: 1 1 auto; justify-content: flex-end; }
  .acp-header-left .acp-search { flex: 0 1 270px; width: 270px; height: 42px; min-height: 42px; padding: 0 14px; gap: 8px; border: 1px solid var(--ps-line); border-radius: 0; background: var(--ps-outline); box-shadow: none; }
  .acp-header-left .acp-search input { height: 40px; background: none; color: var(--acs-text); font-size: 14px; }
  .acp-header-left .acp-search input::placeholder { color: var(--acs-muted); opacity: 1; }
  /* Contul. */
  .acp-header-actions { flex: 0 0 auto; margin-left: 8px; gap: 8px; }
  .acp-header-button, .acp-user-button { display: inline-flex; align-items: center; gap: 8px; height: 42px; min-height: 42px; padding: 0 12px; border: 1px solid var(--ps-line); border-radius: 0; background: var(--ps-outline); box-shadow: none; color: var(--acs-text); font: 600 14px var(--acs-font); transition: border-color 0.2s; }
  .acp-user-button { padding: 0 12px 0 6px; }
  .acp-header-button:hover, .acp-user-button:hover { border-color: var(--ps-bright); background: var(--ps-outline); }
  .acp-avatar { --c: 6px; width: 30px; height: 30px; border-radius: 0; background: linear-gradient(135deg, var(--ps-bright), var(--ps-deep)); clip-path: polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c)); }
  .acp-avatar img { width: 100%; height: 100%; border-radius: 0; object-fit: cover; }
  .acp-avatar.is-mark { background: var(--ps-soft); }
  .acp-avatar.is-mark img { content: url("../images/semn-gri.webp"); padding: 2px; object-fit: contain; }
  .acp-user-copy strong { color: var(--acs-text); font-size: 14px; font-weight: 600; }
  .acp-user-menu { padding: 6px; border: 1px solid var(--ps-line); border-radius: 10px; background: var(--ps-panel); box-shadow: var(--acs-shadow-strong); }
  .acp-user-menu > a { border-radius: 7px; color: var(--ps-text-2); }
  .acp-user-menu > a:hover { background: var(--ps-soft); color: var(--ps-strong); }
  .acp-segmented { border: 1px solid var(--ps-line); border-radius: 0; background: var(--acs-segment-bg); }
  .acp-segmented button { border-radius: 0; }

  /* ---------- Conținutul ---------- */
  .acp-content { max-width: calc(var(--ps-width) + 2 * var(--ps-gutter)); margin-inline: auto; padding: 16px var(--ps-gutter) 0; gap: 16px; }
  .ace-ui-crumbs { margin: 10px 0 0; font-size: 13.5px; color: var(--acs-muted); }
  .ace-ui-crumbs a { color: var(--acs-muted); }
  .ace-ui-crumbs a:hover { color: var(--ps-strong); }
  .ace-ui-page-header h1:not(.ace-c-sr) { font-size: 46px; line-height: 1.1; }
  .ace-ui-page-header p { color: var(--ps-text-2); font-size: 16px; }
  .ace-c-section-head { margin: 10px 0 -6px; }
  .ace-c-section-head h2 { margin: 0; font: 700 26px var(--ps-heading); }
  .ace-c-section-head p { color: var(--acs-muted); font-size: 14.5px; }

  /* Eroul: colțuri tăiate, marginea cu degradeu, lumina roșie în dreapta. Poza de decor și arcul nu sunt pe planșă. */
  .ace-c-hero { --c: 16px; position: relative; isolation: isolate; min-height: 344px; display: flex; align-items: center; overflow: hidden; border: 0; border-radius: 0; background: var(--ps-edge); clip-path: var(--ps-cut); }
  .ace-c-hero::before { content: ""; position: absolute; inset: 1px; z-index: -1; background: radial-gradient(760px 340px at 88% 20%, var(--ps-hero-glow), transparent 68%), var(--acs-surface); clip-path: var(--ps-cut); }
  .ace-c-hero :is(.ace-c-band-picture, .ace-c-band-fade, .ace-c-band-arc) { display: none; }
  .ace-c-hero__body { gap: 10px; max-width: none; padding: 28px 34px; }
  .ace-c-hero__logo { display: block; align-self: flex-start; width: auto; height: 54px; }
  .ace-c-hero__body h2 { margin: 6px 0 0; color: var(--acs-text); font: 700 42px/1.1 var(--ps-heading); text-wrap: balance; }
  .ace-c-hero__body p { max-width: 720px; color: var(--ps-text-2); font-size: 16.5px; }
  .ace-c-hero__body > .ace-c-btn { margin-top: 8px; }

  /* Butoanele. */
  .ace-c-btn, .acp-primary-button, .ace-ui-button-secondary { border-radius: 0; box-shadow: none; }
  .ace-c-btn.is-primary, .acp-primary-button { --c: 10px; position: relative; overflow: hidden; height: 46px; min-height: 46px; padding: 0 22px; border: 0; background: linear-gradient(90deg, var(--ps-bright) 0, var(--acs-primary) 22px, var(--acs-primary) 55%, var(--ps-deep) 100%); color: var(--ps-on-primary); font: 600 15.5px var(--ps-heading); clip-path: var(--ps-cut); transition: filter 0.2s, transform 0.2s; }
  .ace-c-btn.is-primary:hover, .acp-primary-button:hover { filter: brightness(1.14); transform: translateY(-1px); background: linear-gradient(90deg, var(--ps-bright) 0, var(--acs-primary) 22px, var(--acs-primary) 55%, var(--ps-deep) 100%); color: var(--ps-on-primary); }
  /* Butoanele mici stau pe roșul plin, fără margine mai deschisă: textul alb are 4,6:1. */
  .ace-c-btn.is-primary.is-sm, .ace-c-btn.is-primary.is-sm:hover { height: 36px; min-height: 36px; padding: 0 14px; background: linear-gradient(90deg, var(--acs-primary), var(--acs-primary) 55%, var(--ps-deep)); font-size: 14.5px; clip-path: none; }
  .ace-c-btn.is-primary.is-row, .ace-c-btn.is-primary.is-row:hover { height: 36px; min-height: 36px; width: 100%; padding: 0 8px; background: linear-gradient(90deg, var(--acs-primary), var(--acs-primary) 55%, var(--ps-deep)); clip-path: none; }
  .ace-c-btn.is-secondary, .ace-ui-button-secondary { height: 32px; min-height: 32px; padding: 0 11px; border: 1px solid var(--ps-line); background: none; color: var(--acs-text); font: 600 13px var(--acs-font); transition: border-color 0.15s, background 0.15s; }
  .ace-c-btn.is-secondary:hover, .ace-ui-button-secondary:hover { border-color: var(--ps-bright); background: var(--ps-soft); color: var(--acs-text); }
  .ace-c-btn.is-text { border: 0; background: none; color: var(--ps-text-2); }
  .ace-c-btn.is-text:hover { background: none; color: var(--ps-eyebrow); }

  /* Etichetele. */
  .acp-pill, .ace-c-status { border-radius: 0; font-size: 12px; font-weight: 600; }

  /* Cardurile: colțuri tăiate și margine cu degradeu; cele cu liste sau meniuri stau drepte, ca meniurile să nu fie tăiate. */
  .ace-c-card, .acp-card { border: 1px solid var(--acs-border); border-radius: 0; background: var(--acs-surface); box-shadow: none; }
  .ace-c-card:not(.is-band):not(:has(details, select, [role="menu"], .forum-mod-menu)):not(:has(> .ace-c-card-head.has-lead .ace-c-card-lead):has(.acp-table)) { --c: 16px; position: relative; isolation: isolate; border: 0; background: var(--ps-edge); clip-path: var(--ps-cut); }
  .ace-c-card:not(.is-band):not(:has(details, select, [role="menu"], .forum-mod-menu)):not(:has(> .ace-c-card-head.has-lead .ace-c-card-lead):has(.acp-table))::before { content: ""; position: absolute; inset: 1px; z-index: -1; background: var(--acs-surface); clip-path: var(--ps-cut); }
  .ace-c-card-head { background: none; }
  .ace-c-card-head h2 { color: var(--acs-text); font: 700 19px var(--ps-heading); }
  /* Cardul cu serverele unui joc: capul pe fundal, lista lipită de el. */
  .ace-c-card:has(> .ace-c-card-head.has-lead .ace-c-card-lead):has(.acp-table) { gap: 0; padding: 0; }
  .ace-c-card:has(.acp-table) > .ace-c-card-head.has-lead:has(.ace-c-card-lead) { gap: 10px; margin: 0; padding: 10px 18px; border-bottom: 1px solid var(--acs-border); background: var(--ps-head); }
  .ace-c-card:has(> .ace-c-card-head.has-lead .ace-c-card-lead):has(.acp-table) > .ace-c-card-body { padding: 0; }
  .ace-c-card:has(> .ace-c-card-head.has-lead .ace-c-card-lead) .acp-table :is(th, td):first-child { padding-left: 18px; }
  .ace-c-card:has(> .ace-c-card-head.has-lead .ace-c-card-lead) .acp-table :is(th, td):last-child { padding-right: 18px; }
  .ace-c-card-lead .ace-c-image { width: 28px; height: 28px; border-radius: 0; }
  .ace-c-card-count { color: var(--acs-muted); font: 400 14px var(--acs-font); }
  .ace-c-tile-icon { border: 0; border-radius: 0; background: var(--ps-soft); color: var(--ps-eyebrow); }
  .ace-c-tile-icon svg { color: var(--ps-eyebrow); }
  .ace-c-avatar { --c: 5px; border-radius: 0; clip-path: polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c)); background: linear-gradient(135deg, #52525B, #27272A); }
  .ace-c-avatar img { border-radius: 0; }
  .ace-c-avatar.is-mark { background: var(--ps-soft); }
  .ace-c-avatar.is-mark img { content: url("../images/semn-gri.webp"); padding: 2px; object-fit: contain; }

  /* ---------- Banda roșie a unei categorii ---------- */
  .ace-c-card.is-band { border: 0; background: none; }
  .ace-c-card-band, .ace-c-card.is-band > .ace-c-card-head { --c: 14px; position: relative; gap: 14px; padding: 12px 20px; overflow: hidden; background: var(--acs-primary-gradient); color: var(--ps-on-band); clip-path: polygon(0 0, calc(100% - var(--c)) 0, 100% var(--c), 100% 100%, 0 100%); }
  .ace-c-card-band > span:not(.ace-c-card-band__arrow) { flex-direction: column; flex-wrap: nowrap; align-items: flex-start; gap: 0; }
  .ace-c-card-band strong, .ace-c-card.is-band > .ace-c-card-head h2 { color: var(--ps-on-band); font: 700 21px var(--ps-heading); }
  /* Textul mic de pe bandă e alb plin (pe planșă, 88 %), ca să treacă de 4,5:1 și pe roșul cel mai deschis. */
  .ace-c-card-band small, .ace-c-card.is-band > .ace-c-card-head small { color: var(--ps-on-band); font-size: 13.5px; }
  .ace-c-card-band > svg, .ace-c-card-band > span:first-child svg { width: 26px; height: 26px; }
  .ace-c-card-band svg { color: var(--ps-on-band); stroke: var(--ps-on-band); }
  .ace-c-card-band__arrow { opacity: 0.8; }
  .ace-c-card-band::before { content: ""; position: absolute; top: -40%; bottom: -40%; left: -30%; width: 18%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.55), transparent); transform: skewX(-24deg); pointer-events: none; }
  .ace-c-card-band::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: #FFFFFF; transform: scaleX(0); transform-origin: left; pointer-events: none; }
  .ace-c-card.is-band > .ace-c-card-body, .ace-c-card.is-band > details > .ace-c-card-body { padding: 0; border: 1px solid var(--acs-border); border-top: 0; background: var(--acs-surface); }

  /* ---------- Forumul: rândurile ---------- */
  .forum-rows { container-type: inline-size; }
  .forum-line { grid-template-columns: 44px minmax(0, 1fr) 76px 76px 190px; gap: 8px 12px; padding: 9px 20px; transition: background 0.2s; }
  /* Capul de coloane și cele două cifre: ale temei; cifra veche, „21 de mesaje”, rămâne pentru temele fără coloane. */
  .forum-rows__heads { display: grid; grid-template-columns: 44px minmax(0, 1fr) 76px 76px 190px; gap: 12px; padding: 7px 20px; background: var(--ps-head-2); color: var(--acs-muted); font-size: 12px; }
  .forum-rows__heads > :first-child { grid-column: 2; }
  .forum-rows__heads > :nth-last-child(-n+3) { text-align: right; }
  .forum-line__count { display: none; }
  .forum-line__topics, .forum-line__posts { display: block; justify-self: end; color: var(--acs-text); font: 600 15px var(--ps-heading); }
  .forum-line__topics b, .forum-line__posts b { font-weight: 600; }
  .forum-line__topics span, .forum-line__posts span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .forum-line + .forum-line { border-top: 1px solid var(--ps-line-2); }
  .forum-line:hover { background: var(--ps-hover); }
  /* Iconița: semnul temei, gri fără mesaje noi, roșu cu mesaje noi; fără animație. */
  .forum-state .ace-c-tile-icon { display: block; width: 29px; height: 40px; margin: 0 auto; background: url("../images/semn-gri.webp") center / contain no-repeat; }
  .forum-state .ace-c-tile-icon svg, .forum-state .ace-c-tile-icon > * { display: none; }
  .forum-state--new .ace-c-tile-icon { background-image: url("../images/semn-rosu.webp"); }
  .forum-line__name { font-size: 15.5px; }
  .forum-name a { color: inherit; }
  .forum-line__about { color: var(--acs-muted); font-size: 13px; }
  .forum-line__subs { gap: 4px 14px; margin-top: 4px; font-size: 13px; }
  .forum-line__subs li { display: inline-flex; align-items: center; gap: 6px; color: var(--acs-muted); }
  .forum-line__subs li::before { flex: none; width: 16px; height: 22px; margin: 0; border-radius: 0; background: url("../images/semn-gri.webp") center / contain no-repeat; }
  .forum-line__subs li.is-new::before { background-image: url("../images/semn-rosu.webp"); }
  .forum-line__subs li.is-new a { color: var(--ps-strong); font-weight: 700; }
  .forum-line__subs a { color: var(--acs-muted); }
  .forum-line__count span { padding: 0; background: none; color: var(--acs-text); font: 600 15px var(--ps-heading); }
  .forum-line__last { justify-content: flex-end; gap: 8px; text-align: right; }
  .forum-line__last .ace-c-avatar { order: 0; flex: none; width: 26px; height: 26px; }
  .forum-line__words { min-width: 0; font-size: 13px; }
  .forum-line__words a { display: block; overflow: hidden; color: var(--ps-text-2); font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
  .forum-line__words small { color: var(--acs-muted); font-size: 13px; }

  /* Anunțul de sub erou. */
  .forum-notice { display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 4px 16px; border: 1px solid var(--acs-border); border-left: 3px solid var(--acs-primary); border-radius: 0; background: var(--acs-surface); box-shadow: none; font-size: 14px; }
  .forum-notice > svg, .forum-notice .acp-svg-icon svg { color: var(--ps-eyebrow); }
  .forum-notice__title a { color: var(--acs-text); font-weight: 600; }

  /* Coloana din dreapta: cardurile fără bandă roșie. */
  .ace-c-columns.is-side-300 { gap: 16px; }
  .ace-c-columns__side .ace-c-card.is-band { --c: 16px; position: relative; isolation: isolate; background: var(--ps-edge); clip-path: var(--ps-cut); }
  .ace-c-columns__side .ace-c-card.is-band::before { content: ""; position: absolute; inset: 1px; z-index: -1; background: var(--acs-surface); clip-path: var(--ps-cut); }
  .ace-c-columns__side .ace-c-card.is-band > .ace-c-card-head { padding: 14px 18px 6px; background: none; clip-path: none; color: var(--acs-text); }
  .ace-c-columns__side .ace-c-card.is-band > .ace-c-card-head h2 { color: var(--acs-text); font: 700 19px var(--ps-heading); }
  .ace-c-columns__side .ace-c-card.is-band > .ace-c-card-body, .ace-c-columns__side .ace-c-card.is-band > details > .ace-c-card-body { padding: 0 18px 12px; border: 0; background: none; }
  .forum-latest { padding: 8px 0; border-top: 1px solid var(--ps-line-2); }
  .forum-latest__words { font-size: 14px; }
  .forum-latest__words a { color: var(--acs-text); font-weight: 400; }
  .forum-latest__words small { font-size: 13px; }

  /* Cifrele forumului. */
  .forum-figures { gap: 14px; padding: 14px 18px; }
  .forum-figure { gap: 10px; padding: 0; border: 0; border-radius: 0; }
  .forum-figure__icon { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: var(--ps-soft); color: var(--ps-eyebrow); }
  .forum-figure__icon .acp-svg-icon, .forum-figure__icon svg { width: 18px; height: 18px; }
  .forum-figure__value { color: var(--acs-text); font: 700 20px/1.15 var(--ps-heading); }
  .forum-figure__label { color: var(--acs-muted); font-size: 12px; line-height: 1.35; }

  /* ---------- Subiectul ---------- */
  .forum-topic-band { margin: 0; }
  .forum-topic-band__head { --c: 16px; gap: 16px; padding: 16px 22px; border-radius: 0; background: var(--acs-primary-gradient); clip-path: var(--ps-cut); }
  .forum-topic-band__icon { display: none; }
  .forum-topic-band__head { color: var(--ps-on-band); }
  .forum-topic-band__title h1 { color: var(--ps-on-band); font: 700 28px/1.2 var(--ps-heading); }
  .forum-topic-band__counts { color: var(--ps-on-band); font-size: 14px; }
  .forum-band-chip { height: 24px; padding: 0 9px; border-radius: 0; background: rgba(0, 0, 0, 0.34); font-size: 12.5px; }
  .forum-band-btn { min-height: 40px; padding: 0 16px; border: 1px solid rgba(255, 255, 255, 0.45); border-radius: 0; background: none; color: #FFFFFF; font: 600 14.5px var(--ps-heading); white-space: nowrap; }
  .forum-band-btn:hover { background: rgba(255, 255, 255, 0.12); }
  .forum-band-btn.is-solid { border-color: #FFFFFF; background: #FFFFFF; color: var(--ps-deep); }
  .forum-band-btn.is-solid:hover { background: #FFFFFF; color: var(--ps-deep); filter: brightness(0.95); }
  .forum-posts .ace-c-stack { gap: 12px; }
  .forum-post { border: 1px solid var(--acs-border); border-radius: 0; background: var(--acs-surface); box-shadow: none; }
  .forum-author { background: var(--ps-author); border-right: 1px solid var(--acs-border); }
  .forum-big-face .ace-c-avatar { --c: 12px; }
  .forum-author__names a { color: var(--acs-text); font: 700 16px var(--ps-heading); }
  .forum-author__grade { color: var(--acs-muted); font-size: 12.5px; }
  .forum-stars { color: var(--ps-eyebrow); }
  .forum-stars svg { color: var(--ps-eyebrow); fill: currentColor; }
  .forum-author__facts { border-top: 1px solid var(--acs-border); }
  .forum-author__fact { font-size: 12.5px; }
  .forum-author__fact span { color: var(--acs-muted); }
  .forum-author__fact strong { color: var(--ps-text-2); font-weight: 600; }
  .forum-post__head { border-bottom: 1px solid var(--ps-line-2); color: var(--acs-muted); font-size: 13px; }
  .forum-post__number { color: var(--ps-link); font-weight: 600; }
  .forum-post__body { color: var(--ps-text-2); font-size: 15px; line-height: 1.65; }
  .forum-sign { border-top: 1px solid var(--ps-line-2); color: var(--acs-muted); font-size: 13px; }
  .forum-post__foot { border-top: 1px solid var(--ps-line-2); }
  .ace-c-prose blockquote { margin: 0 0 10px; padding: 8px 12px; border-left: 3px solid var(--acs-primary); border-radius: 0; background: var(--ps-quote); color: var(--acs-muted); font-size: 13.5px; }
  input:not([type="checkbox"], [type="radio"], [type="hidden"]), select, textarea { border-radius: 0; }
  .ace-c-field :is(input, select, textarea), .ace-c-input, textarea { border: 1px solid var(--ps-line); background: var(--ps-input); color: var(--acs-text); }
  :is(input, select, textarea):focus { border-color: var(--ps-bright); box-shadow: none; }

  /* ---------- Tabelele ---------- */
  .ace-c-table-wrap, .acp-table-wrap { border: 0; border-radius: 0; background: none; box-shadow: none; }
  .acp-table { background: none; }
  .acp-table thead th { padding-top: 7px; padding-bottom: 7px; border-bottom: 0; background: none; color: var(--acs-muted); font-size: 12px; font-weight: 400; text-transform: none; letter-spacing: 0; }
  .acp-table tbody :is(td, th) { border-top: 1px solid var(--ps-line-2); font-size: 14px; }
  .acp-table tbody tr:hover :is(td, th) { background: var(--ps-hover); }
  .ace-c-copy-value { background: none; color: var(--ps-text-2); font: 400 13px ui-monospace, Consolas, monospace; }
  .acp-table a.ace-c-link { color: var(--acs-text); }
  .acp-table a.ace-c-link:hover { color: var(--ps-link); }
  .ace-c-btn.is-row svg { display: none; }
  .ace-c-card .acp-table tbody :is(td, th) { padding-top: 8px; padding-bottom: 8px; }

  /* Capul paginii cu titlul ascuns nu ține loc deasupra eroului. */
  .acp-content > .ace-ui-page-header:not(:has(.ace-ui-crumbs, .ace-c-band)) { margin-bottom: -16px; }
  .acp-content > .ace-c-spaced-16 { margin-top: 0; }
  .ace-c-columns__main > .forum-category + .forum-category > .ace-c-spaced-16 { margin-top: 16px; }
  .ace-c-columns__main > .ace-c-spaced-16 { margin-top: 16px; }

  /* ---------- Pagina serverului: banda de sus ---------- */
  .ace-c-band { --c: 16px; position: relative; isolation: isolate; height: 172px; border: 0; border-radius: 0; overflow: hidden; background: var(--ps-edge); clip-path: var(--ps-cut); }
  .ace-c-band::before { content: ""; position: absolute; inset: 1px; z-index: -1; background: var(--acs-surface); clip-path: var(--ps-cut); }
  .ace-c-band .ace-c-band-arc { display: none; }
  .ace-c-band .ace-c-band-fade { background: linear-gradient(90deg, var(--acs-surface) 34%, transparent 92%); }
  .ace-c-band__icon { width: 54px; height: 54px; border: 1px solid #3A3A44; border-radius: 0; }
  .ace-c-band__way { color: var(--ps-text-2); font-size: 14px; }
  .ace-c-band__way a { color: var(--ps-text-2); }
  .ace-c-band__way a:hover { color: var(--ps-strong); }
  .ace-c-band__name strong { color: var(--acs-text); font: 700 30px/1.15 var(--ps-heading); }
  .ace-c-band__chip { height: 22px; padding: 0 9px; border: 0; border-radius: 0; background: var(--ps-soft); color: var(--ps-text-2); font-size: 12px; font-weight: 600; }
  .ace-c-band__chip.is-ok { background: var(--acs-success-soft); color: var(--acs-success); }
  .ace-c-band__line { color: var(--ps-text-2); font-size: 13px; }
  .ace-c-band__buttons .ace-c-btn svg { display: none; }
  .ace-c-band__line code { background: none; color: var(--ps-text-2); font: 400 13px ui-monospace, Consolas, monospace; }

  /* Filele de sub bandă: fără pastilă, cu linie roșie sub cea aleasă. */
  .ace-section-bar.is-fit { display: block; width: 100%; max-width: none; margin: 0; padding: 0; border: 0; border-bottom: 1px solid var(--acs-border); border-radius: 0; background: none; box-shadow: none; }
  .ace-section-bar.is-fit .ace-section-bar__pills { gap: 4px 22px; }
  .ace-section-bar.is-fit .ace-section-bar__item { border: 0; background: none; box-shadow: none; }
  .ace-section-bar.is-fit .ace-section-bar__pill { min-height: 0; height: auto; padding: 8px 0; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; box-shadow: none; color: var(--acs-muted); font: 600 15px var(--ps-heading); transition: color 0.15s; }
  .ace-section-bar.is-fit .ace-section-bar__pill > :is(svg, .acp-svg-icon, .ace-icon) { display: none; }
  .ace-section-bar.is-fit .ace-section-bar__item:hover .ace-section-bar__pill { background: none; color: var(--ps-strong); }
  .ace-section-bar.is-fit .ace-section-bar__item.is-active .ace-section-bar__pill { background: none; border-bottom-color: var(--acs-primary); color: var(--ps-strong); }
  .ace-section-bar__count { padding: 0; border-radius: 0; background: none; color: var(--acs-muted); font: 400 12px var(--ps-heading); }

  /* Detaliile serverului. */
  .ace-c-eyebrow { color: var(--ps-eyebrow); font: 600 14px var(--ps-heading); letter-spacing: 0.04em; text-transform: uppercase; }
  .ace-c-facts { grid-template-columns: auto minmax(0, 1fr); row-gap: 8px; font-size: 14px; }
  .ace-c-soft-words { color: var(--acs-muted); }
  .ace-c-facts__value { color: var(--acs-text); font-weight: 600; text-align: right; overflow-wrap: anywhere; }
  .ace-c-facts__value .ace-c-row-action-list { justify-content: flex-end; }
  .ace-c-facts__value code { background: none; color: var(--ps-text-2); font: 400 13px ui-monospace, Consolas, monospace; }
  .ace-c-figure { color: var(--acs-text); font: 700 34px/1 var(--ps-heading); }
  .ace-c-bare-code.is-strong { background: none; color: var(--acs-text); font: 700 14px ui-monospace, Consolas, monospace; }
  .ace-c-small-line { color: var(--acs-muted); font-size: 13px; }

  /* Barele și graficele: roșii, ca pe planșă. */
  --acs-meter-fill: linear-gradient(90deg, var(--acs-primary), var(--ps-bright));
  --acs-meter-scale: linear-gradient(90deg, var(--acs-primary), var(--ps-bright));
  .ace-c-meter { height: 6px; border-radius: 0; background: var(--ps-soft); }
  .ace-c-meter__fill { height: 100%; border-radius: 0; background: linear-gradient(90deg, var(--acs-primary), var(--ps-bright)); }
  .ace-c-chart { color: var(--ps-bright); }
  .ace-c-chart__grid { stroke: var(--ps-line-2); }
  .ace-c-chart__line { stroke: var(--ps-bright); }
  .ace-c-chart__area { fill: var(--ps-bright); fill-opacity: 0.08; }
  .ace-c-chart__bar { color: var(--ps-bright); fill: var(--ps-bright); stroke: var(--ps-bright); }
  .ace-c-chart__dot { background: var(--ps-bright); fill: var(--ps-bright); }
  .ace-c-chart__x, .ace-c-chart__y { color: var(--acs-muted); font-size: 11.5px; }
  .ace-c-prose h3 { margin: 12px 0 2px; color: var(--acs-text); font: 700 15px var(--ps-heading); }
  .ace-c-prose :is(p, li) { color: var(--ps-text-2); font-size: 14px; }
  .ace-c-prose a { color: var(--ps-link); }
  .acp-content .ace-c-btn.is-text { color: var(--ps-text-2); font-size: 14px; }

  /* Pagina serverului: bucata de filtre (24 h, 7 zile, 30 de zile). */
  .acp-segmented button[aria-pressed="true"], .acp-segmented a.is-active { background: var(--acs-primary-soft); color: var(--ps-strong); }

  /* ---------- Capul paginilor cu titlu: forumul, lista serverelor ---------- */
  .ace-ui-page-header { gap: 8px; }
  .ace-ui-page-header__main { align-items: flex-end; gap: 24px; }
  .ace-ui-page-header__title { align-items: center; gap: 10px; }
  &[data-ace-app^="forum"] .ace-ui-page-header__title .ace-c-tile-icon { display: block; width: 29px; height: 40px; background: url("../images/semn-rosu.webp") center / contain no-repeat; }
  &[data-ace-app^="forum"] .ace-ui-page-header__title .ace-c-tile-icon svg { display: none; }
  .ace-ui-action { --c: 10px; display: inline-flex; align-items: center; gap: 8px; height: 46px; min-height: 46px; padding: 0 22px; border: 0; border-radius: 0; background: var(--ps-soft); box-shadow: none; color: var(--acs-text); font: 600 15.5px var(--ps-heading); clip-path: var(--ps-cut); transition: filter 0.2s, transform 0.2s; }
  .ace-ui-action:hover { background: var(--ps-soft); color: var(--acs-text); filter: brightness(1.14); transform: translateY(-1px); }
  .ace-ui-action.is-primary { background: linear-gradient(90deg, var(--ps-bright) 0, var(--acs-primary) 22px, var(--acs-primary) 55%, var(--ps-deep) 100%); color: var(--ps-on-primary); }
  .ace-ui-action.is-primary:hover { background: linear-gradient(90deg, var(--ps-bright) 0, var(--acs-primary) 22px, var(--acs-primary) 55%, var(--ps-deep) 100%); color: var(--ps-on-primary); }
  .ace-ui-action svg { width: 16px; height: 16px; }

  /* ---------- Lista de subiecte: semnul pe fiecare rând ---------- */
  .acp-table .forum-state { position: relative; display: flex; align-items: center; min-height: 40px; padding-left: 46px; }
  .acp-table .forum-state::before { content: ""; position: absolute; left: 0; top: 50%; width: 29px; height: 40px; margin-top: -20px; background: url("../images/semn-gri.webp") center / contain no-repeat; }
  .acp-table .forum-state--new::before { background-image: url("../images/semn-rosu.webp"); }
  .ace-c-card.is-band:has(.acp-table) > .ace-c-card-body { border-top: 0; }
  .ace-c-card.is-band .acp-table thead th { background: var(--ps-head-2); }
  .ace-c-card.is-band .acp-table :is(th, td):first-child { padding-left: 20px; }
  .ace-c-card.is-band .acp-table :is(th, td):last-child { padding-right: 20px; }
  .ace-c-filter { min-height: 40px; border: 1px solid var(--ps-line); border-radius: 0; background: var(--ps-input); color: var(--acs-text); }
  .ace-c-card.is-band .ace-c-card-actions .ace-c-filter { border-color: rgba(255, 255, 255, 0.45); background: rgba(0, 0, 0, 0.34); color: #FFFFFF; }
  .ace-c-card.is-band .ace-c-card-actions .ace-c-filter select { background: none; color: #FFFFFF; }
  .ace-c-card.is-band .ace-c-card-actions .ace-c-filter select option { background: var(--ps-panel); color: var(--acs-text); }
  .ace-c-card.is-band .ace-c-card-actions .ace-c-filter span { color: #FFFFFF; }

  /* ---------- Subiectul: autorul, mesajele ---------- */
  .forum-big-face .ace-c-avatar { width: 72px; height: 72px; }
  .forum-big-face .ace-c-avatar img { width: 100%; height: 100%; object-fit: cover; }
  .forum-big-face .ace-c-avatar.is-mark img { object-fit: contain; }
  .forum-post .ace-c-btn svg { width: 14px; height: 14px; }
  .forum-post .ace-c-btn .acp-svg-icon { width: 14px; height: 14px; }
  .forum-post__clock svg { width: 14px; height: 14px; }
  .acp-icon-button { border: 1px solid var(--ps-line); border-radius: 0; background: var(--ps-outline); box-shadow: none; }
  .acp-icon-button:hover { border-color: var(--ps-bright); background: var(--ps-outline); }
  .acp-nav-count { border-radius: 0; }

  /* ---------- Lista serverelor: căutarea, paginile, nota ---------- */
  .ace-c-filters { flex-wrap: wrap; gap: 10px; }
  .ace-c-filter { align-items: center; padding: 0 12px; }
  .ace-c-filter select { background-color: transparent; color: var(--acs-text); }
  .ace-c-filters .ace-c-btn.is-row { flex: 0 0 auto; width: auto; min-width: 112px; height: 40px; min-height: 40px; padding: 0 18px; }
  .ace-c-filters .ace-c-btn.is-row svg { display: inline-block; width: 16px; height: 16px; }
  .ace-c-picker :is(button, input) { border-radius: 0; }
  .ace-c-pager { gap: 10px; color: var(--acs-muted); font-size: 13.5px; }
  .ace-c-page { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; padding: 0 10px; border: 1px solid var(--ps-line); border-radius: 0; background: none; box-shadow: none; color: var(--ps-text-2); font-size: 13.5px; }
  a.ace-c-page:hover { border-color: var(--ps-bright); background: var(--ps-soft); color: var(--ps-strong); }
  .ace-c-page.is-current { border-color: var(--acs-primary); background: var(--acs-primary-soft); box-shadow: none; color: var(--ps-strong); font-weight: 600; }
  .ace-c-page.is-off { opacity: 1; color: var(--acs-muted); }
  .ace-c-list-foot { color: var(--acs-muted); font-size: 13.5px; }
  .ace-c-note { border: 1px solid var(--acs-border); border-radius: 0; background: var(--acs-surface); box-shadow: none; color: var(--acs-text); }
  .ace-c-note__icon, .ace-c-note__icon svg { color: var(--ps-eyebrow); }
  .acp-table thead th { white-space: nowrap; }
  .ace-c-fill svg { border-radius: 0; }

  /* Poza implicită din capul paginii unui membru: semnul temei, nu cel al platformei. */
  .ace-ui-page-header__title img.ace-c-image[src*="ace-a."] { content: url("../images/semn-gri.webp"); width: 29px; height: 40px; object-fit: contain; }

  /* ---------- Subsolul are regulile lui în tema site-ului; pe module, foaia de bază a alegerii între teme vine după ele ---------- */
  .ace-site-foot .ace-site-theme-button { border-radius: 0; }
  .ace-site-foot .ace-site-theme-mini { border-radius: 0; }
  .ace-site-foot .ace-site-theme-pop { border-color: var(--ps-line); border-radius: 0; background: var(--ps-panel); }
  .ace-site-foot .ace-site-theme-option { border-radius: 0; }

  /* ---------- Telefonul (sub 860 px, ca pe planșă) ---------- */
  @media (max-width: 860px) {
    --ps-gutter: 16px;
    .acp-header { --ps-u: calc(46px / 158); height: 64px; min-height: 64px; padding: 0 8px 0 12px; }
    .acp-header-brand.ace-site-brand { margin: 0 auto 0 0; transform: translateY(-7.2px); }
    .acp-header-left, .acp-header .ace-top-bar { display: none; }
    .acp-header .acp-menu-toggle { order: 3; display: inline-flex; width: 44px; height: 44px; border: 0; background: none; color: var(--ps-text-2); }
    .acp-header-actions { order: 2; margin: 0; }
    .acp-header-button, .acp-user-button { height: 44px; min-height: 44px; padding: 0 10px; border: 0; background: none; }
    .acp-user-copy, .acp-user-button > svg { display: none; }
    .acp-content { padding-top: 14px; }
    .ace-c-hero { min-height: 0; }
    .ace-c-hero__body { padding: 20px 18px; }
    .ace-c-hero__logo { height: 44px; }
    .ace-c-hero__body h2 { font-size: 30px; }
    .ace-c-hero__body p { font-size: 15px; }
    .ace-c-section-head h2 { font-size: 22px; }
    .ace-c-btn.is-primary, .acp-primary-button { min-height: 46px; }
    .ace-c-btn.is-primary.is-row, .ace-c-btn.is-primary.is-sm { height: 44px; min-height: 44px; }
    .ace-c-btn.is-secondary, .ace-ui-button-secondary { height: 44px; min-height: 44px; }
    .ace-ui-page-header h1:not(.ace-c-sr) { font-size: 36px; }
    .ace-ui-page-header__main { flex-direction: column; align-items: flex-start; gap: 12px; }
    .ace-ui-action { flex: 1 1 auto; justify-content: center; padding: 0 14px; font-size: 14.5px; white-space: nowrap; }
    .ace-ui-page-header__actions { width: 100%; }
    /* Bandele, rândurile forumului. */
    .ace-c-card-band, .ace-c-card.is-band > .ace-c-card-head { padding: 10px 14px; }
    .forum-line { grid-template-columns: 40px auto minmax(0, 1fr); column-gap: 8px; padding: 10px 14px; }
    .forum-line > .ace-c-tile-icon { grid-row: span 3; align-self: center; }
    .forum-line__main { grid-column: 2 / -1; }
    .forum-rows__heads { display: none; }
    .forum-line__topics { grid-column: 2; justify-self: start; }
    .forum-line__posts { grid-column: 3; justify-self: start; }
    .forum-line__posts:not(:empty)::before { content: "· "; }
    .forum-line__last { grid-column: 2 / -1; justify-self: start; }
    .forum-line__topics:empty, .forum-line__posts:empty, .forum-line__last:empty { display: none; }
    .forum-line__topics, .forum-line__posts { color: var(--acs-muted); font: 400 12.5px var(--acs-font); }
    .forum-line__topics span, .forum-line__posts span { position: static; width: auto; height: auto; clip-path: none; }
    .forum-line__last { justify-content: flex-start; text-align: left; }
    .forum-line__subs { grid-template-columns: minmax(0, 1fr); }
    .forum-figures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    /* Subiectul: autorul sus, mesajul sub el. */
    .forum-topic-band__head { flex-wrap: wrap; padding: 14px 16px; }
    .forum-topic-band__title h1 { font-size: 22px; }
    .forum-topic-band__buttons { width: 100%; }
    .forum-band-btn { flex: 1; min-height: 44px; }
    .forum-author { border-right: 0; border-bottom: 1px solid var(--acs-border); }
    .forum-big-face .ace-c-avatar { --c: 8px; width: 46px; height: 46px; }
    /* Banda serverului. */
    .ace-c-band { height: auto; min-height: 172px; }
    .ace-c-band__name strong { font-size: 24px; }
    .ace-section-bar.is-fit .ace-section-bar__pills { flex-wrap: wrap; }
    .ace-section-bar.is-fit .ace-section-bar__pill { min-height: 44px; }
    .ace-c-facts { row-gap: 10px; }
    /* Ce se apasă pe telefon: cel puțin 40 px, fără să schimbe rândurile. */
    a.ace-c-link, .forum-latest__words a, .forum-line__subs a, .forum-line__words a, .forum-post__number, .ace-ui-crumbs__back { display: inline-block; padding-block: 13px; margin-block: -13px; }
    .forum-notice__title a { display: inline-block; padding-block: 13px; margin-block: -13px; }
    .acp-segmented button { min-height: 40px; }
    .ace-c-filter :is(select, button) { min-height: 40px; }
    .ace-c-card-actions a, .acp-segmented a { display: inline-flex; align-items: center; min-height: 40px; }
    .ace-ui-action.is-primary, .ace-ui-action.is-primary:hover { background: linear-gradient(90deg, var(--acs-primary), var(--acs-primary) 55%, var(--ps-deep)); }
    .ace-c-btn.is-text, .ace-c-btn.is-text.is-sm { min-width: 44px; min-height: 44px; }
    .forum-line__words a { white-space: normal; }
    .acp-table a.ace-c-link { padding-block: 13px; margin-block: -13px; white-space: normal; overflow-wrap: anywhere; }
    .acp-table .ace-c-cell, .acp-table th.is-wide, .acp-table td.is-wide { white-space: normal; overflow: visible; }
  }
}

/* Tema închisă: logoul din bucăți, mișcat la mouse. */
:root[data-ace-theme="dark"] body[data-ace-portal][data-ace-theme-scope]:not(#ps):not(#ps) {
  .acp-header-brand.ace-site-brand { height: calc(var(--ps-u) * 158); transform: translateY(-8.8px); background: radial-gradient(closest-side, rgba(255, 74, 85, calc(0.85 * var(--ps-f))), rgba(255, 74, 85, 0)) calc(var(--ps-u) * 30) calc(var(--ps-u) * 48.8) / calc(var(--ps-u) * 60) calc(var(--ps-u) * 6.4) no-repeat, url("../images/logo-scut.webp") 0 0 / 100% 100% no-repeat; }
  .acp-header-brand.ace-site-brand::before, .acp-header-brand.ace-site-brand::after { content: ""; position: absolute; inset: 0; pointer-events: none; }
  .acp-header-brand.ace-site-brand::before { transform-origin: 14.368% 68.101%; background: linear-gradient(110deg, transparent calc(var(--ps-u) * (var(--ps-g) - 8)), rgba(255, 255, 255, 0.24) calc(var(--ps-u) * (var(--ps-g) - 8)), rgba(255, 255, 255, 0.24) calc(var(--ps-u) * (var(--ps-g) + 8)), transparent calc(var(--ps-u) * (var(--ps-g) + 8))), url("../images/logo-p.webp") 0 0 / 100% 100% no-repeat; -webkit-mask: url("../images/logo-masca-scut.webp") 0 0 / 100% 100% no-repeat; mask: url("../images/logo-masca-scut.webp") 0 0 / 100% 100% no-repeat; }
  .acp-header-brand.ace-site-brand::after { transform-origin: 13.491% 29.146%; background: url("../images/logo-coroana.webp") 0 0 / 100% 100% no-repeat; }
  .acp-header:has(> .ace-site-brand) { --ps-left: calc(var(--ps-edge-size) - 5.7px); --ps-top: 5.2px; }
  .acp-header:has(> .ace-site-brand)::before, .acp-header:has(> .ace-site-brand)::after { content: ""; position: absolute; left: var(--ps-left); top: calc((100% - var(--ps-u) * 158) / 2 - 8.8px); width: calc(var(--ps-u) * 444.75); height: calc(var(--ps-u) * 158); pointer-events: none; }
  .acp-header:has(> .ace-site-brand)::before { left: calc(var(--ps-left) - var(--ps-u) * 8); width: calc(var(--ps-u) * 524.75); z-index: 1; background: url("../images/logo-nume.webp") calc(var(--ps-u) * 8) 0 / calc(var(--ps-u) * 444.75) calc(var(--ps-u) * 158) no-repeat, radial-gradient(closest-side, rgba(255, 122, 130, calc(0.6 * var(--ps-w))), rgba(248, 98, 108, calc(0.45 * var(--ps-w))) 25%, rgba(240, 76, 86, calc(0.3 * var(--ps-w))) 50%, rgba(232, 52, 64, calc(0.15 * var(--ps-w))) 75%, rgba(225, 29, 42, 0)) calc(var(--ps-u) * (var(--ps-x) + 4)) calc(var(--ps-u) * 54) / calc(var(--ps-u) * 128) calc(var(--ps-u) * 100) no-repeat; }
  .acp-header:has(> .ace-site-brand)::after { z-index: 2; background: linear-gradient(110deg, transparent calc(var(--ps-u) * (var(--ps-h) - 13)), rgba(255, 255, 255, 0.34) calc(var(--ps-u) * (var(--ps-h) - 13)), rgba(255, 255, 255, 0.34) calc(var(--ps-u) * (var(--ps-h) + 13)), transparent calc(var(--ps-u) * (var(--ps-h) + 13))); -webkit-mask: url("../images/logo-masca-nume.webp") 0 0 / 100% 100% no-repeat; mask: url("../images/logo-masca-nume.webp") 0 0 / 100% 100% no-repeat; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  :root[data-ace-theme="dark"] body[data-ace-portal][data-ace-theme-scope]:not(#ps):not(#ps) {
    .acp-header-brand.ace-site-brand:is(:hover, :focus-visible) { animation: ps-sclipire 4s ease-in-out infinite; }
    .acp-header-brand.ace-site-brand:is(:hover, :focus-visible)::before { animation: ps-p 4s linear infinite, ps-lumina-scut 4s ease-in-out infinite; }
    .acp-header-brand.ace-site-brand:is(:hover, :focus-visible)::after { animation: ps-coroana 4s ease-in-out infinite; }
    .acp-header:has(> .ace-site-brand:is(:hover, :focus-visible))::before { animation: ps-drum 4s ease-in-out infinite; }
    .acp-header:has(> .ace-site-brand:is(:hover, :focus-visible))::after { animation: ps-lumina-nume 4s ease-in-out infinite; }
  }
  :root[data-ace-theme] body[data-ace-portal][data-ace-theme-scope]:not(#ps):not(#ps) {
    .ace-c-card-band:hover::before { animation: ps-taietura 0.85s ease-out; }
    .ace-c-card-band:hover::after { animation: ps-linie 0.85s ease-out forwards; }
  }
}

/* ---------- Logoul de pe erou, doar la modulele cu planșă ---------- */
:root[data-ace-theme="dark"] body[data-ace-portal][data-ace-theme-scope]:not(#ps):not(#ps) {
  &[data-ace-app^="forum"] .ace-c-hero__logo { content: url("../images/erou-forum-inchis.webp"); }
  &[data-ace-app^="gamepanel"] .ace-c-hero__logo { content: url("../images/erou-gamepanel-inchis.webp"); }
}
:root[data-ace-theme="light"] body[data-ace-portal][data-ace-theme-scope]:not(#ps):not(#ps) {
  &[data-ace-app^="forum"] .ace-c-hero__logo { content: url("../images/erou-forum-deschis.webp"); }
  &[data-ace-app^="gamepanel"] .ace-c-hero__logo { content: url("../images/erou-gamepanel-deschis.webp"); }
}
