2026-06-07 15:05:24 +09:00
<!doctype html>
< html lang = "en" >
< head >
< meta charset = "utf-8" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1" / >
2026-06-08 22:05:54 +09:00
< title > Chick Sorter v27.6< / title >
2026-06-07 15:05:24 +09:00
< link rel = "stylesheet" href = "./styles.css" / >
< / head >
< body >
< main id = "app" >
< section id = "gameShell" class = "game-shell" aria-label = "Game screen" >
< canvas id = "gameCanvas" width = "1440" height = "900" aria-label = "Chick Sorter game canvas" > < / canvas >
< div class = "hud hud-top-left" aria-label = "Run status" >
2026-06-07 20:36:52 +09:00
< div class = "hud-card cash" > < span > CASH< / span > < strong id = "money" > ¥250< / strong > < / div >
2026-06-07 15:05:24 +09:00
< div class = "hud-card" > < span > TIME< / span > < strong id = "timeLeft" > 60.0s< / strong > < / div >
2026-06-07 20:36:52 +09:00
< div class = "hud-card profit" > < span > NET< / span > < strong id = "turnProfit" > ¥0< / strong > < / div >
2026-06-07 18:06:35 +09:00
< div class = "hud-card" > < span > DAY< / span > < strong id = "turn" > 1< / strong > < / div >
2026-06-07 15:05:24 +09:00
< div class = "hud-card compact" > < span > PHASE< / span > < strong id = "phaseLabel" > Title< / strong > < / div >
2026-06-08 22:05:54 +09:00
< div class = "hud-card combo" > < span > COMBO< / span > < strong id = "comboCount" > 0< / strong > < / div >
2026-06-07 15:05:24 +09:00
< / div >
2026-06-07 18:06:35 +09:00
< div class = "hud hud-top-right" aria-label = "Day result details" >
2026-06-07 15:05:24 +09:00
< div class = "hud-card" > < span > MIXER< / span > < strong id = "mixerCount" > 0< / strong > < / div >
< div class = "hud-card" > < span > TRUCK F< / span > < strong id = "truckFemaleCount" > 0< / strong > < / div >
< div class = "hud-card" > < span > WRONG< / span > < strong id = "truckMaleCount" > 0< / strong > < / div >
< div class = "hud-card" > < span > POOP< / span > < strong id = "poopCount" > 0< / strong > < / div >
< / div >
2026-06-07 18:06:35 +09:00
< div class = "priority-strip" aria-label = "Important day info" >
2026-06-07 15:05:24 +09:00
< div id = "eventBrief" class = "event-brief" > NO ACTIVE EVENT< / div >
< div id = "targetBrief" class = "target-brief" > TRUCK TARGET: FEMALE< / div >
< div id = "speedBrief" class = "speed-brief" > BELT: 52 px/s< / div >
< / div >
< div id = "buildPanel" class = "build-panel" aria-label = "Build and facility upgrades" >
< div class = "panel-head" >
< div >
2026-06-08 22:05:54 +09:00
< h1 > CHICK SORTER < span > v27.6< / span > < / h1 >
< p > Build, expand, connect at least one valid EGG route, then start the next day.< / p >
2026-06-07 15:05:24 +09:00
< / div >
2026-06-07 18:06:35 +09:00
< button id = "nextTurnButton" class = "primary-button" type = "button" > Next Day< / button >
2026-06-07 15:05:24 +09:00
< / div >
< div class = "panel-grid" >
< section class = "equipment-section" >
< h2 > Add / Edit Equipment< / h2 >
< div class = "large-tools" >
2026-06-07 20:36:52 +09:00
< button id = "buildConveyorButton" class = "tool-button" type = "button" > < strong > Conveyor< / strong > < span > ¥30 / tile< / span > < / button >
< button id = "buildEggFarmButton" class = "tool-button" type = "button" > < strong > Egg Farm< / strong > < span > ¥250< / span > < / button >
2026-06-08 13:18:33 +09:00
< button id = "buildAutoScannerButton" class = "tool-button" type = "button" > < strong > Auto Scanner< / strong > < span > ¥360 / 2.25s cooldown< / span > < / button >
2026-06-07 20:36:52 +09:00
< button id = "buildManualScannerButton" class = "tool-button" type = "button" > < strong > Manual Scanner< / strong > < span > ¥260< / span > < / button >
< button id = "buildMixerButton" class = "tool-button" type = "button" > < strong > Mixer< / strong > < span > ¥450< / span > < / button >
< button id = "buildTrashButton" class = "tool-button" type = "button" > < strong > Waste Shredder< / strong > < span > ¥240< / span > < / button >
< button id = "buildTruckButton" class = "tool-button" type = "button" > < strong > Truck< / strong > < span > ¥450< / span > < / button >
2026-06-08 13:18:33 +09:00
< button id = "eraseButton" class = "tool-button danger" type = "button" > < strong > Sell< / strong > < span > Sell or refund equipment< / span > < / button >
< button id = "hireRepairmanButton" class = "tool-button repair" type = "button" > < strong > Hire Repairman< / strong > < span > ¥100 / next day< / span > < / button >
2026-06-08 22:05:54 +09:00
< button id = "expandGridButton" class = "tool-button expand" type = "button" > < strong > Expand Grid< / strong > < span > ¥1,300 / +10× 10< / span > < small class = "tool-flavor" > Canvas buttons buy adjacent right or upper 10× 10 lots. New ground includes blocked no-build tiles.< / small > < / button >
2026-06-07 15:05:24 +09:00
< div class = "history-tools" > < button id = "undoButton" class = "tool-button small" type = "button" > < strong > Undo< / strong > < span > Ctrl+Z< / span > < / button > < button id = "redoButton" class = "tool-button small" type = "button" > < strong > Redo< / strong > < span > Ctrl+Y< / span > < / button > < / div >
< / div >
2026-06-07 18:06:35 +09:00
< div id = "buildStatus" class = "mini-box" > Build tools unlock after each day.< / div >
2026-06-07 15:05:24 +09:00
< / section >
< section class = "contract-section" >
2026-06-07 18:06:35 +09:00
< h2 > Irregular One-Day Event< / h2 >
2026-06-07 15:05:24 +09:00
< div id = "contractPanel" class = "contract-card empty" > Irregular forced events appear during Build phase.< / div >
< / section >
2026-06-08 18:01:20 +09:00
< section class = "rules-section compact-rules" >
2026-06-07 15:05:24 +09:00
< h2 > Status< / h2 >
< div id = "turnSummary" class = "mini-box" > < / div >
< / section >
< / div >
< / div >
2026-06-08 22:05:54 +09:00
< div id = "manualScannerMonitor" class = "scanner-monitor" aria-label = "Offscreen manual scanner monitor" > < / div >
2026-06-07 15:05:24 +09:00
< div class = "control-dock" aria-label = "Sorting controls" >
2026-06-07 18:06:35 +09:00
< button id = "scanner1MixerButton" class = "sort-button" type = "button" > S1 A -> Mixer< / button >
< button id = "scanner1TruckButton" class = "sort-button" type = "button" > S1 D -> S2< / button >
< button id = "scanner2MixerButton" class = "sort-button" type = "button" > S2 -> Waste< / button >
< button id = "scanner2TruckButton" class = "sort-button" type = "button" > S2 -> Truck< / button >
2026-06-07 15:05:24 +09:00
< / div >
2026-06-08 13:18:33 +09:00
< div id = "hoverTooltip" class = "hover-tooltip" aria-hidden = "true" > < / div >
2026-06-08 22:05:54 +09:00
< details id = "debugPanel" class = "debug-panel" >
< summary > DBG< / summary >
< div class = "debug-body" >
< label class = "debug-check" > < input id = "debugInfiniteCash" type = "checkbox" / > Infinite money< / label >
< label class = "debug-day" > Day < input id = "debugDayInput" type = "number" min = "1" step = "1" value = "1" / > < / label >
< button id = "debugSetDayButton" type = "button" > Set Day< / button >
< label class = "debug-card" > Card < select id = "debugCardSelect" > < / select > < / label >
< button id = "debugGrantCardButton" type = "button" > Grant Card< / button >
< button id = "debugGrantAllCardsButton" type = "button" > All Cards< / button >
< div id = "debugReadout" class = "debug-readout" > < / div >
< / div >
< / details >
2026-06-07 15:05:24 +09:00
< / section >
< / main >
< div id = "modal" class = "modal visible" >
< div class = "modal-card" >
< h2 id = "modalTitle" > Chick Sorter< / h2 >
< div id = "modalBody" > < / div >
< div id = "modalActions" class = "modal-actions" > < / div >
< / div >
< / div >
2026-06-08 23:11:49 +09:00
< script type = "module" src = "./src/game.js?v=27.6-cache2" > < / script >
2026-06-07 15:05:24 +09:00
< / body >
< / html >