// ============================================================================
// EIBENREITH.INK - MAIN INDEX / GLOBAL REFERENCE
// ============================================================================
// Root file compiled by Ink. Keep this file to reference vocabularies, include
// order, and the entry divert. Authoring guidance belongs in the design docs;
// episode flow belongs in helpers.ink.

// ============================================================================
// GLOBAL STRUCTURAL LISTS
// ============================================================================
LIST TimeSlot = early_morning, mid_morning, noon, afternoon, evening, early_night, late_night
LIST EpisodeId = no_episode, episode_train_intro, episode_station_midday, episode_carriage_ride, episode_first_dinner
LIST MealPlan = meal_unset, dining_car, station_restaurant, light_refreshment, skipped
LIST Location = loc_train_compartment, loc_train_home_corridor, loc_train_clergy_corridor, loc_train_washroom_corridor, loc_train_washroom, loc_train_dining_car, loc_train_rear_lookout, loc_train_second_class_door, loc_station_platform, loc_station_restaurant, loc_carriage, loc_carriage_halt, loc_crossroad_statue, loc_forest_clearing, loc_roadside_statue, loc_eibenreith_village, loc_hohenreith_arrival, loc_hohenreith_dining_room
LIST Character = viktor
LIST RouteId = composure, detective, lover, sapphic, careless, eccentric
LIST Timer = train_lunch_order

LIST Class = noble, middle, working
LIST Relig = catholic, social, reform, spiritist, wounded
LIST Belief = believer, sceptic, performer, unsure
LIST Body = small_slender, medium_soft, tall_slender, compact_strong
LIST Outfit = charcoal_plum_velvet, black_brown_ivory_lace, blue_grey_practical, dark_green_black_trim, black_veil_severe
LIST Hair = dark_brown, chestnut, dark_blond_ash, auburn
LIST Style = centre_part_low_bun, soft_waves_chignon, braided_low_knot, raised_front_modern
LIST Face = cool_sharp, soft_alert, calm_dark_eyes, fine_controlled, marked_jaw
LIST Def = class_def, name_def, relig_def, body_def, face_def, belief_def, route_language_def, intro_def
LIST DiningCarDiscovery = dining_car_unseen, dining_car_seen
LIST FreshenUpTask = freshen_up_started, freshen_up_done
LIST ExploreTrainTask = explore_train_started, explore_train_done
LIST MirrorTask = mirror_started, mirror_done
LIST PrivacyTask = privacy_started, privacy_taken
LIST UnwellTask = unwell_started, unwell_managed
LIST WashroomFact = washroom_toilet_used
LIST LunchService = lunch_ordered, lunch_served
LIST LunchEating = lunch_first_bite, lunch_second_bite, lunch_finished
LIST Tutorial = tut_choice_intro, tut_traversal_intro, tut_character_intro, tut_dialog_intro, tut_optional_intro
LIST ChoiceGate = return_auto

// ============================================================================
// SYSTEM INCLUDES
// ============================================================================
INCLUDE helpers.ink
INCLUDE buckets.ink
INCLUDE characters.ink
INCLUDE character_generator.ink

// ============================================================================
// CHAPTER 01 STATE LISTS
// ============================================================================
LIST CourtMission = court_mission_unknown, sealed_letter_known, official_cover_understood, household_affair_named, supernatural_pretext_named, hidden_instruction_revealed, mission_contradictions_suspected
LIST ViktorRelationFrame = viktor_frame_unknown, escort_present, secretary_cover_understood, handler_role_understood, skepticism_registered, methods_negotiated, mutual_risk_recognized
LIST ValerieWorkingMask = valerie_mask_unformed, courtly_woman_presented, name_claimed, medium_reputation_invoked, method_as_mask_understood, social_strategy_established

INCLUDE 01_zug.ink

// ============================================================================
// CHAPTER 02 STATE LISTS
// ============================================================================
LIST PublicPersona = public_unseen, noticed_as_lady, noticed_as_official_arrival, station_audience_tested
LIST PublicFact = public_mask_established, public_mask_strained
LIST ServiceWorld = service_unseen, staff_as_function_noticed, staff_as_witnesses_noticed, staff_as_network_suspected, staff_as_power_source_understood
LIST ArrivalLogistics = arrival_logistics_unknown, meal_plan_chosen, carriage_arranged, baggage_handed_over, road_departure_ready
LIST ArrivalMealFact = meal_taken_in_train, meal_taken_at_station, meal_skipped_or_light

INCLUDE 02_bahnhof.ink

// ============================================================================
// CHAPTER 03 STATE LISTS
// ============================================================================
LIST OldSiteKnowledge = old_site_unknown, managed_landscape_seen, religious_markers_seen, old_boundary_felt, old_name_heard, prechristian_underlayer_suspected, old_site_has_claim
LIST ThresholdCrossing = ordinary_travel, city_order_receding, valley_order_emerging, local_rules_beginning, return_feels_less_simple
LIST SupernaturalFaculty = faculty_unframed, faculty_committed
LIST FacultyFrame = no_claim_made, intuition_framed, sensory_anomaly_framed, performance_framed
LIST AfternoonOutcome = punctual_arrival_preserved, village_knowledge_prioritised, arrival_form_compromised

INCLUDE 03_kutschenfahrt.ink
INCLUDE 03_anreise_routes.ink

// ============================================================================
// CHAPTER 04 STATE LISTS
// ============================================================================
LIST EibenreithPublicFace = eibenreith_face_unknown, curious, cautious, suspicious, unsettled, openly_watching_valerie
LIST VillageReligiousTension = village_religion_unknown, church_as_center_seen, christian_surface_noted, older_presence_hint, two_orders_in_conflict, village_fear_has_form
LIST HohenreithArrivalFrame = hohenreith_arrival_unknown, expected_guest, amalia_seen_before_dinner
LIST HohenreithArrivalFact = punctual_official_guest, delayed_after_village_detour, household_form_preserved, household_form_disturbed

INCLUDE 04_ankunft.ink

// ============================================================================
// CHAPTER 05 STATE LISTS
// ============================================================================
LIST FirstDinner = dinner_not_started, household_assembled, seating_order_read, amalia_seen_as_spoken_for, valerie_tested_at_table, dinner_completed

// INCLUDE 05_dinner.ink

// ============================================================================
// ENTRY POINT
// ============================================================================
-> start_game
