@media not all {
/* Legado visual v1, mantido temporariamente apenas como referência histórica.
   O bloco não participa da cascata; a direção de arte ativa começa no Studio v3. */
/* Temas corporativos dos aplicativos desktop.
   A ambientacao e intencionalmente decorativa: nao altera cores semanticas de
   erro/sucesso, nao intercepta cliques e nao desloca o conteudo operacional. */

html.gfl-app-theme-capable,
body.gfl-app-theme-capable { --gfl-theme-accent: #15803d; --gfl-theme-accent-2: #0f766e; --gfl-theme-soft: #ecfdf5; }

#appThemeDecor {
  position: fixed;
  inset: 0;
  z-index: 48;
  overflow: hidden;
  pointer-events: none;
  contain: strict;
}

#appThemeDecor[hidden] { display: none !important; }

.gfl-theme-top-trim {
  position: absolute;
  top: 38px;
  left: 78px;
  right: 0;
  height: 5px;
  opacity: .92;
  filter: drop-shadow(0 2px 4px rgba(15, 23, 42, .10));
}

.gfl-theme-side-trim {
  position: absolute;
  top: 42px;
  left: 5px;
  bottom: 10px;
  width: 7px;
  border-radius: 999px;
  opacity: .78;
}

.gfl-theme-corner-mark {
  position: absolute;
  top: 46px;
  right: 13px;
  width: 34px;
  height: 44px;
  opacity: .86;
  transform-origin: 50% 0;
}

.gfl-theme-particles span {
  position: absolute;
  top: -24px;
  left: var(--left);
  width: var(--size);
  height: var(--size);
  opacity: var(--opacity);
  animation: gflThemeFall var(--duration) linear var(--delay) infinite;
  will-change: transform;
}

.gfl-theme-particles span:nth-child(1) { --left: 7%; --size: 5px; --opacity: .42; --duration: 13s; --delay: -5s; }
.gfl-theme-particles span:nth-child(2) { --left: 16%; --size: 8px; --opacity: .32; --duration: 17s; --delay: -9s; }
.gfl-theme-particles span:nth-child(3) { --left: 27%; --size: 6px; --opacity: .48; --duration: 15s; --delay: -2s; }
.gfl-theme-particles span:nth-child(4) { --left: 39%; --size: 4px; --opacity: .34; --duration: 18s; --delay: -12s; }
.gfl-theme-particles span:nth-child(5) { --left: 51%; --size: 7px; --opacity: .43; --duration: 14s; --delay: -7s; }
.gfl-theme-particles span:nth-child(6) { --left: 63%; --size: 5px; --opacity: .30; --duration: 19s; --delay: -4s; }
.gfl-theme-particles span:nth-child(7) { --left: 75%; --size: 8px; --opacity: .38; --duration: 16s; --delay: -11s; }
.gfl-theme-particles span:nth-child(8) { --left: 87%; --size: 5px; --opacity: .44; --duration: 14s; --delay: -8s; }
.gfl-theme-particles span:nth-child(9) { --left: 94%; --size: 7px; --opacity: .29; --duration: 20s; --delay: -14s; }
.gfl-theme-particles span:nth-child(10) { --left: 33%; --size: 5px; --opacity: .26; --duration: 21s; --delay: -16s; }

@keyframes gflThemeFall {
  0% { transform: translate3d(0, -28px, 0) rotate(0deg); }
  50% { transform: translate3d(18px, 50vh, 0) rotate(150deg); }
  100% { transform: translate3d(-9px, 104vh, 0) rotate(310deg); }
}

@keyframes gflThemeGlow {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.18); }
}

.gfl-theme-live-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: max-content;
  max-width: 150px;
  min-height: 16px;
  margin-left: 6px;
  padding: 2px 7px;
  border: 1px solid rgba(255, 255, 255, .30);
  border-radius: 999px;
  background: rgba(255, 255, 255, .13);
  color: #fff;
  font-size: 8.5px;
  font-style: normal;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .02em;
  white-space: nowrap;
}

.gfl-theme-live-pill::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--gfl-theme-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--gfl-theme-accent) 22%, transparent); }

/* Cores sao aplicadas apenas aos pontos lúdicos/contextuais. Alertas, botoes de
   exclusao e estados fiscais continuam usando a paleta semantica original. */
