tarinai/css/layout.css
2026-07-05 18:01:36 +09:00

309 lines
9.8 KiB
CSS

/* CSS split file; preserve manifest load order. Tool image paths come from TOOL_DEFINITIONS. */
.tool[data-tool="ball"] { --tool-icon-zoom: 1.36; }
.tool[data-tool="shoot"] { --tool-icon-zoom: 1.48; }
.tool.tool-emoji-icon { --tool-icon: none; }
.tool.tool-emoji-icon::before {
content: var(--tool-emoji, "");
background: none;
display: grid;
place-items: center;
font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
font-size: 34px;
line-height: 1;
filter: drop-shadow(0 2px 3px rgba(52,40,26,0.12));
}
.tool.tool-emoji-icon::after { content: none; display: none; }
.tool[data-tool="poke"].tool-emoji-icon::before,
.tool[data-tool="water_hose"].tool-emoji-icon::before { font-size: 25px; }
.tool[data-tool="rope"].tool-emoji-icon::before,
.tool[data-tool="rod"].tool-emoji-icon::before,
.tool[data-tool="reciprocator"].tool-emoji-icon::before,
.tool[data-tool="undo"].tool-emoji-icon::before,
.tool[data-tool="redo"].tool-emoji-icon::before { font-size: 29px; font-family: var(--font, sans-serif); }
.tool[data-tool="delete"] { --tool-icon-zoom: 1.42; }
.tool[data-tool="area_delete"] { --tool-icon-zoom: 1.20; }
.tool[data-tool="pinch"].tool-emoji-icon::before { font-size: 22px; }
.tool[data-tool="area_delete"].tool-emoji-icon::before {
font-size: 31px;
line-height: 1;
color: #5d7fb9;
text-shadow: 0 1px 0 rgba(255,255,255,0.65), 0 2px 5px rgba(146,54,62,0.16);
filter: none;
transform: translateY(-54%) scale(var(--tool-icon-zoom, 1));
}
.tool-category[data-tool-category="operate"] .tool[data-tool="area_delete"].tool-emoji-icon::before {
top: 42% !important;
transform: translate(-50%, -50%) scale(var(--tool-icon-zoom, 1)) !important;
}
.tool[data-tool="observe"],
.tool[data-tool="new"] { --tool-icon-zoom: 1.20; }
.tool[data-tool="giant_drug"] { --tool-icon-zoom: 1.58; }
.tool[data-tool="dwarf_drug"],
.tool[data-tool="oshibyo"] { --tool-icon-zoom: 0.62; }
.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;
}
.btn.mini { padding: 6px 10px; font-size: 12px; }
.tool-body { margin-top: 10px; }
.tool-palette { display: flex; flex-direction: column; gap: 8px; }
.tool-category {
border: 1px solid var(--tool-cat-line, rgba(84,68,48,0.10));
border-radius: 14px;
background: linear-gradient(180deg, var(--tool-cat-a, rgba(255,255,255,0.36)), rgba(255,255,255,0.28));
overflow: hidden;
}
.tool-category-toggle {
width: 100%;
border: 0;
border-bottom: 1px solid var(--tool-cat-line, rgba(84,68,48,0.08));
background: linear-gradient(180deg, var(--tool-cat-a, rgba(255,252,244,0.66)), var(--tool-cat-b, rgba(255,252,244,0.54)));
padding: 7px 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: 7px; }
.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 var(--tool-cat-line, rgba(84,68,48,0.08));
background: linear-gradient(180deg, var(--tool-cat-a, rgba(255,252,244,0.66)), var(--tool-cat-b, rgba(255,252,244,0.54)));
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: 4px;
bottom: 3px;
min-width: 16px;
padding: 1px 4px;
border-radius: 999px;
background: rgba(42,36,29,0.72);
color: #fff;
font-size: 8.5px;
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(3, 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 {
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: 9.5px;
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); }
.log-event { border-left-color: rgba(132, 120, 210, 0.62); }
/* 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="physics"] { --tool-cat-a: rgba(226,247,246,0.84); --tool-cat-b: rgba(199,232,231,0.76); --tool-cat-line: rgba(70,145,148,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); }
@media (min-width: 921px) {
.mobile-mode-controls { display: none !important; }
}