tarinai/index.html
2026-07-18 13:06:02 +09:00

465 lines
35 KiB
HTML

<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>&#x305F;&#x308A;&#x306A;&#x3044;&#x89B3;&#x5BDF;</title>
<link rel="icon" type="image/png" href="assets/ui/favicon.png?v=39.16.98" />
<link rel="apple-touch-icon" href="assets/ui/apple-touch-icon.png?v=39.16.98" />
<link rel="shortcut icon" href="favicon.ico?v=39.16.98" />
<link rel="stylesheet" href="css/base.css?v=39.16.98" />
<link rel="stylesheet" href="css/layout.css?v=39.16.98" />
<link rel="stylesheet" href="css/panel.css?v=39.16.98" />
<link rel="stylesheet" href="css/components.css?v=39.16.98" />
<link rel="stylesheet" href="css/mobile.css?v=39.16.98" />
</head>
<body>
<div id="loadingScreen" class="loading-screen" aria-live="polite">
<div class="loading-panel">
<div class="loading-kicker">&#x305F;&#x308A;&#x306A;&#x3044;&#x89B3;&#x5BDF;</div>
<h1 class="loading-title">&#x8AAD;&#x307F;&#x8FBC;&#x307F;&#x4E2D;&#x2026;</h1>
<p id="loadingText" class="loading-text">&#x6E96;&#x5099;&#x3057;&#x3066;&#x3044;&#x307E;&#x3059;&#x3002;</p>
<div id="loadingSpriteStrip" class="loading-sprite-strip" aria-hidden="true"></div>
<div class="loading-progress-track"><div id="loadingBar" class="loading-progress-bar" style="width:0%"></div></div>
<div class="loading-progress-meta"><span>&#x9032;&#x884C;&#x72B6;&#x6CC1;</span><strong id="loadingPercent">0%</strong></div>
</div>
</div>
<div id="app">
<header class="topbar">
<div class="top-left">
<a class="btn room-link" href="https://2012r2.nishi.boats/~333/">333&#x306E;&#x90E8;&#x5C4B;&#x306B;&#x79FB;&#x52D5;</a>
<div class="brand">
<h1>&#x305F;&#x308A;&#x306A;&#x3044;&#x89B3;&#x5BDF;</h1>
</div>
</div>
<div class="top-actions">
<div id="panelSearchControl" class="panel-search-control top-panel-search" role="search" aria-label="&#x53F3;&#x30E1;&#x30CB;&#x30E5;&#x30FC;&#x691C;&#x7D22;">
<input id="panelSearchInput" class="panel-search-input" type="search" autocomplete="off" spellcheck="false" placeholder="&#x691C;&#x7D22;" aria-label="&#x53F3;&#x30E1;&#x30CB;&#x30E5;&#x30FC;&#x3092;&#x691C;&#x7D22;">
<span class="panel-search-status" aria-live="polite">0</span>
<button class="panel-search-prev" type="button" disabled aria-label="&#x524D;&#x306E;&#x8A72;&#x5F53;&#x4F4D;&#x7F6E;&#x3078;&#x79FB;&#x52D5;">&#x2191;</button>
<button class="panel-search-next" type="button" disabled aria-label="&#x6B21;&#x306E;&#x8A72;&#x5F53;&#x4F4D;&#x7F6E;&#x3078;&#x79FB;&#x52D5;">&#x2193;</button>
</div>
<button id="pauseBtn" class="btn primary">&#x4E00;&#x6642;&#x505C;&#x6B62;</button>
<button id="speedBtn" class="btn">&#x901F;&#x5EA6; x1</button>
<button id="saveBtn" class="btn">&#x30BB;&#x30FC;&#x30D6;</button>
<button id="achievementsBtn" class="btn achievement-top-btn" type="button" aria-haspopup="dialog" aria-controls="achievementsDialog">&#x5B9F;&#x7E3E; <span id="achievementButtonCount">0/75</span></button>
<button id="resetBtn" class="btn danger reset-top-btn">&#x30EA;&#x30BB;&#x30C3;&#x30C8;</button>
<div id="topMenu" class="top-menu">
<button id="topMenuBtn" class="btn top-menu-btn" type="button" aria-haspopup="true" aria-expanded="false" aria-label="&#x30E1;&#x30CB;&#x30E5;&#x30FC;">&#x2630;</button>
<div id="topMenuPanel" class="top-menu-panel hidden" role="menu" aria-label="&#x30E1;&#x30CB;&#x30E5;&#x30FC;">
<button id="ecologyBtn" class="top-menu-item" type="button" role="menuitem">&#x751F;&#x614B;</button>
<div id="soundMenu" class="sound-menu top-menu-sound">
<button id="soundBtn" class="top-menu-item sound-menu-btn" type="button" aria-haspopup="true" aria-expanded="false">&#x97F3; ON</button>
<div id="soundPanel" class="sound-panel hidden" role="menu" aria-label="&#x97F3;">
<label class="sound-master"><input id="soundMasterToggle" type="checkbox" checked><span>&#x52B9;&#x679C;&#x97F3;</span></label>
<div class="sound-panel-divider"></div>
<label><input type="checkbox" data-sound-category="voice"><span>&#x305F;&#x308A;&#x306A;&#x3044;&#x306E;&#x58F0;</span></label>
<label><input type="checkbox" data-sound-category="notify" checked><span>&#x901A;&#x77E5;</span></label>
<label><input type="checkbox" data-sound-category="ops" checked><span>&#x64CD;&#x4F5C;</span></label>
</div>
</div>
<div id="visualSettingsMenu" class="sound-menu top-menu-sound top-menu-visual">
<button id="visualSettingsBtn" class="top-menu-item sound-menu-btn" type="button" aria-haspopup="true" aria-expanded="false">&#x8868;&#x793A;&#x8A2D;&#x5B9A;</button>
<div id="visualSettingsPanel" class="sound-panel hidden" role="menu" aria-label="&#x8868;&#x793A;&#x8A2D;&#x5B9A;">
<label><input id="visualEffectsToggle" type="checkbox" data-visual-setting="effects" data-visual-on="high" data-visual-off="off"><span>&#x30A8;&#x30D5;&#x30A7;&#x30AF;&#x30C8;</span></label>
<label><input id="visualShadowsToggle" type="checkbox" data-visual-setting="shadows" data-visual-on="high" data-visual-off="off"><span>&#x5F71;</span></label>
<div class="sound-panel-divider"></div>
<div class="sound-panel-subtitle">&#x63CF;&#x753B;</div>
<label><input type="radio" name="visualDetails" data-visual-setting="details" data-visual-value="auto"><span>&#x81EA;&#x52D5;</span></label>
<label><input type="radio" name="visualDetails" data-visual-setting="details" data-visual-value="low"><span>&#x4F4E;</span></label>
<label><input type="radio" name="visualDetails" data-visual-setting="details" data-visual-value="high"><span>&#x9AD8;</span></label>
</div>
</div>
<button id="creditsBtn" class="top-menu-item" type="button" role="menuitem">&#x30AF;&#x30EC;&#x30B8;&#x30C3;&#x30C8;</button>
</div>
</div>
</div>
</header>
<main class="layout">
<section class="stage-wrap">
<canvas id="gameCanvas" aria-label="&#x305F;&#x308A;&#x306A;&#x3044;&#x89B3;&#x5BDF;&#x30AD;&#x30E3;&#x30F3;&#x30D0;&#x30B9;"></canvas>
<div id="mobileModeControls" class="mobile-mode-controls" aria-label="&#x30B9;&#x30DE;&#x30DB;&#x64CD;&#x4F5C;&#x30E2;&#x30FC;&#x30C9;">
<button type="button" data-mobile-mode="auto" class="active">&#x81EA;&#x52D5;</button>
<button type="button" data-mobile-mode="camera">&#x30AB;&#x30E1;&#x30E9;</button>
<button type="button" data-mobile-mode="tool">&#x9053;&#x5177;</button>
</div>
<div id="mobileRotateControls" class="mobile-rotate-controls" hidden aria-label="&#x7269;&#x7406;&#x30A2;&#x30A4;&#x30C6;&#x30E0;&#x306E;&#x56DE;&#x8EE2;">
<button type="button" data-mobile-rotate="left">&#x5DE6;&#x56DE;&#x8EE2;</button>
<button type="button" data-mobile-rotate="right">&#x53F3;&#x56DE;&#x8EE2;</button>
</div>
<div id="toast" class="toast hidden"></div>
</section>
<aside class="panel">
<nav id="panelQuickTabs" class="panel-quick-tabs" aria-label="&#x53F3;&#x30E1;&#x30CB;&#x30E5;&#x30FC;&#x306E;&#x30BF;&#x30D6;">
<button type="button" data-panel-tab="game">&#x672C;&#x4F53;</button>
<button type="button" data-panel-tab="selected">&#x305F;&#x308A;&#x306A;&#x3044;<br>&#x30C7;&#x30FC;&#x30BF;</button>
<button type="button" data-panel-tab="tools">&#x9053;&#x5177;</button>
<button type="button" data-panel-tab="colony">&#x30B3;&#x30ED;&#x30CB;&#x30FC;</button>
<button type="button" data-panel-tab="events">&#x30A4;&#x30D9;&#x30F3;&#x30C8;</button>
<button type="button" data-panel-tab="family">&#x5BB6;&#x7CFB;&#x56F3;</button>
</nav>
<section id="selectedCard" class="card selected-card hidden">
<div class="selected-head">
<h2>&#x305F;&#x308A;&#x306A;&#x3044;&#x30C7;&#x30FC;&#x30BF;</h2>
<button id="selectedCloseBtn" class="selected-close" type="button" aria-label="&#x305F;&#x308A;&#x306A;&#x3044;&#x30C7;&#x30FC;&#x30BF;&#x3092;&#x9589;&#x3058;&#x308B;">&times;</button>
</div>
<div id="selectedInfo" class="selected-info empty">&#x305F;&#x308A;&#x306A;&#x3044;&#x3092;&#x9078;&#x629E;&#x3057;&#x3066;&#x304F;&#x3060;&#x3055;&#x3044;</div>
</section>
<section id="toolCard" class="card tool-card collapsible-card">
<button class="panel-card-toggle" type="button" aria-expanded="true"><span class="panel-card-title">&#x9053;&#x5177;</span><span class="panel-card-state">&#x6298;&#x308A;&#x7573;&#x307F;</span></button>
<div class="panel-card-body">
<div class="tool-body">
<div id="toolPalette" class="tool-palette" aria-live="polite"></div>
</div>
</div>
</section>
<section class="card colony-card collapsible-card">
<button class="panel-card-toggle" type="button" aria-expanded="true"><span class="panel-card-title">&#x30B3;&#x30ED;&#x30CB;&#x30FC;</span><span class="panel-card-state">&#x6298;&#x308A;&#x7573;&#x307F;</span></button>
<div class="panel-card-body">
<div class="stats colony-stats">
<div class="stat"><span>&#x72B6;&#x614B;</span><strong id="statColonyMood">&#x5B89;&#x5B9A;</strong></div>
</div>
<details class="colony-setting-fold colony-settings-fold">
<summary><span>&#x30B3;&#x30ED;&#x30CB;&#x30FC;&#x8A2D;&#x5B9A;</span></summary>
<div class="colony-settings-body">
<section class="colony-setting-section ground-setting-section">
<div class="colony-setting-section-head"><span>&#x5730;&#x9762;</span></div>
<button id="groundTypeBtn" class="ground-type-btn colony-setting-action" type="button" data-ground-toggle aria-label="&#x5730;&#x9762;&#x3092;&#x304D;&#x308A;&#x304B;&#x3048;&#x308B;"><strong id="statGroundType">&#x7802;</strong><span>&#x5207;&#x308A;&#x66FF;&#x3048;</span></button>
</section>
<section class="colony-setting-section temperature-section">
<div class="colony-setting-section-head"><span>&#x6C17;&#x6E29;</span><strong id="temperatureValue">10&#x2103;</strong></div>
<div class="temperature-control" aria-label="&#x6C17;&#x6E29;&#x8ABF;&#x6574;">
<label class="temperature-auto"><input id="temperatureAutoToggle" type="checkbox" checked> &#x81EA;&#x52D5;</label>
<input id="temperatureSlider" class="temperature-slider" type="range" min="-100" max="120" step="1" value="10">
</div>
</section>
<section class="colony-setting-section colony-limit-section">
<div class="colony-setting-section-head"><span>&#x4E0A;&#x9650;&#x8A2D;&#x5B9A;</span><small>300&#x306E;&#x6B21;&#x306F;&#x221E;</small></div>
<div class="colony-limit-control" aria-label="&#x30B3;&#x30ED;&#x30CB;&#x30FC;&#x4E0A;&#x9650;&#x8A2D;&#x5B9A;">
<div class="colony-limit-grid">
<label class="colony-limit-row"><span>&#x305F;&#x308A;&#x306A;&#x3044;&#x306E;&#x6570;</span><input id="tarinaiPopulationLimitSlider" class="colony-limit-slider" type="range" min="1" max="301" step="1" value="301"><input id="tarinaiPopulationLimitInput" class="colony-limit-number" type="number" min="1" max="301" step="1" inputmode="numeric" placeholder="&#x221E;"></label>
<label class="colony-limit-row"><span>&#x7269;&#x4F53;&#x6570;</span><input id="objectLimitSlider" class="colony-limit-slider" type="range" min="1" max="301" step="1" value="301"><input id="objectLimitInput" class="colony-limit-number" type="number" min="1" max="301" step="1" inputmode="numeric" placeholder="&#x221E;"></label>
</div>
<div id="colonyLimitStatus" class="colony-limit-status">&#x305F;&#x308A;&#x306A;&#x3044;&#x306E;&#x6570; 0 / &#x221E;&#x3000;&#x7269;&#x4F53;&#x6570; 0 / &#x221E;</div>
</div>
</section>
</div>
</details>
<div id="colonyChartTabs" class="chart-tabs"><button data-chart="population" class="active">&#x500B;&#x4F53;&#x6570;</button><button data-chart="life">&#x6B32;&#x6C42;</button><button data-chart="objects">&#x74B0;&#x5883;</button></div>
<div id="colonyChartLegend" class="colony-chart-legend"></div>
<div id="colonyChart" class="colony-chart" aria-label="&#x30B3;&#x30ED;&#x30CB;&#x30FC;&#x306E;&#x63A8;&#x79FB;&#x30B0;&#x30E9;&#x30D5;" role="img"></div>
</div>
</section>
<section class="card log-card collapsible-card">
<button class="panel-card-toggle" type="button" aria-expanded="true"><span class="panel-card-title">&#x30A4;&#x30D9;&#x30F3;&#x30C8;</span><span class="panel-card-state">&#x6298;&#x308A;&#x7573;&#x307F;</span></button>
<div class="panel-card-body">
<div id="log" class="log"></div>
<div class="log-push-controls" id="logPushControls" aria-label="&#x30D7;&#x30C3;&#x30B7;&#x30E5;&#x901A;&#x77E5;&#x8A2D;&#x5B9A;">
<label class="push-master"><input id="logPushEnabled" type="checkbox"> &#x30D7;&#x30C3;&#x30B7;&#x30E5;&#x901A;&#x77E5;</label>
<div class="push-kind-grid">
<label><input type="checkbox" data-push-kind="death" checked> &#x6B7B;&#x4EA1;</label>
<label><input type="checkbox" data-push-kind="accident" checked> &#x4E8B;&#x6545;</label>
<label><input type="checkbox" data-push-kind="birth" checked> &#x8A95;&#x751F;</label>
<label><input type="checkbox" data-push-kind="fight"> &#x55A7;&#x5629;</label>
<label><input type="checkbox" data-push-kind="food"> &#x98DF;&#x4E8B;</label>
<label><input type="checkbox" data-push-kind="weather"> &#x5929;&#x6C17;</label>
<label><input type="checkbox" data-push-kind="grass"> &#x8349;</label>
<label><input type="checkbox" data-push-kind="event"> &#x51FA;&#x6765;&#x4E8B;</label>
<label><input type="checkbox" data-push-kind="relation"> &#x95A2;&#x4FC2;</label>
</div>
</div>
</div>
</section>
</aside>
</main>
<section class="card lineage-main-card">
<div class="lineage-head">
<h2>&#x5BB6;&#x7CFB;&#x56F3;<span class="lineage-title-note">&#x91CD;&#x3044;&#x5834;&#x5408;&#x304C;&#x3042;&#x308B;&#x306E;&#x3067;&#x6CE8;&#x610F;</span></h2>
<div class="lineage-actions">
<button id="archiveUpdateToggleBtn" class="btn" type="button" aria-pressed="false">&#x66F4;&#x65B0; OFF</button>
<button id="archiveResetBtn" class="btn danger" type="button">&#x5BB6;&#x7CFB;&#x56F3;&#x3092;&#x30EA;&#x30BB;&#x30C3;&#x30C8;</button>
</div>
</div>
<div id="archiveContent" class="archive-content lineage-main-content"></div>
</section>
<button id="backToGameBtn" class="back-to-game-btn" type="button" hidden aria-label="&#x30B2;&#x30FC;&#x30E0;&#x672C;&#x4F53;&#x3078;&#x623B;&#x308B;">&#x25B2; &#x672C;&#x4F53;</button>
</div>
<div id="achievementsDialog" class="field-dialog hidden" role="dialog" aria-modal="true" aria-labelledby="achievementsDialogTitle">
<div class="field-dialog-panel achievement-dialog-panel">
<div class="achievement-dialog-head">
<div>
<div class="achievement-dialog-kicker">&#x305F;&#x308A;&#x306A;&#x3044;&#x89B3;&#x5BDF;</div>
<h2 id="achievementsDialogTitle">&#x5B9F;&#x7E3E; <span id="achievementDialogCount">0 / 75</span></h2>
</div>
<button id="achievementsCloseIconBtn" class="achievement-close-icon" type="button" aria-label="&#x5B9F;&#x7E3E;&#x3092;&#x9589;&#x3058;&#x308B;">&times;</button>
</div>
<p class="field-dialog-lead">&#x4E00;&#x90E8;&#x306E;&#x6761;&#x4EF6;&#x306F;&#x672A;&#x9054;&#x6210;&#x3067;&#x3082;&#x516C;&#x958B;&#x3055;&#x308C;&#x307E;&#x3059;&#x3002;&#x5B9F;&#x7E3E;&#x306F;&#x3053;&#x306E;&#x7AEF;&#x672B;&#x306B;&#x4FDD;&#x5B58;&#x3055;&#x308C;&#x3001;&#x80CC;&#x666F;&#x306E;&#x68D2;&#x30B0;&#x30E9;&#x30D5;&#x306F;&#x5168;&#x4F53;&#x9054;&#x6210;&#x7387;&#x3092;&#x793A;&#x3057;&#x307E;&#x3059;&#x3002;</p>
<div id="achievementSharedStatus" class="achievement-shared-status" aria-live="polite">&#x5171;&#x6709;&#x9054;&#x6210;&#x7387;&#x3092;&#x78BA;&#x8A8D;&#x4E2D;&#x2026;</div>
<div id="achievementList" class="achievement-list"></div>
<div class="field-dialog-actions achievement-dialog-actions">
<button id="achievementResetBtn" class="btn danger achievement-reset-btn" type="button">&#x5B9F;&#x7E3E;&#x3092;&#x30EA;&#x30BB;&#x30C3;&#x30C8;</button>
<button id="achievementUnlockAllBtn" class="btn" type="button" hidden>&#x5168;&#x5B9F;&#x7E3E;&#x3092;&#x7372;&#x5F97;</button>
<button id="achievementRefreshBtn" class="btn" type="button">&#x5171;&#x6709;&#x9054;&#x6210;&#x7387;&#x3092;&#x66F4;&#x65B0;</button>
<button id="achievementsCloseBtn" class="btn primary" type="button">&#x9589;&#x3058;&#x308B;</button>
</div>
</div>
</div>
<div id="achievementToast" class="achievement-toast hidden" role="status" aria-live="polite">
<div class="achievement-toast-icon" aria-hidden="true">&#x2605;</div>
<div class="achievement-toast-copy">
<small>&#x5B9F;&#x7E3E;&#x3092;&#x89E3;&#x9664;&#x3057;&#x307E;&#x3057;&#x305F;</small>
<strong id="achievementToastTitle"></strong>
<span id="achievementToastCondition" class="achievement-toast-condition"></span>
</div>
</div>
<div id="fieldDialog" class="field-dialog hidden" role="dialog" aria-modal="true" aria-labelledby="fieldDialogTitle">
<div class="field-dialog-panel reset-dialog-panel">
<h2 id="fieldDialogTitle">&#x30EA;&#x30BB;&#x30C3;&#x30C8;&#x8A2D;&#x5B9A;</h2>
<p class="field-dialog-lead">&#x30B5;&#x30A4;&#x30BA;&#x3068;&#x30D7;&#x30EA;&#x30BB;&#x30C3;&#x30C8;&#x3092;&#x7D44;&#x307F;&#x5408;&#x308F;&#x305B;&#x3066;&#x89B3;&#x5BDF;&#x74B0;&#x5883;&#x3092;&#x751F;&#x6210;&#x3057;&#x307E;&#x3059;&#x3002;</p>
<div class="field-dialog-section-title">&#x30B5;&#x30A4;&#x30BA;</div>
<div class="field-choice-grid">
<button class="field-choice" data-field-type="park" type="button" aria-pressed="false"><strong>&#x516C;&#x5712;</strong><span>&#x5927;</span></button>
<button class="field-choice" data-field-type="garden" type="button" aria-pressed="true"><strong>&#x5EAD;</strong><span>&#x4E2D;</span></button>
<button class="field-choice" data-field-type="cage" type="button" aria-pressed="false"><strong>&#x30B1;&#x30FC;&#x30B8;</strong><span>&#x5C0F;</span></button>
</div>
<div class="field-dialog-section-title">&#x30D7;&#x30EA;&#x30BB;&#x30C3;&#x30C8;</div>
<div class="field-choice-grid reset-preset-choice-grid">
<button class="field-choice" data-reset-preset="empty" type="button" aria-pressed="false"><strong>&#x7A7A;&#x767D;</strong><span>&#x4F55;&#x3082;&#x7121;&#x3044;&#x3002;</span></button>
<button class="field-choice" data-reset-preset="default" type="button" aria-pressed="true"><strong>&#x30C7;&#x30D5;&#x30A9;&#x30EB;&#x30C8;</strong><span>&#x521D;&#x671F;&#x751F;&#x6210;&#x3002;</span></button>
<button class="field-choice" data-reset-preset="athletic" type="button" aria-pressed="false"><strong>&#x30A2;&#x30B9;&#x30EC;&#x30C1;&#x30C3;&#x30AF;</strong><span>&#x67F5;&#x3068;&#x30DC;&#x30FC;&#x30EB;&#x3002;</span></button>
<button class="field-choice" data-reset-preset="crowded" type="button" aria-pressed="false"><strong>&#x904E;&#x5BC6;</strong><span>&#x5927;&#x91CF;&#x306E;&#x305F;&#x308A;&#x306A;&#x3044;&#x3002;</span></button>
<button class="field-choice" data-reset-preset="family" type="button" aria-pressed="false"><strong>&#x5BB6;&#x65CF;</strong><span>2&#x5339;&#x3068;&#x3078;&#x3053;&#x9905;&#x3002;</span></button>
<button class="field-choice" data-reset-preset="war" type="button" aria-pressed="false"><strong>&#x6226;&#x4E89;</strong><span>&#x3051;&#x3093;&#x304B;&#x3068;&#x67F5;&#x3002;</span></button>
<button class="field-choice" data-reset-preset="happy" type="button" aria-pressed="false"><strong>&#x5E78;&#x798F;</strong><span>&#x6383;&#x9664;&#x6A5F;&#x3068;&#x5DE3;&#x7BB1;&#x3002;</span></button>
<button class="field-choice" data-reset-preset="hair_trigger" type="button" aria-pressed="false"><strong>&#x4E00;&#x89E6;&#x5373;&#x767A;</strong><span>&#x4E2D;&#x592E;&#x306E;&#x30DC;&#x30FC;&#x30EB;&#x67F5;&#x3002;</span></button>
</div>
<div class="field-dialog-actions">
<button id="fieldCancelBtn" class="btn" type="button">&#x30AD;&#x30E3;&#x30F3;&#x30BB;&#x30EB;</button>
<button id="fieldConfirmBtn" class="btn danger" type="button">&#x518D;&#x751F;&#x6210;</button>
</div>
</div>
</div>
<div id="creditsDialog" class="field-dialog hidden" role="dialog" aria-modal="true" aria-labelledby="creditsDialogTitle">
<div class="field-dialog-panel">
<h2 id="creditsDialogTitle">&#x30AF;&#x30EC;&#x30B8;&#x30C3;&#x30C8;</h2>
<div>
<p><strong>&#x88FD;&#x4F5C;:</strong> 333</p>
<p><strong>&#x30A4;&#x30E9;&#x30B9;&#x30C8;:</strong> &#x3080;&#x3089;&#x3055;&#x304D;&#x6C0F; / &#x3044;&#x3089;&#x3059;&#x3068;&#x3084;: <a href="https://www.irasutoya.com/" target="_blank" rel="noopener">https://www.irasutoya.com/</a></p>
<p><strong>&#x52B9;&#x679C;&#x97F3;:</strong> VOICEVOX: &#x305A;&#x3093;&#x3060;&#x3082;&#x3093;&#x3000;&#x52B9;&#x679C;&#x97F3;&#x30E9;&#x30DC;: <a href="https://soundeffect-lab.info/" target="_blank" rel="noopener">https://soundeffect-lab.info/</a></p>
</div>
<div class="field-dialog-actions">
<button id="creditsCloseBtn" class="btn" type="button">&#x9589;&#x3058;&#x308B;</button>
</div>
</div>
</div>
<div id="archiveResetDialog" class="field-dialog hidden" role="dialog" aria-modal="true" aria-labelledby="archiveResetDialogTitle">
<div class="field-dialog-panel archive-reset-dialog-panel">
<h2 id="archiveResetDialogTitle">&#x5BB6;&#x7CFB;&#x56F3;&#x3092;&#x30EA;&#x30BB;&#x30C3;&#x30C8;&#x3057;&#x307E;&#x3059;&#x304B;&#xFF1F;</h2>
<p class="hint">&#x73FE;&#x5728;&#x306E;&#x89AA;&#x5B50;&#x95A2;&#x4FC2;&#x3068;&#x4E16;&#x4EE3;&#x60C5;&#x5831;&#x3092;&#x6D88;&#x53BB;&#x3057;&#x307E;&#x3059;&#x3002;&#x500B;&#x4F53;&#x305D;&#x306E;&#x3082;&#x306E;&#x3084;&#x5EAD;&#x306E;&#x72B6;&#x614B;&#x306F;&#x6D88;&#x3048;&#x307E;&#x305B;&#x3093;&#x3002;</p>
<div class="field-dialog-actions archive-reset-actions">
<button id="archiveResetCancelBtn" class="btn" type="button">&#x30AD;&#x30E3;&#x30F3;&#x30BB;&#x30EB;</button>
<button id="archiveResetConfirmBtn" class="btn danger" type="button">&#x30EA;&#x30BB;&#x30C3;&#x30C8;&#x3059;&#x308B;</button>
</div>
</div>
</div>
<div id="ecologyDialog" class="field-dialog hidden" role="dialog" aria-modal="true" aria-labelledby="ecologyDialogTitle">
<div class="field-dialog-panel ecology-dialog-panel">
<h2 id="ecologyDialogTitle">&#x305F;&#x308A;&#x306A;&#x3044;&#x306E;&#x751F;&#x614B;</h2>
<div id="ecologyGrid" class="ecology-grid"></div>
<div class="field-dialog-actions">
<button id="ecologyCloseBtn" class="btn" type="button">&#x9589;&#x3058;&#x308B;</button>
</div>
</div>
</div>
<div id="logPushOverlay" class="log-push-overlay" aria-live="polite" aria-atomic="false"></div>
<script src="js/version.js?v=39.16.98" defer></script>
<script src="js/event_bus.js?v=39.16.98" defer></script>
<script src="js/domain_ids.js?v=39.16.98" defer></script>
<script src="js/registry_base.js?v=39.16.98" defer></script>
<script src="js/disease_registry.js?v=39.16.98" defer></script>
<script src="js/sound_pack.js?v=39.16.98" defer></script>
<script src="js/deterministic_helpers.js?v=39.16.98" defer></script>
<script src="js/item_tool_metadata.js?v=39.16.98" defer></script>
<script src="js/item_tool_definitions.js?v=39.16.98" defer></script>
<script src="js/item_visual_definitions.js?v=39.16.98" defer></script>
<script src="js/item_food_definitions.js?v=39.16.98" defer></script>
<script src="js/item_effect_definitions.js?v=39.16.98" defer></script>
<script src="js/item_registry.js?v=39.16.98" defer></script>
<script src="js/data.js?v=39.16.98" defer></script>
<script src="js/ground_types.js?v=39.16.98" defer></script>
<script src="js/input_mode_manager.js?v=39.16.98" defer></script>
<script src="js/math.js?v=39.16.98" defer></script>
<script src="js/geometry_helpers.js?v=39.16.98" defer></script>
<script src="js/collision_footprint_system.js?v=39.16.98" defer></script>
<script src="js/physics_helpers.js?v=39.16.98" defer></script>
<script src="js/placement_preview_system.js?v=39.16.98" defer></script>
<script src="js/pin_attachment_system.js?v=39.16.98" defer></script>
<script src="js/physics_shape_editor_system.js?v=39.16.98" defer></script>
<script src="js/mechanical_system.js?v=39.16.98" defer></script>
<script src="js/mechanical_shape_bridge.js?v=39.16.98" defer></script>
<script src="js/constraint_system.js?v=39.16.98" defer></script>
<script src="js/physics_world_system.js?v=39.16.98" defer></script>
<script src="js/physics_projection_system.js?v=39.16.98" defer></script>
<script src="js/circuit_board_system.js?v=39.16.98" defer></script>
<script src="js/signal_system.js?v=39.16.98" defer></script>
<script src="js/assets.js?v=39.16.98" defer></script>
<script src="js/audio.js?v=39.16.98" defer></script>
<script src="js/perf_profiler.js?v=39.16.98" defer></script>
<script src="js/display_helpers.js?v=39.16.98" defer></script>
<script src="js/render.js?v=39.16.98" defer></script>
<script src="js/sim_core.js?v=39.16.98" defer></script>
<script src="js/tarinai_seed_factory.js?v=39.16.98" defer></script>
<script src="js/structures.js?v=39.16.98" defer></script>
<script src="js/item_type_catalog.js?v=39.16.98" defer></script>
<script src="js/items.js?v=39.16.98" defer></script>
<script src="js/item_type_initializers.js?v=39.16.98" defer></script>
<script src="js/item_lifecycle_support.js?v=39.16.98" defer></script>
<script src="js/item_update_policy.js?v=39.16.98" defer></script>
<script src="js/fire_runtime_system.js?v=39.16.98" defer></script>
<script src="js/robot_cleaner_system.js?v=39.16.98" defer></script>
<script src="js/item_dynamic_tool_system.js?v=39.16.98" defer></script>
<script src="js/item_dynamic_ball_system.js?v=39.16.98" defer></script>
<script src="js/item_dynamic_duplicator_system.js?v=39.16.98" defer></script>
<script src="js/item_dynamic_pin_system.js?v=39.16.98" defer></script>
<script src="js/item_dynamic_zunchi_system.js?v=39.16.98" defer></script>
<script src="js/item_dynamic_system.js?v=39.16.98" defer></script>
<script src="js/item_lifecycle_decay_system.js?v=39.16.98" defer></script>
<script src="js/item_lifecycle_growth_system.js?v=39.16.98" defer></script>
<script src="js/item_lifecycle_step_frame.js?v=39.16.98" defer></script>
<script src="js/item_lifecycle_step_decay.js?v=39.16.98" defer></script>
<script src="js/item_lifecycle_step_dynamic.js?v=39.16.98" defer></script>
<script src="js/item_lifecycle_step_growth.js?v=39.16.98" defer></script>
<script src="js/update_step_pipeline_runner.js?v=39.16.98" defer></script>
<script src="js/item_lifecycle_pipeline.js?v=39.16.98" defer></script>
<script src="js/item_runtime.js?v=39.16.98" defer></script>
<script src="js/structure_lifecycle.js?v=39.16.98" defer></script>
<script src="js/item_render_helpers.js?v=39.16.98" defer></script>
<script src="js/item_render_runtime.js?v=39.16.98" defer></script>
<script src="js/burn_motion_util.js?v=39.16.98" defer></script>
<script src="js/ants.js?v=39.16.98" defer></script>
<script src="js/health.js?v=39.16.98" defer></script>
<script src="js/tarinai.js?v=39.16.98" defer></script>
<script src="js/tarinai_action_spec.js?v=39.16.98" defer></script>
<script src="js/tarinai_behavior_state.js?v=39.16.98" defer></script>
<script src="js/tarinai_identity_social.js?v=39.16.98" defer></script>
<script src="js/tarinai_action_state.js?v=39.16.98" defer></script>
<script src="js/tarinai_disease_nest.js?v=39.16.98" defer></script>
<script src="js/tarinai_item_effects.js?v=39.16.98" defer></script>
<script src="js/tarinai_needs_core.js?v=39.16.98" defer></script>
<script src="js/tarinai_behavior_text.js?v=39.16.98" defer></script>
<script src="js/tarinai_forced_behavior.js?v=39.16.98" defer></script>
<script src="js/tarinai_nest_sleep_system.js?v=39.16.98" defer></script>
<script src="js/tarinai_item_targeting.js?v=39.16.98" defer></script>
<script src="js/tarinai_consumable_behavior.js?v=39.16.98" defer></script>
<script src="js/tarinai_social_action_runtime.js?v=39.16.98" defer></script>
<script src="js/tarinai_building_behavior.js?v=39.16.98" defer></script>
<script src="js/seesaw_system.js?v=39.16.98" defer></script>
<script src="js/tarinai_action_definitions.js?v=39.16.98" defer></script>
<script src="js/tarinai_needs_items.js?v=39.16.98" defer></script>
<script src="js/tarinai_food_prototype_mixin.js?v=39.16.98" defer></script>
<script src="js/tarinai_direct_feeding_system.js?v=39.16.98" defer></script>
<script src="js/tarinai_need_planner_system.js?v=39.16.98" defer></script>
<script src="js/tarinai_item_interaction_context.js?v=39.16.98" defer></script>
<script src="js/tarinai_food_interaction_system.js?v=39.16.98" defer></script>
<script src="js/tarinai_contact_item_system.js?v=39.16.98" defer></script>
<script src="js/tarinai_item_interaction_system.js?v=39.16.98" defer></script>
<script src="js/tarinai_sunbath_system.js?v=39.16.98" defer></script>
<script src="js/tarinai_cursor_care_system.js?v=39.16.98" defer></script>
<script src="js/tarinai_local_environment_system.js?v=39.16.98" defer></script>
<script src="js/tarinai_social_move_life.js?v=39.16.98" defer></script>
<script src="js/tarinai_update_step_frame.js?v=39.16.98" defer></script>
<script src="js/tarinai_update_step_ai.js?v=39.16.98" defer></script>
<script src="js/tarinai_update_step_environment.js?v=39.16.98" defer></script>
<script src="js/tarinai_update_step_movement.js?v=39.16.98" defer></script>
<script src="js/tarinai_update_step_health.js?v=39.16.98" defer></script>
<script src="js/tarinai_update_pipeline.js?v=39.16.98" defer></script>
<script src="js/tarinai_runtime.js?v=39.16.98" defer></script>
<script src="js/tarinai_render.js?v=39.16.98" defer></script>
<script src="js/world.js?v=39.16.98" defer></script>
<script src="js/world_view.js?v=39.16.98" defer></script>
<script src="js/family_graph.js?v=39.16.98" defer></script>
<script src="js/world_reset_presets.js?v=39.16.98" defer></script>
<script src="js/world_family_social.js?v=39.16.98" defer></script>
<script src="js/impact_core_system.js?v=39.16.98" defer></script>
<script src="js/impact_response_system.js?v=39.16.98" defer></script>
<script src="js/collision_response_system.js?v=39.16.98" defer></script>
<script src="js/world_combat_effects.js?v=39.16.98" defer></script>
<script src="js/world_environment.js?v=39.16.98" defer></script>
<script src="js/world_temperature_system.js?v=39.16.98" defer></script>
<script src="js/world_pathfinding_system.js?v=39.16.98" defer></script>
<script src="js/world_grass_placement_system.js?v=39.16.98" defer></script>
<script src="js/world_spatial_budget.js?v=39.16.98" defer></script>
<script src="js/world_ants_system.js?v=39.16.98" defer></script>
<script src="js/weather_system.js?v=39.16.98" defer></script>
<script src="js/item_update_scheduler.js?v=39.16.98" defer></script>
<script src="js/simulation_runtime_helpers.js?v=39.16.98" defer></script>
<script src="js/tarinai_update_policy.js?v=39.16.98" defer></script>
<script src="js/simulation_environment_system.js?v=39.16.98" defer></script>
<script src="js/simulation_item_ant_system.js?v=39.16.98" defer></script>
<script src="js/simulation_effects_system.js?v=39.16.98" defer></script>
<script src="js/simulation_creature_system.js?v=39.16.98" defer></script>
<script src="js/simulation_maintenance_system.js?v=39.16.98" defer></script>
<script src="js/simulation_ambient_system.js?v=39.16.98" defer></script>
<script src="js/simulation_systems.js?v=39.16.98" defer></script>
<script src="js/system_order.js?v=39.16.98" defer></script>
<script src="js/simulation.js?v=39.16.98" defer></script>
<script src="js/colony_situation_system.js?v=39.16.98" defer></script>
<script src="js/world_update.js?v=39.16.98" defer></script>
<script src="js/world_tool_actions.js?v=39.16.98" defer></script>
<script src="js/world_placement_log.js?v=39.16.98" defer></script>
<script src="js/world_event_effects.js?v=39.16.98" defer></script>
<script src="js/command_dispatcher.js?v=39.16.98" defer></script>
<script src="js/text_catalog.js?v=39.16.98" defer></script>
<script src="js/ui.js?v=39.16.98" defer></script>
<script src="js/game_dialogs.js?v=39.16.98" defer></script>
<script src="js/achievements.js?v=39.16.98" defer></script>
<script src="js/ui_helpers.js?v=39.16.98" defer></script>
<script src="js/ui_log.js?v=39.16.98" defer></script>
<script src="js/ui_selected.js?v=39.16.98" defer></script>
<script src="js/save_schema.js?v=39.16.98" defer></script>
<script src="js/snapshot_system.js?v=39.16.98" defer></script>
<script src="js/restore_coordinator.js?v=39.16.98" defer></script>
<script src="js/history_system.js?v=39.16.98" defer></script>
<script src="js/save_codec.js?v=39.16.98" defer></script>
<script src="js/save_storage.js?v=39.16.98" defer></script>
<script src="js/save_system.js?v=39.16.98" defer></script>
<script src="js/ui_tooltips.js?v=39.16.98" defer></script>
<script src="js/ui_layout_dialogs.js?v=39.16.98" defer></script>
<script src="js/ui_ground.js?v=39.16.98" defer></script>
<script src="js/ui_tools.js?v=39.16.98" defer></script>
<script src="js/ui_input_shared.js?v=39.16.98" defer></script>
<script src="js/ui_pointer_action_system.js?v=39.16.98" defer></script>
<script src="js/ui_input_touch.js?v=39.16.98" defer></script>
<script src="js/ui_input_mouse.js?v=39.16.98" defer></script>
<script src="js/ui_bind.js?v=39.16.98" defer></script>
<script src="js/ui_charts.js?v=39.16.98" defer></script>
<script src="js/ui_family_data.js?v=39.16.98" defer></script>
<script src="js/ui_family_async.js?v=39.16.98" defer></script>
<script src="js/ui_family_layout.js?v=39.16.98" defer></script>
<script src="js/ui_family_paths.js?v=39.16.98" defer></script>
<script src="js/ui_family_render.js?v=39.16.98" defer></script>
<script src="js/main.js?v=39.16.98" defer></script>
<script src="js/debug_tools.js?v=39.16.98" defer></script>
</body>
</html>