/* V5N: the shared template opts in only explicitly supported modality codes.
   The legacy DOM and all nodes emitted by modality.js remain unchanged. */
.atlas-v5-modality[data-code="quina"] { --atlas-v5-modality-accent: var(--atlas-v5-accent-quina); --atlas-v5-modality-accent-text: var(--atlas-v5-modality-accent); }
.atlas-v5-modality[data-code="mega_sena"] { --atlas-v5-modality-accent: var(--atlas-v5-accent-mega-sena); --atlas-v5-modality-accent-text: #146f45; }
.atlas-v5-modality[data-code="dia_de_sorte"] { --atlas-v5-modality-accent: var(--atlas-v5-accent-dia-de-sorte); --atlas-v5-modality-accent-text: #896000; }
.atlas-v5-modality[data-code="timemania"] { --atlas-v5-modality-accent: var(--atlas-v5-accent-timemania); --atlas-v5-modality-accent-text: var(--atlas-v5-modality-accent); }
.atlas-v5-modality[data-code="milionaria"] { --atlas-v5-modality-accent: var(--atlas-v5-accent-milionaria); --atlas-v5-modality-accent-text: var(--atlas-v5-modality-accent); }
.atlas-v5-modality[data-code="dupla_sena"] { --atlas-v5-modality-accent: var(--atlas-v5-accent-dupla-sena); --atlas-v5-modality-accent-text: var(--atlas-v5-modality-accent); }
.atlas-v5-modality[data-code="lotomania"] { --atlas-v5-modality-accent: var(--atlas-v5-accent-lotomania); --atlas-v5-modality-accent-text: #a34f14; }
.atlas-v5-modality[data-code="super_sete"] { --atlas-v5-modality-accent: var(--atlas-v5-accent-super-sete); --atlas-v5-modality-accent-text: #3e7131; }
.atlas-v5-modality[data-code] {
  --background: var(--atlas-v5-background);
  --surface: var(--atlas-v5-surface-solid);
  --surface-2: var(--atlas-v5-secondary-surface);
  --text: var(--atlas-v5-text);
  --muted: var(--atlas-v5-muted);
  --line: var(--atlas-v5-control-border);
  --accent: var(--atlas-v5-modality-accent);
  --atlas-v5-accent: var(--atlas-v5-modality-accent);
  --success: var(--atlas-v5-success-text);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
.atlas-v5-modality[data-code] .topbar {
  max-width: var(--atlas-v5-layout-header);
  margin-inline: auto;
  padding: 20px 16px;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
  border-color: var(--atlas-v5-border);
  background: transparent;
}
.atlas-v5-modality[data-code] .brand { min-width: 0; gap: 12px; flex: 0 1 auto; }
.atlas-v5-modality[data-code] .brand-logo { width: 52px; height: 52px; flex: 0 0 52px; object-fit: contain; filter: none; }
.atlas-v5-modality[data-code] .brand-line { flex-wrap: wrap; gap: 6px 10px; }
.atlas-v5-modality[data-code] .brand h1 { color: var(--atlas-v5-primary); font-size: 1.05rem; white-space: normal; line-height: 1.3; }
.atlas-v5-modality[data-code] .brand p { color: var(--atlas-v5-muted); font-size: .8125rem; }
.atlas-v5-modality[data-code] .version { color: var(--atlas-v5-primary); background: var(--atlas-v5-badge-surface); padding: 4px 7px; font-size: .7rem; }
.atlas-v5-modality[data-code] .back-link { align-self: flex-start; display: inline-flex; align-items: center; min-height: 44px; padding: 10px 14px; border: 1px solid var(--atlas-v5-control-border); border-radius: var(--atlas-v5-radius-control); color: var(--atlas-v5-primary); background: var(--atlas-v5-surface); font-size: .8125rem; }
.atlas-v5-modality[data-code] .back-link:hover { background: var(--atlas-v5-hover-surface); }
.atlas-v5-modality[data-code] .lotofacil-container { width: min(var(--atlas-v5-layout-content), calc(100% - 32px)); padding: 28px 0 40px; }
.atlas-v5-modality[data-code] .lf-hero { flex-direction: column; align-items: stretch; gap: 20px; }
.atlas-v5-modality[data-code] .eyebrow { color: var(--atlas-v5-muted); font-size: .7rem; letter-spacing: var(--atlas-v5-tracking-eyebrow); }
.atlas-v5-modality[data-code] .lf-hero h2 { color: var(--atlas-v5-primary); font-size: var(--atlas-v5-font-title); line-height: var(--atlas-v5-line-height-heading); margin: 8px 0 12px; }
.atlas-v5-modality[data-code] .lf-hero p { max-width: 680px; color: var(--atlas-v5-muted); font-size: .875rem; }
.atlas-v5-modality[data-code] .history-box { min-width: 0; padding: 16px 20px; border: 1px solid var(--atlas-v5-card-border); border-left: 3px solid var(--atlas-v5-accent); border-radius: var(--atlas-v5-radius-group); background: var(--atlas-v5-surface); }
.atlas-v5-modality[data-code] .history-box small { color: var(--atlas-v5-muted); font-size: .75rem; }
.atlas-v5-modality[data-code] .history-box strong { color: var(--atlas-v5-accent); font-size: var(--atlas-v5-font-metric); margin-top: 4px; }
.atlas-v5-modality[data-code] .control-panel.multi { grid-template-columns: minmax(0, 1fr); gap: 16px; margin: 24px 0; }
.atlas-v5-modality[data-code] .control-group { min-width: 0; padding: 20px; border: 1px solid var(--atlas-v5-card-border); border-radius: var(--atlas-v5-radius-card); background: var(--atlas-v5-surface); box-shadow: var(--atlas-v5-shadow-card); }
.atlas-v5-modality[data-code] .history-status { grid-column: 1 / -1; background: var(--atlas-v5-secondary-surface); border-radius: var(--atlas-v5-radius-group); }
.atlas-v5-modality[data-code] .history-status strong { color: var(--atlas-v5-success-text); font-size: .875rem; }
.atlas-v5-modality[data-code] .control-group label { color: var(--atlas-v5-primary); font-size: .8125rem; font-weight: 650; margin-bottom: 10px; }
.atlas-v5-modality[data-code] .control-group select,
.atlas-v5-modality[data-code] .control-group button { min-width: 0; min-height: 44px; max-width: 100%; border-radius: var(--atlas-v5-radius-control); font: inherit; font-size: .875rem; }
.atlas-v5-modality[data-code] .control-group select { padding: 10px 12px; color: var(--atlas-v5-primary); background: var(--atlas-v5-control-surface); border: 1px solid var(--atlas-v5-control-border); }
.atlas-v5-modality[data-code] .control-group button { padding: 10px 12px; color: var(--atlas-v5-primary); background: var(--atlas-v5-secondary-surface); border: 1px solid var(--atlas-v5-control-border); font-weight: 650; overflow-wrap: anywhere; }
.atlas-v5-modality[data-code] .control-group button:hover:not(:disabled) { background: var(--atlas-v5-hover-surface); }
.atlas-v5-modality[data-code] #generate { color: var(--atlas-v5-on-primary); background: linear-gradient(105deg, var(--atlas-v5-primary), var(--atlas-v5-primary-end)); border-color: var(--atlas-v5-primary); box-shadow: var(--atlas-v5-shadow-button); }
.atlas-v5-modality[data-code] #generate:hover:not(:disabled) { background: var(--atlas-v5-primary-hover); }
.atlas-v5-modality[data-code] .control-group button:disabled,
.atlas-v5-modality[data-code] #generate:disabled { color: var(--atlas-v5-disabled-text); background: var(--atlas-v5-disabled-surface); border-color: var(--atlas-v5-control-border); box-shadow: none; opacity: 1; cursor: wait; }
.atlas-v5-modality[data-code] .button-row { grid-template-columns: minmax(0, 1fr); gap: 8px; }
.atlas-v5-modality[data-code] .secondary-button { margin-top: 0; }
.atlas-v5-modality[data-code] .control-help { color: var(--atlas-v5-muted); font-size: .75rem; line-height: 1.55; }
.atlas-v5-modality[data-code] .lf-feedback { color: var(--atlas-v5-loading-text); background: var(--atlas-v5-loading-surface); border: 1px solid var(--atlas-v5-loading-border); border-left: 3px solid var(--atlas-v5-accent); border-radius: var(--atlas-v5-radius-alert); padding: 14px 16px; margin-bottom: 20px; font-size: .875rem; overflow-wrap: anywhere; }
.atlas-v5-modality[data-code] .metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 24px; }
.atlas-v5-modality[data-code] .metrics article { min-width: 0; padding: 16px; border: 1px solid var(--atlas-v5-card-border); border-radius: var(--atlas-v5-radius-group); background: var(--atlas-v5-surface); overflow-wrap: anywhere; }
.atlas-v5-modality[data-code] .metrics small { color: var(--atlas-v5-muted); font-size: .75rem; }
.atlas-v5-modality[data-code] .metrics strong { color: var(--atlas-v5-primary); font-size: 1.375rem; }
.atlas-v5-modality[data-code] .lf-layout { grid-template-columns: minmax(0, 1fr); align-items: start; gap: 20px; }
.atlas-v5-modality[data-code] .panel { min-width: 0; padding: 20px; border: 1px solid var(--atlas-v5-card-border); border-top: 3px solid var(--atlas-v5-accent); border-radius: var(--atlas-v5-radius-card); background: var(--atlas-v5-surface); box-shadow: var(--atlas-v5-shadow-card); }
.atlas-v5-modality[data-code] .panel-title h3 { color: var(--atlas-v5-primary); font-size: var(--atlas-v5-font-section); line-height: var(--atlas-v5-line-height-heading); }
.atlas-v5-modality[data-code] .ranking-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.atlas-v5-modality[data-code] .rank-number { min-width: 0; padding: 12px 4px; border: 1px solid var(--atlas-v5-border); border-radius: var(--atlas-v5-radius-control); background: var(--atlas-v5-control-surface); overflow-wrap: anywhere; }
.atlas-v5-modality[data-code] .rank-number strong { color: var(--atlas-v5-accent); font-size: 1.25rem; }
.atlas-v5-modality[data-code] .rank-number span { color: var(--atlas-v5-text); font-size: .75rem; }
.atlas-v5-modality[data-code] .rank-number small { color: var(--atlas-v5-muted); font-size: .6875rem; }
.atlas-v5-modality[data-code] .ranking-grid > .placeholder { grid-column: 1 / -1; }
.atlas-v5-modality[data-code] .placeholder { color: var(--atlas-v5-muted); font-size: .875rem; margin: 0; line-height: 1.55; }
.atlas-v5-modality[data-code] .games-list { gap: 16px; }
.atlas-v5-modality[data-code] .game-card { min-width: 0; padding: 16px; border: 1px solid var(--atlas-v5-border); border-radius: var(--atlas-v5-radius-group); background: var(--atlas-v5-surface-solid); overflow-wrap: anywhere; }
.atlas-v5-modality[data-code] .game-head { flex-wrap: wrap; align-items: flex-start; gap: 8px; margin-bottom: 14px; }
.atlas-v5-modality[data-code] .game-head strong { color: var(--atlas-v5-primary); font-size: .875rem; font-weight: 650; }
.atlas-v5-modality[data-code] .game-badge { display: inline-block; padding: 4px 8px; color: var(--atlas-v5-modality-accent-text); background: var(--atlas-v5-badge-surface); border-radius: var(--atlas-v5-radius-sm); font-size: .75rem; font-weight: 650; }
.atlas-v5-modality[data-code] .game-classification { color: var(--atlas-v5-muted); font-size: .75rem; margin-top: 4px; }
.atlas-v5-modality[data-code] .game-dozens { gap: 6px; }
.atlas-v5-modality[data-code] .game-dozens span { width: 32px; height: 32px; flex: 0 0 32px; border-radius: var(--atlas-v5-radius-sm); color: var(--atlas-v5-chip-text); background: var(--atlas-v5-chip-surface); box-shadow: inset 0 -2px var(--atlas-v5-accent); font-size: .8125rem; font-weight: 650; }
.atlas-v5-modality[data-code] .game-metrics { gap: 6px; margin-top: 14px; }
.atlas-v5-modality[data-code] .game-metrics span { color: var(--atlas-v5-muted); background: var(--atlas-v5-secondary-surface); border-radius: var(--atlas-v5-radius-sm); padding: 5px 8px; font-size: .6875rem; }
.atlas-v5-modality[data-code] .disclaimer { margin-top: 24px; padding: 16px; color: var(--atlas-v5-muted); background: var(--atlas-v5-secondary-surface); border: 1px solid var(--atlas-v5-border); border-radius: var(--atlas-v5-radius-alert); font-size: .8125rem; }
.atlas-v5-modality[data-code] :focus-visible { outline: var(--atlas-v5-focus-width) solid var(--atlas-v5-focus-color); outline-offset: var(--atlas-v5-focus-offset); }
@media (min-width: 430px) {
  .atlas-v5-modality[data-code] .ranking-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
  .atlas-v5-modality[data-code] .topbar { padding: 24px; flex-direction: row; align-items: center; }
  .atlas-v5-modality[data-code] .brand h1 { font-size: 1.25rem; }
  .atlas-v5-modality[data-code] .back-link { align-self: center; }
  .atlas-v5-modality[data-code] .lf-hero { flex-direction: row; align-items: center; }
  .atlas-v5-modality[data-code] .history-box { min-width: 180px; }
  .atlas-v5-modality[data-code] .control-panel.multi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .atlas-v5-modality[data-code] .metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .atlas-v5-modality[data-code] .ranking-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .atlas-v5-modality[data-code] .control-panel.multi { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .atlas-v5-modality[data-code] .lf-layout { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
  .atlas-v5-modality[data-code] .ranking-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
  .atlas-v5-modality[data-code] .ranking-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
.atlas-v5-modality[data-code] .game-extra { color: var(--atlas-v5-text); background: var(--atlas-v5-secondary-surface); border-left: 3px solid var(--atlas-v5-accent); border-radius: var(--atlas-v5-radius-sm); overflow-wrap: anywhere; }