body[data-app-theme] .chat-launch,
body[data-app-theme] .gfl-beta-tool-btn[data-beta-action="chat"],
body[data-app-theme] [data-director-workspace-target="temas"].active,
body[data-app-theme] .app-theme-primary {
  border-color: color-mix(in srgb, var(--gfl-theme-accent) 64%, #ffffff) !important;
  background: linear-gradient(135deg, var(--gfl-theme-accent), var(--gfl-theme-accent-2)) !important;
  color: #fff !important;
}

body[data-app-theme] .chat-launch,
body[data-app-theme] .app-theme-primary { box-shadow: 0 7px 20px color-mix(in srgb, var(--gfl-theme-accent) 24%, transparent) !important; }
body[data-app-theme] .portal-card:hover { border-color: color-mix(in srgb, var(--gfl-theme-accent) 56%, #d8e0eb); }

/* Natal */
body[data-app-theme="natal"] { --gfl-theme-accent: #15803d; --gfl-theme-accent-2: #b91c1c; --gfl-theme-soft: #fff7f7; }
body[data-app-theme="natal"] .gfl-theme-top-trim {
  height: 7px;
  background:
    radial-gradient(circle at 6px 2px, #fbbf24 0 2px, transparent 2.6px) 0 0 / 24px 7px repeat-x,
    linear-gradient(90deg, #14532d, #22c55e 48%, #14532d);
  border-radius: 0 0 70% 70%;
}
body[data-app-theme="natal"] .gfl-theme-side-trim {
  width: 9px;
  background: repeating-radial-gradient(circle at 50% 7px, #166534 0 4px, #22c55e 4px 6px, transparent 6px 14px);
}
body[data-app-theme="natal"] .gfl-theme-corner-mark {
  width: 14px;
  border-radius: 999px;
  background: repeating-linear-gradient(-34deg, #fff 0 7px, #dc2626 7px 14px);
  border: 2px solid rgba(255,255,255,.85);
  transform: rotate(24deg);
}
body[data-app-theme="natal"] .gfl-theme-corner-mark::after {
  content: '';
  position: absolute;
  left: -2px;
  bottom: -2px;
  width: 22px;
  height: 14px;
  border: 6px solid #dc2626;
  border-left: 0;
  border-top: 0;
  border-radius: 0 0 18px 0;
}
body[data-app-theme="natal"] .gfl-theme-particles span { border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px rgba(148,163,184,.18); }
/* Ano-Novo */
body[data-app-theme="ano_novo"] { --gfl-theme-accent: #b98a16; --gfl-theme-accent-2: #0f766e; --gfl-theme-soft: #fffbeb; }
body[data-app-theme="ano_novo"] .gfl-theme-top-trim { background: linear-gradient(90deg, transparent, #d4a72c 18%, #fff4b8 48%, #d4a72c 82%, transparent); box-shadow: 0 0 10px rgba(212,167,44,.45); }
body[data-app-theme="ano_novo"] .gfl-theme-side-trim { background: linear-gradient(#d4a72c, #0f766e, #d4a72c); }
body[data-app-theme="ano_novo"] .gfl-theme-corner-mark { border: 2px solid #d4a72c; border-radius: 50%; box-shadow: 0 0 0 7px rgba(212,167,44,.08), 0 0 0 14px rgba(212,167,44,.05); }
body[data-app-theme="ano_novo"] .gfl-theme-corner-mark::before,
body[data-app-theme="ano_novo"] .gfl-theme-corner-mark::after { content: ''; position: absolute; inset: 50% -12px auto; height: 2px; background: #d4a72c; transform: rotate(35deg); }
body[data-app-theme="ano_novo"] .gfl-theme-corner-mark::after { transform: rotate(-35deg); }
body[data-app-theme="ano_novo"] .gfl-theme-particles span { background: #d4a72c; clip-path: polygon(50% 0,61% 37%,100% 50%,61% 63%,50% 100%,39% 63%,0 50%,39% 37%); }
/* Carnaval */
body[data-app-theme="carnaval"] { --gfl-theme-accent: #7c3aed; --gfl-theme-accent-2: #db2777; --gfl-theme-soft: #faf5ff; }
body[data-app-theme="carnaval"] .gfl-theme-top-trim { height: 6px; background: repeating-linear-gradient(90deg,#7c3aed 0 24px,#ec4899 24px 48px,#facc15 48px 72px,#06b6d4 72px 96px); }
body[data-app-theme="carnaval"] .gfl-theme-side-trim { background: linear-gradient(#7c3aed,#ec4899,#facc15,#06b6d4); }
body[data-app-theme="carnaval"] .gfl-theme-corner-mark { border: 4px dotted #ec4899; border-radius: 50%; background: rgba(250,204,21,.12); }
body[data-app-theme="carnaval"] .gfl-theme-particles span { border-radius: 2px; background: var(--particle,#7c3aed); }
body[data-app-theme="carnaval"] .gfl-theme-particles span:nth-child(3n+1) { --particle:#ec4899; }
body[data-app-theme="carnaval"] .gfl-theme-particles span:nth-child(3n+2) { --particle:#facc15; }
/* Pascoa */
body[data-app-theme="pascoa"] { --gfl-theme-accent: #7c3aed; --gfl-theme-accent-2: #db2777; --gfl-theme-soft: #fdf4ff; }
body[data-app-theme="pascoa"] .gfl-theme-top-trim { background: repeating-linear-gradient(90deg,#a7f3d0 0 28px,#f9a8d4 28px 56px,#c4b5fd 56px 84px,#fde68a 84px 112px); border-radius:999px; }
body[data-app-theme="pascoa"] .gfl-theme-side-trim { background: repeating-linear-gradient(#f9a8d4 0 16px,#a7f3d0 16px 32px,#c4b5fd 32px 48px); }
body[data-app-theme="pascoa"] .gfl-theme-corner-mark { border-radius:50% 50% 46% 46%; background:linear-gradient(135deg,#f9a8d4,#c4b5fd); box-shadow:inset 0 -8px 0 rgba(255,255,255,.36); }
body[data-app-theme="pascoa"] .gfl-theme-particles span { border-radius:50% 50% 46% 46%; background:#f9a8d4; }
body[data-app-theme="pascoa"] .gfl-theme-particles span:nth-child(even) { background:#a7f3d0; }
/* Festa Junina */
body[data-app-theme="festa_junina"] { --gfl-theme-accent: #b45309; --gfl-theme-accent-2: #b91c1c; --gfl-theme-soft: #fff7ed; }
body[data-app-theme="festa_junina"] .gfl-theme-top-trim { top:39px; height:15px; background:conic-gradient(from 45deg at 10px 0,#dc2626 0 25%,transparent 0) 0 0/40px 15px repeat-x,conic-gradient(from 45deg at 10px 0,#facc15 0 25%,transparent 0) 20px 0/40px 15px repeat-x; }
body[data-app-theme="festa_junina"] .gfl-theme-side-trim { background:repeating-linear-gradient(#b45309 0 12px,#facc15 12px 24px,#dc2626 24px 36px); }
body[data-app-theme="festa_junina"] .gfl-theme-corner-mark { width:38px; height:22px; background:linear-gradient(135deg,#fde68a,#b45309); clip-path:polygon(50% 0,70% 55%,100% 70%,82% 100%,18% 100%,0 70%,30% 55%); }
body[data-app-theme="festa_junina"] .gfl-theme-particles span { background:#dc2626; clip-path:polygon(0 0,100% 0,50% 100%); }
body[data-app-theme="festa_junina"] .gfl-theme-particles span:nth-child(even) { background:#facc15; }
/* Brasil */
body[data-app-theme="brasil"] { --gfl-theme-accent: #15803d; --gfl-theme-accent-2: #1d4ed8; --gfl-theme-soft: #f0fdf4; }
body[data-app-theme="brasil"] .gfl-theme-top-trim { height:6px; background:linear-gradient(90deg,#15803d 0 34%,#facc15 34% 66%,#1d4ed8 66%); }
body[data-app-theme="brasil"] .gfl-theme-side-trim { background:linear-gradient(#15803d 0 34%,#facc15 34% 66%,#1d4ed8 66%); }
body[data-app-theme="brasil"] .gfl-theme-corner-mark { border-radius:3px; background:#15803d; transform:rotate(8deg); }
body[data-app-theme="brasil"] .gfl-theme-corner-mark::before { content:''; position:absolute; inset:7px 4px; background:#facc15; transform:rotate(45deg); }
body[data-app-theme="brasil"] .gfl-theme-corner-mark::after { content:''; position:absolute; left:11px; top:15px; width:12px; height:12px; border-radius:50%; background:#1d4ed8; }
body[data-app-theme="brasil"] .gfl-theme-particles span { background:#facc15; clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 35%); }
body[data-theme-intensity="suave"] #appThemeDecor .gfl-theme-particles span { display:none; }
body[data-theme-intensity="suave"] .gfl-theme-corner-mark { opacity:.42; transform:scale(.78); }
body[data-theme-intensity="festivo"] .gfl-theme-top-trim,
body[data-theme-intensity="festivo"] .gfl-theme-side-trim { opacity:1; }
body[data-theme-motion="off"] #appThemeDecor * { animation:none !important; }
}

/* Painel de administracao */
.app-theme-manager-shell { min-width:0; }
.app-theme-manager-shell[hidden] { display:none !important; }
.app-theme-manager {
  --theme-border:#d7e7de;
  display:grid;
  gap:14px;
  padding:0;
  color:#172033;
}
.app-theme-hero {
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:122px;
  padding:20px 22px;
  border:1px solid #bfe3cd;
  border-radius:18px;
  background:linear-gradient(125deg,#f4fbf6 0%,#fff 58%,#eefbf5 100%);
  box-shadow:0 12px 30px rgba(15,118,72,.08);
}
.app-theme-hero::after { content:''; position:absolute; right:-60px; top:-90px; width:230px; height:230px; border-radius:50%; background:radial-gradient(circle,rgba(34,197,94,.13),transparent 68%); pointer-events:none; }
.app-theme-hero-copy { position:relative; z-index:1; display:grid; gap:5px; }
.app-theme-eyebrow { color:#08783d; font-size:10px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.app-theme-hero h3 { margin:0; font-size:23px; letter-spacing:-.025em; }
.app-theme-hero p { max-width:720px; margin:0; color:#64748b; font-size:12.5px; line-height:1.5; }
.app-theme-active-card { position:relative; z-index:1; min-width:260px; padding:13px 15px; border:1px solid #d7e7de; border-radius:14px; background:rgba(255,255,255,.88); box-shadow:0 8px 24px rgba(15,23,42,.06); }
.app-theme-active-card small { display:block; color:#64748b; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.app-theme-active-card strong { display:block; margin-top:4px; font-size:16px; }
.app-theme-active-card span { display:block; margin-top:3px; color:#64748b; font-size:11px; }
.app-theme-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr); gap:14px; align-items:start; }
.app-theme-card { border:1px solid var(--theme-border); border-radius:16px; background:#fff; box-shadow:0 7px 22px rgba(15,23,42,.045); overflow:hidden; }
.app-theme-card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:61px; padding:13px 16px; border-bottom:1px solid #e7efe9; background:#fbfdfc; }
.app-theme-card-head > div { display:grid; gap:2px; }
.app-theme-card-head strong { font-size:14px; }
.app-theme-card-head span { color:#6b7a8f; font-size:10.5px; }
.app-theme-catalog { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; padding:13px; }
.app-theme-choice { position:relative; display:grid; align-content:start; gap:8px; min-height:132px; padding:13px; border:1px solid #dce8e1; border-radius:13px; background:#fff; color:#172033; text-align:left; cursor:pointer; transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.app-theme-choice:hover { transform:translateY(-2px); border-color:#91c9a8; box-shadow:0 9px 20px rgba(15,118,72,.09); }
.app-theme-choice.is-selected { border-color:#16a34a; box-shadow:0 0 0 3px rgba(34,197,94,.12); background:linear-gradient(150deg,#fff,#f1fbf5); }
.app-theme-choice-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.app-theme-choice-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; color:#fff; font-size:17px; font-weight:900; background:linear-gradient(135deg,var(--choice-a),var(--choice-b)); }
.app-theme-swatches { display:flex; gap:4px; }
.app-theme-swatches i { width:10px; height:10px; border-radius:50%; border:1px solid rgba(15,23,42,.08); background:var(--swatch); }
.app-theme-choice strong { font-size:13px; }
.app-theme-choice p { margin:0; color:#64748b; font-size:10.5px; line-height:1.4; }
.app-theme-choice time { margin-top:auto; color:#08783d; font-size:9.5px; font-weight:800; }
.app-theme-config { display:grid; gap:12px; padding:14px; }
.app-theme-segment { display:grid; grid-template-columns:1fr 1fr; gap:5px; padding:4px; border:1px solid #dbe7df; border-radius:11px; background:#f4f8f5; }
.app-theme-segment button { min-height:34px; border:0; border-radius:8px; background:transparent; color:#526175; font:inherit; font-size:11.5px; font-weight:800; cursor:pointer; }
.app-theme-segment button.is-active { color:#0b6b37; background:#fff; box-shadow:0 3px 10px rgba(15,23,42,.08); }
.app-theme-fields { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.app-theme-field { display:grid; gap:5px; min-width:0; }
.app-theme-field.is-wide { grid-column:1/-1; }
.app-theme-field > span { color:#556579; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.app-theme-field input,.app-theme-field select { width:100%; min-height:39px; padding:8px 10px; border:1px solid #d8e4dc; border-radius:9px; background:#fff; color:#172033; font:inherit; font-size:11.5px; outline:0; }
.app-theme-field input:focus,.app-theme-field select:focus { border-color:#34a968; box-shadow:0 0 0 3px rgba(34,197,94,.12); }
.app-theme-toggle-list { display:grid; gap:7px; }
.app-theme-toggle { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:42px; padding:8px 10px; border:1px solid #e0e9e3; border-radius:10px; }
.app-theme-toggle span { display:grid; gap:1px; }
.app-theme-toggle strong { font-size:11.5px; }
.app-theme-toggle small { color:#718096; font-size:9.5px; }
.app-theme-toggle input { width:34px; height:18px; accent-color:#15803d; cursor:pointer; }
.app-theme-actions { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.app-theme-actions button { justify-content:center; min-height:38px !important; }
.app-theme-actions .app-theme-primary { grid-column:1/-1; }
.app-theme-feedback { min-height:35px; padding:9px 10px; border:1px solid #dce9e1; border-radius:10px; background:#f8fbf9; color:#526175; font-size:10.5px; line-height:1.45; }
.app-theme-feedback.is-ok { border-color:#bbf7d0; background:#f0fdf4; color:#166534; }
.app-theme-feedback.is-error { border-color:#fecaca; background:#fef2f2; color:#b91c1c; }
.app-theme-schedule { display:grid; gap:8px; padding:12px 14px; }
.app-theme-campaign { display:grid; grid-template-columns:minmax(120px,.6fr) minmax(190px,1fr) auto; align-items:center; gap:10px; padding:10px 11px; border:1px solid #e0e9e3; border-radius:11px; background:#fff; }
.app-theme-campaign-main { display:flex; align-items:center; gap:8px; min-width:0; }
.app-theme-campaign-dot { width:11px; height:11px; border-radius:50%; background:var(--campaign-color,#15803d); box-shadow:0 0 0 4px color-mix(in srgb,var(--campaign-color,#15803d) 12%,transparent); }
.app-theme-campaign-main span { min-width:0; display:grid; gap:1px; }
.app-theme-campaign-main strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11.5px; }
.app-theme-campaign-main small,.app-theme-campaign-time small { color:#718096; font-size:9.5px; }
.app-theme-campaign-time { display:grid; gap:1px; }
.app-theme-campaign-time strong { font-size:10.5px; font-weight:700; }
.app-theme-status { display:inline-flex; width:max-content; padding:3px 7px; border-radius:999px; background:#e8f8ee; color:#08783d; font-size:8.5px; font-weight:900; }
.app-theme-status.status-agendado { background:#eff6ff; color:#1d4ed8; }
.app-theme-status.status-encerrado,.app-theme-status.status-cancelado { background:#f1f5f9; color:#64748b; }
.app-theme-cancel { min-height:30px !important; color:#b91c1c !important; border-color:#fecaca !important; }
.app-theme-empty { padding:24px 14px; color:#718096; text-align:center; font-size:11px; }
.app-theme-preview-banner { position:fixed; left:50%; bottom:18px; z-index:190; display:flex; align-items:center; gap:12px; padding:9px 10px 9px 13px; border:1px solid #b8ddc6; border-radius:12px; background:#fff; box-shadow:0 16px 42px rgba(15,23,42,.18); transform:translateX(-50%); }
.app-theme-preview-banner span { color:#334155; font-size:11px; font-weight:700; }
.app-theme-preview-banner button { min-height:30px !important; }

body.gfl-desktop-release-ui.gfl-director-beta-compact #view-diretoria .director-workspace-nav {
  grid-template-columns:minmax(145px,.72fr) repeat(6,minmax(116px,1fr));
}

@media (max-width:1280px) {
  .app-theme-layout { grid-template-columns:1fr; }
  .app-theme-catalog { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.gfl-desktop-release-ui.gfl-director-beta-compact #view-diretoria .director-workspace-nav { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.gfl-desktop-release-ui.gfl-director-beta-compact #view-diretoria .director-workspace-title { grid-column:1/-1; }
}

@media (max-width:760px) {
  .gfl-theme-top-trim { left:0; top:0; }
  .gfl-theme-side-trim { display:none; }
  .app-theme-hero { align-items:flex-start; flex-direction:column; padding:16px; }
  .app-theme-active-card { width:100%; min-width:0; }
  .app-theme-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .app-theme-fields,.app-theme-actions { grid-template-columns:1fr; }
  .app-theme-actions .app-theme-primary { grid-column:auto; }
  .app-theme-campaign { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  #appThemeDecor *, .app-theme-choice { animation:none !important; transition:none !important; }
  .gfl-theme-particles { display:none; }
}

/* ========================================================================== */
/* Theme Studio v2 · identidade sazonal integrada                             */
/* ========================================================================== */

@media not all {
body[data-app-theme] {
  --gfl-theme-nav-bg: linear-gradient(135deg, color-mix(in srgb, var(--gfl-theme-accent) 18%, #ffffff), #ffffff 68%);
  --gfl-theme-nav-active: linear-gradient(135deg, var(--gfl-theme-accent), var(--gfl-theme-accent-2));
  --gfl-theme-nav-ink: #ffffff;
  --gfl-theme-line: color-mix(in srgb, var(--gfl-theme-accent) 34%, #d9e5de);
  --gfl-theme-sidebar-a: color-mix(in srgb, var(--gfl-theme-accent) 34%, #06271b);
  --gfl-theme-sidebar-b: color-mix(in srgb, var(--gfl-theme-accent-2) 28%, #03150f);
}

body[data-app-theme="natal"] {
  --gfl-theme-nav-bg: linear-gradient(135deg,#f6fff8,#fff7f7 72%);
  --gfl-theme-nav-active: linear-gradient(135deg,#166534,#0d7a43 64%,#b91c1c);
  --gfl-theme-sidebar-a:#0d4c2d;
  --gfl-theme-sidebar-b:#08281c;
}
body[data-app-theme="ano_novo"] {
  --gfl-theme-nav-bg: linear-gradient(135deg,#fffdf5,#f7fafc 70%);
  --gfl-theme-nav-active: linear-gradient(135deg,#0d2742,#173f55 64%,#b98a16);
  --gfl-theme-sidebar-a:#102d42;
  --gfl-theme-sidebar-b:#071522;
}
body[data-app-theme="carnaval"] {
  --gfl-theme-nav-bg: linear-gradient(135deg,#fbf7ff,#f4fbff 70%);
  --gfl-theme-nav-active: linear-gradient(135deg,#6d28d9,#a21caf 56%,#0e7490);
  --gfl-theme-sidebar-a:#4c1d75;
  --gfl-theme-sidebar-b:#123a43;
}
body[data-app-theme="pascoa"] {
  --gfl-theme-nav-bg: linear-gradient(135deg,#fbfffd,#fdf5ff 70%);
  --gfl-theme-nav-active: linear-gradient(135deg,#5b3b78,#7c3aed 50%,#168765);
  --gfl-theme-sidebar-a:#4a3562;
  --gfl-theme-sidebar-b:#183d32;
}
body[data-app-theme="festa_junina"] {
  --gfl-theme-nav-bg: linear-gradient(135deg,#fffaf1,#fff 70%);
  --gfl-theme-nav-active: linear-gradient(135deg,#7c3514,#a84916 58%,#12653d);
  --gfl-theme-sidebar-a:#673416;
  --gfl-theme-sidebar-b:#173d29;
}
body[data-app-theme="brasil"] {
  --gfl-theme-nav-bg: linear-gradient(135deg,#f5fff7,#fffdea 72%);
  --gfl-theme-nav-active: linear-gradient(135deg,#126a37,#168348 62%,#174ea6);
  --gfl-theme-sidebar-a:#12633a;
  --gfl-theme-sidebar-b:#092a25;
}

/* As fotografias e a marca são arquivos próprios de cada tema. */
body[data-app-theme] img.gfl-theme-image {
  transform: translateZ(0);
  backface-visibility: hidden;
}
body[data-app-theme] img[data-gfl-theme-asset="avatar"] { object-fit: cover !important; object-position: 50% 32% !important; }
body[data-app-theme] img[data-gfl-theme-asset="remada"] { object-fit: contain !important; object-position: center bottom !important; }
body[data-app-theme] img[data-gfl-theme-asset="icone"] { object-fit: contain !important; object-position: center !important; }
body[data-app-theme] .brand-mark img[data-gfl-theme-asset="icone"],
body[data-app-theme] .loader-core img[data-gfl-theme-asset="icone"] { border-radius: 22%; }

/* Camada atmosférica fixa: leve, sem interceptar cliques ou recalcular layout. */
body[data-app-theme] #appThemeDecor { z-index: 47; }
body[data-app-theme] .gfl-theme-top-trim {
  top: 39px;
  left: 78px;
  height: 3px;
  border-radius: 0;
  background: linear-gradient(90deg,transparent,var(--gfl-theme-accent) 18%,var(--gfl-theme-accent-2) 82%,transparent);
  opacity: .78;
  filter: none;
}
body[data-app-theme] .gfl-theme-side-trim {
  top: 52px;
  left: 4px;
  bottom: 14px;
  width: 3px;
  background: linear-gradient(var(--gfl-theme-accent),var(--gfl-theme-accent-2),var(--gfl-theme-accent));
  opacity: .65;
}
body[data-app-theme] .gfl-theme-corner-mark { top: 54px; right: 20px; width: 34px; height: 34px; opacity: .72; }
body[data-app-theme] .gfl-theme-corner-mark::before,
body[data-app-theme] .gfl-theme-corner-mark::after { content:none; }
body[data-app-theme="natal"] .gfl-theme-corner-mark { border: 0; border-radius: 50%; background: radial-gradient(circle,#fbbf24 0 12%,transparent 13%),conic-gradient(from 0deg,#166534,#22c55e,#166534,#22c55e,#166534); box-shadow: inset 0 0 0 10px rgba(2,44,24,.72); transform: none; }
body[data-app-theme="ano_novo"] .gfl-theme-corner-mark { border: 1px solid #e7bd48; border-radius: 50%; background: radial-gradient(circle,#fde68a 0 8%,transparent 9% 34%,rgba(231,189,72,.18) 35%); box-shadow: 0 0 0 7px rgba(231,189,72,.06); }
body[data-app-theme="carnaval"] .gfl-theme-corner-mark { border: 0; border-radius: 11px 50% 11px 50%; background: conic-gradient(#7c3aed,#ec4899,#facc15,#06b6d4,#7c3aed); transform: rotate(13deg); }
body[data-app-theme="pascoa"] .gfl-theme-corner-mark { border: 0; border-radius: 52% 52% 46% 46%; background: linear-gradient(135deg,#f9a8d4,#c4b5fd 53%,#a7f3d0); box-shadow: inset 0 -7px 0 rgba(255,255,255,.35); }
body[data-app-theme="festa_junina"] .gfl-theme-corner-mark { border: 0; width: 42px; height: 27px; background: repeating-linear-gradient(45deg,#f7d889 0 4px,#c99738 4px 6px); clip-path: polygon(50% 0,69% 45%,100% 62%,84% 100%,16% 100%,0 62%,31% 45%); transform: none; }
body[data-app-theme="brasil"] .gfl-theme-corner-mark { border: 0; border-radius: 8px; background: #15803d; transform: rotate(7deg); box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); }
body[data-app-theme="brasil"] .gfl-theme-corner-mark::before { content:""; position:absolute; inset:7px; background:#facc15; transform:rotate(45deg); }
body[data-app-theme="brasil"] .gfl-theme-corner-mark::after { content:""; position:absolute; inset:12px; border-radius:50%; background:#1d4ed8; }

.gfl-theme-particles span:nth-child(11) { --left: 45%; --size: 4px; --opacity: .28; --duration: 17s; --delay: -13s; }
.gfl-theme-particles span:nth-child(12) { --left: 81%; --size: 6px; --opacity: .32; --duration: 19s; --delay: -6s; }
body[data-app-theme] .gfl-theme-particles span { animation-timing-function: linear; }
body[data-app-theme="festa_junina"] .gfl-theme-particles span { display: none; }

/* Sidebar sazonal: marca, grupos, item ativo e um acabamento cultural próprio. */
body[data-app-theme] .sidebar {
  isolation: isolate;
  background: linear-gradient(180deg,var(--gfl-theme-sidebar-a),var(--gfl-theme-sidebar-b)) !important;
  border-right-color: color-mix(in srgb,var(--gfl-theme-accent) 45%,transparent) !important;
  box-shadow: 14px 0 34px rgba(15,23,42,.09);
}
body[data-app-theme] .sidebar::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background: radial-gradient(circle at 15% 8%,color-mix(in srgb,var(--gfl-theme-accent) 32%,transparent),transparent 27%),linear-gradient(145deg,rgba(255,255,255,.055),transparent 44%);
}
body[data-app-theme] .sidebar::after {
  content:"";
  position:absolute;
  z-index:5;
  top:74px;
  right:-1px;
  bottom:18px;
  width:8px;
  pointer-events:none;
  opacity:.8;
}
body[data-app-theme="natal"] .sidebar::after { background: repeating-radial-gradient(circle at 50% 8px,#22c55e 0 4px,#14532d 4px 6px,transparent 6px 16px); }
body[data-app-theme="ano_novo"] .sidebar::after { width:5px; background: radial-gradient(circle,#fde68a 0 2px,transparent 2.5px) 0 0/5px 18px repeat-y; filter: drop-shadow(0 0 4px rgba(253,230,138,.4)); }
body[data-app-theme="carnaval"] .sidebar::after { width:7px; background: repeating-linear-gradient(165deg,#7c3aed 0 14px,#ec4899 14px 28px,#facc15 28px 42px,#06b6d4 42px 56px); }
body[data-app-theme="pascoa"] .sidebar::after { width:8px; background: radial-gradient(ellipse at 50% 50%,#f9a8d4 0 4px,transparent 4.5px) 0 0/8px 24px repeat-y,radial-gradient(ellipse at 50% 50%,#a7f3d0 0 4px,transparent 4.5px) 0 12px/8px 24px repeat-y; }
body[data-app-theme="festa_junina"] .sidebar::after { width:11px; background: linear-gradient(90deg,#9a6418 0 2px,transparent 2px),conic-gradient(from 45deg at 3px 0,#dc2626 0 25%,transparent 0) 2px 0/9px 26px repeat-y,conic-gradient(from 45deg at 3px 0,#facc15 0 25%,transparent 0) 2px 13px/9px 26px repeat-y; }
body[data-app-theme="brasil"] .sidebar::after { width:5px; background: linear-gradient(#15803d 0 34%,#facc15 34% 67%,#1d4ed8 67%); }
body[data-app-theme] .sidebar .brand-mark { border-color:rgba(255,255,255,.28) !important; box-shadow:0 10px 24px rgba(0,0,0,.2); }
body[data-app-theme] .sidebar .nav-title { color:rgba(255,255,255,.58) !important; letter-spacing:.09em; }
body[data-app-theme] .sidebar .nav-group + .nav-group { border-top-color:rgba(255,255,255,.11) !important; }
body[data-app-theme] .sidebar .nav-item { border:1px solid transparent; }
body[data-app-theme] .sidebar .nav-item:hover { border-color:rgba(255,255,255,.16) !important; background:rgba(255,255,255,.10) !important; }
body[data-app-theme] .sidebar .nav-item.active { color:var(--gfl-theme-nav-ink) !important; border-color:rgba(255,255,255,.28) !important; background:var(--gfl-theme-nav-active) !important; box-shadow:0 8px 18px rgba(0,0,0,.16),inset 0 1px rgba(255,255,255,.16); }
body[data-app-theme] .sidebar .nav-item.active::after { content:""; position:absolute; right:6px; width:5px; height:5px; border-radius:50%; background:#fff; box-shadow:0 0 0 4px rgba(255,255,255,.13); }
body[data-app-theme="festa_junina"] .sidebar .nav-item.active::after { width:8px; height:8px; border-radius:1px 1px 5px 5px; background:#facc15; transform:rotate(45deg); }
body[data-app-theme="carnaval"] .sidebar .nav-item.active::after { background:#facc15; box-shadow:-5px -3px 0 -2px #22d3ee,5px 3px 0 -2px #ec4899; }

/* Abas e subnavegações passam a fazer parte da cultura do tema. */
body[data-app-theme] .top-view-tabs {
  position:relative !important;
  isolation:isolate;
  padding-top:7px !important;
  border-bottom-color:var(--gfl-theme-line) !important;
  background:var(--gfl-theme-nav-bg) !important;
}
body[data-app-theme] .top-view-tabs::before {
  content:"";
  position:absolute;
  z-index:3;
  top:0;
  left:0;
  right:0;
  height:7px;
  pointer-events:none;
}
body[data-app-theme="natal"] .top-view-tabs::before { background:linear-gradient(#14532d,#14532d) 0 1px/100% 2px no-repeat,radial-gradient(circle,#fbbf24 0 2px,transparent 2.6px) 0 1px/26px 7px repeat-x; filter:drop-shadow(0 1px 2px rgba(180,83,9,.22)); }
body[data-app-theme="ano_novo"] .top-view-tabs::before { background:linear-gradient(90deg,transparent,#d4a72c 18%,#fff1a8 50%,#d4a72c 82%,transparent) 0 2px/100% 2px no-repeat,radial-gradient(circle,#d4a72c 0 1.5px,transparent 2px) 0 0/24px 7px repeat-x; }
body[data-app-theme="carnaval"] .top-view-tabs::before { height:5px; background:repeating-linear-gradient(90deg,#7c3aed 0 32px,#ec4899 32px 64px,#facc15 64px 96px,#06b6d4 96px 128px); }
body[data-app-theme="pascoa"] .top-view-tabs::before { background:radial-gradient(ellipse,#f9a8d4 0 3px,transparent 3.5px) 0 0/28px 7px repeat-x,radial-gradient(ellipse,#a7f3d0 0 3px,transparent 3.5px) 14px 0/28px 7px repeat-x; }
body[data-app-theme="festa_junina"] .top-view-tabs { padding-top:16px !important; }
body[data-app-theme="festa_junina"] .top-view-tabs::before {
  height:18px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='18' viewBox='0 0 160 18'%3E%3Cpath d='M0 3 Q40 7 80 3 T160 3' fill='none' stroke='%23804b24' stroke-width='1.5'/%3E%3Cpath d='M6 4 L28 5 L17 18 Z' fill='%23dc2626'/%3E%3Cpath d='M39 5 L61 5 L50 18 Z' fill='%23facc15'/%3E%3Cpath d='M72 4 L94 4 L83 17 Z' fill='%232563eb'/%3E%3Cpath d='M105 4 L127 4 L116 18 Z' fill='%2316a34a'/%3E%3Cpath d='M138 4 L160 3 L150 17 Z' fill='%23ea580c'/%3E%3C/svg%3E");
  background-repeat:repeat-x;
  background-position:top left;
  filter:drop-shadow(0 2px 2px rgba(92,48,18,.13));
}
body[data-app-theme="brasil"] .top-view-tabs::before { height:5px; background:linear-gradient(90deg,#15803d 0 35%,#facc15 35% 66%,#1d4ed8 66%); }
body[data-app-theme] .top-tab-group { border-color:color-mix(in srgb,var(--gfl-theme-accent) 20%,#dbe5df) !important; background:rgba(255,255,255,.76) !important; box-shadow:0 4px 14px rgba(15,23,42,.045); }
body[data-app-theme] .top-tab { border:1px solid transparent !important; }
body[data-app-theme] .top-tab:hover { border-color:color-mix(in srgb,var(--gfl-theme-accent) 26%,#dce6e0) !important; background:color-mix(in srgb,var(--gfl-theme-soft) 74%,#fff) !important; }
body[data-app-theme] .top-tab.active { color:var(--gfl-theme-nav-ink) !important; border-color:color-mix(in srgb,var(--gfl-theme-accent) 62%,#fff) !important; background:var(--gfl-theme-nav-active) !important; box-shadow:0 7px 18px color-mix(in srgb,var(--gfl-theme-accent) 20%,transparent) !important; }
body[data-app-theme] .top-tab.active::after { background:#fff !important; opacity:.82; }
body[data-app-theme="festa_junina"] .top-tab-group { background:linear-gradient(135deg,rgba(255,250,241,.96),rgba(255,255,255,.9)) !important; }
body[data-app-theme="festa_junina"] .top-tab.active { border-style:dashed !important; }
body[data-app-theme="carnaval"] .top-tab.active { box-shadow:0 7px 18px rgba(124,58,237,.18),inset 0 -2px #facc15 !important; }
body[data-app-theme="pascoa"] .top-tab.active { box-shadow:0 7px 18px rgba(124,58,237,.14),inset 0 -2px #a7f3d0 !important; }
body[data-app-theme="brasil"] .top-tab.active { box-shadow:0 7px 18px rgba(21,128,61,.15),inset 0 -2px #facc15 !important; }

body[data-app-theme] :is(.folder-strip,.ops-view-tabs,.director-workspace-nav,.sped-review-workspace-tabs,.dp-portal-tabs).gfl-theme-culture-surface {
  border-color:var(--gfl-theme-line) !important;
  background:var(--gfl-theme-nav-bg) !important;
  box-shadow:0 6px 18px rgba(15,23,42,.045);
}
body[data-app-theme] :is(.folder-strip,.ops-view-tabs,.director-workspace-nav,.sped-review-workspace-tabs,.dp-portal-tabs).gfl-theme-culture-surface :is(button,.folder-chip).active {
  color:var(--gfl-theme-nav-ink) !important;
  border-color:color-mix(in srgb,var(--gfl-theme-accent) 55%,#fff) !important;
  background:var(--gfl-theme-nav-active) !important;
}
/* Cada faixa de abas recebe uma assinatura própria, inclusive as abas internas. */
body[data-app-theme="natal"] :is(.folder-strip,.ops-view-tabs,.director-workspace-nav,.sped-review-workspace-tabs,.dp-portal-tabs).gfl-theme-culture-surface {
  padding-top:8px !important;
  background:
    linear-gradient(#14532d,#14532d) 0 2px/100% 1px no-repeat,
    radial-gradient(circle,#fbbf24 0 2px,transparent 2.5px) 0 0/25px 7px repeat-x,
    var(--gfl-theme-nav-bg) !important;
}
body[data-app-theme="ano_novo"] :is(.folder-strip,.ops-view-tabs,.director-workspace-nav,.sped-review-workspace-tabs,.dp-portal-tabs).gfl-theme-culture-surface {
  padding-top:8px !important;
  background:
    linear-gradient(90deg,transparent,#d4a72c 18%,#fff1a8 50%,#d4a72c 82%,transparent) 0 2px/100% 2px no-repeat,
    radial-gradient(circle,#d4a72c 0 1.4px,transparent 1.9px) 0 0/22px 7px repeat-x,
    var(--gfl-theme-nav-bg) !important;
}
body[data-app-theme="carnaval"] :is(.folder-strip,.ops-view-tabs,.director-workspace-nav,.sped-review-workspace-tabs,.dp-portal-tabs).gfl-theme-culture-surface {
  padding-top:7px !important;
  background:
    repeating-linear-gradient(90deg,#7c3aed 0 28px,#ec4899 28px 56px,#facc15 56px 84px,#06b6d4 84px 112px) 0 0/100% 4px no-repeat,
    var(--gfl-theme-nav-bg) !important;
}
body[data-app-theme="pascoa"] :is(.folder-strip,.ops-view-tabs,.director-workspace-nav,.sped-review-workspace-tabs,.dp-portal-tabs).gfl-theme-culture-surface {
  padding-top:8px !important;
  background:
    radial-gradient(ellipse,#f9a8d4 0 3px,transparent 3.5px) 0 0/28px 7px repeat-x,
    radial-gradient(ellipse,#a7f3d0 0 3px,transparent 3.5px) 14px 0/28px 7px repeat-x,
    var(--gfl-theme-nav-bg) !important;
}
body[data-app-theme="festa_junina"] :is(.folder-strip,.ops-view-tabs,.director-workspace-nav,.sped-review-workspace-tabs,.dp-portal-tabs).gfl-theme-culture-surface {
  padding-top:15px !important;
  border-top:0 !important;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='144' height='14' viewBox='0 0 144 14'%3E%3Cpath d='M0 2 Q36 6 72 2 T144 2' fill='none' stroke='%23804b24' stroke-width='1.2'/%3E%3Cpath d='M5 3 L23 4 L14 14 Z' fill='%23dc2626'/%3E%3Cpath d='M34 4 L52 4 L43 14 Z' fill='%23facc15'/%3E%3Cpath d='M63 3 L81 3 L72 13 Z' fill='%232563eb'/%3E%3Cpath d='M92 3 L110 3 L101 14 Z' fill='%2316a34a'/%3E%3Cpath d='M121 3 L139 2 L130 13 Z' fill='%23ea580c'/%3E%3C/svg%3E") top left/144px 14px repeat-x,
    var(--gfl-theme-nav-bg) !important;
}
body[data-app-theme="brasil"] :is(.folder-strip,.ops-view-tabs,.director-workspace-nav,.sped-review-workspace-tabs,.dp-portal-tabs).gfl-theme-culture-surface {
  padding-top:7px !important;
  background:
    linear-gradient(90deg,#15803d 0 35%,#facc15 35% 66%,#1d4ed8 66%) 0 0/100% 4px no-repeat,
    var(--gfl-theme-nav-bg) !important;
}

/* Cabeçalho nativo do desktop também recebe a assinatura do tema. */
body[data-app-theme] .gfl-beta-titlebar { background:linear-gradient(115deg,var(--gfl-theme-sidebar-b),var(--gfl-theme-sidebar-a) 58%,color-mix(in srgb,var(--gfl-theme-accent-2) 52%,var(--gfl-theme-sidebar-a))) !important; }
body[data-app-theme] .gfl-beta-titlebar::after { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; pointer-events:none; background:linear-gradient(90deg,transparent,var(--gfl-theme-accent),var(--gfl-theme-accent-2),transparent); opacity:.8; }
}

/* ========================================================================== */
/* Theme Studio v3 · cultura sem recolorir a operação                          */
/* ========================================================================== */

html.gfl-app-theme-capable,
body.gfl-app-theme-capable {
  --gfl-theme-brand: #15803d;
  --gfl-theme-accent: #15803d;
  --gfl-theme-accent-2: #0f766e;
  --gfl-theme-soft: #ecfdf5;
  --gfl-theme-line: rgba(21,128,61,.28);
}

body[data-app-theme="natal"] {
  --gfl-theme-accent: #b91c1c;
  --gfl-theme-accent-2: #15803d;
  --gfl-theme-soft: #fff8f7;
  --gfl-theme-line: rgba(185,28,28,.28);
}
body[data-app-theme="ano_novo"] {
  --gfl-theme-accent: #a8790e;
  --gfl-theme-accent-2: #0f766e;
  --gfl-theme-soft: #fffcf2;
  --gfl-theme-line: rgba(168,121,14,.30);
}
body[data-app-theme="carnaval"] {
  --gfl-theme-accent: #7c3aed;
  --gfl-theme-accent-2: #db2777;
  --gfl-theme-soft: #fcf8ff;
  --gfl-theme-line: rgba(124,58,237,.25);
}
body[data-app-theme="pascoa"] {
  --gfl-theme-accent: #7c3aed;
  --gfl-theme-accent-2: #168765;
  --gfl-theme-soft: #fdf9ff;
  --gfl-theme-line: rgba(124,58,237,.22);
}
body[data-app-theme="festa_junina"] {
  --gfl-theme-accent: #a44b0c;
  --gfl-theme-accent-2: #b91c1c;
  --gfl-theme-soft: #fffaf3;
  --gfl-theme-line: rgba(164,75,12,.25);
}
body[data-app-theme="brasil"] {
  --gfl-theme-accent: #15803d;
  --gfl-theme-accent-2: #1d4ed8;
  --gfl-theme-soft: #f7fff8;
  --gfl-theme-line: rgba(21,128,61,.26);
}

/* A marca temática preserva o L verde e só troca os adornos. */
body[data-app-theme] img.gfl-theme-image {
  backface-visibility: hidden;
  transform: translateZ(0);
}
body[data-app-theme] img[data-gfl-theme-asset="avatar"] {
  object-fit: cover !important;
  object-position: 50% 32% !important;
}
body[data-app-theme] img[data-gfl-theme-asset="remada"] {
  object-fit: contain !important;
  object-position: center bottom !important;
}
body[data-app-theme] img[data-gfl-theme-asset="icone"] {
  object-fit: contain !important;
  object-position: center !important;
}
body[data-app-theme] .brand-mark img[data-gfl-theme-asset="icone"],
body[data-app-theme] .loader-core img[data-gfl-theme-asset="icone"] {
  border-radius: 22%;
}
body[data-app-theme] .brand-mark {
  outline: 1px solid color-mix(in srgb,var(--gfl-theme-accent) 34%,transparent);
  outline-offset: 2px;
}

/* Selo discreto no cabeçalho: usa a arte real, não um glifo genérico. */
.gfl-theme-live-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: max-content;
  max-width: 154px;
  min-height: 18px;
  margin-left: 6px;
  padding: 2px 8px 2px 3px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: #fff;
  font-size: 8.5px;
  font-style: normal;
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
}
.gfl-theme-live-pill img {
  width: 14px;
  height: 14px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 4px;
  background: #07351f;
}
.gfl-theme-live-pill span {
  overflow: hidden;
  text-overflow: ellipsis;
}

/* O gerenciador continua verde mesmo durante uma prévia temática. */
body[data-app-theme] .app-theme-primary {
  border-color: #0f8a45 !important;
  background: linear-gradient(135deg,#08783d,#10a957) !important;
  color: #fff !important;
  box-shadow: 0 7px 20px rgba(8,120,61,.20) !important;
}

/* Camada ornamental independente: nunca intercepta cliques nem muda o layout. */
#appThemeDecor {
  position: fixed;
  inset: 0;
  z-index: 120;
  overflow: hidden;
  contain: strict;
  pointer-events: none;
}
#appThemeDecor[hidden] { display: none !important; }
.gfl-theme-top-trim {
  position: absolute;
  top: 42px;
  left: 78px;
  right: 116px;
  height: 14px;
}
.gfl-theme-lights,
.gfl-theme-flags,
.gfl-theme-ribbon {
  position: absolute;
  inset: 0;
  display: none;
}
.gfl-theme-sidebar-rail {
  position: absolute;
  top: 66px;
  bottom: 22px;
  left: 7px;
  display: none;
  width: 5px;
  border-radius: 999px;
  opacity: .76;
}
.gfl-theme-sidebar-rail i { position: absolute; display: none; }
.gfl-theme-corner-mark {
  position: absolute;
  top: 58px;
  right: 20px;
  display: none;
  width: 34px;
  height: 42px;
  opacity: .76;
  transform-origin: 50% 0;
}
.gfl-theme-fireworks,
.gfl-theme-streamers,
.gfl-theme-botanical,
.gfl-theme-ambient-motifs,
.gfl-theme-particles {
  position: absolute;
  inset: 0;
  display: none;
}

/* Natal: fio de luzes multicolorido, guirlanda lateral e neve leve. */
body[data-app-theme="natal"] .gfl-theme-lights {
  display: flex;
  align-items: flex-start;
  justify-content: space-around;
  padding: 0 4px;
  border-top: 1px solid rgba(20,83,45,.72);
}
body[data-app-theme="natal"] .gfl-theme-lights i {
  width: 7px;
  height: 9px;
  margin-top: 1px;
  border: 1px solid rgba(255,255,255,.68);
  border-radius: 48% 48% 58% 58%;
  background: #ef4444;
  box-shadow: 0 0 5px #ef4444;
  transform-origin: 50% -2px;
}
body[data-app-theme="natal"] .gfl-theme-lights i:nth-child(4n+2) { background:#fbbf24; box-shadow:0 0 5px #fbbf24; }
body[data-app-theme="natal"] .gfl-theme-lights i:nth-child(4n+3) { background:#38bdf8; box-shadow:0 0 5px #38bdf8; }
body[data-app-theme="natal"] .gfl-theme-lights i:nth-child(4n) { background:#22c55e; box-shadow:0 0 5px #22c55e; }
body[data-app-theme="natal"] .gfl-theme-sidebar-rail {
  display: block;
  width: 7px;
  background:
    radial-gradient(circle at 50% 8px,#fbbf24 0 2px,transparent 2.5px) 0 0/7px 32px repeat-y,
    repeating-radial-gradient(circle at 50% 8px,#166534 0 4px,#22c55e 4px 5px,transparent 5.5px 16px);
  filter: drop-shadow(0 0 2px rgba(21,128,61,.35));
}
body[data-app-theme="natal"] .gfl-theme-corner-mark {
  display: block;
  width: 13px;
  border: 2px solid rgba(255,255,255,.88);
  border-radius: 999px;
  background: repeating-linear-gradient(-34deg,#fff 0 7px,#dc2626 7px 14px);
  transform: rotate(24deg);
}
body[data-app-theme="natal"] .gfl-theme-corner-mark::after {
  content: "";
  position: absolute;
  left: -2px;
  bottom: -2px;
  width: 20px;
  height: 13px;
  border: 5px solid #dc2626;
  border-top: 0;
  border-left: 0;
  border-radius: 0 0 16px;
}
body[data-app-theme="natal"] .gfl-theme-particles { display: block; }
body[data-app-theme="natal"] .gfl-theme-particles span {
  position: absolute;
  top: -18px;
  left: var(--left);
  width: var(--size);
  height: var(--size);
  border: 1px solid rgba(100,116,139,.24);
  border-radius: 50%;
  background: rgba(255,255,255,.98);
  box-shadow: 0 0 7px rgba(148,163,184,.34);
  opacity: var(--opacity);
  animation: gflThemeFall var(--duration) linear var(--delay) infinite;
}
body[data-app-theme="natal"] .gfl-theme-particles span:nth-child(5n) {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: rgba(96,142,184,.72);
  font: 800 12px/1 Georgia, serif;
  text-shadow: 0 0 6px rgba(191,219,254,.72);
}
body[data-app-theme="natal"] .gfl-theme-particles span:nth-child(5n)::before {
  content:"❄";
}
body[data-app-theme="natal"] .gfl-theme-ambient-motifs {
  display: block;
  inset: 0;
}
body[data-app-theme="natal"] .gfl-theme-ambient-motifs i { display:none; }
body[data-app-theme="natal"] .gfl-theme-ambient-motifs i:first-child {
  position:absolute;
  top:115px;
  right:22px;
  display:block;
  width:42px;
  height:58px;
  background:linear-gradient(135deg,#15803d,#0c5c31);
  clip-path:polygon(50% 0,64% 24%,58% 24%,75% 49%,66% 49%,88% 82%,59% 82%,59% 100%,41% 100%,41% 82%,12% 82%,34% 49%,25% 49%,42% 24%,36% 24%);
  opacity:.26;
  filter:drop-shadow(0 5px 5px rgba(15,23,42,.15));
}
body[data-app-theme="natal"] .gfl-theme-ambient-motifs i:first-child::after {
  content:"";
  position:absolute;
  top:15px;
  left:11px;
  width:20px;
  height:30px;
  background:
    radial-gradient(circle,#ef4444 0 2px,transparent 2.4px) 0 0/10px 12px repeat,
    radial-gradient(circle,#fbbf24 0 2px,transparent 2.4px) 5px 6px/10px 12px repeat;
}

/* Ano-Novo: fogos elegantes; nenhuma troca de paleta do aplicativo. */
body[data-app-theme="ano_novo"] .gfl-theme-ribbon {
  display: block;
  height: 3px;
  background: linear-gradient(90deg,transparent,#d4a72c 17%,#fff0a6 50%,#d4a72c 83%,transparent);
  box-shadow: 0 0 7px rgba(212,167,44,.32);
}
body[data-app-theme="ano_novo"] .gfl-theme-sidebar-rail {
  display: block;
  background:
    radial-gradient(circle,#fde68a 0 1.5px,transparent 2px) 0 0/5px 24px repeat-y,
    linear-gradient(transparent,#d4a72c,transparent);
}
body[data-app-theme="ano_novo"] .gfl-theme-fireworks {
  display: block;
  inset: 48px 18px auto auto;
  width: 250px;
  height: 150px;
  opacity: .54;
  filter: drop-shadow(0 0 5px rgba(212,167,44,.30));
}
body[data-app-theme="ano_novo"] .gfl-theme-fireworks span {
  position: absolute;
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: repeating-conic-gradient(from 0deg,#e7bd48 0 2deg,transparent 2deg 18deg);
  -webkit-mask: radial-gradient(circle,transparent 0 30%,#000 31% 34%,transparent 35% 54%,#000 55% 57%,transparent 58%);
  mask: radial-gradient(circle,transparent 0 30%,#000 31% 34%,transparent 35% 54%,#000 55% 57%,transparent 58%);
  animation: gflThemeFirework 4.8s ease-out infinite;
}
body[data-app-theme="ano_novo"] .gfl-theme-fireworks span:nth-child(1) { top:5px; right:8px; }
body[data-app-theme="ano_novo"] .gfl-theme-fireworks span:nth-child(2) { top:66px; right:92px; width:54px; height:54px; animation-delay:-1.7s; }
body[data-app-theme="ano_novo"] .gfl-theme-fireworks span:nth-child(3) { top:12px; right:168px; width:42px; height:42px; animation-delay:-3.2s; }
body[data-app-theme="ano_novo"] .gfl-theme-ambient-motifs {
  display:block;
  inset:52px 0 auto auto;
  width:320px;
  height:150px;
  opacity:.28;
}
body[data-app-theme="ano_novo"] .gfl-theme-ambient-motifs i {
  position:absolute;
  display:block;
  width:6px;
  height:6px;
  background:#e7bd48;
  clip-path:polygon(50% 0,61% 37%,100% 50%,61% 63%,50% 100%,39% 63%,0 50%,39% 37%);
}
body[data-app-theme="ano_novo"] .gfl-theme-ambient-motifs i:nth-child(1) { top:12px; right:34px; }
body[data-app-theme="ano_novo"] .gfl-theme-ambient-motifs i:nth-child(2) { top:74px; right:18px; transform:scale(.7); }
body[data-app-theme="ano_novo"] .gfl-theme-ambient-motifs i:nth-child(3) { top:108px; right:82px; transform:scale(1.2); }
body[data-app-theme="ano_novo"] .gfl-theme-ambient-motifs i:nth-child(4) { top:32px; right:132px; transform:scale(.6); }
body[data-app-theme="ano_novo"] .gfl-theme-ambient-motifs i:nth-child(5) { top:86px; right:176px; }
body[data-app-theme="ano_novo"] .gfl-theme-ambient-motifs i:nth-child(n+6) { display:none; }

/* Carnaval: serpentinas nos cantos e confetes controlados. */
body[data-app-theme="carnaval"] .gfl-theme-ribbon {
  display: block;
  height: 4px;
  background: repeating-linear-gradient(90deg,#7c3aed 0 32px,#ec4899 32px 64px,#facc15 64px 96px,#06b6d4 96px 128px);
  opacity: .84;
}
body[data-app-theme="carnaval"] .gfl-theme-sidebar-rail {
  display: block;
  background: repeating-linear-gradient(165deg,#7c3aed 0 13px,#ec4899 13px 26px,#facc15 26px 39px,#06b6d4 39px 52px);
}
body[data-app-theme="carnaval"] .gfl-theme-streamers { display: block; opacity: .45; }
body[data-app-theme="carnaval"] .gfl-theme-streamers i {
  position: absolute;
  top: 54px;
  width: 58px;
  height: 126px;
  border: 3px solid #7c3aed;
  border-left-color: transparent;
  border-radius: 50%;
  transform: rotate(22deg);
}
body[data-app-theme="carnaval"] .gfl-theme-streamers i:nth-child(1) { left:84px; }
body[data-app-theme="carnaval"] .gfl-theme-streamers i:nth-child(2) { left:112px; top:43px; border-color:#ec4899 transparent #ec4899 #ec4899; transform:rotate(-18deg) scale(.72); }
body[data-app-theme="carnaval"] .gfl-theme-streamers i:nth-child(3) { right:44px; border-color:#06b6d4 #06b6d4 #06b6d4 transparent; transform:rotate(-28deg); }
body[data-app-theme="carnaval"] .gfl-theme-streamers i:nth-child(4) { right:82px; top:42px; border-color:#facc15 #facc15 #facc15 transparent; transform:rotate(20deg) scale(.66); }
body[data-app-theme="carnaval"] .gfl-theme-particles { display: block; }
body[data-app-theme="carnaval"] .gfl-theme-particles span {
  position: absolute;
  top: -18px;
  left: var(--left);
  width: var(--size);
  height: calc(var(--size) * 1.8);
  border-radius: 2px;
  background: #7c3aed;
  opacity: calc(var(--opacity) * .8);
  animation: gflThemeFall var(--duration) linear var(--delay) infinite;
}
body[data-app-theme="carnaval"] .gfl-theme-particles span:nth-child(4n+2) { background:#ec4899; }
body[data-app-theme="carnaval"] .gfl-theme-particles span:nth-child(4n+3) { background:#facc15; }
body[data-app-theme="carnaval"] .gfl-theme-particles span:nth-child(4n) { background:#06b6d4; }

/* Páscoa: folhagens e ovos em tons suaves, sem inundar a tela de roxo. */
body[data-app-theme="pascoa"] .gfl-theme-ribbon {
  display: block;
  height: 5px;
  background:
    radial-gradient(ellipse,#f9a8d4 0 3px,transparent 3.5px) 0 0/30px 6px repeat-x,
    radial-gradient(ellipse,#a7f3d0 0 3px,transparent 3.5px) 15px 0/30px 6px repeat-x;
}
body[data-app-theme="pascoa"] .gfl-theme-sidebar-rail {
  display: block;
  width: 6px;
  background:
    radial-gradient(ellipse,#f9a8d4 0 3px,transparent 3.5px) 0 0/6px 26px repeat-y,
    radial-gradient(ellipse,#a7f3d0 0 3px,transparent 3.5px) 0 13px/6px 26px repeat-y;
}
body[data-app-theme="pascoa"] .gfl-theme-botanical {
  display: block;
  inset: 52px 18px auto auto;
  width: 150px;
  height: 82px;
  opacity: .30;
}
body[data-app-theme="pascoa"] .gfl-theme-botanical::before {
  content: "";
  position: absolute;
  right: 4px;
  bottom: 12px;
  width: 132px;
  height: 1px;
  background: #168765;
  transform: rotate(-13deg);
}
body[data-app-theme="pascoa"] .gfl-theme-botanical i {
  position: absolute;
  right: calc(var(--leaf) * 25px);
  bottom: calc(14px + var(--leaf) * 5px);
  width: 22px;
  height: 12px;
  border: 1px solid rgba(22,135,101,.5);
  border-radius: 100% 0 100% 0;
  background: rgba(167,243,208,.55);
  transform: rotate(calc(-18deg + var(--leaf) * 7deg));
}
body[data-app-theme="pascoa"] .gfl-theme-botanical i:nth-child(1) { --leaf:0; }
body[data-app-theme="pascoa"] .gfl-theme-botanical i:nth-child(2) { --leaf:1; background:rgba(249,168,212,.50); transform:scaleX(-1) rotate(-5deg); }
body[data-app-theme="pascoa"] .gfl-theme-botanical i:nth-child(3) { --leaf:2; }
body[data-app-theme="pascoa"] .gfl-theme-botanical i:nth-child(4) { --leaf:3; background:rgba(196,181,253,.48); transform:scaleX(-1) rotate(8deg); }
body[data-app-theme="pascoa"] .gfl-theme-botanical i:nth-child(5) { --leaf:4; }
body[data-app-theme="pascoa"] .gfl-theme-ambient-motifs {
  display:block;
  opacity:.26;
}
body[data-app-theme="pascoa"] .gfl-theme-ambient-motifs i {
  position:absolute;
  display:block;
  width:15px;
  height:20px;
  border:1px solid rgba(124,58,237,.22);
  border-radius:50% 50% 46% 46%;
  background:linear-gradient(145deg,rgba(249,168,212,.66),rgba(255,255,255,.72));
  box-shadow:inset 0 -5px rgba(255,255,255,.26);
}
body[data-app-theme="pascoa"] .gfl-theme-ambient-motifs i:nth-child(even) { background:linear-gradient(145deg,rgba(167,243,208,.72),rgba(255,255,255,.72)); }
body[data-app-theme="pascoa"] .gfl-theme-ambient-motifs i:nth-child(3n) { background:linear-gradient(145deg,rgba(196,181,253,.66),rgba(255,255,255,.72)); }
body[data-app-theme="pascoa"] .gfl-theme-ambient-motifs i:nth-child(1) { top:128px; right:24px; transform:rotate(12deg); }
body[data-app-theme="pascoa"] .gfl-theme-ambient-motifs i:nth-child(2) { top:184px; right:49px; transform:rotate(-17deg) scale(.82); }
body[data-app-theme="pascoa"] .gfl-theme-ambient-motifs i:nth-child(3) { bottom:84px; right:21px; transform:rotate(8deg) scale(.72); }
body[data-app-theme="pascoa"] .gfl-theme-ambient-motifs i:nth-child(4) { top:146px; left:84px; transform:rotate(-9deg) scale(.72); }
body[data-app-theme="pascoa"] .gfl-theme-ambient-motifs i:nth-child(5) { bottom:62px; left:88px; transform:rotate(18deg) scale(.84); }
body[data-app-theme="pascoa"] .gfl-theme-ambient-motifs i:nth-child(n+6) { display:none; }

/* Festa Junina: cordão de bandeirinhas de ponta a ponta nas navegações. */
body[data-app-theme="festa_junina"] .gfl-theme-flags {
  display: flex;
  align-items: flex-start;
  justify-content: space-around;
  padding: 2px 2px 0;
  border-top: 1px solid rgba(128,75,36,.72);
  filter: drop-shadow(0 2px 1px rgba(92,48,18,.13));
}
body[data-app-theme="festa_junina"] .gfl-theme-flags i {
  width: 20px;
  height: 12px;
  background: #dc2626;
  clip-path: polygon(0 0,100% 0,50% 100%);
}
body[data-app-theme="festa_junina"] .gfl-theme-flags i:nth-child(5n+2) { background:#facc15; }
body[data-app-theme="festa_junina"] .gfl-theme-flags i:nth-child(5n+3) { background:#2563eb; }
body[data-app-theme="festa_junina"] .gfl-theme-flags i:nth-child(5n+4) { background:#16a34a; }
body[data-app-theme="festa_junina"] .gfl-theme-flags i:nth-child(5n) { background:#ea580c; }
body[data-app-theme="festa_junina"] .gfl-theme-sidebar-rail {
  display: block;
  width: 8px;
  background:
    linear-gradient(90deg,#9a6418 0 2px,transparent 2px),
    conic-gradient(from 45deg at 3px 0,#dc2626 0 25%,transparent 0) 2px 0/7px 28px repeat-y,
    conic-gradient(from 45deg at 3px 0,#facc15 0 25%,transparent 0) 2px 14px/7px 28px repeat-y;
}
body[data-app-theme="festa_junina"] .gfl-theme-corner-mark {
  display: block;
  width: 40px;
  height: 25px;
  border: 1px solid rgba(154,100,24,.35);
  background: repeating-linear-gradient(45deg,#f7d889 0 4px,#c99738 4px 6px);
  clip-path: polygon(50% 0,69% 45%,100% 62%,84% 100%,16% 100%,0 62%,31% 45%);
}
body[data-app-theme="festa_junina"] .gfl-theme-ambient-motifs {
  display:block;
  opacity:.30;
}
body[data-app-theme="festa_junina"] .gfl-theme-ambient-motifs i {
  position:absolute;
  top:112px;
  display:none;
  width:22px;
  height:31px;
  border:1px solid rgba(128,75,36,.35);
  border-radius:4px 4px 9px 9px;
  background:
    linear-gradient(90deg,transparent 43%,rgba(128,75,36,.55) 44% 56%,transparent 57%),
    linear-gradient(#ef4444,#f97316);
  box-shadow:0 0 13px rgba(249,115,22,.18);
}
body[data-app-theme="festa_junina"] .gfl-theme-ambient-motifs i::before {
  content:"";
  position:absolute;
  left:4px;
  right:4px;
  top:-7px;
  height:8px;
  border:1px solid rgba(128,75,36,.5);
  border-bottom:0;
  border-radius:8px 8px 0 0;
}
body[data-app-theme="festa_junina"] .gfl-theme-ambient-motifs i:nth-child(1) { left:91px; display:block; transform:rotate(-4deg); }
body[data-app-theme="festa_junina"] .gfl-theme-ambient-motifs i:nth-child(2) { right:27px; top:148px; display:block; transform:rotate(5deg) scale(.82); background:linear-gradient(#facc15,#ea580c); }

/* Brasil: fita cívica discreta, com a identidade verde do produto preservada. */
body[data-app-theme="brasil"] .gfl-theme-ribbon {
  display: block;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg,transparent,#15803d 14% 39%,#facc15 39% 64%,#1d4ed8 64% 86%,transparent);
}
body[data-app-theme="brasil"] .gfl-theme-sidebar-rail {
  display: block;
  background: linear-gradient(#15803d 0 36%,#facc15 36% 66%,#1d4ed8 66%);
}
body[data-app-theme="brasil"] .gfl-theme-corner-mark {
  display: block;
  width: 32px;
  height: 24px;
  border-radius: 5px;
  background: #15803d;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.24);
  transform: rotate(5deg);
}
body[data-app-theme="brasil"] .gfl-theme-corner-mark::before {
  content: "";
  position: absolute;
  inset: 5px 8px;
  background: #facc15;
  transform: rotate(45deg);
}
body[data-app-theme="brasil"] .gfl-theme-corner-mark::after {
  content: "";
  position: absolute;
  inset: 8px 12px;
  border-radius: 50%;
  background: #1d4ed8;
}
body[data-app-theme="brasil"] .gfl-theme-ambient-motifs {
  display:block;
  inset:65px 15px auto auto;
  width:190px;
  height:94px;
  opacity:.20;
}
body[data-app-theme="brasil"] .gfl-theme-ambient-motifs i {
  position:absolute;
  display:block;
  width:8px;
  height:8px;
  background:#facc15;
  clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 35%);
}
body[data-app-theme="brasil"] .gfl-theme-ambient-motifs i:nth-child(1) { top:5px; right:18px; }
body[data-app-theme="brasil"] .gfl-theme-ambient-motifs i:nth-child(2) { top:31px; right:65px; transform:scale(.72); }
body[data-app-theme="brasil"] .gfl-theme-ambient-motifs i:nth-child(3) { top:66px; right:24px; transform:scale(.55); }
body[data-app-theme="brasil"] .gfl-theme-ambient-motifs i:nth-child(4) { top:19px; right:126px; transform:scale(.48); }
body[data-app-theme="brasil"] .gfl-theme-ambient-motifs i:nth-child(n+5) { display:none; }

/* Assinatura das abas: só o filete cultural muda; superfícies e estados ficam originais. */
body[data-app-theme] .gfl-theme-culture-surface {
  position: relative !important;
}
.gfl-theme-surface-trim {
  position: absolute;
  z-index: 6;
  top: 0;
  left: 10px;
  right: 10px;
  display: block;
  height: 6px;
  overflow: hidden;
  border-radius: 999px 999px 0 0;
  pointer-events: none;
}
body[data-app-theme="natal"] .gfl-theme-surface-trim {
  background:
    linear-gradient(#14532d,#14532d) 0 1px/100% 1px no-repeat,
    radial-gradient(circle,#ef4444 0 2px,transparent 2.5px) 0 0/52px 6px repeat-x,
    radial-gradient(circle,#fbbf24 0 2px,transparent 2.5px) 13px 0/52px 6px repeat-x,
    radial-gradient(circle,#38bdf8 0 2px,transparent 2.5px) 26px 0/52px 6px repeat-x,
    radial-gradient(circle,#22c55e 0 2px,transparent 2.5px) 39px 0/52px 6px repeat-x;
}
body[data-app-theme="ano_novo"] .gfl-theme-surface-trim {
  height: 5px;
  background:
    linear-gradient(90deg,transparent,#d4a72c 18%,#fff1a8 50%,#d4a72c 82%,transparent) 0 2px/100% 1px no-repeat,
    radial-gradient(circle,#d4a72c 0 1.3px,transparent 1.8px) 0 0/24px 5px repeat-x;
}
body[data-app-theme="carnaval"] .gfl-theme-surface-trim {
  height: 4px;
  background: repeating-linear-gradient(90deg,#7c3aed 0 28px,#ec4899 28px 56px,#facc15 56px 84px,#06b6d4 84px 112px);
}
body[data-app-theme="pascoa"] .gfl-theme-surface-trim {
  background:
    radial-gradient(ellipse,#f9a8d4 0 3px,transparent 3.5px) 0 0/30px 6px repeat-x,
    radial-gradient(ellipse,#a7f3d0 0 3px,transparent 3.5px) 15px 0/30px 6px repeat-x;
}
body[data-app-theme="festa_junina"] .gfl-theme-surface-trim {
  left: 0;
  right: 0;
  height: 13px;
  border-radius: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='13' viewBox='0 0 150 13'%3E%3Cpath d='M0 2 Q38 6 75 2 T150 2' fill='none' stroke='%23804b24' stroke-width='1.2'/%3E%3Cpath d='M5 3 L23 4 L14 13 Z' fill='%23dc2626'/%3E%3Cpath d='M35 4 L53 4 L44 13 Z' fill='%23facc15'/%3E%3Cpath d='M65 3 L83 3 L74 12 Z' fill='%232563eb'/%3E%3Cpath d='M95 3 L113 3 L104 13 Z' fill='%2316a34a'/%3E%3Cpath d='M125 3 L143 2 L134 12 Z' fill='%23ea580c'/%3E%3C/svg%3E");
  background-position: top left;
  background-repeat: repeat-x;
  filter: drop-shadow(0 2px 1px rgba(92,48,18,.12));
}
body[data-app-theme="festa_junina"] .top-view-tabs.gfl-theme-culture-surface {
  padding-top: 13px !important;
}
body[data-app-theme="festa_junina"] :is(.folder-strip,.ops-view-tabs,.director-workspace-nav,.sped-review-workspace-tabs,.dp-portal-tabs).gfl-theme-culture-surface {
  padding-top: 13px !important;
}
body[data-app-theme="brasil"] .gfl-theme-surface-trim {
  height: 4px;
  background: linear-gradient(90deg,transparent,#15803d 12% 39%,#facc15 39% 64%,#1d4ed8 64% 88%,transparent);
}

/* A sidebar ganha uma peça cultural própria sem ficar transparente ou mudar de cor. */
.sidebar > .gfl-theme-sidebar-ornament {
  position:absolute;
  z-index:4;
  top:74px;
  right:-1px;
  bottom:18px;
  display:block;
  width:13px;
  overflow:hidden;
  border-radius:999px 0 0 999px;
  opacity:.86;
  pointer-events:none;
}
.gfl-theme-sidebar-ornament i { position:absolute; display:none; }
body[data-app-theme="natal"] .gfl-theme-sidebar-ornament {
  background:
    radial-gradient(circle at 7px 11px,#ef4444 0 2px,transparent 2.5px) 0 0/13px 52px repeat-y,
    radial-gradient(circle at 7px 37px,#fbbf24 0 2px,transparent 2.5px) 0 0/13px 52px repeat-y,
    repeating-radial-gradient(circle at 3px 8px,#22c55e 0 4px,#14532d 4px 6px,transparent 6px 17px);
  filter:drop-shadow(-2px 0 2px rgba(20,83,45,.24));
}
body[data-app-theme="ano_novo"] .gfl-theme-sidebar-ornament {
  background:
    radial-gradient(circle,#fde68a 0 1.5px,transparent 2px) 3px 0/10px 25px repeat-y,
    linear-gradient(90deg,transparent,#d4a72c 70%,transparent);
  filter:drop-shadow(0 0 4px rgba(212,167,44,.24));
}
body[data-app-theme="carnaval"] .gfl-theme-sidebar-ornament {
  width:10px;
  background:repeating-linear-gradient(165deg,#7c3aed 0 14px,#ec4899 14px 28px,#facc15 28px 42px,#06b6d4 42px 56px);
}
body[data-app-theme="pascoa"] .gfl-theme-sidebar-ornament {
  width:15px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='82' viewBox='0 0 15 82'%3E%3Cpath d='M12 0 C2 18 13 37 5 55 C2 64 5 73 1 82' fill='none' stroke='%23168765' stroke-width='1.2' stroke-opacity='.72'/%3E%3Cellipse cx='8' cy='17' rx='5' ry='3' fill='%23a7f3d0' transform='rotate(-28 8 17)'/%3E%3Cellipse cx='6' cy='41' rx='4.5' ry='6' fill='%23f9a8d4'/%3E%3Cpath d='M3 41h6M4 44h4' stroke='white' stroke-width='1' stroke-opacity='.8'/%3E%3Cellipse cx='7' cy='66' rx='5' ry='3' fill='%23c4b5fd' transform='rotate(25 7 66)'/%3E%3C/svg%3E");
  background-repeat:repeat-y;
  filter:drop-shadow(-2px 0 2px rgba(22,135,101,.13));
}
body[data-app-theme="festa_junina"] .gfl-theme-sidebar-ornament {
  width:15px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='78' viewBox='0 0 15 78'%3E%3Cpath d='M12 0 C5 18 13 39 5 78' fill='none' stroke='%23804b24' stroke-width='1.2'/%3E%3Cpath d='M5 13L14 15L8 26Z' fill='%23dc2626'/%3E%3Cpath d='M3 37L12 39L6 50Z' fill='%23facc15'/%3E%3Cpath d='M2 61L11 62L5 74Z' fill='%232563eb'/%3E%3C/svg%3E");
  background-repeat:repeat-y;
  filter:drop-shadow(-2px 1px 1px rgba(92,48,18,.14));
}
body[data-app-theme="brasil"] .gfl-theme-sidebar-ornament {
  width:8px;
  background:linear-gradient(#15803d 0 35%,#facc15 35% 65%,#1d4ed8 65%);
}

/* Os modais entram no tema com moldura e marca, sem tocar no conteúdo ou ações. */
.gfl-theme-modal-surface {
  position:relative !important;
  isolation:isolate;
  border-color:color-mix(in srgb,var(--gfl-theme-accent) 24%,#dbe5df) !important;
  box-shadow:
    0 24px 70px rgba(15,23,42,.24),
    inset 0 1px rgba(255,255,255,.88) !important;
}
.gfl-theme-modal-trim {
  position:absolute;
  z-index:8;
  top:0;
  left:0;
  right:0;
  display:block;
  height:10px;
  overflow:hidden;
  border-radius:inherit;
  border-bottom-left-radius:0;
  border-bottom-right-radius:0;
  pointer-events:none;
}
.gfl-theme-modal-emblem {
  position:absolute;
  z-index:9;
  top:9px;
  right:52px;
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  padding:2px;
  border:2px solid rgba(255,255,255,.92);
  border-radius:9px;
  background:#fff;
  box-shadow:0 5px 15px rgba(15,23,42,.16);
  pointer-events:none;
}
.gfl-theme-modal-emblem img { width:100%; height:100%; border-radius:6px; object-fit:contain; }
.gfl-theme-modal-scene {
  position:absolute;
  z-index:7;
  inset:0;
  display:block;
  overflow:hidden;
  border-radius:inherit;
  pointer-events:none;
}
.gfl-theme-modal-scene i {
  position:absolute;
  display:none;
  pointer-events:none;
}
body[data-app-theme="natal"] .gfl-theme-modal-trim {
  height:11px;
  background:
    radial-gradient(circle,#ef4444 0 2.3px,transparent 2.8px) 0 2px/52px 7px repeat-x,
    radial-gradient(circle,#fbbf24 0 2.3px,transparent 2.8px) 13px 2px/52px 7px repeat-x,
    radial-gradient(circle,#38bdf8 0 2.3px,transparent 2.8px) 26px 2px/52px 7px repeat-x,
    radial-gradient(circle,#22c55e 0 2.3px,transparent 2.8px) 39px 2px/52px 7px repeat-x,
    linear-gradient(#14532d,#14532d) 0 2px/100% 1px no-repeat,
    radial-gradient(circle at 8px 12px,#fff 0 7px,transparent 7.5px) 0 1px/16px 11px repeat-x;
  filter:drop-shadow(0 2px 2px rgba(20,83,45,.12));
}
body[data-app-theme="ano_novo"] .gfl-theme-modal-trim {
  height:7px;
  background:
    radial-gradient(circle,#d4a72c 0 1.6px,transparent 2px) 0 0/24px 7px repeat-x,
    linear-gradient(90deg,transparent,#d4a72c 18%,#fff1a8 50%,#d4a72c 82%,transparent) 0 3px/100% 1px no-repeat;
}
body[data-app-theme="carnaval"] .gfl-theme-modal-trim {
  height:7px;
  background:
    radial-gradient(circle,#facc15 0 2px,transparent 2.5px) 9px 0/42px 7px repeat-x,
    repeating-linear-gradient(90deg,#7c3aed 0 30px,#ec4899 30px 60px,#06b6d4 60px 90px,#facc15 90px 120px) 0 0/100% 4px no-repeat;
}
body[data-app-theme="pascoa"] .gfl-theme-modal-trim {
  height:9px;
  background:
    linear-gradient(90deg,transparent,rgba(22,135,101,.58),transparent) 0 3px/100% 1px no-repeat,
    radial-gradient(ellipse,#f9a8d4 0 3.5px,transparent 4px) 0 0/34px 9px repeat-x,
    radial-gradient(ellipse,#a7f3d0 0 3.5px,transparent 4px) 17px 0/34px 9px repeat-x;
}
body[data-app-theme="festa_junina"] .gfl-theme-modal-trim {
  height:13px;
  border-radius:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='13' viewBox='0 0 150 13'%3E%3Cpath d='M0 2 Q38 6 75 2 T150 2' fill='none' stroke='%23804b24' stroke-width='1.2'/%3E%3Cpath d='M5 3L23 4L14 13Z' fill='%23dc2626'/%3E%3Cpath d='M35 4L53 4L44 13Z' fill='%23facc15'/%3E%3Cpath d='M65 3L83 3L74 12Z' fill='%232563eb'/%3E%3Cpath d='M95 3L113 3L104 13Z' fill='%2316a34a'/%3E%3Cpath d='M125 3L143 2L134 12Z' fill='%23ea580c'/%3E%3C/svg%3E");
  background-repeat:repeat-x;
  filter:drop-shadow(0 2px 1px rgba(92,48,18,.12));
}
body[data-app-theme="brasil"] .gfl-theme-modal-trim {
  height:6px;
  background:linear-gradient(90deg,transparent,#15803d 12% 39%,#facc15 39% 64%,#1d4ed8 64% 88%,transparent);
}

/* Cada modal recebe uma pequena cenografia do tema, restrita às bordas. */
body[data-app-theme="natal"] .gfl-theme-modal-scene i:nth-child(-n+4) {
  top:-12px;
  display:block;
  width:5px;
  height:5px;
  border:1px solid rgba(100,116,139,.20);
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 7px rgba(148,163,184,.34);
  opacity:.58;
}
body[data-app-theme="natal"] .gfl-theme-modal-scene i:nth-child(1) { left:8%; animation-delay:-2s; }
body[data-app-theme="natal"] .gfl-theme-modal-scene i:nth-child(2) { left:34%; width:7px; height:7px; animation-delay:-5s; }
body[data-app-theme="natal"] .gfl-theme-modal-scene i:nth-child(3) { left:66%; animation-delay:-8s; }
body[data-app-theme="natal"] .gfl-theme-modal-scene i:nth-child(4) { left:88%; width:6px; height:6px; animation-delay:-11s; }
body[data-app-theme="natal"] .gfl-theme-modal-scene i:nth-child(5) {
  left:-8px;
  bottom:-8px;
  display:block;
  width:82px;
  height:34px;
  border-radius:50% 100% 0 0;
  background:
    radial-gradient(ellipse at 20% 65%,#22c55e 0 11px,transparent 12px),
    radial-gradient(ellipse at 45% 45%,#15803d 0 13px,transparent 14px),
    radial-gradient(ellipse at 72% 64%,#22c55e 0 11px,transparent 12px),
    radial-gradient(circle at 51% 57%,#ef4444 0 3px,transparent 3.5px);
  opacity:.32;
}
body[data-app-theme="natal"] .gfl-theme-modal-scene i:nth-child(6) {
  right:18px;
  bottom:-3px;
  display:block;
  width:10px;
  height:38px;
  border:1px solid rgba(100,116,139,.20);
  border-radius:999px 999px 5px 5px;
  background:repeating-linear-gradient(-35deg,#fff 0 6px,#dc2626 6px 12px);
  opacity:.42;
  transform:rotate(18deg);
}

body[data-app-theme="ano_novo"] .gfl-theme-modal-scene i:nth-child(-n+2) {
  display:block;
  width:62px;
  height:62px;
  border-radius:50%;
  background:repeating-conic-gradient(from 4deg,rgba(212,167,44,.55) 0 2deg,transparent 2deg 18deg);
  -webkit-mask:radial-gradient(circle,transparent 0 17px,#000 18px 21px,transparent 22px);
  mask:radial-gradient(circle,transparent 0 17px,#000 18px 21px,transparent 22px);
  opacity:.32;
}
body[data-app-theme="ano_novo"] .gfl-theme-modal-scene i:nth-child(1) { left:-20px; top:24px; }
body[data-app-theme="ano_novo"] .gfl-theme-modal-scene i:nth-child(2) { right:-17px; bottom:16px; transform:scale(.72); }
body[data-app-theme="ano_novo"] .gfl-theme-modal-scene i:nth-child(n+3) {
  display:block;
  width:8px;
  height:8px;
  background:#d4a72c;
  clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 35%);
  opacity:.36;
}
body[data-app-theme="ano_novo"] .gfl-theme-modal-scene i:nth-child(3) { top:62px; right:24px; }
body[data-app-theme="ano_novo"] .gfl-theme-modal-scene i:nth-child(4) { bottom:31px; left:20px; transform:scale(.62); }
body[data-app-theme="ano_novo"] .gfl-theme-modal-scene i:nth-child(5) { top:44%; right:8px; transform:scale(.45); }
body[data-app-theme="ano_novo"] .gfl-theme-modal-scene i:nth-child(6) { bottom:8px; left:42%; transform:scale(.38); }

body[data-app-theme="carnaval"] .gfl-theme-modal-scene i:nth-child(-n+4) {
  display:block;
  width:6px;
  height:13px;
  border-radius:2px;
  opacity:.34;
  transform:rotate(24deg);
}
body[data-app-theme="carnaval"] .gfl-theme-modal-scene i:nth-child(1) { top:34px; left:8px; background:#7c3aed; }
body[data-app-theme="carnaval"] .gfl-theme-modal-scene i:nth-child(2) { top:49%; right:7px; background:#ec4899; transform:rotate(-31deg); }
body[data-app-theme="carnaval"] .gfl-theme-modal-scene i:nth-child(3) { bottom:24px; left:18px; background:#facc15; transform:rotate(64deg); }
body[data-app-theme="carnaval"] .gfl-theme-modal-scene i:nth-child(4) { bottom:12px; right:24%; background:#06b6d4; transform:rotate(-12deg); }
body[data-app-theme="carnaval"] .gfl-theme-modal-scene i:nth-child(5),
body[data-app-theme="carnaval"] .gfl-theme-modal-scene i:nth-child(6) {
  top:22px;
  display:block;
  width:28px;
  height:54px;
  border:4px solid #7c3aed;
  border-left-color:transparent;
  border-bottom-color:transparent;
  border-radius:50%;
  opacity:.22;
}
body[data-app-theme="carnaval"] .gfl-theme-modal-scene i:nth-child(5) { left:-9px; transform:rotate(19deg); }
body[data-app-theme="carnaval"] .gfl-theme-modal-scene i:nth-child(6) { right:-6px; border-color:#ec4899 transparent transparent #ec4899; transform:rotate(-24deg); }

body[data-app-theme="pascoa"] .gfl-theme-modal-scene i:nth-child(-n+3) {
  bottom:-5px;
  display:block;
  width:20px;
  height:28px;
  border:1px solid rgba(124,58,237,.12);
  border-radius:50% 50% 46% 46%;
  background:
    linear-gradient(145deg,transparent 42%,rgba(255,255,255,.75) 43% 55%,transparent 56%),
    #f9a8d4;
  opacity:.46;
}
body[data-app-theme="pascoa"] .gfl-theme-modal-scene i:nth-child(1) { right:18px; transform:rotate(10deg); }
body[data-app-theme="pascoa"] .gfl-theme-modal-scene i:nth-child(2) { right:46px; width:16px; height:23px; background-color:#a7f3d0; transform:rotate(-9deg); }
body[data-app-theme="pascoa"] .gfl-theme-modal-scene i:nth-child(3) { left:18px; width:14px; height:21px; background-color:#c4b5fd; transform:rotate(7deg); }
body[data-app-theme="pascoa"] .gfl-theme-modal-scene i:nth-child(4),
body[data-app-theme="pascoa"] .gfl-theme-modal-scene i:nth-child(5) {
  left:-8px;
  bottom:2px;
  display:block;
  width:78px;
  height:24px;
  border-top:2px solid rgba(22,135,101,.28);
  border-radius:50%;
  transform:rotate(-8deg);
}
body[data-app-theme="pascoa"] .gfl-theme-modal-scene i:nth-child(5) {
  left:auto;
  right:-16px;
  transform:rotate(9deg);
}
body[data-app-theme="pascoa"] .gfl-theme-modal-scene i:nth-child(6) {
  right:14px;
  top:38px;
  display:block;
  width:8px;
  height:17px;
  border-radius:70% 20% 70% 20%;
  background:#a7f3d0;
  opacity:.40;
  transform:rotate(34deg);
}

body[data-app-theme="festa_junina"] .gfl-theme-modal-scene i:nth-child(-n+2) {
  top:52px;
  display:block;
  width:18px;
  height:26px;
  border:1px solid rgba(120,53,15,.24);
  border-radius:6px 6px 10px 10px;
  background:
    radial-gradient(circle at 50% 55%,#fde68a 0 4px,transparent 5px),
    repeating-linear-gradient(90deg,#dc2626 0 3px,#fbbf24 3px 6px);
  box-shadow:0 0 8px rgba(251,191,36,.18);
  opacity:.40;
}
body[data-app-theme="festa_junina"] .gfl-theme-modal-scene i:nth-child(1) { left:7px; transform:rotate(-5deg); }
body[data-app-theme="festa_junina"] .gfl-theme-modal-scene i:nth-child(2) { right:7px; transform:rotate(6deg); background:radial-gradient(circle at 50% 55%,#fde68a 0 4px,transparent 5px),repeating-linear-gradient(90deg,#2563eb 0 3px,#16a34a 3px 6px); }
body[data-app-theme="festa_junina"] .gfl-theme-modal-scene i:nth-child(n+3) {
  bottom:6px;
  display:block;
  width:7px;
  height:7px;
  background:#f59e0b;
  clip-path:polygon(50% 0,64% 36%,100% 50%,64% 64%,50% 100%,36% 64%,0 50%,36% 36%);
  opacity:.30;
}
body[data-app-theme="festa_junina"] .gfl-theme-modal-scene i:nth-child(3) { left:8px; }
body[data-app-theme="festa_junina"] .gfl-theme-modal-scene i:nth-child(4) { left:34%; transform:scale(.62); }
body[data-app-theme="festa_junina"] .gfl-theme-modal-scene i:nth-child(5) { right:36%; transform:scale(.72); }
body[data-app-theme="festa_junina"] .gfl-theme-modal-scene i:nth-child(6) { right:9px; }

body[data-app-theme="brasil"] .gfl-theme-modal-scene {
  background:
    linear-gradient(135deg,transparent 0 94%,rgba(21,128,61,.08) 94% 96%,rgba(250,204,21,.11) 96% 98%,rgba(29,78,216,.07) 98%);
}
body[data-app-theme="brasil"] .gfl-theme-modal-scene i {
  right:12px;
  bottom:12px;
  display:block;
  width:7px;
  height:7px;
  background:#facc15;
  clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 35%);
  opacity:.28;
}
body[data-app-theme="brasil"] .gfl-theme-modal-scene i:nth-child(2) { right:32px; bottom:26px; transform:scale(.72); }
body[data-app-theme="brasil"] .gfl-theme-modal-scene i:nth-child(3) { right:51px; bottom:10px; transform:scale(.48); }
body[data-app-theme="brasil"] .gfl-theme-modal-scene i:nth-child(4) { right:22px; bottom:52px; transform:scale(.42); }
body[data-app-theme="brasil"] .gfl-theme-modal-scene i:nth-child(n+5) { display:none; }

body[data-theme-motion="on"][data-app-theme="natal"] .gfl-theme-modal-trim {
  animation:gflChristmasTwinkle 3.4s ease-in-out infinite;
}
body[data-theme-motion="on"][data-app-theme="natal"] .gfl-theme-modal-scene i:nth-child(-n+4) {
  animation:gflModalSnow 8s linear infinite;
}
body[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-theme-modal-scene i:nth-child(-n+2) {
  animation:gflModalFirework 4.8s ease-out infinite;
}
body[data-theme-motion="on"][data-app-theme="carnaval"] .gfl-theme-modal-scene i:nth-child(-n+4) {
  animation:gflModalConfetti 4.6s ease-in-out infinite;
}
body[data-theme-motion="on"][data-app-theme="pascoa"] .gfl-theme-modal-scene i:nth-child(-n+3) {
  animation:gflModalEggBob 4.6s ease-in-out infinite;
}
body[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-theme-modal-scene i:nth-child(-n+2) {
  animation:gflLanternSway 4.2s ease-in-out infinite;
  transform-origin:50% -12px;
}
body[data-theme-motion="on"][data-app-theme="pascoa"] .gfl-theme-ambient-motifs i {
  animation:gflEasterDrift 6.8s ease-in-out infinite;
}
body[data-theme-motion="on"][data-app-theme="pascoa"] .gfl-theme-ambient-motifs i:nth-child(even) { animation-delay:-2.4s; }
body[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-theme-ambient-motifs i {
  animation:gflLanternSway 4.8s ease-in-out infinite;
}
@keyframes gflModalSnow {
  0% { transform:translate3d(0,-12px,0) rotate(0deg); opacity:0; }
  12% { opacity:.58; }
  88% { opacity:.42; }
  100% { transform:translate3d(18px,460px,0) rotate(220deg); opacity:0; }
}
@keyframes gflModalFirework {
  0%,55% { transform:scale(.18) rotate(-7deg); opacity:0; }
  70% { opacity:.38; }
  100% { transform:scale(1.08) rotate(8deg); opacity:0; }
}
@keyframes gflModalConfetti {
  0%,100% { translate:0 0; rotate:0deg; }
  50% { translate:3px 8px; rotate:130deg; }
}
@keyframes gflModalEggBob {
  0%,100% { translate:0 0; }
  50% { translate:0 -4px; }
}

/* A barra nativa continua verde; apenas o filete inferior identifica o tema. */
body[data-app-theme] .gfl-beta-titlebar::after {
  height: 2px !important;
  background: linear-gradient(90deg,transparent,var(--gfl-theme-accent),var(--gfl-theme-accent-2),transparent) !important;
  opacity: .68;
}

.gfl-theme-particles span:nth-child(1) { --left:7%; --size:4px; --opacity:.38; --duration:14s; --delay:-5s; }
.gfl-theme-particles span:nth-child(2) { --left:13%; --size:7px; --opacity:.27; --duration:18s; --delay:-11s; }
.gfl-theme-particles span:nth-child(3) { --left:21%; --size:5px; --opacity:.40; --duration:16s; --delay:-2s; }
.gfl-theme-particles span:nth-child(4) { --left:29%; --size:4px; --opacity:.25; --duration:20s; --delay:-14s; }
.gfl-theme-particles span:nth-child(5) { --left:37%; --size:6px; --opacity:.34; --duration:15s; --delay:-8s; }
.gfl-theme-particles span:nth-child(6) { --left:45%; --size:4px; --opacity:.28; --duration:19s; --delay:-4s; }
.gfl-theme-particles span:nth-child(7) { --left:53%; --size:7px; --opacity:.31; --duration:17s; --delay:-12s; }
.gfl-theme-particles span:nth-child(8) { --left:61%; --size:5px; --opacity:.39; --duration:14s; --delay:-7s; }
.gfl-theme-particles span:nth-child(9) { --left:69%; --size:4px; --opacity:.27; --duration:21s; --delay:-16s; }
.gfl-theme-particles span:nth-child(10) { --left:77%; --size:6px; --opacity:.35; --duration:16s; --delay:-10s; }
.gfl-theme-particles span:nth-child(11) { --left:84%; --size:4px; --opacity:.28; --duration:18s; --delay:-6s; }
.gfl-theme-particles span:nth-child(12) { --left:91%; --size:7px; --opacity:.31; --duration:20s; --delay:-13s; }
.gfl-theme-particles span:nth-child(13) { --left:96%; --size:5px; --opacity:.25; --duration:17s; --delay:-9s; }
.gfl-theme-particles span:nth-child(14) { --left:17%; --size:4px; --opacity:.24; --duration:22s; --delay:-18s; }
.gfl-theme-particles span:nth-child(15) { --left:33%; --size:5px; --opacity:.29; --duration:19s; --delay:-15s; }
.gfl-theme-particles span:nth-child(16) { --left:58%; --size:4px; --opacity:.24; --duration:23s; --delay:-17s; }
.gfl-theme-particles span:nth-child(17) { --left:73%; --size:5px; --opacity:.28; --duration:21s; --delay:-3s; }
.gfl-theme-particles span:nth-child(18) { --left:88%; --size:4px; --opacity:.23; --duration:24s; --delay:-20s; }
.gfl-theme-particles span:nth-child(19) { --left:4%; --size:6px; --opacity:.29; --duration:18s; --delay:-8s; }
.gfl-theme-particles span:nth-child(20) { --left:11%; --size:3px; --opacity:.34; --duration:16s; --delay:-12s; }
.gfl-theme-particles span:nth-child(21) { --left:25%; --size:7px; --opacity:.26; --duration:23s; --delay:-5s; }
.gfl-theme-particles span:nth-child(22) { --left:42%; --size:3px; --opacity:.38; --duration:15s; --delay:-9s; }
.gfl-theme-particles span:nth-child(23) { --left:49%; --size:6px; --opacity:.25; --duration:22s; --delay:-16s; }
.gfl-theme-particles span:nth-child(24) { --left:65%; --size:3px; --opacity:.36; --duration:17s; --delay:-3s; }
.gfl-theme-particles span:nth-child(25) { --left:71%; --size:7px; --opacity:.24; --duration:24s; --delay:-19s; }
.gfl-theme-particles span:nth-child(26) { --left:82%; --size:3px; --opacity:.37; --duration:16s; --delay:-11s; }
.gfl-theme-particles span:nth-child(27) { --left:93%; --size:6px; --opacity:.26; --duration:21s; --delay:-6s; }
.gfl-theme-particles span:nth-child(28) { --left:98%; --size:3px; --opacity:.32; --duration:19s; --delay:-14s; }

body[data-theme-motion="on"][data-app-theme="natal"] .gfl-theme-lights i,
body[data-theme-motion="on"][data-app-theme="natal"] .gfl-theme-surface-trim {
  animation: gflChristmasTwinkle 3.4s ease-in-out infinite;
}
body[data-theme-motion="on"][data-app-theme="natal"] .gfl-theme-lights i:nth-child(3n+2) { animation-delay:-1.1s; }
body[data-theme-motion="on"][data-app-theme="natal"] .gfl-theme-lights i:nth-child(3n) { animation-delay:-2.2s; }
body[data-theme-motion="on"][data-app-theme="carnaval"] .gfl-theme-streamers {
  animation: gflThemeSway 7s ease-in-out infinite;
}

@keyframes gflThemeFall {
  0% { transform: translate3d(0,-26px,0) rotate(0deg); }
  50% { transform: translate3d(15px,50vh,0) rotate(150deg); }
  100% { transform: translate3d(-8px,104vh,0) rotate(320deg); }
}
@keyframes gflChristmasTwinkle {
  0%,100% { filter: brightness(.86) saturate(.95); opacity:.82; }
  50% { filter: brightness(1.34) saturate(1.18); opacity:1; }
}
@keyframes gflThemeFirework {
  0%,12% { opacity:0; transform:scale(.35) rotate(-6deg); }
  30%,58% { opacity:1; transform:scale(1) rotate(0); }
  78%,100% { opacity:0; transform:scale(1.14) rotate(4deg); }
}
@keyframes gflThemeSway {
  0%,100% { transform:translate3d(0,0,0) rotate(-1deg); }
  50% { transform:translate3d(0,3px,0) rotate(1deg); }
}
@keyframes gflEasterDrift {
  0%,100% { translate:0 0; rotate:-2deg; }
  50% { translate:0 -7px; rotate:4deg; }
}
@keyframes gflLanternSway {
  0%,100% { translate:0 0; rotate:-4deg; }
  50% { translate:0 2px; rotate:5deg; }
}

/* Mensagem especial: informativa, não modal e exibida uma única vez no dia. */
.gfl-theme-celebration {
  position:fixed;
  z-index:230;
  top:58px;
  right:18px;
  display:grid;
  grid-template-columns:72px minmax(0,1fr) 30px;
  align-items:center;
  gap:12px;
  width:min(440px,calc(100vw - 28px));
  padding:10px 10px 10px 12px;
  border:1px solid color-mix(in srgb,var(--gfl-theme-accent) 35%,#d7e3dc);
  border-radius:18px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--gfl-theme-soft) 78%,#fff),#fff 68%);
  box-shadow:0 22px 55px rgba(15,23,42,.22);
  animation:gflThemeCelebrationIn .34s cubic-bezier(.2,.8,.2,1) both;
}
.gfl-theme-celebration::before {
  content:"";
  position:absolute;
  top:0;
  left:12px;
  right:12px;
  height:7px;
  border-radius:0 0 8px 8px;
  pointer-events:none;
}
body[data-app-theme="natal"] .gfl-theme-celebration::before {
  background:
    radial-gradient(circle,#ef4444 0 2px,transparent 2.5px) 0 1px/52px 6px repeat-x,
    radial-gradient(circle,#fbbf24 0 2px,transparent 2.5px) 13px 1px/52px 6px repeat-x,
    radial-gradient(circle,#38bdf8 0 2px,transparent 2.5px) 26px 1px/52px 6px repeat-x,
    radial-gradient(circle,#22c55e 0 2px,transparent 2.5px) 39px 1px/52px 6px repeat-x;
}
body[data-app-theme="ano_novo"] .gfl-theme-celebration::before {
  background:linear-gradient(90deg,transparent,#d4a72c 18%,#fff1a8 50%,#d4a72c 82%,transparent);
}
body[data-app-theme="carnaval"] .gfl-theme-celebration::before {
  height:4px;
  background:repeating-linear-gradient(90deg,#7c3aed 0 28px,#ec4899 28px 56px,#facc15 56px 84px,#06b6d4 84px 112px);
}
body[data-app-theme="pascoa"] .gfl-theme-celebration::before {
  background:
    radial-gradient(ellipse,#f9a8d4 0 3px,transparent 3.5px) 0 0/30px 7px repeat-x,
    radial-gradient(ellipse,#a7f3d0 0 3px,transparent 3.5px) 15px 0/30px 7px repeat-x;
}
body[data-app-theme="festa_junina"] .gfl-theme-celebration::before {
  left:0;
  right:0;
  height:10px;
  border-radius:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='10' viewBox='0 0 150 10'%3E%3Cpath d='M0 1 Q38 5 75 1 T150 1' fill='none' stroke='%23804b24'/%3E%3Cpath d='M5 2L23 3L14 10Z' fill='%23dc2626'/%3E%3Cpath d='M35 3L53 3L44 10Z' fill='%23facc15'/%3E%3Cpath d='M65 2L83 2L74 9Z' fill='%232563eb'/%3E%3Cpath d='M95 2L113 2L104 10Z' fill='%2316a34a'/%3E%3Cpath d='M125 2L143 1L134 9Z' fill='%23ea580c'/%3E%3C/svg%3E");
  background-repeat:repeat-x;
}
body[data-app-theme="brasil"] .gfl-theme-celebration::before {
  height:4px;
  background:linear-gradient(90deg,transparent,#15803d 12% 39%,#facc15 39% 64%,#1d4ed8 64% 88%,transparent);
}
.gfl-theme-celebration-art { width:72px; height:72px; overflow:hidden; border:2px solid rgba(255,255,255,.9); border-radius:15px; background:#fff; box-shadow:0 8px 20px rgba(15,23,42,.14); }
.gfl-theme-celebration-art img { width:100%; height:100%; object-fit:cover; object-position:50% 30%; }
.gfl-theme-celebration-art img[src*="laercinho-mascot-v4"] { object-fit:contain; object-position:50% 100%; }
.gfl-theme-celebration-copy { display:grid; gap:2px; min-width:0; }
.gfl-theme-celebration-copy > span { color:var(--gfl-theme-accent); font-size:9px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.gfl-theme-celebration-copy strong { color:#172033; font-size:16px; line-height:1.2; }
.gfl-theme-celebration-copy p { margin:0; color:#59677a; font-size:11px; line-height:1.45; }
.gfl-theme-celebration > button { align-self:start; display:grid; place-items:center; width:28px; height:28px; padding:0; border:1px solid #dbe6df; border-radius:9px; background:rgba(255,255,255,.78); color:#526175; font:700 19px/1 sans-serif; cursor:pointer; }
.gfl-theme-celebration > button:hover { color:#172033; border-color:var(--gfl-theme-line); background:#fff; }
@keyframes gflThemeCelebrationIn { from { opacity:0; transform:translate3d(0,-12px,0) scale(.98); } to { opacity:1; transform:none; } }

/* Gerenciador: previews reais, sem ícones genéricos. */
.app-theme-active-card { display:flex; align-items:center; gap:11px; }
.app-theme-active-card > img,.app-theme-active-placeholder { flex:0 0 auto; width:54px; height:54px; border:1px solid #d7e7de; border-radius:13px; object-fit:cover; object-position:50% 30%; background:#eff8f2; box-shadow:0 6px 16px rgba(15,23,42,.1); }
.app-theme-active-card > img[src*="laercinho-mascot-v4"] { object-fit:contain; object-position:50% 100%; }
.app-theme-active-placeholder { display:grid; place-items:center; color:#fff; font-size:25px; font-weight:900; background:linear-gradient(135deg,#0a3923,#22c55e); }
.app-theme-active-card > div { min-width:0; }
.app-theme-choice { min-height:205px; padding:10px; overflow:hidden; }
.app-theme-choice-visual { position:relative; display:block; height:98px; margin:-2px -2px 1px; overflow:hidden; border-radius:10px; background:linear-gradient(135deg,color-mix(in srgb,var(--choice-a) 20%,#fff),color-mix(in srgb,var(--choice-b) 17%,#fff)); }
.app-theme-choice-avatar { width:100%; height:100%; object-fit:cover; object-position:50% 12%; transition:transform .22s ease; }
.app-theme-choice-avatar[src*="laercinho-mascot-v4"] { object-fit:contain; object-position:50% 100%; }
.app-theme-choice-brand { position:absolute; right:7px; bottom:7px; width:34px; height:34px; padding:2px; border:2px solid rgba(255,255,255,.92); border-radius:10px; object-fit:contain; background:#fff; box-shadow:0 5px 14px rgba(15,23,42,.2); }
.app-theme-choice:hover .app-theme-choice-avatar { transform:scale(1.035); }
.app-theme-choice-top > strong { font-size:13px; }
.app-theme-choice p { min-height:43px; }

body[data-theme-intensity="suave"] .gfl-theme-particles,
body[data-theme-intensity="suave"] .gfl-theme-fireworks,
body[data-theme-intensity="suave"] .gfl-theme-streamers,
body[data-theme-intensity="suave"] .gfl-theme-botanical,
body[data-theme-intensity="suave"] .gfl-theme-ambient-motifs { display:none !important; }
body[data-theme-intensity="suave"] .gfl-theme-top-trim,
body[data-theme-intensity="suave"] .gfl-theme-sidebar-rail,
body[data-theme-intensity="suave"] .gfl-theme-corner-mark,
body[data-theme-intensity="suave"] .gfl-theme-surface-trim,
body[data-theme-intensity="suave"] .gfl-theme-sidebar-ornament,
body[data-theme-intensity="suave"] .gfl-theme-modal-trim,
body[data-theme-intensity="suave"] .gfl-theme-modal-scene { opacity:.48; }
body[data-theme-intensity="festivo"] .gfl-theme-top-trim,
body[data-theme-intensity="festivo"] .gfl-theme-sidebar-rail,
body[data-theme-intensity="festivo"] .gfl-theme-corner-mark,
body[data-theme-intensity="festivo"] .gfl-theme-surface-trim,
body[data-theme-intensity="festivo"] .gfl-theme-sidebar-ornament,
body[data-theme-intensity="festivo"] .gfl-theme-modal-trim,
body[data-theme-intensity="festivo"] .gfl-theme-modal-scene { opacity:1; }
body[data-theme-intensity="festivo"] .gfl-theme-fireworks { opacity:.48; }
body[data-theme-intensity="festivo"] .gfl-theme-streamers { opacity:.58; }
body[data-theme-intensity="festivo"] .gfl-theme-particles span { opacity:calc(var(--opacity) * 1.55); }
body[data-theme-motion="on"] .gfl-theme-celebration-art { animation:gflThemePortraitFloat 4.8s ease-in-out infinite; }
@keyframes gflThemePortraitFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-2px); } }

/*
 * O shell desktop desliga animações gerais para manter a rolagem fluida.
 * Esta exceção reativa somente a camada sazonal, toda baseada em transform/opacity,
 * quando a pessoa não pediu movimento reduzido e a campanha habilitou movimento.
 */
@media (prefers-reduced-motion:no-preference) {
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="natal"] #appThemeDecor .gfl-theme-particles span,
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="carnaval"] #appThemeDecor .gfl-theme-particles span {
    animation:gflThemeFall var(--duration) linear var(--delay) infinite !important;
    will-change:transform,opacity !important;
  }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="ano_novo"] #appThemeDecor .gfl-theme-fireworks span {
    animation:gflThemeFirework 4.8s ease-out infinite !important;
    will-change:transform,opacity !important;
  }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="ano_novo"] #appThemeDecor .gfl-theme-fireworks span:nth-child(2) { animation-delay:-1.7s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="ano_novo"] #appThemeDecor .gfl-theme-fireworks span:nth-child(3) { animation-delay:-3.2s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="natal"] :is(.gfl-theme-lights i,.gfl-theme-surface-trim,.gfl-theme-modal-trim) {
    animation:gflChristmasTwinkle 3.4s ease-in-out infinite !important;
  }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="natal"] .gfl-theme-lights i:nth-child(3n+2) { animation-delay:-1.1s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="natal"] .gfl-theme-lights i:nth-child(3n) { animation-delay:-2.2s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="carnaval"] #appThemeDecor .gfl-theme-streamers {
    animation:gflThemeSway 7s ease-in-out infinite !important;
    will-change:transform !important;
  }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="pascoa"] #appThemeDecor .gfl-theme-ambient-motifs i {
    animation:gflEasterDrift 6.8s ease-in-out infinite !important;
    will-change:translate,rotate !important;
  }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="pascoa"] #appThemeDecor .gfl-theme-ambient-motifs i:nth-child(even) { animation-delay:-2.4s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="festa_junina"] #appThemeDecor .gfl-theme-ambient-motifs i {
    animation:gflLanternSway 4.8s ease-in-out infinite !important;
    will-change:translate,rotate !important;
  }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="natal"] .gfl-theme-modal-scene i:nth-child(-n+4) {
    animation:gflModalSnow 8s linear infinite !important;
  }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="natal"] .gfl-theme-modal-scene i:nth-child(1) { animation-delay:-2s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="natal"] .gfl-theme-modal-scene i:nth-child(2) { animation-delay:-5s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="natal"] .gfl-theme-modal-scene i:nth-child(3) { animation-delay:-8s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="natal"] .gfl-theme-modal-scene i:nth-child(4) { animation-delay:-11s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-theme-modal-scene i:nth-child(-n+2) {
    animation:gflModalFirework 4.8s ease-out infinite !important;
  }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="carnaval"] .gfl-theme-modal-scene i:nth-child(-n+4) {
    animation:gflModalConfetti 4.6s ease-in-out infinite !important;
  }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="pascoa"] .gfl-theme-modal-scene i:nth-child(-n+3) {
    animation:gflModalEggBob 4.6s ease-in-out infinite !important;
  }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-theme-modal-scene i:nth-child(-n+2) {
    animation:gflLanternSway 4.2s ease-in-out infinite !important;
  }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"] .gfl-theme-celebration-art {
    animation:gflThemePortraitFloat 4.8s ease-in-out infinite !important;
  }
}

@media (max-width:760px) {
  .gfl-theme-top-trim { top:0; left:0; right:0; }
  .gfl-theme-sidebar-rail,.gfl-theme-corner-mark,.gfl-theme-fireworks,.gfl-theme-streamers,.gfl-theme-botanical,.gfl-theme-ambient-motifs { display:none !important; }
  body[data-app-theme="festa_junina"] .top-view-tabs.gfl-theme-culture-surface,
  body[data-app-theme="festa_junina"] :is(.folder-strip,.ops-view-tabs,.director-workspace-nav,.sped-review-workspace-tabs,.dp-portal-tabs).gfl-theme-culture-surface { padding-top:10px !important; }
  .gfl-theme-celebration { top:12px; right:14px; grid-template-columns:56px minmax(0,1fr) 28px; }
  .gfl-theme-celebration-art { width:56px; height:56px; }
  .gfl-theme-celebration-copy strong { font-size:14px; }
  .gfl-theme-celebration-copy p { font-size:10px; }
}

@media (prefers-reduced-motion:reduce) {
  #appThemeDecor *,
  .gfl-theme-surface-trim,
  .gfl-theme-modal-scene *,
  .gfl-theme-celebration,
  .gfl-theme-celebration-art,
  .app-theme-choice-avatar { animation:none !important; transition:none !important; }
  .gfl-theme-particles { display:none !important; }
}

body[data-theme-motion="off"] #appThemeDecor *,
body[data-theme-motion="off"] .gfl-theme-surface-trim,
body[data-theme-motion="off"] .gfl-theme-modal-scene *,
body[data-theme-motion="off"] .gfl-theme-celebration-art { animation:none !important; transition:none !important; }

/* ========================================================================== */
/* Theme Studio v4 · cada celebração possui uma linguagem e um comportamento  */
/* ========================================================================== */

body[data-app-theme] img[data-gfl-theme-asset="wordmark"] {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
}

.gfl-theme-native-scene {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  pointer-events: none;
}
.gfl-theme-native-scene > span { position: absolute; display: none; }

/* -------------------------------------------------------------------------- */
/* Natal · cristais reais, voo do trenó e neve que acumula com uso do sistema */
/* -------------------------------------------------------------------------- */

body[data-app-theme="natal"] .gfl-theme-particles span {
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: rgba(255,255,255,.96);
  font: 500 calc(9px + var(--size)) / 1 "Segoe UI Symbol","Noto Sans Symbols 2",sans-serif;
  text-shadow:
    0 0 1px rgba(57,92,122,.72),
    0 0 7px rgba(191,219,254,.82);
  transform-origin: 50% 50%;
}
body[data-app-theme="natal"] .gfl-theme-particles span::before { content:"\2744"; }
body[data-app-theme="natal"] .gfl-theme-particles span:nth-child(3n+2)::before { content:"\2745"; }
body[data-app-theme="natal"] .gfl-theme-particles span:nth-child(3n)::before { content:"\2746"; }
body[data-app-theme="natal"] .gfl-theme-particles span:nth-child(4n) {
  color: rgba(219,234,254,.94);
  font-size: calc(8px + var(--size));
}

body[data-app-theme="natal"] .gfl-theme-native-scene .gfl-xmas-flight {
  top: 72px;
  right: 82px;
  display: block;
  width: 194px;
  height: 52px;
  opacity: .34;
  filter: drop-shadow(0 4px 4px rgba(15,23,42,.18));
}
.gfl-xmas-flight .gfl-xmas-deer {
  position: absolute;
  top: 20px;
  width: 25px;
  height: 11px;
  border-radius: 58% 48% 55% 45%;
  background: #6f431d;
  transform: rotate(-5deg);
}
.gfl-xmas-flight .gfl-xmas-deer::before {
  content:"";
  position:absolute;
  right:-8px;
  top:-7px;
  width:10px;
  height:10px;
  border:3px solid #6f431d;
  border-left:0;
  border-bottom:0;
  border-radius:0 8px 0 0;
  box-shadow:4px -3px 0 -2px #6f431d;
}
.gfl-xmas-flight .gfl-xmas-deer::after {
  content:"";
  position:absolute;
  left:4px;
  right:3px;
  bottom:-9px;
  height:10px;
  border-left:2px solid #6f431d;
  border-right:2px solid #6f431d;
  transform:skewX(-18deg);
}
.gfl-xmas-flight .gfl-xmas-deer:nth-child(1) { left:4px; top:13px; transform:rotate(-8deg) scale(.82); }
.gfl-xmas-flight .gfl-xmas-deer:nth-child(2) { left:40px; top:19px; transform:rotate(-5deg) scale(.90); }
.gfl-xmas-flight .gfl-xmas-deer:nth-child(3) { left:79px; top:23px; }
.gfl-xmas-flight .gfl-xmas-reins {
  position:absolute;
  left:26px;
  top:24px;
  width:106px;
  height:18px;
  border-bottom:1px solid #d4a72c;
  border-radius:50%;
  transform:rotate(4deg);
}
.gfl-xmas-flight .gfl-xmas-sleigh {
  position:absolute;
  right:4px;
  bottom:4px;
  width:65px;
  height:23px;
  border-radius:7px 6px 15px 28px;
  background:linear-gradient(135deg,#dc2626,#991b1b);
  box-shadow:inset 0 -3px #7f1d1d;
}
.gfl-xmas-flight .gfl-xmas-sleigh::after {
  content:"";
  position:absolute;
  left:-5px;
  right:-8px;
  bottom:-7px;
  height:8px;
  border:2px solid #d4a72c;
  border-top:0;
  border-radius:0 0 18px 18px;
}
.gfl-xmas-flight .gfl-xmas-santa {
  position:absolute;
  right:28px;
  top:5px;
  width:23px;
  height:30px;
  border-radius:50% 50% 42% 42%;
  background:radial-gradient(circle at 50% 24%,#f6c7a5 0 5px,transparent 5.5px),linear-gradient(#dc2626 0 36%,#b91c1c 36%);
}
.gfl-xmas-flight .gfl-xmas-santa::before {
  content:"";
  position:absolute;
  left:3px;
  top:-7px;
  width:22px;
  height:13px;
  border-radius:14px 14px 2px 2px;
  background:#dc2626;
  transform:rotate(-12deg);
  box-shadow:-3px 6px 0 -1px #fff;
}
body[data-app-theme="natal"] .gfl-theme-native-scene .gfl-xmas-pine-corner {
  right: 13px;
  bottom: 18px;
  display: block;
  width: 68px;
  height: 72px;
  opacity: .30;
}
.gfl-xmas-pine-corner > i {
  position:absolute;
  right:0;
  width:64px;
  height:22px;
  border-radius:100% 0;
  background:repeating-linear-gradient(13deg,#166534 0 2px,transparent 2px 6px);
  transform-origin:right center;
}
.gfl-xmas-pine-corner > i:nth-child(1) { top:4px; transform:rotate(-25deg); }
.gfl-xmas-pine-corner > i:nth-child(2) { top:25px; transform:rotate(-11deg) scale(.86); }
.gfl-xmas-pine-corner > i:nth-child(3) { top:45px; transform:rotate(5deg) scale(.72); }
.gfl-xmas-pine-corner > b {
  position:absolute;
  right:5px;
  top:18px;
  width:13px;
  height:13px;
  border-radius:50%;
  background:#dc2626;
  box-shadow:-20px 15px #b91c1c,-37px 32px #ef4444;
}

body[data-app-theme="natal"] .sidebar {
  isolation: isolate;
}
body[data-app-theme="natal"] .sidebar > :not(.gfl-theme-sidebar-snowfall):not(.gfl-theme-snowbank):not(.gfl-theme-snow-clearer) {
  position: relative;
  z-index: 3;
}
.sidebar > .gfl-theme-snowbank {
  position:absolute;
  z-index:1;
  left:0;
  right:0;
  bottom:0;
  display:none;
  height:var(--gfl-theme-snow-progress,0%);
  min-height:0;
  overflow:visible;
  border-radius:0 0 22px 22px;
  background:
    radial-gradient(circle at 18% 24%,rgba(186,230,253,.55) 0 2px,transparent 2.5px),
    radial-gradient(circle at 71% 63%,rgba(191,219,254,.48) 0 1.5px,transparent 2px),
    linear-gradient(100deg,#f8fdff 0%,#eaf7ff 54%,#fff 100%);
  box-shadow:0 -6px 16px rgba(191,219,254,.20),inset 0 1px rgba(255,255,255,.95);
  transition:height 1.8s linear;
  pointer-events:none;
}
body[data-app-theme="natal"] .sidebar > .gfl-theme-snowbank { display:block; }
.gfl-theme-snow-ridge {
  position:absolute;
  left:-5%;
  top:-15px;
  display:block;
  width:110%;
  height:28px;
  border-radius:50% 48% 44% 52%;
  background:
    radial-gradient(ellipse at 9% 78%,#fff 0 18px,transparent 19px),
    radial-gradient(ellipse at 28% 65%,#eef9ff 0 24px,transparent 25px),
    radial-gradient(ellipse at 52% 82%,#fff 0 29px,transparent 30px),
    radial-gradient(ellipse at 77% 68%,#eaf7ff 0 23px,transparent 24px),
    radial-gradient(ellipse at 96% 80%,#fff 0 20px,transparent 21px);
}
.gfl-theme-snow-crystal {
  position:absolute;
  display:block;
  color:rgba(100,155,191,.28);
  font:500 18px/1 "Segoe UI Symbol",sans-serif;
}
.gfl-theme-snow-crystal::before { content:"\2746"; }
.gfl-theme-snow-crystal:nth-child(2) { left:17%; top:22%; transform:rotate(16deg); }
.gfl-theme-snow-crystal:nth-child(3) { right:14%; top:36%; transform:rotate(-12deg) scale(.7); }
.gfl-theme-snow-crystal:nth-child(4) { left:44%; bottom:16%; transform:rotate(32deg) scale(.55); }
.gfl-theme-snow-crystal:nth-child(5) { right:38%; top:61%; transform:rotate(-24deg) scale(.82); }

.sidebar > .gfl-theme-snow-clearer {
  position:absolute;
  z-index:5;
  left:-62px;
  bottom:calc(var(--gfl-theme-snow-progress,0%) - 9px);
  display:none;
  width:58px;
  height:32px;
  pointer-events:none;
}
.gfl-theme-snow-clearer > i {
  position:absolute;
  left:5px;
  top:3px;
  width:49px;
  height:9px;
  border-radius:8px 8px 3px 3px;
  background:linear-gradient(#0f8f45,#0b6b37);
  box-shadow:0 4px 0 #d6a64f,0 7px 8px rgba(15,23,42,.22);
}
.gfl-theme-snow-clearer > b {
  position:absolute;
  left:27px;
  top:-24px;
  width:5px;
  height:31px;
  border-radius:4px;
  background:linear-gradient(90deg,#8b5a2b,#d39a55,#8b5a2b);
  transform:rotate(13deg);
  transform-origin:bottom;
}
body[data-theme-snow-clearing="1"][data-app-theme="natal"] .sidebar > .gfl-theme-snowbank {
  animation:gflSnowMorningClear 5s cubic-bezier(.55,.02,.42,.98) both;
  will-change:transform,opacity;
}
body[data-theme-snow-clearing="1"][data-app-theme="natal"] .sidebar > .gfl-theme-snow-clearer {
  display:block;
  animation:gflSnowShovelSweep 5s cubic-bezier(.45,.02,.32,1) both;
  will-change:transform,opacity;
}

body[data-app-theme="natal"] .gfl-theme-snow-covered {
  color:#0b2d24 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.55) !important;
}
body[data-app-theme="natal"] .brand.gfl-theme-snow-covered .brand-wordmark {
  filter:brightness(.16) saturate(.45) drop-shadow(0 1px 0 rgba(255,255,255,.68));
}
body[data-app-theme="natal"] .brand.gfl-theme-snow-covered span,
body[data-app-theme="natal"] .workspace-switch.gfl-theme-snow-covered :is(label,select),
body[data-app-theme="natal"] .nav-title.gfl-theme-snow-covered,
body[data-app-theme="natal"] .nav-item.gfl-theme-snow-covered {
  color:#0b2d24 !important;
}
body[data-app-theme="natal"] .workspace-switch.gfl-theme-snow-covered,
body[data-app-theme="natal"] .workspace-switch.gfl-theme-snow-covered select {
  border-color:rgba(15,79,59,.24) !important;
  background:rgba(255,255,255,.58) !important;
}
body[data-app-theme="natal"] .nav-item.gfl-theme-snow-covered:hover {
  border-color:rgba(15,79,59,.22) !important;
  background:rgba(255,255,255,.44) !important;
}
body[data-app-theme="natal"] .nav-item.gfl-theme-snow-covered.active {
  color:#fff !important;
  text-shadow:none !important;
  border-color:rgba(255,255,255,.68) !important;
  background:linear-gradient(135deg,#0f8f45,#087a3c) !important;
}

@keyframes gflSnowCrystalFall {
  0% { translate:0 -28px; rotate:0deg; opacity:0; }
  10% { opacity:var(--opacity); }
  45% { translate:18px 45vh; rotate:128deg; }
  72% { translate:-10px 76vh; rotate:248deg; }
  100% { translate:8px 105vh; rotate:390deg; opacity:calc(var(--opacity) * .74); }
}
@keyframes gflXmasFlight {
  0%,100% { translate:0 0; rotate:-1deg; }
  50% { translate:-8px 3px; rotate:1deg; }
}
@keyframes gflSnowMorningClear {
  0%,12% { transform:translate3d(0,0,0); opacity:1; }
  58% { transform:translate3d(13%,8px,0) skewX(-2deg); opacity:.94; }
  100% { transform:translate3d(112%,28px,0) rotate(3deg); opacity:0; }
}
@keyframes gflSnowShovelSweep {
  0% { transform:translate3d(0,0,0) rotate(-4deg); opacity:0; }
  8% { opacity:1; }
  46% { transform:translate3d(calc(50vw - 22px),-2px,0) rotate(4deg); }
  86% { opacity:1; }
  100% { transform:translate3d(calc(100vw + 76px),10px,0) rotate(-7deg); opacity:0; }
}

/* -------------------------------------------------------------------------- */
/* Ano-Novo · relógio da virada, horizonte e foguetes; sem cortina de luz     */
/* -------------------------------------------------------------------------- */

body[data-app-theme="ano_novo"] :is(.gfl-theme-top-trim,.gfl-theme-sidebar-rail,.gfl-theme-sidebar-ornament) {
  display:none !important;
}
body[data-app-theme="ano_novo"] .gfl-theme-native-scene .gfl-newyear-skyline {
  right:18px;
  bottom:0;
  display:flex;
  align-items:flex-end;
  gap:3px;
  width:235px;
  height:72px;
  opacity:.16;
}
.gfl-newyear-skyline > i {
  position:relative;
  display:block;
  flex:1;
  height:36px;
  border-radius:3px 3px 0 0;
  background:
    radial-gradient(circle,#fde68a 0 1px,transparent 1.4px) 4px 5px/10px 10px repeat,
    #152b25;
}
.gfl-newyear-skyline > i:nth-child(2) { height:53px; }
.gfl-newyear-skyline > i:nth-child(3) { height:28px; }
.gfl-newyear-skyline > i:nth-child(4) { height:64px; }
.gfl-newyear-skyline > i:nth-child(5) { height:42px; }
.gfl-newyear-skyline > i:nth-child(6) { height:58px; }
.gfl-newyear-skyline > i:nth-child(7) { height:31px; }
.gfl-newyear-skyline > i:nth-child(8) { height:47px; }
body[data-app-theme="ano_novo"] .gfl-theme-native-scene .gfl-newyear-clock {
  right:24px;
  top:72px;
  display:block;
  width:56px;
  height:56px;
  border:2px solid rgba(212,167,44,.72);
  border-radius:50%;
  background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.92) 0 2px,rgba(255,252,242,.82) 2.5px 68%,transparent 69%);
  box-shadow:0 0 0 5px rgba(212,167,44,.08),0 6px 20px rgba(15,23,42,.12);
  opacity:.78;
}
.gfl-newyear-clock::before {
  content:"";
  position:absolute;
  inset:5px;
  border-radius:50%;
  background:repeating-conic-gradient(from -1deg,#8d6b13 0 1deg,transparent 1deg 30deg);
  -webkit-mask:radial-gradient(circle,transparent 0 76%,#000 77%);
  mask:radial-gradient(circle,transparent 0 76%,#000 77%);
}
.gfl-newyear-clock > i,
.gfl-newyear-clock > b {
  position:absolute;
  left:27px;
  bottom:27px;
  width:2px;
  height:18px;
  border-radius:2px;
  background:#172033;
  transform-origin:50% 100%;
}
.gfl-newyear-clock > i { transform:rotate(-4deg); }
.gfl-newyear-clock > b { height:22px; transform:rotate(2deg); }
.gfl-newyear-clock > em {
  position:absolute;
  left:24px;
  top:-18px;
  width:8px;
  height:12px;
  border:2px solid #d4a72c;
  border-bottom:0;
  border-radius:6px 6px 0 0;
}
body[data-app-theme="ano_novo"] .gfl-theme-native-scene .gfl-newyear-rockets {
  left:88px;
  bottom:10px;
  display:block;
  width:180px;
  height:150px;
  opacity:.30;
}
.gfl-newyear-rockets > i {
  position:absolute;
  bottom:-24px;
  width:2px;
  height:112px;
  border-radius:999px;
  background:linear-gradient(transparent,#d4a72c 65%,#fff3b0);
  transform:rotate(-16deg);
  transform-origin:50% 100%;
}
.gfl-newyear-rockets > i::after {
  content:"";
  position:absolute;
  left:-3px;
  top:-7px;
  width:8px;
  height:12px;
  border-radius:50% 50% 42% 42%;
  background:#d4a72c;
  clip-path:polygon(50% 0,100% 72%,68% 100%,32% 100%,0 72%);
}
.gfl-newyear-rockets > i:nth-child(1) { left:16px; height:102px; }
.gfl-newyear-rockets > i:nth-child(2) { left:76px; height:142px; transform:rotate(7deg); }
.gfl-newyear-rockets > i:nth-child(3) { left:142px; height:90px; transform:rotate(19deg); }
body[data-app-theme="ano_novo"] .gfl-theme-surface-trim {
  left:auto;
  right:10px;
  width:58px;
  height:18px;
  background:repeating-conic-gradient(#d4a72c 0 2deg,transparent 2deg 18deg);
  -webkit-mask:radial-gradient(circle,transparent 0 33%,#000 34% 37%,transparent 38%);
  mask:radial-gradient(circle,transparent 0 33%,#000 34% 37%,transparent 38%);
}
body[data-app-theme="ano_novo"] .gfl-theme-modal-trim {
  top:-20px;
  right:48px;
  left:auto;
  width:64px;
  height:64px;
  border-radius:50%;
  background:repeating-conic-gradient(#d4a72c 0 2deg,transparent 2deg 20deg);
  -webkit-mask:radial-gradient(circle,transparent 0 35%,#000 36% 39%,transparent 40%);
  mask:radial-gradient(circle,transparent 0 35%,#000 36% 39%,transparent 40%);
  opacity:.58;
}
body[data-app-theme="ano_novo"] .gfl-theme-modal-emblem {
  top:auto;
  right:12px;
  bottom:12px;
  transform:rotate(5deg);
}
@keyframes gflNewYearRocket {
  0%,18% { translate:0 34px; opacity:0; }
  46% { opacity:1; }
  75%,100% { translate:0 -42px; opacity:0; }
}
@keyframes gflNewYearClockTick {
  0%,45% { transform:rotate(-8deg); }
  55%,100% { transform:rotate(0deg); }
}

/* -------------------------------------------------------------------------- */
/* Páscoa · pegadas de coelho, jardim e cesta; sem fantasia no Laercinho      */
/* -------------------------------------------------------------------------- */

body[data-app-theme="pascoa"] .gfl-theme-native-scene .gfl-easter-footprints {
  left:15px;
  top:94px;
  bottom:42px;
  display:block;
  width:56px;
  opacity:.22;
}
.gfl-easter-footprints > i {
  position:absolute;
  width:11px;
  height:16px;
  border:1px solid rgba(22,135,101,.48);
  border-radius:55% 55% 48% 48%;
  background:rgba(255,255,255,.72);
  transform:rotate(-18deg);
  box-shadow:
    -5px -6px 0 -3px rgba(255,255,255,.9),
    5px -7px 0 -3px rgba(255,255,255,.9);
}
.gfl-easter-footprints > i:nth-child(1) { left:7px; bottom:2%; }
.gfl-easter-footprints > i:nth-child(2) { right:5px; bottom:19%; transform:rotate(18deg); }
.gfl-easter-footprints > i:nth-child(3) { left:8px; bottom:36%; }
.gfl-easter-footprints > i:nth-child(4) { right:7px; bottom:53%; transform:rotate(18deg); }
.gfl-easter-footprints > i:nth-child(5) { left:10px; bottom:70%; }
.gfl-easter-footprints > i:nth-child(6) { right:8px; bottom:87%; transform:rotate(18deg); }
body[data-app-theme="pascoa"] .gfl-theme-native-scene .gfl-easter-meadow {
  right:14px;
  bottom:9px;
  display:block;
  width:150px;
  height:54px;
  opacity:.40;
}
.gfl-easter-meadow::before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:25px;
  background:repeating-linear-gradient(76deg,transparent 0 8px,#57a77d 9px 10px,transparent 11px 16px);
  clip-path:polygon(0 100%,2% 52%,6% 100%,9% 28%,13% 100%,19% 46%,24% 100%,30% 18%,35% 100%,42% 38%,49% 100%,56% 24%,62% 100%,70% 45%,78% 100%,86% 31%,92% 100%,97% 50%,100% 100%);
}
.gfl-easter-meadow > i {
  position:absolute;
  bottom:6px;
  display:block;
  width:20px;
  height:28px;
  border:1px solid rgba(124,58,237,.20);
  border-radius:50% 50% 46% 46%;
  background:linear-gradient(145deg,#f9a8d4,#fff);
}
.gfl-easter-meadow > i:nth-child(1) { left:23px; transform:rotate(-9deg); }
.gfl-easter-meadow > i:nth-child(2) { left:58px; width:18px; height:25px; background:linear-gradient(145deg,#a7f3d0,#fff); transform:rotate(7deg); }
.gfl-easter-meadow > i:nth-child(3) { left:88px; width:17px; height:24px; background:linear-gradient(145deg,#c4b5fd,#fff); transform:rotate(-5deg); }
.gfl-easter-meadow > b {
  position:absolute;
  right:9px;
  bottom:7px;
  width:29px;
  height:24px;
  border:2px solid #9a6b38;
  border-top:0;
  border-radius:0 0 13px 13px;
  background:repeating-linear-gradient(0deg,#d9aa67 0 2px,#bc7d39 2px 3px);
}
.gfl-easter-meadow > b::before {
  content:"";
  position:absolute;
  left:5px;
  top:-12px;
  width:15px;
  height:15px;
  border:2px solid #9a6b38;
  border-bottom:0;
  border-radius:12px 12px 0 0;
}
.gfl-easter-meadow > em {
  position:absolute;
  right:1px;
  bottom:4px;
  width:12px;
  height:20px;
  border-radius:50% 50% 45% 45%;
  background:#fff;
  box-shadow:-6px -12px 0 -4px #fff,4px -13px 0 -4px #fff;
}
body[data-app-theme="pascoa"] .gfl-theme-modal-trim {
  top:auto;
  right:0;
  bottom:0;
  left:0;
  height:11px;
  border-radius:0;
  background:
    linear-gradient(168deg,transparent 0 43%,rgba(22,135,101,.48) 44% 46%,transparent 47%) 0 0/54px 11px repeat-x,
    radial-gradient(ellipse,#f9a8d4 0 3px,transparent 3.5px) 12px 2px/54px 9px repeat-x,
    radial-gradient(ellipse,#a7f3d0 0 3px,transparent 3.5px) 38px 2px/54px 9px repeat-x;
}
body[data-app-theme="pascoa"] .gfl-theme-modal-emblem {
  top:auto;
  right:auto;
  bottom:10px;
  left:10px;
  border-radius:50% 50% 44% 44%;
  transform:rotate(-5deg);
}
@keyframes gflEasterFootstep {
  0%,100% { opacity:.18; transform:translateY(0) scale(.94); }
  50% { opacity:.45; transform:translateY(-2px) scale(1); }
}

/* -------------------------------------------------------------------------- */
/* Carnaval · baile de máscaras, colares e serpentinas com movimento próprio  */
/* -------------------------------------------------------------------------- */

body[data-app-theme="carnaval"] .gfl-theme-native-scene .gfl-carnival-mask {
  right:21px;
  bottom:18px;
  display:block;
  width:93px;
  height:48px;
  border:2px solid rgba(212,167,44,.66);
  border-radius:56% 56% 43% 43% / 72% 72% 38% 38%;
  background:linear-gradient(135deg,rgba(124,58,237,.88),rgba(219,39,119,.86));
  opacity:.42;
  transform:rotate(-7deg);
  box-shadow:0 7px 14px rgba(76,29,149,.16);
}
.gfl-carnival-mask > i {
  position:absolute;
  top:16px;
  width:25px;
  height:12px;
  border-radius:50%;
  background:#fff;
  box-shadow:inset 0 0 0 3px #d4a72c;
}
.gfl-carnival-mask > i:first-child { left:13px; transform:rotate(8deg); }
.gfl-carnival-mask > i:nth-child(2) { right:13px; transform:rotate(-8deg); }
.gfl-carnival-mask > b {
  position:absolute;
  left:41px;
  bottom:-17px;
  width:10px;
  height:19px;
  background:#7c3aed;
  clip-path:polygon(0 0,100% 0,50% 100%);
}
body[data-app-theme="carnaval"] .gfl-theme-native-scene .gfl-carnival-beads {
  left:75px;
  bottom:10px;
  display:flex;
  gap:6px;
  align-items:flex-end;
  opacity:.40;
  transform:rotate(8deg);
}
.gfl-carnival-beads > i {
  display:block;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#7c3aed;
  box-shadow:0 2px 4px rgba(15,23,42,.16);
}
.gfl-carnival-beads > i:nth-child(2),
.gfl-carnival-beads > i:nth-child(5) { background:#ec4899; }
.gfl-carnival-beads > i:nth-child(3),
.gfl-carnival-beads > i:nth-child(6) { background:#facc15; }
body[data-app-theme="carnaval"] .gfl-theme-native-scene .gfl-carnival-ribbon {
  left:90px;
  top:62px;
  display:block;
  width:160px;
  height:90px;
  opacity:.28;
}
.gfl-carnival-ribbon > i {
  position:absolute;
  inset:0 auto auto 0;
  display:block;
  width:130px;
  height:55px;
  border:3px solid #7c3aed;
  border-left-color:transparent;
  border-radius:50%;
  transform:rotate(12deg);
}
.gfl-carnival-ribbon > i:nth-child(2) { left:18px; top:15px; border-color:#ec4899 transparent #ec4899 #ec4899; transform:rotate(-9deg) scale(.8); }
.gfl-carnival-ribbon > i:nth-child(3) { left:45px; top:-9px; border-color:#06b6d4 #06b6d4 #06b6d4 transparent; transform:rotate(25deg) scale(.65); }
body[data-app-theme="carnaval"] .gfl-theme-modal-trim {
  height:7px;
  background:
    linear-gradient(110deg,transparent 0 14%,#7c3aed 15% 25%,transparent 26% 42%,#ec4899 43% 52%,transparent 53% 69%,#06b6d4 70% 79%,transparent 80%),
    linear-gradient(90deg,transparent,#facc15,transparent);
}
body[data-app-theme="carnaval"] .gfl-theme-modal-emblem {
  top:12px;
  right:12px;
  border-radius:54% 54% 44% 44%;
  transform:rotate(-8deg);
}
@keyframes gflCarnivalMaskPulse {
  0%,100% { transform:rotate(-7deg) scale(.98); }
  50% { transform:rotate(-4deg) scale(1.03); }
}

/* -------------------------------------------------------------------------- */
/* Festa Junina · arraial, fogueira e lampiões; bandeiras seguem ponta a ponta */
/* -------------------------------------------------------------------------- */

body[data-app-theme="festa_junina"] .gfl-theme-native-scene .gfl-junina-campfire {
  right:20px;
  bottom:10px;
  display:block;
  width:74px;
  height:72px;
  opacity:.42;
}
.gfl-junina-campfire > i {
  position:absolute;
  left:26px;
  bottom:18px;
  width:25px;
  height:40px;
  border-radius:58% 42% 58% 42%;
  background:linear-gradient(#facc15 0 30%,#f97316 31% 68%,#dc2626 69%);
  clip-path:polygon(50% 0,76% 31%,70% 23%,93% 64%,74% 94%,50% 100%,23% 92%,8% 62%,28% 28%,33% 45%);
}
.gfl-junina-campfire > i:nth-child(2) {
  left:33px;
  bottom:20px;
  width:13px;
  height:25px;
  background:#fde68a;
}
.gfl-junina-campfire > b,
.gfl-junina-campfire > em {
  position:absolute;
  left:10px;
  bottom:10px;
  width:55px;
  height:8px;
  border-radius:999px;
  background:linear-gradient(90deg,#6f431d,#b7791f,#6f431d);
  transform:rotate(14deg);
}
.gfl-junina-campfire > em { transform:rotate(-14deg); }
body[data-app-theme="festa_junina"] .gfl-theme-native-scene .gfl-junina-lantern-line {
  top:69px;
  right:25px;
  display:flex;
  gap:20px;
  border-top:1px solid rgba(128,75,36,.55);
  padding:0 7px;
  opacity:.42;
}
.gfl-junina-lantern-line > i {
  position:relative;
  top:4px;
  display:block;
  width:18px;
  height:25px;
  border:1px solid rgba(128,75,36,.5);
  border-radius:3px 3px 8px 8px;
  background:linear-gradient(90deg,#dc2626 0 35%,#facc15 36% 66%,#2563eb 67%);
  box-shadow:0 0 11px rgba(249,115,22,.20);
}
.gfl-junina-lantern-line > i::before {
  content:"";
  position:absolute;
  left:4px;
  right:4px;
  top:-6px;
  height:6px;
  border:1px solid #804b24;
  border-bottom:0;
  border-radius:8px 8px 0 0;
}
body[data-app-theme="festa_junina"] .gfl-theme-modal-emblem {
  top:auto;
  right:12px;
  bottom:12px;
  border-radius:4px;
  transform:rotate(3deg);
}

/* -------------------------------------------------------------------------- */
/* Brasil · constelação e faixa cívica, sem transformar o sistema em bandeira */
/* -------------------------------------------------------------------------- */

body[data-app-theme="brasil"] .gfl-theme-native-scene .gfl-brasil-constellation {
  right:20px;
  top:73px;
  display:block;
  width:126px;
  height:83px;
  opacity:.24;
}
.gfl-brasil-constellation > i {
  position:absolute;
  display:block;
  width:6px;
  height:6px;
  background:#facc15;
  clip-path:polygon(50% 0,61% 36%,100% 50%,61% 64%,50% 100%,39% 64%,0 50%,39% 36%);
}
.gfl-brasil-constellation > i:nth-child(1) { left:9px; top:17px; }
.gfl-brasil-constellation > i:nth-child(2) { left:39px; top:4px; transform:scale(.72); }
.gfl-brasil-constellation > i:nth-child(3) { left:62px; top:31px; transform:scale(1.1); }
.gfl-brasil-constellation > i:nth-child(4) { left:96px; top:17px; transform:scale(.66); }
.gfl-brasil-constellation > i:nth-child(5) { left:31px; top:58px; transform:scale(.8); }
.gfl-brasil-constellation > i:nth-child(6) { left:86px; top:64px; }
.gfl-brasil-constellation > b {
  position:absolute;
  left:10px;
  top:9px;
  width:88px;
  height:58px;
  border:1px dashed rgba(29,78,216,.44);
  border-radius:50%;
  transform:rotate(12deg);
}
body[data-app-theme="brasil"] .gfl-theme-native-scene .gfl-brasil-ribbon-scene {
  right:13px;
  bottom:13px;
  display:block;
  width:145px;
  height:16px;
  border-radius:999px;
  background:linear-gradient(90deg,#15803d 0 38%,#facc15 38% 66%,#1d4ed8 66%);
  opacity:.20;
  transform:rotate(-4deg);
}
body[data-app-theme="brasil"] .gfl-theme-modal-emblem {
  top:auto;
  right:12px;
  bottom:12px;
  border-radius:8px;
  transform:rotate(2deg);
}

/* Intensidade e movimento respeitam a escolha sem igualar os seis ambientes. */
body[data-theme-intensity="suave"] .gfl-theme-native-scene { display:none !important; }
body[data-theme-intensity="festivo"] .gfl-theme-native-scene { opacity:1; }
body[data-theme-motion="off"] .gfl-theme-native-scene *,
body[data-theme-motion="off"] .gfl-theme-snow-clearer,
body[data-theme-motion="off"] .gfl-theme-snowbank { animation:none !important; transition:none !important; }

@media (prefers-reduced-motion:no-preference) {
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-snow-clearing="1"][data-app-theme="natal"] .sidebar > .gfl-theme-snowbank {
    animation:gflSnowMorningClear 5s cubic-bezier(.55,.02,.42,.98) both !important;
  }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-snow-clearing="1"][data-app-theme="natal"] .sidebar > .gfl-theme-snow-clearer {
    animation:gflSnowShovelSweep 5s cubic-bezier(.45,.02,.32,1) both !important;
  }
  body[data-theme-motion="on"][data-app-theme="natal"] .gfl-theme-particles span {
    animation:gflSnowCrystalFall var(--duration) linear var(--delay) infinite;
  }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="natal"] #appThemeDecor .gfl-theme-particles span {
    animation:gflSnowCrystalFall var(--duration) linear var(--delay) infinite !important;
  }
  body[data-theme-motion="on"][data-app-theme="natal"] .gfl-xmas-flight {
    animation:gflXmasFlight 6.4s ease-in-out infinite;
  }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="natal"] .gfl-xmas-flight {
    animation:gflXmasFlight 6.4s ease-in-out infinite !important;
  }
  body[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-newyear-rockets > i {
    animation:gflNewYearRocket 4.8s ease-out infinite;
  }
  body[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-newyear-rockets > i:nth-child(2) { animation-delay:-1.6s; }
  body[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-newyear-rockets > i:nth-child(3) { animation-delay:-3.2s; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-newyear-rockets > i {
    animation:gflNewYearRocket 4.8s ease-out infinite !important;
  }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-newyear-rockets > i:nth-child(2) { animation-delay:-1.6s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-newyear-rockets > i:nth-child(3) { animation-delay:-3.2s !important; }
  body[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-newyear-clock > b {
    animation:gflNewYearClockTick 1s steps(1,end) infinite;
  }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-newyear-clock > b {
    animation:gflNewYearClockTick 1s steps(1,end) infinite !important;
  }
  body[data-theme-motion="on"][data-app-theme="pascoa"] .gfl-easter-footprints > i {
    animation:gflEasterFootstep 3.8s ease-in-out infinite;
  }
  body[data-theme-motion="on"][data-app-theme="pascoa"] .gfl-easter-footprints > i:nth-child(even) { animation-delay:-1.9s; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="pascoa"] .gfl-easter-footprints > i {
    animation:gflEasterFootstep 3.8s ease-in-out infinite !important;
  }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="pascoa"] .gfl-easter-footprints > i:nth-child(even) { animation-delay:-1.9s !important; }
  body[data-theme-motion="on"][data-app-theme="carnaval"] .gfl-carnival-mask {
    animation:gflCarnivalMaskPulse 5.2s ease-in-out infinite;
  }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="carnaval"] .gfl-carnival-mask {
    animation:gflCarnivalMaskPulse 5.2s ease-in-out infinite !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .gfl-theme-native-scene *,
  .gfl-theme-snowbank,
  .gfl-theme-snow-clearer { animation:none !important; transition:none !important; }
}

@media (max-width:760px) {
  .gfl-theme-native-scene { display:none !important; }
  .sidebar > .gfl-theme-snow-clearer { display:none !important; }
}

/* ========================================================================== */
/* Theme Studio v5 · matéria, presença e movimentos exclusivos                */
/* ========================================================================== */

/* Mesmo o modo suave conserva a identidade; apenas reduz sua presença. */
body[data-theme-intensity="suave"][data-app-theme] .gfl-theme-native-scene {
  display:block !important;
  opacity:.52 !important;
}
body[data-theme-intensity="equilibrado"][data-app-theme] .gfl-theme-native-scene {
  opacity:.88;
}
body[data-theme-intensity="festivo"][data-app-theme] .gfl-theme-native-scene {
  opacity:1;
}

/* -------------------------------------------------------------------------- */
/* Natal · cristais desenhados e banco de neve orgânico, sem linha horizontal */
/* -------------------------------------------------------------------------- */

body[data-app-theme="natal"] .gfl-theme-particles {
  display:block !important;
  opacity:1 !important;
}
body[data-app-theme="natal"] .gfl-theme-particles span {
  --flake-alpha:.82;
  width:calc(13px + var(--size));
  height:calc(13px + var(--size));
  color:transparent;
  font-size:0;
  opacity:0;
  background-color:transparent;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23f8fdff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 3v58M7 18l50 28M57 18 7 46'/%3E%3Cpath d='m32 13-7 7m7-7 7 7m-7 31-7-7m7 7 7-7M16 23l10 1m-10-1 2-9m30 27-10-1m10 1-2 9M48 23l-10 1m10-1-2-9M16 41l10-1m-10 1 2 9'/%3E%3C/g%3E%3C/svg%3E") !important;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  filter:
    drop-shadow(0 0 1px rgba(42,82,113,.92))
    drop-shadow(0 0 5px rgba(147,197,253,.92));
  text-shadow:none;
}
body[data-app-theme="natal"] .gfl-theme-particles span::before { content:"" !important; }
body[data-app-theme="natal"] .gfl-theme-particles span:nth-child(3n+2) {
  --flake-alpha:.72;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='3.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 4v56M8 18l48 28M56 18 8 46'/%3E%3Cpath d='m32 18-6-6m6 6 6-6m-6 34-6 6m6-6 6 6M20 25l-8 2m8-2-2-8m26 22 8-2m-8 2 2 8M44 25l8 2m-8-2 2-8M20 39l-8-2m8 2-2 8'/%3E%3Cpath d='m32 25 6 3v8l-6 3-6-3v-8z'/%3E%3C/g%3E%3C/svg%3E") !important;
}
body[data-app-theme="natal"] .gfl-theme-particles span:nth-child(4n) {
  --flake-alpha:.92;
  width:calc(17px + var(--size));
  height:calc(17px + var(--size));
  color:transparent;
}
body[data-app-theme="natal"] .gfl-theme-particles span:nth-child(7n) {
  --flake-alpha:.66;
  width:calc(10px + var(--size));
  height:calc(10px + var(--size));
}

.sidebar > .gfl-theme-snowbank {
  background:
    radial-gradient(ellipse at 14% 12%,rgba(125,190,225,.56) 0 1.2px,transparent 1.8px) 0 0/31px 24px,
    radial-gradient(ellipse at 74% 64%,rgba(147,197,253,.45) 0 1.1px,transparent 1.7px) 0 0/37px 29px,
    repeating-linear-gradient(118deg,transparent 0 21px,rgba(186,230,253,.18) 22px 23px,transparent 24px 44px),
    linear-gradient(106deg,#ffffff 0%,#edf9ff 31%,#dff2ff 58%,#f9fdff 80%,#ffffff 100%);
  border-radius:0 0 22px 22px;
  box-shadow:none;
  filter:
    drop-shadow(0 -3px 3px rgba(191,219,254,.72))
    drop-shadow(0 -8px 13px rgba(125,211,252,.24));
  -webkit-mask:
    radial-gradient(ellipse 20% 29px at 1% 29px,#000 98%,transparent 100%),
    radial-gradient(ellipse 19% 24px at 17% 25px,#000 98%,transparent 100%),
    radial-gradient(ellipse 23% 33px at 36% 33px,#000 98%,transparent 100%),
    radial-gradient(ellipse 17% 23px at 54% 24px,#000 98%,transparent 100%),
    radial-gradient(ellipse 24% 31px at 72% 31px,#000 98%,transparent 100%),
    radial-gradient(ellipse 19% 26px at 89% 27px,#000 98%,transparent 100%),
    radial-gradient(ellipse 15% 22px at 101% 24px,#000 98%,transparent 100%),
    linear-gradient(#000 0 0) 0 28px/100% calc(100% - 27px) no-repeat;
  mask:
    radial-gradient(ellipse 20% 29px at 1% 29px,#000 98%,transparent 100%),
    radial-gradient(ellipse 19% 24px at 17% 25px,#000 98%,transparent 100%),
    radial-gradient(ellipse 23% 33px at 36% 33px,#000 98%,transparent 100%),
    radial-gradient(ellipse 17% 23px at 54% 24px,#000 98%,transparent 100%),
    radial-gradient(ellipse 24% 31px at 72% 31px,#000 98%,transparent 100%),
    radial-gradient(ellipse 19% 26px at 89% 27px,#000 98%,transparent 100%),
    radial-gradient(ellipse 15% 22px at 101% 24px,#000 98%,transparent 100%),
    linear-gradient(#000 0 0) 0 28px/100% calc(100% - 27px) no-repeat;
}
.sidebar > .gfl-theme-snowbank::before {
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:
    linear-gradient(165deg,transparent 0 47%,rgba(99,159,195,.22) 48% 49%,transparent 50%) 0 0/58px 39px,
    linear-gradient(22deg,transparent 0 48%,rgba(255,255,255,.80) 49% 50%,transparent 51%) 15px 9px/73px 47px;
  opacity:.72;
}
.sidebar > .gfl-theme-snowbank::after {
  content:"";
  position:absolute;
  z-index:1;
  inset:3px 0 0;
  background:
    radial-gradient(circle at 16% 18%,rgba(255,255,255,.96) 0 1px,transparent 1.7px) 0 0/19px 17px,
    radial-gradient(circle at 72% 68%,rgba(112,173,207,.38) 0 1px,transparent 1.6px) 0 0/29px 23px;
  opacity:.88;
}
.gfl-theme-snow-ridge {
  z-index:2;
  top:0;
  left:0;
  width:100%;
  height:43px;
  border-radius:0;
  background:
    radial-gradient(ellipse at 8% 76%,rgba(255,255,255,.98) 0 17px,transparent 18px),
    radial-gradient(ellipse at 28% 70%,rgba(238,249,255,.94) 0 22px,transparent 23px),
    radial-gradient(ellipse at 52% 82%,rgba(255,255,255,.98) 0 28px,transparent 29px),
    radial-gradient(ellipse at 76% 70%,rgba(226,245,255,.96) 0 22px,transparent 23px),
    radial-gradient(ellipse at 95% 79%,rgba(255,255,255,.98) 0 18px,transparent 19px);
  filter:drop-shadow(0 3px 2px rgba(148,197,226,.20));
}
.gfl-theme-snow-drift {
  position:absolute;
  z-index:3;
  display:block;
  width:46%;
  height:18px;
  border-radius:50%;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(216,239,252,.84));
  box-shadow:inset 0 -3px 5px rgba(125,190,225,.12);
  transform:rotate(-4deg);
}
.gfl-theme-snow-drift:nth-child(2) { top:4px; left:-9%; }
.gfl-theme-snow-drift:nth-child(3) { top:13px; left:23%; width:39%; transform:rotate(5deg); }
.gfl-theme-snow-drift:nth-child(4) { top:2px; right:9%; width:37%; transform:rotate(-2deg); }
.gfl-theme-snow-drift:nth-child(5) { top:18px; right:-13%; width:43%; transform:rotate(7deg); }
.gfl-theme-snow-crystal {
  z-index:4;
  color:rgba(55,126,169,.52);
  font-size:20px;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.78));
}
.gfl-theme-snow-crystal:nth-child(6) { left:15%; top:22%; transform:rotate(16deg); }
.gfl-theme-snow-crystal:nth-child(7) { right:13%; top:37%; transform:rotate(-12deg) scale(.75); }
.gfl-theme-snow-crystal:nth-child(8) { left:43%; bottom:15%; transform:rotate(32deg) scale(.58); }
.gfl-theme-snow-crystal:nth-child(9) { right:37%; top:63%; transform:rotate(-24deg) scale(.86); }
body[data-theme-snow-level="low"][data-app-theme="natal"] .gfl-theme-snow-ridge {
  height:20px;
  transform:scaleY(.62);
  transform-origin:bottom;
}
body[data-theme-snow-level="full"][data-app-theme="natal"] .sidebar > .gfl-theme-snowbank {
  filter:
    drop-shadow(0 -4px 4px rgba(191,219,254,.82))
    drop-shadow(0 -10px 18px rgba(125,211,252,.32));
}
body[data-app-theme="natal"] .gfl-xmas-flight { opacity:.68 !important; }
body[data-app-theme="natal"] .gfl-xmas-pine-corner { opacity:.58 !important; }

@keyframes gflSnowCrystalFall {
  0% { translate:0 -34px; rotate:0deg; opacity:0; }
  8% { opacity:var(--flake-alpha,.82); }
  38% { translate:21px 39vh; rotate:116deg; opacity:var(--flake-alpha,.82); }
  70% { translate:-13px 73vh; rotate:246deg; opacity:calc(var(--flake-alpha,.82) * .94); }
  100% { translate:10px 106vh; rotate:392deg; opacity:calc(var(--flake-alpha,.82) * .76); }
}

/* -------------------------------------------------------------------------- */
/* Ano-Novo · foguetes sobem e explodem em posições diferentes no horizonte   */
/* -------------------------------------------------------------------------- */

body[data-app-theme="ano_novo"] .gfl-theme-fireworks { display:none !important; }
body[data-app-theme="ano_novo"] .gfl-newyear-skyline { opacity:.36 !important; }
body[data-app-theme="ano_novo"] .gfl-newyear-rockets { opacity:.58 !important; }
body[data-app-theme="ano_novo"] .gfl-newyear-clock { opacity:.94 !important; }
body[data-app-theme="ano_novo"] .gfl-theme-native-scene .gfl-newyear-firework-show {
  position:absolute;
  top:54px;
  right:94px;
  display:block;
  width:430px;
  height:190px;
  opacity:.90;
  filter:drop-shadow(0 0 6px rgba(212,167,44,.36));
}
.gfl-newyear-firework-show > i {
  --burst-color:#c88a00;
  position:absolute;
  display:block;
  width:82px;
  height:82px;
  border-radius:50%;
  background:repeating-conic-gradient(from 1deg,var(--burst-color) 0 3.2deg,transparent 3.6deg 15deg);
  -webkit-mask:radial-gradient(circle,transparent 0 19%,#000 20% 31%,transparent 32% 47%,#000 48% 56%,transparent 57%);
  mask:radial-gradient(circle,transparent 0 19%,#000 20% 31%,transparent 32% 47%,#000 48% 56%,transparent 57%);
  transform:scale(.2);
  opacity:0;
}
.gfl-newyear-firework-show > i:nth-child(1) { top:4px; right:2px; }
.gfl-newyear-firework-show > i:nth-child(2) { top:74px; right:104px; --burst-color:#e1ad16; transform:scale(.2) rotate(8deg); }
.gfl-newyear-firework-show > i:nth-child(3) { top:13px; right:220px; width:66px; height:66px; --burst-color:#0284c7; }
.gfl-newyear-firework-show > i:nth-child(4) { top:91px; right:318px; width:58px; height:58px; --burst-color:#a21caf; }
.gfl-newyear-firework-show > b {
  position:absolute;
  bottom:-18px;
  display:block;
  width:2px;
  height:132px;
  border-radius:999px;
  background:linear-gradient(transparent 0 18%,rgba(255,255,255,.98) 19% 23%,#d49a0b 24% 70%,transparent 71%);
  box-shadow:0 0 5px rgba(212,154,11,.48);
  opacity:0;
  transform-origin:center bottom;
}
.gfl-newyear-firework-show > b:nth-of-type(1) { right:42px; transform:rotate(8deg); }
.gfl-newyear-firework-show > b:nth-of-type(2) { right:146px; height:104px; transform:rotate(-5deg); }
.gfl-newyear-firework-show > b:nth-of-type(3) { right:347px; height:86px; transform:rotate(12deg); }
@keyframes gflV5FireworkBurst {
  0%,38% { transform:scale(.16) rotate(-8deg); opacity:0; }
  47% { opacity:1; }
  61% { transform:scale(1) rotate(3deg); opacity:.96; }
  78%,100% { transform:scale(1.24) rotate(7deg); opacity:0; }
}
@keyframes gflV5FireworkLaunch {
  0%,8% { translate:0 115px; opacity:0; }
  18% { opacity:.95; }
  44% { translate:0 -24px; opacity:0; }
  45%,100% { opacity:0; }
}

/* -------------------------------------------------------------------------- */
/* Carnaval · um pequeno bloco atravessa a base; máscara e fitas ganham corpo  */
/* -------------------------------------------------------------------------- */

body[data-app-theme="carnaval"] .gfl-carnival-mask { opacity:.72 !important; }
body[data-app-theme="carnaval"] .gfl-carnival-beads { opacity:.70 !important; }
body[data-app-theme="carnaval"] .gfl-carnival-ribbon { opacity:.60 !important; }
body[data-app-theme="carnaval"] .gfl-theme-native-scene .gfl-carnival-parade {
  position:absolute;
  left:82px;
  bottom:13px;
  display:block;
  width:218px;
  height:56px;
  opacity:.78;
  filter:drop-shadow(0 4px 4px rgba(76,29,149,.20));
}
.gfl-carnival-parade > i {
  position:absolute;
  bottom:6px;
  display:block;
  width:17px;
  height:31px;
  border-radius:9px 9px 4px 4px;
  background:linear-gradient(#facc15 0 18%,#7c3aed 19% 64%,#ec4899 65%);
  transform-origin:center bottom;
}
.gfl-carnival-parade > i::before {
  content:"";
  position:absolute;
  left:3px;
  top:-11px;
  width:11px;
  height:11px;
  border-radius:50%;
  background:#8b5e3c;
  box-shadow:-5px -5px 0 -3px #facc15,5px -6px 0 -3px #06b6d4;
}
.gfl-carnival-parade > i:nth-child(1) { left:10px; }
.gfl-carnival-parade > i:nth-child(2) { left:48px; height:36px; background:linear-gradient(#06b6d4 0 18%,#ec4899 19% 64%,#facc15 65%); }
.gfl-carnival-parade > i:nth-child(3) { right:49px; height:29px; background:linear-gradient(#ec4899 0 18%,#facc15 19% 64%,#7c3aed 65%); }
.gfl-carnival-parade > i:nth-child(4) { right:10px; height:35px; background:linear-gradient(#7c3aed 0 18%,#06b6d4 19% 64%,#ec4899 65%); }
.gfl-carnival-parade > b {
  position:absolute;
  left:88px;
  bottom:5px;
  display:block;
  width:42px;
  height:42px;
  border:4px solid #f8fafc;
  border-radius:50%;
  background:radial-gradient(circle,#7c3aed 0 5px,#facc15 6px 8px,#ec4899 9px 15px,#06b6d4 16px);
  box-shadow:0 0 0 2px #7c3aed;
}
.gfl-carnival-parade > em {
  position:absolute;
  left:108px;
  bottom:38px;
  display:block;
  width:44px;
  height:3px;
  border-radius:999px;
  background:#8b5a2b;
  transform:rotate(-22deg);
  transform-origin:left center;
}
@keyframes gflV5CarnivalParade {
  0% { translate:-330px 0; }
  42%,58% { translate:calc(50vw - 125px) 0; }
  100% { translate:calc(100vw + 260px) 0; }
}
@keyframes gflV5CarnivalStep {
  0%,100% { transform:translateY(0) rotate(-3deg); }
  50% { transform:translateY(-6px) rotate(4deg); }
}
@keyframes gflV5CarnivalDrum {
  0%,100% { transform:rotate(-22deg); }
  48% { transform:rotate(18deg); }
}

/* -------------------------------------------------------------------------- */
/* Páscoa · pegadas acendem em sequência e o coelho verdadeiro espreita a tela */
/* -------------------------------------------------------------------------- */

body[data-app-theme="pascoa"] .gfl-easter-footprints { opacity:.58 !important; }
body[data-app-theme="pascoa"] .gfl-easter-meadow { opacity:.74 !important; }
body[data-app-theme="pascoa"] .gfl-theme-native-scene .gfl-easter-rabbit-peek {
  position:absolute;
  right:20px;
  bottom:-8px;
  display:block;
  width:76px;
  height:92px;
  opacity:.88;
  transform:translateY(67px);
  filter:drop-shadow(0 6px 6px rgba(57,90,73,.18));
}
body[data-app-theme="pascoa"] .gfl-easter-footprints > i {
  border-color:rgba(13,113,79,.72);
  background:rgba(167,243,208,.74);
  box-shadow:
    -5px -6px 0 -3px rgba(22,135,101,.82),
    5px -7px 0 -3px rgba(22,135,101,.82),
    0 2px 5px rgba(22,135,101,.18);
}
.gfl-easter-rabbit-peek > i {
  position:absolute;
  z-index:1;
  top:0;
  width:22px;
  height:55px;
  border:2px solid #d8e5dd;
  border-radius:70% 70% 45% 45%;
  background:linear-gradient(90deg,#fff,#edf5f0);
}
.gfl-easter-rabbit-peek > i::after {
  content:"";
  position:absolute;
  inset:7px 6px 12px;
  border-radius:999px;
  background:#f9a8d4;
  opacity:.64;
}
.gfl-easter-rabbit-peek > i:first-child { left:13px; transform:rotate(-9deg); }
.gfl-easter-rabbit-peek > i:nth-child(2) { right:13px; transform:rotate(9deg); }
.gfl-easter-rabbit-peek > b {
  position:absolute;
  z-index:2;
  left:8px;
  top:35px;
  display:block;
  width:60px;
  height:53px;
  border:2px solid #d8e5dd;
  border-radius:50% 50% 45% 45%;
  background:
    radial-gradient(circle at 34% 42%,#172033 0 2px,transparent 2.6px),
    radial-gradient(circle at 66% 42%,#172033 0 2px,transparent 2.6px),
    radial-gradient(ellipse at 50% 59%,#f9a8d4 0 4px,transparent 4.5px),
    linear-gradient(135deg,#fff,#edf5f0);
}
.gfl-easter-rabbit-peek > b::before,
.gfl-easter-rabbit-peek > b::after {
  content:"";
  position:absolute;
  top:34px;
  width:28px;
  height:1px;
  background:#82998d;
  box-shadow:0 5px #82998d;
}
.gfl-easter-rabbit-peek > b::before { right:43px; transform:rotate(8deg); }
.gfl-easter-rabbit-peek > b::after { left:43px; transform:rotate(-8deg); }
.gfl-easter-rabbit-peek > em {
  position:absolute;
  z-index:3;
  left:1px;
  bottom:0;
  display:block;
  width:74px;
  height:18px;
  border-radius:50% 50% 0 0;
  background:linear-gradient(#fff,#e7f2eb);
  box-shadow:inset 0 3px rgba(216,229,221,.72);
}
@keyframes gflV5RabbitPeek {
  0%,62%,100% { transform:translateY(68px) rotate(0); }
  69%,90% { transform:translateY(2px) rotate(0); }
  75% { transform:translateY(-2px) rotate(-2deg); }
  82% { transform:translateY(1px) rotate(2deg); }
}
@keyframes gflV5EasterTrail {
  0%,72%,100% { opacity:.20; transform:translateY(2px) scale(.88); }
  80%,92% { opacity:.88; transform:translateY(-2px) scale(1.08); }
}

/* -------------------------------------------------------------------------- */
/* Festa Junina · fogueira viva, brasas ascendentes, sanfona e bandeiras ao ar */
/* -------------------------------------------------------------------------- */

body[data-app-theme="festa_junina"] .gfl-junina-campfire { opacity:.86 !important; }
body[data-app-theme="festa_junina"] .gfl-junina-lantern-line { opacity:.76 !important; }
body[data-app-theme="festa_junina"] .gfl-theme-flags { opacity:1 !important; filter:drop-shadow(0 3px 2px rgba(82,48,28,.18)); }
body[data-app-theme="festa_junina"] .gfl-theme-native-scene .gfl-junina-embers {
  position:absolute;
  right:27px;
  bottom:62px;
  display:block;
  width:62px;
  height:102px;
}
.gfl-junina-embers > i {
  --ember-x:12px;
  position:absolute;
  left:var(--ember-x);
  bottom:0;
  display:block;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#facc15;
  box-shadow:0 0 4px #fff7b2,0 0 10px #f97316;
  opacity:0;
}
.gfl-junina-embers > i:nth-child(2) { --ember-x:25px; width:3px; height:3px; }
.gfl-junina-embers > i:nth-child(3) { --ember-x:39px; }
.gfl-junina-embers > i:nth-child(4) { --ember-x:52px; width:2px; height:2px; }
.gfl-junina-embers > i:nth-child(5) { --ember-x:6px; width:3px; height:3px; }
.gfl-junina-embers > i:nth-child(6) { --ember-x:32px; width:2px; height:2px; }
.gfl-junina-embers > i:nth-child(7) { --ember-x:45px; width:3px; height:3px; }
.gfl-junina-embers > i:nth-child(8) { --ember-x:18px; width:2px; height:2px; }
body[data-app-theme="festa_junina"] .gfl-theme-native-scene .gfl-junina-accordion {
  position:absolute;
  left:86px;
  bottom:17px;
  display:block;
  width:88px;
  height:48px;
  opacity:.76;
  filter:drop-shadow(0 5px 4px rgba(82,48,28,.20));
}
.gfl-junina-accordion > i,
.gfl-junina-accordion > em {
  position:absolute;
  top:3px;
  display:block;
  width:24px;
  height:42px;
  border:2px solid #6f431d;
  border-radius:4px;
  background:
    radial-gradient(circle,#f8fafc 0 2px,transparent 2.5px) 4px 5px/10px 10px,
    linear-gradient(135deg,#b91c1c,#7f1d1d);
}
.gfl-junina-accordion > i { left:0; }
.gfl-junina-accordion > em { right:0; }
.gfl-junina-accordion > b {
  position:absolute;
  left:22px;
  top:7px;
  display:block;
  width:44px;
  height:35px;
  border-top:2px solid #6f431d;
  border-bottom:2px solid #6f431d;
  background:repeating-linear-gradient(90deg,#facc15 0 4px,#8b5a2b 4px 7px);
  clip-path:polygon(0 0,100% 8%,100% 92%,0 100%);
}
@keyframes gflV5EmberRise {
  0% { translate:0 14px; scale:.6; opacity:0; }
  16% { opacity:1; }
  72% { translate:11px -72px; scale:1; opacity:.72; }
  100% { translate:-5px -98px; scale:.35; opacity:0; }
}
@keyframes gflV5Campfire {
  0%,100% { transform:scaleY(.94) rotate(-2deg); filter:brightness(.98); }
  50% { transform:scaleY(1.08) rotate(2deg); filter:brightness(1.18); }
}
@keyframes gflV5Accordion {
  0%,100% { transform:scaleX(.82); }
  50% { transform:scaleX(1.08); }
}
@keyframes gflV5FlagBreeze {
  0%,100% { transform:rotate(var(--flag-rotation,0deg)) skewX(0); }
  50% { transform:rotate(calc(var(--flag-rotation,0deg) + 3deg)) skewX(-4deg); }
}

/* -------------------------------------------------------------------------- */
/* Brasil · Cruzeiro do Sul luminoso e faixa que ondula como tecido           */
/* -------------------------------------------------------------------------- */

body[data-app-theme="brasil"] .gfl-brasil-constellation { opacity:.78 !important; filter:drop-shadow(0 0 6px rgba(250,204,21,.60)); }
body[data-app-theme="brasil"] .gfl-brasil-ribbon-scene { opacity:.78 !important; box-shadow:0 3px 8px rgba(15,118,78,.18); }
body[data-app-theme="brasil"] .gfl-theme-native-scene .gfl-brasil-pulse {
  position:absolute;
  right:25px;
  top:66px;
  display:block;
  width:138px;
  height:105px;
  opacity:.88;
}
.gfl-brasil-pulse > i {
  position:absolute;
  display:block;
  width:10px;
  height:10px;
  background:#facc15;
  clip-path:polygon(50% 0,61% 36%,100% 50%,61% 64%,50% 100%,39% 64%,0 50%,39% 36%);
  filter:drop-shadow(0 0 5px rgba(250,204,21,.70));
}
.gfl-brasil-pulse > i:nth-child(1) { left:20px; top:26px; }
.gfl-brasil-pulse > i:nth-child(2) { left:58px; top:8px; transform:scale(.72); }
.gfl-brasil-pulse > i:nth-child(3) { right:16px; top:47px; transform:scale(.86); }
.gfl-brasil-pulse > b {
  position:absolute;
  left:8px;
  top:4px;
  display:block;
  width:115px;
  height:82px;
  border:2px solid rgba(29,78,216,.52);
  border-right-color:rgba(250,204,21,.76);
  border-radius:50%;
  transform:rotate(-9deg);
}
@keyframes gflV5BrasilStar {
  0%,100% { opacity:.44; filter:drop-shadow(0 0 2px rgba(250,204,21,.28)); }
  50% { opacity:1; filter:drop-shadow(0 0 9px rgba(250,204,21,.92)); }
}
@keyframes gflV5BrasilRibbon {
  0%,100% { transform:rotate(-4deg) skewX(-4deg) scaleX(.96); }
  50% { transform:rotate(-1deg) skewX(5deg) scaleX(1.04); }
}

/* Os detalhes de modal ficam presentes, sem cobrir conteúdo operacional. */
body[data-app-theme] .gfl-theme-modal-scene { opacity:.76; }
body[data-app-theme] .gfl-theme-modal-trim { opacity:.82; }
body[data-app-theme] .gfl-theme-modal-emblem { opacity:.94; }

@media (prefers-reduced-motion:no-preference) {
  body[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-newyear-firework-show > i {
    animation:gflV5FireworkBurst 6.6s ease-out infinite;
  }
  body[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-newyear-firework-show > i:nth-child(2) { animation-delay:-1.7s; }
  body[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-newyear-firework-show > i:nth-child(3) { animation-delay:-3.4s; }
  body[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-newyear-firework-show > i:nth-child(4) { animation-delay:-5.1s; }
  body[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-newyear-firework-show > b {
    animation:gflV5FireworkLaunch 6.6s ease-in infinite;
  }
  body[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-newyear-firework-show > b:nth-of-type(2) { animation-delay:-2.2s; }
  body[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-newyear-firework-show > b:nth-of-type(3) { animation-delay:-4.4s; }

  body[data-theme-motion="on"][data-app-theme="carnaval"] .gfl-carnival-parade {
    animation:gflV5CarnivalParade 25s linear infinite;
  }
  body[data-theme-motion="on"][data-app-theme="carnaval"] .gfl-carnival-parade > i {
    animation:gflV5CarnivalStep .72s ease-in-out infinite;
  }
  body[data-theme-motion="on"][data-app-theme="carnaval"] .gfl-carnival-parade > i:nth-child(even) { animation-delay:-.36s; }
  body[data-theme-motion="on"][data-app-theme="carnaval"] .gfl-carnival-parade > em {
    animation:gflV5CarnivalDrum .48s ease-in-out infinite;
  }

  body[data-theme-motion="on"][data-app-theme="pascoa"] .gfl-easter-rabbit-peek {
    animation:gflV5RabbitPeek 12s ease-in-out infinite;
  }
  body[data-theme-motion="on"][data-app-theme="pascoa"] .gfl-easter-footprints > i {
    animation:gflV5EasterTrail 7.2s ease-in-out infinite;
  }
  body[data-theme-motion="on"][data-app-theme="pascoa"] .gfl-easter-footprints > i:nth-child(2) { animation-delay:-1.2s; }
  body[data-theme-motion="on"][data-app-theme="pascoa"] .gfl-easter-footprints > i:nth-child(3) { animation-delay:-2.4s; }
  body[data-theme-motion="on"][data-app-theme="pascoa"] .gfl-easter-footprints > i:nth-child(4) { animation-delay:-3.6s; }
  body[data-theme-motion="on"][data-app-theme="pascoa"] .gfl-easter-footprints > i:nth-child(5) { animation-delay:-4.8s; }
  body[data-theme-motion="on"][data-app-theme="pascoa"] .gfl-easter-footprints > i:nth-child(6) { animation-delay:-6s; }

  body[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-junina-embers > i {
    animation:gflV5EmberRise 4.2s ease-out infinite;
  }
  body[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-junina-embers > i:nth-child(2) { animation-delay:-.55s; }
  body[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-junina-embers > i:nth-child(3) { animation-delay:-1.1s; }
  body[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-junina-embers > i:nth-child(4) { animation-delay:-1.65s; }
  body[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-junina-embers > i:nth-child(5) { animation-delay:-2.2s; }
  body[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-junina-embers > i:nth-child(6) { animation-delay:-2.75s; }
  body[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-junina-embers > i:nth-child(7) { animation-delay:-3.3s; }
  body[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-junina-embers > i:nth-child(8) { animation-delay:-3.85s; }
  body[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-junina-campfire > i {
    animation:gflV5Campfire 1.35s ease-in-out infinite alternate;
  }
  body[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-junina-accordion > b {
    animation:gflV5Accordion 2.4s ease-in-out infinite;
    transform-origin:center;
  }
  body[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-theme-flags i {
    animation:gflV5FlagBreeze 2.8s ease-in-out infinite;
  }

  body[data-theme-motion="on"][data-app-theme="brasil"] .gfl-brasil-pulse > i,
  body[data-theme-motion="on"][data-app-theme="brasil"] .gfl-brasil-constellation > i {
    animation:gflV5BrasilStar 3.2s ease-in-out infinite;
  }
  body[data-theme-motion="on"][data-app-theme="brasil"] .gfl-brasil-pulse > i:nth-child(2),
  body[data-theme-motion="on"][data-app-theme="brasil"] .gfl-brasil-constellation > i:nth-child(even) { animation-delay:-1.1s; }
  body[data-theme-motion="on"][data-app-theme="brasil"] .gfl-brasil-pulse > i:nth-child(3) { animation-delay:-2.2s; }
  body[data-theme-motion="on"][data-app-theme="brasil"] .gfl-brasil-ribbon-scene {
    animation:gflV5BrasilRibbon 4.8s ease-in-out infinite;
  }

  /* O modo de desempenho do Electron só libera as animações temáticas abaixo. */
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-newyear-firework-show > i { animation:gflV5FireworkBurst 6.6s ease-out infinite !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-newyear-firework-show > i:nth-child(2) { animation-delay:-1.7s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-newyear-firework-show > i:nth-child(3) { animation-delay:-3.4s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-newyear-firework-show > i:nth-child(4) { animation-delay:-5.1s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-newyear-firework-show > b { animation:gflV5FireworkLaunch 6.6s ease-in infinite !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-newyear-firework-show > b:nth-of-type(2) { animation-delay:-2.2s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="ano_novo"] .gfl-newyear-firework-show > b:nth-of-type(3) { animation-delay:-4.4s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="carnaval"] .gfl-carnival-parade { animation:gflV5CarnivalParade 25s linear infinite !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="carnaval"] .gfl-carnival-parade > i { animation:gflV5CarnivalStep .72s ease-in-out infinite !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="carnaval"] .gfl-carnival-parade > i:nth-child(even) { animation-delay:-.36s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="carnaval"] .gfl-carnival-parade > em { animation:gflV5CarnivalDrum .48s ease-in-out infinite !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="pascoa"] .gfl-easter-rabbit-peek { animation:gflV5RabbitPeek 12s ease-in-out infinite !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="pascoa"] .gfl-easter-footprints > i { animation:gflV5EasterTrail 7.2s ease-in-out infinite !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="pascoa"] .gfl-easter-footprints > i:nth-child(2) { animation-delay:-1.2s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="pascoa"] .gfl-easter-footprints > i:nth-child(3) { animation-delay:-2.4s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="pascoa"] .gfl-easter-footprints > i:nth-child(4) { animation-delay:-3.6s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="pascoa"] .gfl-easter-footprints > i:nth-child(5) { animation-delay:-4.8s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="pascoa"] .gfl-easter-footprints > i:nth-child(6) { animation-delay:-6s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-junina-embers > i { animation:gflV5EmberRise 4.2s ease-out infinite !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-junina-embers > i:nth-child(2) { animation-delay:-.55s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-junina-embers > i:nth-child(3) { animation-delay:-1.1s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-junina-embers > i:nth-child(4) { animation-delay:-1.65s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-junina-embers > i:nth-child(5) { animation-delay:-2.2s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-junina-embers > i:nth-child(6) { animation-delay:-2.75s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-junina-embers > i:nth-child(7) { animation-delay:-3.3s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-junina-embers > i:nth-child(8) { animation-delay:-3.85s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-junina-campfire > i { animation:gflV5Campfire 1.35s ease-in-out infinite alternate !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-junina-accordion > b { animation:gflV5Accordion 2.4s ease-in-out infinite !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="festa_junina"] .gfl-theme-flags i { animation:gflV5FlagBreeze 2.8s ease-in-out infinite !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="brasil"] :is(.gfl-brasil-pulse,.gfl-brasil-constellation) > i { animation:gflV5BrasilStar 3.2s ease-in-out infinite !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="brasil"] :is(.gfl-brasil-pulse,.gfl-brasil-constellation) > i:nth-child(even) { animation-delay:-1.1s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="brasil"] .gfl-brasil-pulse > i:nth-child(3) { animation-delay:-2.2s !important; }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="brasil"] .gfl-brasil-ribbon-scene { animation:gflV5BrasilRibbon 4.8s ease-in-out infinite !important; }
}

@media (prefers-reduced-motion:reduce) {
  :is(.gfl-newyear-firework-show,.gfl-carnival-parade,.gfl-easter-rabbit-peek,.gfl-junina-embers,.gfl-junina-accordion,.gfl-brasil-pulse) * {
    animation:none !important;
  }
  .gfl-easter-rabbit-peek { transform:translateY(5px) !important; }
  .gfl-carnival-parade { translate:calc(50vw - 125px) 0 !important; }
}

/* ========================================================================== */
/* Theme Studio v6 · materiais realistas e neve sem interferir na leitura     */
/* ========================================================================== */

/* Neve global: menos elementos, menor escala e transparência graduada no miolo. */
body[data-app-theme="natal"] .gfl-theme-particles {
  -webkit-mask-image:linear-gradient(90deg,#000 0 13%,rgba(0,0,0,.30) 27% 76%,rgba(0,0,0,.74) 91%,#000);
  mask-image:linear-gradient(90deg,#000 0 13%,rgba(0,0,0,.30) 27% 76%,rgba(0,0,0,.74) 91%,#000);
}
body[data-app-theme="natal"] .gfl-theme-particles span {
  --flake-alpha:.42;
  width:calc(7px + var(--size));
  height:calc(7px + var(--size));
  filter:
    drop-shadow(0 1px 1px rgba(49,85,111,.42))
    drop-shadow(0 0 3px rgba(255,255,255,.88));
}
body[data-app-theme="natal"] .gfl-theme-particles span:nth-child(3n+2) { --flake-alpha:.34; }
body[data-app-theme="natal"] .gfl-theme-particles span:nth-child(4n) {
  --flake-alpha:.52;
  width:calc(9px + var(--size));
  height:calc(9px + var(--size));
}
body[data-app-theme="natal"] .gfl-theme-particles span:nth-child(7n) {
  --flake-alpha:.28;
  width:calc(6px + var(--size));
  height:calc(6px + var(--size));
}
/* Esses corredores pertencem à sidebar e passam a ser desenhados por ela. */
body[data-app-theme="natal"] .gfl-theme-particles span:is(:nth-child(1),:nth-child(2),:nth-child(14)) {
  display:none;
}

/* Nevasca local: o limite inferior acompanha a altura acumulada da neve. */
.sidebar > .gfl-theme-sidebar-snowfall {
  position:absolute;
  z-index:1;
  top:0;
  right:0;
  bottom:var(--gfl-theme-snow-progress,0%);
  left:0;
  display:none;
  overflow:hidden;
  contain:strict;
  pointer-events:none;
  transition:bottom 1.8s linear;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 5%,#000 91%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0,#000 5%,#000 91%,transparent 100%);
}
body[data-app-theme="natal"] .sidebar > .gfl-theme-sidebar-snowfall { display:block; }
.gfl-theme-sidebar-snowfall > i {
  --landing-offset:4px;
  --local-alpha:.58;
  --local-duration:10.4s;
  --local-delay:0s;
  position:absolute;
  top:-16px;
  left:8%;
  display:block;
  width:10px;
  height:10px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 4v56M8 18l48 28M56 18 8 46'/%3E%3Cpath d='m32 14-7 7m7-7 7 7m-7 29-7-7m7 7 7-7M17 23l10 2m-10-2 2-9m28 27-10-2m10 2-2 9M47 23l-10 2m10-2-2-9M17 41l10-2m-10 2 2 9'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
  filter:drop-shadow(0 1px 1px rgba(19,62,48,.52));
  opacity:0;
}
.gfl-theme-sidebar-snowfall > i:nth-child(2) { left:20%; width:8px; height:8px; --landing-offset:10px; --local-alpha:.48; --local-duration:11.8s; --local-delay:-7.1s; }
.gfl-theme-sidebar-snowfall > i:nth-child(3) { left:32%; width:11px; height:11px; --landing-offset:17px; --local-duration:9.7s; --local-delay:-2.8s; }
.gfl-theme-sidebar-snowfall > i:nth-child(4) { left:44%; width:7px; height:7px; --landing-offset:6px; --local-alpha:.44; --local-duration:13.2s; --local-delay:-10.4s; }
.gfl-theme-sidebar-snowfall > i:nth-child(5) { left:56%; width:10px; height:10px; --landing-offset:13px; --local-duration:10.6s; --local-delay:-5.6s; }
.gfl-theme-sidebar-snowfall > i:nth-child(6) { left:68%; width:8px; height:8px; --landing-offset:19px; --local-alpha:.46; --local-duration:12.6s; --local-delay:-1.4s; }
.gfl-theme-sidebar-snowfall > i:nth-child(7) { left:79%; width:11px; height:11px; --landing-offset:8px; --local-duration:9.2s; --local-delay:-8.3s; }
.gfl-theme-sidebar-snowfall > i:nth-child(8) { left:89%; width:7px; height:7px; --landing-offset:15px; --local-alpha:.42; --local-duration:14s; --local-delay:-4.2s; }
.gfl-theme-sidebar-snowfall > i:nth-child(9) { left:96%; width:9px; height:9px; --landing-offset:5px; --local-duration:11.2s; --local-delay:-9.5s; }
.shell:not(.nav-expanded) .sidebar > .gfl-theme-sidebar-snowfall > i:nth-child(even) { display:none; }
.shell:not(.nav-expanded) .sidebar > .gfl-theme-sidebar-snowfall > i:nth-child(1) { left:10%; }
.shell:not(.nav-expanded) .sidebar > .gfl-theme-sidebar-snowfall > i:nth-child(3) { left:29%; }
.shell:not(.nav-expanded) .sidebar > .gfl-theme-sidebar-snowfall > i:nth-child(5) { left:49%; }
.shell:not(.nav-expanded) .sidebar > .gfl-theme-sidebar-snowfall > i:nth-child(7) { left:69%; }
.shell:not(.nav-expanded) .sidebar > .gfl-theme-sidebar-snowfall > i:nth-child(9) { left:88%; }
.sidebar > .gfl-theme-snowbank { z-index:2; }

@keyframes gflV6SidebarSnowContact {
  0% { top:-16px; translate:0 0; rotate:0deg; opacity:0; }
  9% { opacity:var(--local-alpha,.58); }
  44% { translate:5px 0; rotate:138deg; }
  76% { translate:-4px 0; rotate:272deg; opacity:var(--local-alpha,.58); }
  96% { opacity:calc(var(--local-alpha,.58) * .88); }
  100% {
    top:calc(100% - 10px - var(--landing-offset));
    translate:2px 0;
    rotate:382deg;
    opacity:0;
  }
}

/* Pisca-pisca: fio curvo, soquete, vidro, reflexo e brilho alternado. */
body[data-app-theme="natal"] .gfl-theme-lights {
  position:absolute;
  display:flex;
  align-items:flex-start;
  justify-content:space-around;
  height:20px;
  padding:0 7px;
  overflow:visible;
  border:0;
  background:
    radial-gradient(ellipse 64px 19px at 50% -8px,transparent 0 61px,#183f2f 62px 63px,transparent 64px) 0 0/128px 19px repeat-x;
  filter:drop-shadow(0 2px 2px rgba(6,35,23,.28));
}
body[data-app-theme="natal"] .gfl-theme-lights i {
  --bulb:#ef4444;
  --bulb-delay:0s;
  position:relative;
  top:1px;
  width:8px;
  height:12px;
  margin:0;
  border:1px solid color-mix(in srgb,var(--bulb) 72%,#3b2017);
  border-radius:46% 46% 58% 58%;
  background:
    radial-gradient(circle at 31% 21%,rgba(255,255,255,.98) 0 1px,transparent 1.7px),
    linear-gradient(145deg,color-mix(in srgb,var(--bulb) 42%,#fff),var(--bulb) 52%,color-mix(in srgb,var(--bulb) 72%,#301510));
  box-shadow:
    inset -2px -3px 3px rgba(44,18,12,.24),
    inset 1px 1px 2px rgba(255,255,255,.54),
    0 0 4px var(--bulb),
    0 0 10px color-mix(in srgb,var(--bulb) 55%,transparent);
  transform-origin:50% -4px;
}
body[data-app-theme="natal"] .gfl-theme-lights i::before {
  content:"";
  position:absolute;
  top:-5px;
  left:1px;
  width:6px;
  height:5px;
  border-radius:2px 2px 1px 1px;
  background:linear-gradient(90deg,#142e24,#426453 45%,#142e24);
  box-shadow:0 -1px 0 rgba(255,255,255,.20);
}
body[data-app-theme="natal"] .gfl-theme-lights i::after {
  content:"";
  position:absolute;
  top:2px;
  left:2px;
  width:2px;
  height:5px;
  border-radius:999px;
  background:linear-gradient(rgba(255,255,255,.92),transparent);
}
body[data-app-theme="natal"] .gfl-theme-lights i:nth-child(4n+2) { --bulb:#f6bd22; }
body[data-app-theme="natal"] .gfl-theme-lights i:nth-child(4n+3) { --bulb:#38bdf8; }
body[data-app-theme="natal"] .gfl-theme-lights i:nth-child(4n) { --bulb:#22c55e; }
body[data-app-theme="natal"] .gfl-theme-lights i:nth-child(6n+1) { top:0; }
body[data-app-theme="natal"] .gfl-theme-lights i:nth-child(6n+2) { top:3px; }
body[data-app-theme="natal"] .gfl-theme-lights i:nth-child(6n+3) { top:6px; }
body[data-app-theme="natal"] .gfl-theme-lights i:nth-child(6n+4) { top:8px; }
body[data-app-theme="natal"] .gfl-theme-lights i:nth-child(6n+5) { top:5px; }
body[data-app-theme="natal"] .gfl-theme-lights i:nth-child(6n) { top:2px; }
body[data-app-theme="natal"] .gfl-theme-lights i:nth-child(6n+2) { --bulb-delay:-.7s; }
body[data-app-theme="natal"] .gfl-theme-lights i:nth-child(6n+3) { --bulb-delay:-1.4s; }
body[data-app-theme="natal"] .gfl-theme-lights i:nth-child(6n+4) { --bulb-delay:-2.1s; }
body[data-app-theme="natal"] .gfl-theme-lights i:nth-child(6n+5) { --bulb-delay:-2.8s; }
body[data-app-theme="natal"] .gfl-theme-lights i:nth-child(6n) { --bulb-delay:-3.5s; }
body[data-app-theme="natal"] .gfl-theme-sidebar-rail {
  width:9px;
  background:
    radial-gradient(circle at 50% 10px,#c81e1e 0 2px,#6f1010 2.2px 2.8px,transparent 3px) 0 0/9px 37px repeat-y,
    repeating-conic-gradient(from 26deg at 50% 7px,#174f34 0 13deg,#2f8a58 14deg 25deg,transparent 26deg 44deg) 0 0/9px 18px repeat-y;
  filter:drop-shadow(1px 1px 1px rgba(5,42,26,.46));
}
@keyframes gflV6BulbGlow {
  0%,100% { filter:brightness(.68) saturate(.86); opacity:.76; }
  18% { filter:brightness(.82) saturate(.94); opacity:.84; }
  42% { filter:brightness(1.28) saturate(1.18); opacity:1; }
  56% { filter:brightness(1.08) saturate(1.06); opacity:.95; }
  74% { filter:brightness(.78) saturate(.90); opacity:.80; }
}

/* Ano-Novo: vidro no relógio, metal nos foguetes e profundidade nos fogos. */
body[data-app-theme="ano_novo"] .gfl-newyear-clock {
  background:
    linear-gradient(128deg,rgba(255,255,255,.72) 0 17%,transparent 18% 56%,rgba(255,255,255,.28) 57% 68%,transparent 69%),
    radial-gradient(circle at 50% 50%,#fff 0 2px,rgba(255,252,242,.94) 2.5px 68%,transparent 69%) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.94),
    inset -5px -7px 10px rgba(146,103,13,.12),
    0 0 0 5px rgba(212,167,44,.10),
    0 8px 22px rgba(15,23,42,.18) !important;
}
.gfl-newyear-firework-show > i {
  filter:
    drop-shadow(0 0 2px #fff)
    drop-shadow(0 0 7px color-mix(in srgb,var(--burst-color) 82%,transparent))
    drop-shadow(0 0 16px color-mix(in srgb,var(--burst-color) 38%,transparent));
}
.gfl-newyear-firework-show > i::after {
  content:"";
  position:absolute;
  inset:42%;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 4px #fff,0 0 11px var(--burst-color);
}
.gfl-newyear-rockets > i::after {
  box-shadow:inset 1px 1px 2px rgba(255,255,255,.68),0 0 7px rgba(212,167,44,.62);
}
.gfl-newyear-skyline > i {
  box-shadow:inset 2px 0 rgba(255,255,255,.08),-2px 0 5px rgba(15,23,42,.16);
}

/* Carnaval: metal, cetim, contas facetadas e sombra de desfile. */
body[data-app-theme="carnaval"] .gfl-carnival-mask {
  border-color:#d6a929;
  background:
    radial-gradient(ellipse at 24% 30%,rgba(255,255,255,.58) 0 5px,transparent 6px),
    linear-gradient(155deg,#9f67f1 0 17%,#6d28d9 38%,#be185d 72%,#f472b6 100%);
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.18),
    inset -8px -8px 15px rgba(76,29,149,.26),
    0 7px 16px rgba(76,29,149,.30);
}
body[data-app-theme="carnaval"] .gfl-carnival-mask::before {
  content:"";
  position:absolute;
  inset:4px;
  border:1px solid rgba(255,236,163,.46);
  border-radius:inherit;
  background:repeating-radial-gradient(circle at 50% 50%,transparent 0 8px,rgba(255,255,255,.08) 9px 10px);
}
.gfl-carnival-beads > i {
  background:
    radial-gradient(circle at 32% 28%,#fff 0 1px,transparent 1.5px),
    linear-gradient(145deg,color-mix(in srgb,currentColor 40%,#fff),currentColor 58%,#30134f) !important;
  box-shadow:inset -2px -2px 2px rgba(33,10,55,.30),0 2px 5px rgba(15,23,42,.24);
}
body[data-app-theme="carnaval"] .gfl-carnival-beads > i:nth-child(3n+1) { color:#7c3aed; }
body[data-app-theme="carnaval"] .gfl-carnival-beads > i:nth-child(3n+2) { color:#ec4899; }
body[data-app-theme="carnaval"] .gfl-carnival-beads > i:nth-child(3n) { color:#eab308; }
.gfl-carnival-parade {
  filter:drop-shadow(0 6px 5px rgba(76,29,149,.28)) !important;
}

/* Páscoa: volume de pelagem, brilho dos ovos e vegetação com sombra. */
.gfl-easter-rabbit-peek > i {
  background:
    linear-gradient(96deg,rgba(211,226,217,.65),transparent 22% 76%,rgba(179,202,188,.46)),
    repeating-linear-gradient(82deg,#fff 0 2px,#eef5f0 3px 4px);
  box-shadow:inset 3px 0 5px rgba(177,201,187,.22),0 3px 5px rgba(57,90,73,.13);
}
.gfl-easter-rabbit-peek > b {
  background:
    radial-gradient(circle at 34% 42%,#fff 0 1px,#172033 1.5px 3px,transparent 3.4px),
    radial-gradient(circle at 66% 42%,#fff 0 1px,#172033 1.5px 3px,transparent 3.4px),
    radial-gradient(ellipse at 50% 59%,#f9a8d4 0 4px,transparent 4.5px),
    repeating-linear-gradient(105deg,#fff 0 3px,#edf5f0 4px 6px);
  box-shadow:inset -6px -6px 10px rgba(179,202,188,.22),0 5px 8px rgba(57,90,73,.17);
}
.gfl-easter-meadow > i {
  box-shadow:
    inset 3px 3px 4px rgba(255,255,255,.76),
    inset -4px -5px 7px rgba(124,58,237,.12),
    0 4px 7px rgba(57,90,73,.17);
}
.gfl-easter-meadow::before {
  filter:drop-shadow(0 3px 2px rgba(22,101,72,.22));
}

/* Festa Junina: papel canelado, luz interna, madeira e couro da sanfona. */
.gfl-junina-lantern-line > i {
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.28) 0 1px,transparent 1px 4px),
    linear-gradient(90deg,#b91c1c 0 35%,#efb914 36% 66%,#1d4ed8 67%);
  box-shadow:
    inset 0 0 8px rgba(255,247,178,.66),
    0 0 8px rgba(249,115,22,.48),
    0 5px 7px rgba(82,48,28,.20);
}
.gfl-junina-campfire > i {
  filter:drop-shadow(0 0 5px rgba(249,115,22,.74)) drop-shadow(0 0 12px rgba(250,204,21,.38));
}
.gfl-junina-campfire > b,
.gfl-junina-campfire > em {
  background:
    repeating-linear-gradient(12deg,transparent 0 5px,rgba(54,28,12,.32) 6px 7px),
    linear-gradient(90deg,#543016,#b7791f,#6f431d);
  box-shadow:inset 0 2px 2px rgba(255,210,125,.22),0 4px 5px rgba(82,48,28,.28);
}
.gfl-junina-accordion > i,
.gfl-junina-accordion > em {
  background:
    radial-gradient(circle,#f8fafc 0 2px,#7f1d1d 2.5px 3px,transparent 3.5px) 4px 5px/10px 10px,
    repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 2px,transparent 2px 5px),
    linear-gradient(135deg,#c43a32,#6f1717);
  box-shadow:inset -4px -4px 6px rgba(64,15,13,.30),0 4px 7px rgba(82,48,28,.24);
}

/* Brasil: tecido com trama, faixa iluminada e estrelas com profundidade. */
body[data-app-theme="brasil"] .gfl-brasil-ribbon-scene {
  background:
    repeating-linear-gradient(112deg,rgba(255,255,255,.18) 0 1px,transparent 1px 4px),
    linear-gradient(90deg,#0f7a39 0 38%,#e9bd14 38% 66%,#2056c7 66%);
  box-shadow:
    inset 0 2px 2px rgba(255,255,255,.36),
    inset 0 -3px 4px rgba(15,23,42,.18),
    0 5px 9px rgba(15,118,78,.24) !important;
}
.gfl-brasil-pulse > i,
.gfl-brasil-constellation > i {
  background:linear-gradient(135deg,#fff7b2,#facc15 48%,#b78709);
  filter:drop-shadow(0 1px 1px rgba(79,57,6,.42)) drop-shadow(0 0 7px rgba(250,204,21,.72));
}
.gfl-brasil-pulse > b {
  box-shadow:inset 0 0 8px rgba(29,78,216,.11),0 0 8px rgba(250,204,21,.18);
}

/* Superfícies sazonais: profundidade limpa sem alterar o layout. */
body[data-app-theme] .gfl-theme-modal-surface {
  box-shadow:
    0 24px 60px rgba(15,23,42,.24),
    0 3px 9px rgba(15,23,42,.12),
    inset 0 1px rgba(255,255,255,.86);
}

/* Acabamento dos filetes culturais: cada material reage à luz de forma própria. */
body[data-app-theme="natal"] :is(.gfl-theme-surface-trim,.gfl-theme-modal-trim) {
  background:
    radial-gradient(circle at 4px 4px,rgba(255,255,255,.98) 0 1px,transparent 1.5px) 0 0/52px 8px repeat-x,
    radial-gradient(ellipse at 5px 4px,#ef4444 0 2.2px,#8f1414 2.5px 3px,transparent 3.3px) 0 0/52px 8px repeat-x,
    radial-gradient(ellipse at 5px 4px,#f6bd22 0 2.2px,#8a5b08 2.5px 3px,transparent 3.3px) 13px 0/52px 8px repeat-x,
    radial-gradient(ellipse at 5px 4px,#38bdf8 0 2.2px,#0b638d 2.5px 3px,transparent 3.3px) 26px 0/52px 8px repeat-x,
    radial-gradient(ellipse at 5px 4px,#22c55e 0 2.2px,#11652f 2.5px 3px,transparent 3.3px) 39px 0/52px 8px repeat-x,
    linear-gradient(#153c2d,#153c2d) 0 1px/100% 1px no-repeat;
  filter:drop-shadow(0 1px 1px rgba(5,42,26,.34)) drop-shadow(0 0 3px rgba(255,255,255,.34));
}
body[data-app-theme="ano_novo"] :is(.gfl-theme-ribbon,.gfl-theme-surface-trim,.gfl-theme-modal-trim) {
  background:
    radial-gradient(circle at 50% 50%,#fffbe4 0 1px,#d4a72c 1.3px 2px,transparent 2.3px) 0 0/22px 7px repeat-x,
    linear-gradient(90deg,transparent,#8d6917 12%,#f7df7a 34%,#fffbe0 50%,#d4a72c 68%,#8d6917 88%,transparent);
  box-shadow:inset 0 1px rgba(255,255,255,.66),0 2px 5px rgba(146,103,13,.16);
}
body[data-app-theme="ano_novo"] :is(.gfl-theme-sidebar-rail,.gfl-theme-sidebar-ornament) {
  background:
    radial-gradient(circle at 50% 8px,#fffbe4 0 1px,#d4a72c 1.4px 2.2px,transparent 2.5px) 0 0/100% 24px repeat-y,
    linear-gradient(90deg,transparent,#785b18 43%,#f7df7a 55%,transparent);
  filter:drop-shadow(0 0 4px rgba(212,167,44,.34));
}
body[data-app-theme="carnaval"] :is(.gfl-theme-ribbon,.gfl-theme-surface-trim,.gfl-theme-modal-trim) {
  background:
    repeating-linear-gradient(105deg,rgba(255,255,255,.30) 0 1px,transparent 1px 9px),
    linear-gradient(90deg,#5924a1 0 23%,#ec4899 27% 48%,#f7cf35 52% 73%,#06b6d4 77% 100%);
  box-shadow:inset 0 1px rgba(255,255,255,.52),inset 0 -2px rgba(63,21,86,.15),0 3px 6px rgba(76,29,149,.17);
  filter:saturate(1.08);
}
body[data-app-theme="carnaval"] :is(.gfl-theme-sidebar-rail,.gfl-theme-sidebar-ornament) {
  background:
    radial-gradient(circle at 35% 28%,rgba(255,255,255,.82) 0 1px,transparent 1.5px) 0 0/9px 18px repeat-y,
    repeating-linear-gradient(168deg,#5e2ca5 0 12px,#db2777 12px 24px,#eab308 24px 36px,#0891b2 36px 48px);
  box-shadow:inset 2px 0 rgba(255,255,255,.18),-2px 1px 5px rgba(76,29,149,.20);
}
body[data-app-theme="carnaval"] .gfl-carnival-ribbon > i {
  border-image:linear-gradient(90deg,currentColor,color-mix(in srgb,currentColor 40%,#fff),currentColor) 1;
  filter:drop-shadow(0 3px 2px rgba(76,29,149,.18));
}
body[data-app-theme="pascoa"] :is(.gfl-theme-ribbon,.gfl-theme-surface-trim,.gfl-theme-modal-trim) {
  background:
    radial-gradient(ellipse at 30% 26%,rgba(255,255,255,.92) 0 1px,transparent 1.5px) 0 0/34px 9px repeat-x,
    radial-gradient(ellipse at 50% 50%,#f9a8d4 0 3.1px,#cf6aa0 3.4px 4px,transparent 4.3px) 0 0/34px 9px repeat-x,
    radial-gradient(ellipse at 50% 50%,#a7f3d0 0 3.1px,#49b98b 3.4px 4px,transparent 4.3px) 17px 0/34px 9px repeat-x,
    linear-gradient(90deg,transparent,rgba(22,135,101,.50),transparent) 0 4px/100% 1px no-repeat;
  filter:drop-shadow(0 2px 2px rgba(57,90,73,.13));
}
body[data-app-theme="pascoa"] :is(.gfl-theme-sidebar-rail,.gfl-theme-sidebar-ornament) {
  filter:drop-shadow(-2px 1px 2px rgba(22,135,101,.20)) saturate(1.04);
}
body[data-app-theme="pascoa"] .gfl-theme-botanical i {
  background:
    linear-gradient(135deg,rgba(255,255,255,.62),transparent 44%),
    repeating-linear-gradient(82deg,rgba(22,135,101,.10) 0 1px,transparent 1px 4px),
    color-mix(in srgb,var(--gfl-theme-accent) 28%,#dff8eb);
  box-shadow:inset -2px -2px 3px rgba(22,135,101,.12),0 3px 4px rgba(57,90,73,.12);
}
body[data-app-theme="festa_junina"] :is(.gfl-theme-flags,.gfl-theme-surface-trim,.gfl-theme-modal-trim) {
  filter:drop-shadow(0 2px 2px rgba(92,48,18,.22));
}
body[data-app-theme="festa_junina"] .gfl-theme-flags i {
  background-image:
    linear-gradient(105deg,rgba(255,255,255,.34),transparent 36%),
    repeating-linear-gradient(88deg,rgba(72,35,14,.10) 0 1px,transparent 1px 4px);
  box-shadow:inset -2px 0 rgba(71,32,13,.10);
}
body[data-app-theme="festa_junina"] :is(.gfl-theme-sidebar-rail,.gfl-theme-sidebar-ornament) {
  filter:drop-shadow(-2px 2px 2px rgba(92,48,18,.24)) saturate(1.05);
}
body[data-app-theme="brasil"] :is(.gfl-theme-ribbon,.gfl-theme-surface-trim,.gfl-theme-modal-trim) {
  background:
    repeating-linear-gradient(112deg,rgba(255,255,255,.20) 0 1px,transparent 1px 4px),
    linear-gradient(90deg,transparent,#0f7a39 12% 39%,#e9bd14 39% 64%,#2056c7 64% 88%,transparent);
  box-shadow:inset 0 1px rgba(255,255,255,.38),inset 0 -2px rgba(15,23,42,.16),0 3px 6px rgba(15,118,78,.16);
}
body[data-app-theme="brasil"] :is(.gfl-theme-sidebar-rail,.gfl-theme-sidebar-ornament) {
  background:
    repeating-linear-gradient(112deg,rgba(255,255,255,.18) 0 1px,transparent 1px 4px),
    linear-gradient(#0f7a39 0 35%,#e9bd14 35% 65%,#2056c7 65%);
  box-shadow:inset 2px 0 rgba(255,255,255,.20),-2px 1px 4px rgba(15,118,78,.20);
}

@media (prefers-reduced-motion:no-preference) {
  body[data-theme-motion="on"][data-app-theme="natal"] .gfl-theme-sidebar-snowfall > i {
    animation:gflV6SidebarSnowContact var(--local-duration) linear var(--local-delay) infinite;
  }
  body[data-theme-motion="on"][data-app-theme="natal"] .gfl-theme-lights i {
    animation:gflV6BulbGlow 4.2s ease-in-out var(--bulb-delay) infinite;
  }
  body[data-theme-motion="on"][data-app-theme="natal"] .gfl-theme-lights i:nth-child(n) {
    animation-delay:var(--bulb-delay);
  }

  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="natal"] .gfl-theme-sidebar-snowfall > i {
    animation:gflV6SidebarSnowContact var(--local-duration) linear var(--local-delay) infinite !important;
  }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="natal"] .gfl-theme-lights i {
    animation:gflV6BulbGlow 4.2s ease-in-out var(--bulb-delay) infinite !important;
  }
  body.gfl-beta-frame.gfl-desktop-performance[data-theme-motion="on"][data-app-theme="natal"] .gfl-theme-lights i:nth-child(n) {
    animation-delay:var(--bulb-delay) !important;
  }
}

body[data-theme-motion="off"] .gfl-theme-sidebar-snowfall { display:none !important; }
@media (prefers-reduced-motion:reduce) {
  .gfl-theme-sidebar-snowfall { display:none !important; }
  body[data-app-theme="natal"] .gfl-theme-lights i { animation:none !important; filter:brightness(.9); }
}
