{% from "components/_tabs.html" import tabs_intro %}
<!doctype html>
<html lang="es">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="Estrategia espacial accesible para una persona contra imperios de inteligencia artificial.">
  <title>Nueva partida — Eclipse Imperia</title>
  <link rel="stylesheet" href="{{ url_for('static', filename='style.css', v=APP_META.version) }}">
  <script src="{{ url_for('static', filename='app.js', v=APP_META.version) }}" defer></script>
</head>
<body class="setup-page" data-navigation-mode="classic">
  <a class="skip-link" href="#main">Saltar al contenido principal</a>
  <header class="setup-header">
    <p class="eyebrow">Estrategia espacial accesible</p>
    <h1>Eclipse <span>Imperia</span></h1>
    <p>Construye un imperio, investiga, explora y compite contra comandantes autónomos en un universo persistente.</p>
  </header>

  <main id="main" class="setup-main" tabindex="-1">
    {% with messages = get_flashed_messages(with_categories=true) %}
      {% for category, message in messages %}
        <div class="notice notice-{{ category }}" role="{{ 'alert' if category == 'error' else 'status' }}">{{ message }}</div>
      {% endfor %}
    {% endwith %}

    <nav class="button-row" aria-label="Documentación sin partida">
      <a class="button button-secondary" href="{{ url_for('public_manual') }}">Leer el manual</a>
      <a class="button button-secondary" href="{{ url_for('public_encyclopedia') }}">Abrir la enciclopedia</a>
    </nav>

    {% if saved_games %}<section class="saved-games" aria-labelledby="saved-title"><div><p class="step-label">PARTIDAS GUARDADAS</p><h2 id="saved-title">Continuar un universo</h2><p>El progreso se guarda automáticamente. Puedes cerrar el juego y regresar más tarde.</p></div><div class="save-list">{% for save in saved_games %}<article><div><strong>{{ save.name }}</strong><span>{{ save.empire_name }} · {{ save.planet_count }} {{ 'planeta' if save.planet_count == 1 else 'planetas' }} · velocidad ×{{ save.speed }}</span></div><form method="post" action="{{ url_for('continue_game', game_id=save.id) }}"><input type="hidden" name="csrf_token" value="{{ csrf_token() }}"><button class="button button-primary" type="submit">Continuar como {{ save.commander }}</button></form></article>{% endfor %}</div></section>{% endif %}

    <section class="setup-card" aria-labelledby="setup-title">
      <div>
        <p class="step-label">CONFIGURACIÓN DEL UNIVERSO</p>
        <h2 id="setup-title">Prepara tu primera expedición</h2>
            <p>Todos los ajustes se pueden entender sin información visual. La velocidad general acelera el universo; economía, investigación y flotas disponen además de multiplicadores independientes.</p>
      </div>
      <form method="post" class="setup-form" data-tab-scope="setup">
        <input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
        {{ tabs_intro('setup', 'Pasos para crear el universo', 'En modo por pestañas usa Izquierda y Derecha para recorrer los pasos, y Enter o Espacio para abrir el elegido. Todos los campos pertenecen al mismo formulario.') }}
        <div data-tab-panel data-tab-id="nueva-identidad" data-tab-label="Identidad">
        <fieldset>
          <legend>Tu identidad</legend>
          <div class="form-grid">
            <label>Nombre del comandante
              <input name="commander" value="Nova" maxlength="30" required autocomplete="name">
            </label>
            <label>Nombre del imperio
              <input name="empire" value="Federación del Alba" maxlength="40" required>
            </label>
            <label>Nombre del universo
              <input name="universe" value="Aurora" maxlength="40" required>
            </label>
          </div>
        </fieldset>
        </div>

        <fieldset data-tab-panel data-tab-id="nueva-universo" data-tab-label="Universo y rivales">
          <legend>Reglas de la partida</legend>
          <div class="form-grid">
            <label>Número de rivales IA
              <select name="ai_count">
                <option value="4">4 rivales</option>
                <option value="8" selected>8 rivales</option>
                <option value="12">12 rivales</option>
                <option value="20">20 rivales</option>
                <option value="32">32 rivales</option>
                <option value="48">48 rivales</option>
                <option value="64">64 rivales, universo masivo</option>
                <option value="96">96 rivales, simulación muy exigente</option>
                <option value="128">128 rivales, límite extremo</option>
              </select>
            </label>
            <label>Dificultad
              <select name="difficulty" aria-describedby="difficulty-help">
                <option value="easy">Relajada</option>
                <option value="normal" selected>Equilibrada</option>
                <option value="hard">Veterana</option>
              </select>
              <small id="difficulty-help">Ajusta la frecuencia, precisión y audacia de sus decisiones. Todos los rivales normales empiezan con los mismos recursos y desarrollo que tú.</small>
            </label>
            <label>Velocidad del universo
              <select name="speed" aria-describedby="speed-help">
                <option value="1">×1 tiempo base</option>
                <option value="5">×5 pausada</option>
                <option value="10" selected>×10 recomendada para aprender</option>
                <option value="20">×20 acelerada</option>
                <option value="50">×50 extrema</option>
              </select>
              <small id="speed-help">×1 es el ritmo normal y más lento. ×20 hace que edificios y ciencia terminen muy deprisa; ×50 está pensada para partidas experimentales.</small>
            </label>
            <label>Tamaño de la galaxia
              <select name="galaxy_size">
                <option value="10">10 sistemas, compacto</option>
                <option value="30" selected>30 sistemas, estándar</option>
                <option value="60">60 sistemas, amplio</option>
                <option value="100">100 sistemas, épico</option>
                <option value="150">150 sistemas, inmenso</option>
                <option value="200">200 sistemas, colosal</option>
                <option value="250">250 sistemas, límite extremo</option>
              </select>
            </label>
            <label>Número de galaxias
              <select name="galaxy_count"><option value="1" selected>1 galaxia</option><option value="2">2 galaxias</option><option value="3">3 galaxias</option><option value="5">5 galaxias</option><option value="8">8 galaxias</option><option value="12">12 galaxias, límite extremo</option></select>
              <small>Las flotas y expediciones pueden viajar entre ellas.</small>
            </label>
          </div>
        </fieldset>
        <fieldset data-tab-panel data-tab-id="nueva-historia" data-tab-label="Historia y gobierno">
          <legend>Historia y gobierno</legend>
          <div class="form-grid">
            <label>Origen narrativo
              <select name="origin" aria-describedby="origin-help">
                {% for key, item in origins.items() %}<option value="{{ key }}">{{ item.name }}</option>{% endfor %}
              </select>
              <small id="origin-help">Cada origen contiene tres capítulos, decisiones persistentes y bonificaciones propias.</small>
            </label>
            <label>Forma de gobierno
              <select name="government_type"><option value="democracy">Democracia: elecciones periódicas</option><option value="council">Consejo: coalición de las facciones principales</option><option value="appointment">Nombramiento: eliges la facción gobernante</option></select>
            </label>
            <label>Semilla reproducible
              <input name="universe_seed" maxlength="80" placeholder="Vacío para generar una semilla segura" aria-describedby="seed-help">
              <small id="seed-help">La misma semilla y configuración generan las mismas coordenadas, anomalías, contactos y crisis.</small>
            </label>
            <label>Era inicial
              <select name="starting_era" aria-describedby="era-help">
                <option value="pioneer" selected>Pionera</option>
                <option value="established">Imperio establecido</option>
                <option value="advanced">Civilización avanzada</option>
              </select>
              <small id="era-help">Cambia recursos, edificios y tecnología iniciales.</small>
            </label>
            <label>Doctrina imperial
              <select name="doctrine">{% for key, label in DOCTRINES.items() %}<option value="{{ key }}" {% if key == 'adaptive' %}selected{% endif %}>{{ label }}</option>{% endfor %}</select>
              <small>Prosperidad beneficia comercio; Supremacía combate; Descubrimiento ciencia; Fortaleza defensa.</small>
            </label>
          </div>
        </fieldset>
        <fieldset data-tab-panel data-tab-id="nueva-simulacion" data-tab-label="Economía y simulación">
          <legend>Economía y simulación avanzada</legend>
          <div class="form-grid">
            <label>Tiempo mientras el servidor está cerrado
              <select name="offline_mode" aria-describedby="offline-mode-help">
                <option value="frozen" selected>Universo detenido: todo queda congelado</option>
                <option value="realtime">Tiempo real: reconstruir la ausencia</option>
              </select>
              <small id="offline-mode-help">En modo detenido no avanzan recursos, colas, flotas ni IA. En tiempo real se simula lo ocurrido al volver, incluidos ataques rivales posibles.</small>
            </label>
            <label>Riqueza minera
              <select name="resource_richness"><option value="scarce">Escasa</option><option value="standard" selected>Estándar</option><option value="abundant">Abundante</option><option value="lavish">Excepcional</option></select>
            </label>
            <label>Multiplicador económico
              <select name="economy_multiplier"><option value="0.5">×0,5 supervivencia</option><option value="1" selected>×1 estándar</option><option value="2">×2 próspera</option><option value="4">×4 abundancia</option></select>
              <small>Multiplica la producción de metal, cristal y deuterio.</small>
            </label>
            <label>Velocidad de flotas
              <select name="fleet_speed_multiplier"><option value="0.5">×0,5 estratégica</option><option value="1" selected>×1 estándar</option><option value="2">×2 rápida</option><option value="4">×4 instantánea</option></select>
            </label>
            <label>Velocidad de investigación
              <select name="research_speed_multiplier"><option value="0.5">×0,5 metódica</option><option value="1" selected>×1 estándar</option><option value="2">×2 acelerada</option><option value="4">×4 descubrimientos rápidos</option></select>
              <small>Es independiente de la economía, la construcción y los vuelos, y afecta por igual a humanos e IA.</small>
            </label>
            <label>Topología de sistemas
              <select name="system_topology"><option value="linear" selected>Lineal: el sistema 1 y el último están alejados</option><option value="circular">Circular: el último enlaza con el primero</option></select>
              <small>La misma regla se usa para combustible, duración, previsiones e IA.</small>
            </label>
            <label>Topología de galaxias
              <select name="galaxy_topology"><option value="linear" selected>Lineal</option><option value="circular">Circular: la última enlaza con la primera</option></select>
            </label>
            <label>Escombros de naves destruidas, porcentaje
              <input name="fleet_debris_percent" type="number" min="0" max="100" value="30" inputmode="numeric">
            </label>
            <label>Escombros de defensas destruidas, porcentaje
              <input name="defense_debris_percent" type="number" min="0" max="100" value="0" inputmode="numeric">
            </label>
            <label>Deuterio recuperable de unidades destruidas, porcentaje
              <input name="deuterium_debris_percent" type="number" min="0" max="100" value="0" inputmode="numeric">
              <small>Estas tres reglas quedan fijadas al crear el universo y se aplican al combate, reciclaje y simulador.</small>
            </label>
            <label>Fertilidad agrícola
              <select name="agricultural_richness"><option value="scarce">Hostil</option><option value="standard" selected>Estándar</option><option value="abundant">Fértil</option><option value="lavish">Edénica</option></select>
            </label>
            <label>Recursos estratégicos
              <select name="rare_resource_richness"><option value="scarce">Muy escasos</option><option value="standard" selected>Estándar</option><option value="abundant">Abundantes</option><option value="wild">Desbordados</option></select>
              <small>Afecta materia oscura, antimateria, datos, muestras y otros recursos de frontera.</small>
            </label>
            <label>Agresividad de la IA
              <select name="ai_aggression"><option value="peaceful">Pacífica</option><option value="low">Prudente</option><option value="normal" selected>Competitiva</option><option value="high">Agresiva</option><option value="relentless">Implacable</option></select>
            </label>
            <label>Adaptabilidad de la IA
              <select name="ai_adaptability"><option value="predictable">Predecible</option><option value="adaptive" selected>Adaptativa</option><option value="chaotic">Caótica</option></select>
              <small>Determina cuánto cambian sus objetivos según la historia de la partida.</small>
            </label>
            <label>Eventos narrativos
              <select name="event_frequency"><option value="off">Desactivados</option><option value="low">Poco frecuentes</option><option value="normal" selected>Normales</option><option value="high">Frecuentes</option><option value="chaotic">Caos continuo</option></select>
            </label>
            <label>Volatilidad de expediciones
              <select name="expedition_volatility"><option value="safe">Segura</option><option value="normal" selected>Normal</option><option value="dangerous">Peligrosa</option><option value="anomalous">Anómala y extrema</option></select>
              <small>Más volatilidad reduce la seguridad y aumenta las recompensas.</small>
            </label>
            <label>Densidad de anomalías
              <select name="anomaly_density"><option value="sparse">Dispersas</option><option value="standard" selected>Estándar</option><option value="dense">Densa</option><option value="surreal">Universo surreal</option></select>
            </label>
            <label>Presión ecológica
              <select name="ecology_pressure"><option value="relaxed">Relajada</option><option value="standard" selected>Realista</option><option value="harsh">Severa</option><option value="catastrophic">Catastrófica</option></select>
            </label>
            <label>Condición inicial especial para todos
              <select name="starting_boon"><option value="none" selected>Ninguna</option><option value="industrial">Complejo industrial</option><option value="scientific">Archivo científico</option><option value="exploratory">Flota exploratoria</option><option value="diplomatic">Prestigio diplomático</option><option value="ecological">Semilla ecológica</option><option value="random">Sorpresa aleatoria</option></select>
            </label>
            <label>Planetas-granja propios al comenzar
              <select name="player_farm_worlds"><option value="0" selected>Ninguno</option><option value="1">1 agromundo preparado</option><option value="2">2 agromundos preparados</option><option value="3">3 agromundos preparados</option><option value="6">6 agromundos preparados</option><option value="9">9 agromundos preparados</option><option value="12">12 agromundos preparados</option></select>
              <small>Cada uno empieza con tres parcelas sembradas, población e infraestructura agrícola.</small>
            </label>
            <label>Mundos-granja neutrales de IA
              <select name="farm_ai_count"><option value="0">Ninguno</option><option value="4" selected>4 cooperativas débiles</option><option value="8">8 cooperativas</option><option value="16">16 cooperativas</option><option value="24">24 cooperativas</option><option value="32">32 cooperativas</option><option value="48">48 cooperativas</option><option value="64">64 cooperativas, límite extremo</option></select>
              <small>Producen, cosechan y comercian; nunca investigan armamento ni atacan.</small>
            </label>
            <label>Período de paz inicial, minutos
              <input name="peace_minutes" type="number" min="0" max="120" value="5" inputmode="numeric">
            </label>
            <label>Objetivo de la partida
              <select name="victory_mode"><option value="sandbox" selected>Universo abierto</option><option value="score">Victoria por puntuación</option><option value="domination">Dominación galáctica</option></select>
            </label>
            <label>Puntos para victoria
              <input name="victory_score" type="number" min="5000" max="1000000" step="5000" value="50000" inputmode="numeric">
              <small>Solo se usa en Victoria por puntuación.</small>
            </label>
          </div>
        </fieldset>
        <fieldset data-tab-panel data-tab-id="nueva-escenario" data-tab-label="Escenario compartido">
          <legend>Escenario compartido</legend>
          <p>Pega un código para cargar sus reglas sin importar ninguna partida. Los valores del código tienen prioridad sobre los selectores anteriores.</p>
          <label>Código corto de escenario
            <textarea name="scenario_code" rows="3" spellcheck="false" autocomplete="off"></textarea>
          </label>
          <details>
            <summary>{{ weekly_challenge.title }}</summary>
            <p>Semilla {{ weekly_challenge.seed }}; {{ weekly_challenge.ai_count }} rivales; {{ weekly_challenge.galaxy_count }} galaxias; dificultad {{ weekly_challenge.difficulty }}; origen {{ origins[weekly_challenge.origin].name }}. Puedes copiar la semilla para jugar el desafío local de esta semana.</p>
          </details>
        </fieldset>
        <fieldset data-tab-panel data-tab-id="nueva-accesibilidad" data-tab-label="Accesibilidad y audio">
          <legend>Accesibilidad, música y efectos</legend>
          <label for="initial-navigation-mode">Presentación de las pantallas
            <select id="initial-navigation-mode" name="navigation_mode" data-navigation-mode-select aria-describedby="initial-navigation-mode-help">
              <option value="classic">Modo normal: todos los apartados seguidos</option>
              <option value="tabs">Modo por pestañas: un apartado cada vez</option>
            </select>
            <small id="initial-navigation-mode-help">Puedes cambiarlo ahora y después desde Configuración. Ningún modo elimina opciones ni contenido.</small>
          </label>
          <p>Incluye seis músicas reproducidas al azar y {{ EFFECT_SOUNDS|length }} efectos identificativos. Todo es opcional y podrás cambiar la pista, aprender a qué acción pertenece cada sonido y probarlo desde Configuración.</p>
          <div class="form-grid">
            <label class="check-label"><input type="checkbox" name="music_enabled" value="1"> Activar música ambiental al interactuar</label>
            <label class="check-label"><input type="checkbox" name="effects_enabled" value="1" checked> Activar efectos de interfaz y avisos</label>
            <label for="initial-music-volume">Volumen de música: <output id="initial-music-output" for="initial-music-volume">25</output> %
              <input id="initial-music-volume" name="music_volume" type="range" min="0" max="100" value="25" data-volume-output="initial-music-output">
            </label>
            <label for="initial-effects-volume">Volumen de efectos: <output id="initial-effects-output" for="initial-effects-volume">65</output> %
              <input id="initial-effects-volume" name="effects_volume" type="range" min="0" max="100" value="65" data-volume-output="initial-effects-output">
            </label>
          </div>
        </fieldset>
        <fieldset data-tab-panel data-tab-id="nueva-revision" data-tab-label="Revisión final">
          <legend>Revisión final</legend>
          <p>Comprueba los datos principales. Puedes volver a cualquier pestaña sin perder lo escrito.</p>
          <ul class="settings-list setup-review-list" data-setup-review>
            <li>La revisión se actualizará al abrir este paso.</li>
          </ul>
          <button class="button button-primary button-large" type="submit">Crear universo y comenzar</button>
        </fieldset>
      </form>
    </section>

    <section class="feature-strip" aria-label="Características principales">
      <article><strong>Persistente</strong><span>La partida continúa cuando vuelves.</span></article>
      <article><strong>IA autónoma</strong><span>Rivales industriales, agresivos y científicos.</span></article>
      <article><strong>Accesible</strong><span>Teclado, lectores de pantalla y alto contraste.</span></article>
    </section>
  </main>
  <footer><p>Juego original inspirado en los clásicos de estrategia espacial. No afiliado con OGame. <a href="{{ url_for('about_page') }}">Acerca de Eclipse Imperia</a>.</p></footer>
</body>
</html>
