/* Academia Naval MX V124.1 - Premium Polish SAFE
   Visual-only layer. It deliberately does NOT change layout, visibility,
   control geometry, scrolling, positioning, or interactive behavior. */

:root{
  --polish-line:color-mix(in srgb,var(--primario) 14%,var(--borde));
  --polish-line-strong:color-mix(in srgb,var(--primario) 28%,var(--borde));
  --polish-shadow-card:0 1px 2px rgba(4,38,58,.035),0 8px 22px rgba(4,38,58,.065);
  --polish-shadow-raised:0 2px 4px rgba(4,38,58,.05),0 14px 34px rgba(4,38,58,.095);
  --polish-shadow-control:0 1px 2px rgba(4,38,58,.035);
  --polish-focus:0 0 0 3px color-mix(in srgb,var(--primario) 16%,transparent);
}
html[data-theme="dark"]{
  --polish-line:color-mix(in srgb,var(--primario) 18%,var(--borde));
  --polish-line-strong:color-mix(in srgb,var(--primario) 34%,var(--borde));
  --polish-shadow-card:0 1px 2px rgba(0,0,0,.15),0 9px 24px rgba(0,0,0,.18);
  --polish-shadow-raised:0 2px 4px rgba(0,0,0,.19),0 15px 36px rgba(0,0,0,.24);
  --polish-shadow-control:0 1px 2px rgba(0,0,0,.15);
}

/* Focus polish without changing control geometry. */
:is(button,a,[role="button"],input,textarea,select):focus-visible{
  outline-color:color-mix(in srgb,var(--primario) 68%,#fff)!important;
  box-shadow:var(--polish-focus)!important;
}

/* Primary app surfaces. Geometry is preserved except the card corner language. */
:is(
  .mod,.barra-rapida,.quiz-card,.tomo-card,.social-card,.social-list-card,
  .perfil-identidad-card,.perfil-metrica-card,.perfil-analitica-card,
  .entrenamiento-card,.fuego-card,.fuego-pregunta,.fuego-resultado,
  .simulacro-config,.simulacro-opcion,.especificos-card,
  .legal-viewer-card,.resultado-mensaje-card,.generador-ia-card
){
  border-color:var(--polish-line)!important;
  border-radius:18px!important;
  box-shadow:var(--polish-shadow-card)!important;
}

/* Large overlays keep their original dimensions and internal layout. */
:is(
  #pay>div,.auth-box,#resultado>div,.perfil-modal-card,.selector-colores-card,
  .especificos-biblioteca-modal-card,.modal-simulacro-card,.cobro-card,
  .pago-retorno-card,.salir-app-card,.carga-actualizacion-app-card,
  .modo-guardia-confirmacion-card
){
  border-color:var(--polish-line)!important;
  border-radius:22px!important;
  box-shadow:var(--polish-shadow-raised)!important;
}

/* Route cards: same layout, calmer premium depth. */
:is(.mod.tema-ruta,.accion-ruta){
  border-color:var(--polish-line)!important;
  border-radius:18px!important;
  box-shadow:var(--polish-shadow-card)!important;
}
html.academia-hover-capable :is(.mod.tema-ruta,.accion-ruta):hover{
  border-color:var(--polish-line-strong)!important;
  box-shadow:var(--polish-shadow-raised)!important;
}

/* Decorative icon containers only. Interactive icon buttons are intentionally excluded. */
:is(
  .mod.tema-ruta .ico,.accion-ruta-icono,.especificos-card-icono,
  .simulacro-config-icono,.perfil-racha-icono,.analitica-senal-icono,
  .simulacro-hero-icono,.retos-hero-icono,.audiolibros-hero-icon,
  .resultado-icono,.fuego-resultado-icono
){
  border-color:color-mix(in srgb,var(--primario) 18%,var(--polish-line))!important;
  box-shadow:none!important;
}
.solar-slot{--solar-secondary-opacity:.42}

/* Text CTA buttons only: no width, height, padding, display or position overrides. */
:is(
  .btn,.accion-ruta-boton,.simulacro-iniciar-btn,.simulacro-volver,.retos-volver,
  .huaju-boton-principal,.huaju-boton-secundario,.pwa-install-btn,
  .perfil-modal-accion,.perfil-modal-secundario,.especificos-generar,
  .especificos-estudiar-todo,.esp-pay-button,.esp-next,
  .resultado-btn-chat,.resultado-btn-compartir,.resultado-btn-falladas,.resultado-btn-volver
){
  border-color:var(--polish-line)!important;
  box-shadow:var(--polish-shadow-control)!important;
}
:is(.btn,.simulacro-iniciar-btn,.huaju-boton-principal,.esp-pay-button,.esp-next){
  border-color:color-mix(in srgb,var(--primario) 66%,var(--borde))!important;
  box-shadow:0 6px 16px color-mix(in srgb,var(--primario) 16%,transparent)!important;
}
html.academia-hover-capable :is(.btn,.simulacro-iniciar-btn,.huaju-boton-principal,.esp-pay-button,.esp-next):hover{
  box-shadow:0 8px 21px color-mix(in srgb,var(--primario) 21%,transparent)!important;
}

/* Chips and selected states: color hierarchy only. */
:is(
  .tema-ruta-pct,.tema-ruta-chip,.accion-ruta-chip,.subtema-chip,.fuego-chip,
  .simulacro-insignia,.esp-preview-chip,.esp-count,.guardadas-chip,
  .social-filter-chip,.social-head-chip,.huaju-modo-chip
){
  border-color:var(--polish-line)!important;
  box-shadow:none!important;
}
:is(.social-filter-chip.active,.social-filter-chip[aria-pressed="true"],.tab.act,.btnArea.act){
  border-color:var(--polish-line-strong)!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primario) 7%,transparent)!important;
}

