/* CSS split file; preserve manifest load order. */ .tool[data-tool="sleep_drug"] { --tool-icon: url("../assets/ui/tool_sleep_drug.webp"); } .tool[data-tool="nest_box"] { --tool-icon: url("../assets/ui/tool_nest_box.webp"); } .tool[data-tool="ant_nest"] { --tool-icon: url("../assets/ui/tool_ant_nest.webp"); } .tool[data-tool="ball"] { --tool-icon: url("../assets/ui/tool_ball.webp"); } .tool[data-tool="poke"] { --tool-icon: none; } .tool[data-tool="poke"]::before { content: "\1F448"; background: none; font-size: 25px; line-height: 1; filter: drop-shadow(0 2px 3px rgba(52,40,26,0.12)); } .tool[data-tool="poke"]::after { content: "\1F448"; background: none; font-size: 48px; line-height: 1; opacity: 0.11; right: -6px; left: auto; top: 50%; bottom: auto; transform: translateY(-50%); width: 54px; height: 54px; } .tool[data-tool="pinch"] { --tool-icon: none; } .tool[data-tool="pinch"]::before { content: "\1F90F"; background: none; font-size: 25px; line-height: 1; filter: drop-shadow(0 2px 3px rgba(52,40,26,0.12)); } .tool[data-tool="pinch"]::after { content: "\1F90F"; background: none; font-size: 48px; line-height: 1; opacity: 0.10; right: -6px; left: auto; top: 50%; bottom: auto; transform: translateY(-50%); width: 54px; height: 54px; } .tool[data-tool="water_hose"] { --tool-icon: none; } .tool[data-tool="water_hose"]::before { content: "\1F6BF"; background: none; font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; font-size: 24px; line-height: 1; filter: drop-shadow(0 2px 3px rgba(52,40,26,0.12)); } .tool[data-tool="water_hose"]::after { content: "\1F6BF"; background: none; font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; font-size: 46px; line-height: 1; opacity: 0.10; right: -6px; left: auto; top: 50%; bottom: auto; transform: translateY(-50%); width: 54px; height: 54px; } .tool[data-tool="delete"] { --tool-icon: url("../assets/ui/tool_delete.webp"); } .tool[data-tool="new"] { --tool-icon: url("../assets/ui/tool_new.webp"); } .tool.selected { background: linear-gradient(180deg, #ffffff, #efffde); border-color: rgba(103, 178, 44, 0.52); box-shadow: inset 0 0 0 1px rgba(156,232,75,0.38), 0 8px 20px rgba(117, 166, 64, 0.13); } .hint { color: var(--muted); font-size: 12px; line-height: 1.40; margin: 10px 0 0; } .tool-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; } .tool-head h2 { margin-bottom: 0; } .btn.mini { padding: 6px 10px; font-size: 12px; } .tool-body { margin-top: 12px; } .tool-palette { display: flex; flex-direction: column; gap: 9px; } .tool-category { border: 1px solid rgba(84,68,48,0.10); border-radius: 14px; background: rgba(255,255,255,0.34); overflow: hidden; } .tool-category-toggle { width: 100%; border: 0; border-bottom: 1px solid rgba(84,68,48,0.08); background: rgba(255,252,244,0.66); padding: 8px 10px; text-align: left; cursor: pointer; font-weight: 700; font-size: 12px; } .tool-category-toggle::before { content: "\25be "; display: inline-block; width: 16px; color: var(--muted); } .tool-category.collapsed .tool-category-toggle::before { content: "\25b8 "; } .tool-category-body { padding: 8px; } .tool-category.collapsed .tool-category-body { display: none; } .selected-data-groups { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; } .selected-category { border: 1px solid rgba(84,68,48,0.10); border-radius: 14px; background: rgba(255,255,255,0.30); overflow: hidden; } .selected-category-toggle { width: 100%; border: 0; border-bottom: 1px solid rgba(84,68,48,0.08); background: rgba(255,252,244,0.66); padding: 8px 10px; text-align: left; cursor: pointer; font-weight: 700; font-size: 12px; color: var(--ink); } .selected-category-toggle::before { content: "\25be "; display: inline-block; width: 16px; color: var(--muted); } .selected-category.collapsed .selected-category-toggle::before { content: "\25b8 "; } .selected-category-body { padding: 7px 9px; } .selected-category.collapsed .selected-category-body { display: none; } .selected-category-body .info-row:last-child { border-bottom: 0; } .tool-size-badge { position: absolute; right: 7px; bottom: 6px; min-width: 20px; padding: 2px 5px; border-radius: 999px; background: rgba(42,36,29,0.68); color: #fff; font-size: 10px; line-height: 1; text-align: center; box-shadow: 0 1px 4px rgba(42,36,29,0.16); pointer-events: none; } .chart-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; margin: 3px 0 8px; } .chart-tabs button { border: 1px solid var(--line); background: rgba(255,255,255,0.62); border-radius: 999px; padding: 5px 4px; font-size: 11px; cursor: pointer; } .chart-tabs button.active { background: #efffde; border-color: rgba(103,178,44,0.46); font-weight: 700; } .log-accident { border-left-color: rgba(226, 136, 54, 0.76); } .stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 12px; } .stat { background: linear-gradient(180deg, rgba(255,255,255,0.58), rgba(246, 240, 228, 0.72)); border: 1px solid var(--line); border-radius: 13px; padding: 9px 8px; text-align: center; } .stat span { display: block; font-size: 11px; color: var(--muted); } .stat strong { font-size: 18px; } .meter-row { display: grid; grid-template-columns: 72px 1fr; align-items: center; gap: 8px; font-size: 12px; margin: 6px 0; } meter { width: 100%; height: 12px; accent-color: var(--accent); } .selected-card.hidden { display: none; } .selected-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; } .selected-head h2 { margin-bottom: 0; } .selected-close { width: 28px; height: 28px; border: 1px solid rgba(84,68,48,0.16); border-radius: 999px; background: rgba(255,255,255,0.76); color: rgba(76,58,42,0.78); font-size: 20px; line-height: 24px; cursor: pointer; display: grid; place-items: center; padding: 0; } .selected-close:hover { background: #fff; } .selected-info { font-size: 13px; line-height: 1.40; } .selected-info.empty { color: var(--muted); } .selected-name-editor { margin: 0 0 8px; } .selected-name-input { width: 100%; box-sizing: border-box; border: 1px solid rgba(103,178,44,0.34); border-radius: 13px; background: rgba(246,252,238,0.96); color: var(--ink); font-size: 18px; font-weight: 700; line-height: 1.25; padding: 8px 10px; box-shadow: inset 0 1px 0 rgba(255,255,255,0.82); } .selected-name-input:focus { outline: 2px solid rgba(103,178,44,0.24); border-color: rgba(103,178,44,0.62); background: #fff; } .selected-effects { margin: 2px 0 6px; } .badge { display: inline-block; font-size: 11px; line-height: 1; border-radius: 999px; padding: 5px 8px; background: #f1f8e9; border: 1px solid rgba(103, 178, 44, 0.28); margin: 0 4px 4px 0; } .info-row { display: flex; justify-content: space-between; gap: 10px; border-bottom: 1px dashed rgba(84,68,48,0.16); padding: 5px 0; } .info-row span:first-child { color: var(--muted); } .personality-values strong { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 2px 8px; max-width: 68%; text-align: right; } .personality-values strong span { color: var(--ink); white-space: nowrap; } .personality-tag { display: inline-block; border-radius: 999px; padding: 2px 7px; background: rgba(103,178,44,0.10); border: 1px solid rgba(103,178,44,0.22); } .personality-tag.neutral { background: rgba(120,110,90,0.08); border-color: rgba(120,110,90,0.16); } .log-card { min-height: 260px; flex: 0 0 auto; display: flex; flex-direction: column; } .log { max-height: 360px; min-height: 170px; flex: 1 1 auto; overflow: auto; display: flex; flex-direction: column; gap: 7px; font-size: 12px; overscroll-behavior: auto; } .log-entry { padding: 8px 9px; border-radius: 12px; background: rgba(255,252,246,0.82); border: 1px solid rgba(84,68,48,0.12); border-left: 4px solid rgba(118, 101, 74, 0.24); } .log-tag { display: inline-block; min-width: 34px; margin-right: 6px; padding: 2px 5px; border-radius: 999px; font-size: 9px; line-height: 1.1; text-align: center; background: rgba(84,68,48,0.08); color: rgba(72,58,43,0.72); text-transform: uppercase; } .log-entry .time { color: var(--muted); margin-right: 6px; } .log-birth { border-left-color: rgba(115, 185, 75, 0.66); } .log-death { border-left-color: rgba(91, 83, 75, 0.60); } .log-fight { border-left-color: rgba(214, 94, 70, 0.68); } .log-food { border-left-color: rgba(118, 185, 77, 0.68); } .log-grass { border-left-color: rgba(72, 148, 67, 0.68); } .log-weather { border-left-color: rgba(92, 142, 210, 0.62); } .log-relation { border-left-color: rgba(204, 126, 176, 0.62); } .log-observe { border-left-color: rgba(175, 146, 86, 0.62); } @media (max-width: 980px) { #app { padding: 10px; } .topbar { align-items: flex-start; flex-direction: column; } .top-left { align-items: flex-start; flex-direction: column; } .brand { align-items: center; flex-direction: row; gap: 10px; } .layout { grid-template-columns: 1fr; } .panel { max-height: none; overflow: visible; } #gameCanvas { height: var(--field-mobile-height, 66vh); min-height: var(--field-mobile-min-height, 460px); } .stage-wrap { min-height: var(--field-mobile-min-height, 460px); } .field-choice-grid { grid-template-columns: 1fr; } } .tree-note { color: var(--muted); font-size: 12px; line-height: 1.45; margin: 0 0 10px; padding: 8px 10px; border-radius: 10px; background: rgba(255,255,255,0.54); border: 1px solid rgba(84,68,48,0.10); } /* Clearer tool category grouping. */ .tool-category[data-tool-category="operate"] { --tool-cat-a: rgba(224,239,255,0.82); --tool-cat-b: rgba(203,226,255,0.74); --tool-cat-line: rgba(82,128,190,0.26); } .tool-category[data-tool-category="food"] { --tool-cat-a: rgba(236,252,219,0.82); --tool-cat-b: rgba(214,244,194,0.74); --tool-cat-line: rgba(96,156,72,0.26); } .tool-category[data-tool-category="medicine"] { --tool-cat-a: rgba(243,231,255,0.84); --tool-cat-b: rgba(230,214,252,0.78); --tool-cat-line: rgba(136,94,184,0.28); } .tool-category[data-tool-category="habitat"] { --tool-cat-a: rgba(255,245,218,0.84); --tool-cat-b: rgba(250,229,186,0.76); --tool-cat-line: rgba(174,125,54,0.28); } .tool-category[data-tool-category="hazard"] { --tool-cat-a: rgba(255,230,224,0.84); --tool-cat-b: rgba(250,207,197,0.78); --tool-cat-line: rgba(189,88,66,0.30); } .tool-category { border-color: var(--tool-cat-line, rgba(84,68,48,0.10)); background: linear-gradient(180deg, var(--tool-cat-a, rgba(255,255,255,0.36)), rgba(255,255,255,0.28)); } .tool-category-toggle { background: linear-gradient(180deg, var(--tool-cat-a, rgba(255,252,244,0.66)), var(--tool-cat-b, rgba(255,252,244,0.54))); border-bottom-color: var(--tool-cat-line, rgba(84,68,48,0.08)); } .tool[data-tool="ball"] { --tool-icon: none; } .tool[data-tool="ball"]::before { content: "⚽"; background: none; display: grid; place-items: center; font-size: 28px; line-height: 1; opacity: 1; filter: drop-shadow(0 2px 3px rgba(52,40,26,0.12)); } .tool[data-tool="ball"]::after { background: none; } @media (min-width: 921px) { .mobile-mode-controls { display: none !important; } }