{% from "components/_tabs.html" import tabs_intro %}
<header class="page-heading"><p class="eyebrow">HISTORIA VIVA</p><h1>Orígenes, situaciones, primeros contactos y crisis</h1><p>Las decisiones permanecen, alteran recursos y relaciones y quedan registradas en la cronología.</p></header>
<div data-tab-scope="encounters" data-tab-auto>
{{ tabs_intro('encounters', 'Apartados de historia viva', 'Organiza el origen, las cadenas narrativas, los contactos preespaciales y las crisis sin eliminar decisiones.') }}

{% if origin %}{% set origin_definition = ORIGINS.get(origin.origin_key) %}{% set origin_mod = origin.origin_key.split(':', 1)[0] if ':' in origin.origin_key else '' %}<section class="panel" aria-labelledby="origin-title"><h2 id="origin-title">Origen: {{ origin_definition.name if origin_definition else origin.origin_key }}</h2>{% if origin_definition and (not origin_mod or origin_mod in active_mod_ids) %}<p>{{ origin_definition.summary }}</p><p>Capítulo {{ origin.chapter }}; {{ 'historia completada' if origin.completed else 'historia activa' }}.</p>{% if not origin.completed %}{% if origin_definition.get('chapters') %}{% set origin_chapter = origin_definition.chapters[origin.chapter - 1] %}<h3>{{ origin_chapter[0] }}</h3><p>{{ origin_chapter[1] }}</p>{% else %}<p>El contenido declarativo de este origen plantea una nueva decisión sobre su legado.</p>{% endif %}<form method="post" action="{{ url_for('origin_action') }}" class="inline-form"><input type="hidden" name="csrf_token" value="{{ csrf_token() }}"><label>Respuesta al legado <select name="choice"><option value="tradition">Preservar la tradición</option><option value="reform">Reformar sus principios</option><option value="synthesis">Crear una síntesis</option></select></label><button class="button" type="submit">Resolver capítulo disponible</button></form>{% endif %}{% else %}<p>Este origen se conserva en el guardado, pero su contenido está pausado porque el mod correspondiente no está instalado o está desactivado. Puedes restaurarlo desde Escenarios y mods sin perder el progreso.</p>{% endif %}</section>{% endif %}

<section class="panel" aria-labelledby="situations-title"><h2 id="situations-title">Cadenas narrativas</h2>{% for situation in situations %}{% set chain = SITUATIONS.get(situation.template_key) %}{% set situation_mod = situation.template_key.split(':', 1)[0] if ':' in situation.template_key else '' %}<article class="entity-card"><h3>{{ chain.name if chain else situation.template_key }}</h3>{% if chain and (not situation_mod or situation_mod in active_mod_ids) %}<p>Estado {{ situation.status }}; etapa {{ situation.stage + 1 }} de {{ chain.stages|length }}.</p>{% if situation.status == 'active' and situation.stage < chain.stages|length %}{% set stage = chain.stages[situation.stage] %}<h4>{{ stage[0] }}</h4><p>{{ stage[1] }}</p><form method="post" action="{{ url_for('situation_choice_action') }}"><input type="hidden" name="csrf_token" value="{{ csrf_token() }}"><input type="hidden" name="situation_id" value="{{ situation.id }}">{% for choice in stage[2] %}<button class="button" type="submit" name="choice" value="{{ choice[0] }}">{{ choice[1] }}</button>{% endfor %}</form>{% else %}<p>Consulta su epílogo en Historia del universo.</p>{% endif %}{% else %}<p>Cadena pausada: el mod que la define no está instalado o se encuentra desactivado. El estado permanece guardado.</p>{% endif %}</article>{% endfor %}</section>

<section class="panel" aria-labelledby="pre-ftl-title"><h2 id="pre-ftl-title">Civilizaciones preespaciales</h2>{% if pre_ftl %}<div class="card-grid">{% for civilization in pre_ftl %}<article class="entity-card"><h3>{{ civilization.name }}</h3><p>[{{ civilization.galaxy }}:{{ civilization.system }}:{{ civilization.position }}], era {{ civilization.era }}, actitud {{ civilization.attitude }}, estado {{ civilization.status }}.</p><dl><div><dt>Política</dt><dd>{{ civilization.policy }}</dd></div><div><dt>Progreso espacial</dt><dd>{{ civilization.progress|round(1) }} %</dd></div><div><dt>Contaminación cultural</dt><dd>{{ civilization.contamination|round(1) }} %</dd></div></dl>{% if civilization.status == 'independent' %}<form method="post" action="{{ url_for('pre_ftl_policy_action') }}" class="inline-form"><input type="hidden" name="csrf_token" value="{{ csrf_token() }}"><input type="hidden" name="civilization_id" value="{{ civilization.id }}"><label>Política <select name="policy"><option value="observe">Observación pasiva</option><option value="assist">Ayuda tecnológica</option><option value="infiltrate">Infiltración</option><option value="protect">Protección frente a rivales</option></select></label><button class="button" type="submit">Aplicar política</button></form>{% endif %}</article>{% endfor %}</div>{% else %}<p>No se han detectado civilizaciones preespaciales.</p>{% endif %}</section>

{% if crisis_state %}<section class="panel" aria-labelledby="crisis-title"><h2 id="crisis-title">Crisis: {{ CRISES[crisis_state.crisis_key] }}</h2><p>Fase {{ crisis_state.phase }}; progreso de resolución {{ crisis_state.progress|round(1) }}; amenaza {{ crisis_state.threat|round(1) }}; custodio {{ crisis_state.custodian_name or 'no elegido' }}.</p><dl class="compact-definition-list"><div><dt>Objetivo de alerta</dt><dd>Preparar fuerzas, ciencia e influencia; la fase activa comienza al alcanzar 80 de progreso.</dd></div><div><dt>Objetivo activo</dt><dd>Alcanzar 220 para entrar en el clímax mientras se contienen los golpes de amenaza.</dd></div><div><dt>Objetivo final</dt><dd>Reunir 400 de progreso total mediante soluciones militares, científicas o diplomáticas.</dd></div><div><dt>Escalado</dt><dd>La amenaza crece según dificultad y número de galaxias; el custodio aporta un 20 % adicional.</dd></div></dl>{% if crisis_contributions %}<p>Tu contribución: militar {{ crisis_contributions.military|round(1) }}, científica {{ crisis_contributions.science|round(1) }}, diplomática {{ crisis_contributions.diplomacy|round(1) }}.</p>{% endif %}{% if crisis_state.phase != 'resolved' %}<form method="post" action="{{ url_for('crisis_contribution_action') }}" class="form-grid"><input type="hidden" name="csrf_token" value="{{ csrf_token() }}"><label>Enfoque <select name="approach"><option value="military">Combatir con unidades</option><option value="science">Investigar con cristal y deuterio</option><option value="diplomacy">Negociar con influencia</option><option value="embrace">Convertirse parcialmente en parte de la crisis</option></select></label><label>Cantidad <input type="number" name="amount" min="1" max="100000" value="10"></label><button class="button button-danger" type="submit">Ejecutar respuesta</button></form>{% endif %}</section>{% endif %}
</div>