/* Form controls: preserve dimensions and native placement. */
:is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
  textarea,select,.selector-color-hex-control
){
  border-color:var(--polish-line)!important;
  box-shadow:inset 0 1px 1px rgba(4,38,58,.025)!important;
}
:is(input,textarea,select):focus{
  border-color:color-mix(in srgb,var(--primario) 54%,var(--borde))!important;
  box-shadow:var(--polish-focus)!important;
}

/* Quiz answers only. Audio/read/pause/save/more controls are explicitly untouched. */
.opt2{
  border-color:var(--polish-line)!important;
  box-shadow:var(--polish-shadow-control)!important;
}
.opt2.sel{
  border-color:color-mix(in srgb,var(--primario) 52%,var(--borde))!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primario) 9%,transparent)!important;
}
.opt2.ok2{box-shadow:inset 0 0 0 1px rgba(22,163,74,.08)!important}
.opt2.bad2{box-shadow:inset 0 0 0 1px rgba(220,38,38,.07)!important}

/* Specialty / Materias parity without changing their answer/control geometry. */
#especialidadPanel :is(.esp-card,.esp-sheet-choice,.esp-question,.esp-option){
  border-color:var(--polish-line)!important;
  box-shadow:var(--polish-shadow-card)!important;
}

/* Chat surfaces. Message dimensions and pin controls remain untouched. */
#socialPanel :is(.social-head,.social-list-card,.social-chat-head,.social-message,.social-message-pin-action,.social-composer){
  border-color:var(--polish-line)!important;
}
#socialPanel .social-list-card{box-shadow:var(--polish-shadow-card)!important}
#socialPanel .social-message{box-shadow:0 2px 7px rgba(4,38,58,.04)!important}
#socialPanel .social-message.selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--primario) 8%,transparent),0 4px 12px rgba(4,38,58,.055)!important}
#socialPanel .social-message-pin-action{box-shadow:var(--polish-shadow-control)!important}

/* Profile: cards only. The edit-name pencil and all floating controls are untouched. */
:is(.perfil-identidad-card,.perfil-metrica-card,.perfil-analitica-card,.perfil-ajuste,.perfil-accion){
  border-color:var(--polish-line)!important;
}
:is(.perfil-identidad-card,.perfil-metrica-card,.perfil-analitica-card){box-shadow:var(--polish-shadow-card)!important}

/* Bottom navigation: depth/color only; never position, width, height or radius. */
#academiaBottomNav[data-visible="true"]{
  border-color:var(--polish-line)!important;
  box-shadow:0 8px 26px rgba(4,38,58,.13)!important;
}

/* Header: no margin/size changes. */
.top{
  border-color:var(--polish-line)!important;
  box-shadow:0 4px 16px rgba(4,38,58,.06)!important;
}

/* Results and progress surfaces. */
.resultado-dato{border-color:var(--polish-line)!important}
.resultado-acciones{border-color:var(--polish-line)!important}
:is(.progress,.subtema-premium .progress,.esp-progress,.ai-naval-progress-track){box-shadow:none!important}

@media(prefers-reduced-motion:reduce){
  :is(.mod,.accion-ruta,.opt2){transition-duration:0s!important}
}
