Files
ComfyUI_frontend/apps/architecture-adventure/src/style/hud.css
Alexander Brown 7ea4a370bd feat(adventure): add CSS theme, layout, and component styles
Extracts v1 visual design from adventure.html into 8 modular CSS files
(theme, layout, hud, room, challenge, sidebar, map, animations) and
imports them in main.ts.
2026-03-26 18:13:10 -07:00

227 lines
3.2 KiB
CSS

#hud,
.stat-bar-group,
.choice-key,
.challenge-badge,
.artifact-type,
.sidebar-header,
#room-layer,
.ending-label,
.scorecard-header,
#challenge-header,
.map-room .room-layer,
#challenge-progress,
.stat-delta,
.ending-stat .label,
#play-again-btn,
#toggle-map,
.choice-btn .choice-hint,
.challenge-choice-btn .choice-hint,
.inv-slot,
.artifact-icon,
#dec-label,
#ach-label,
#inv-label {
user-select: none;
}
#hud {
position: sticky;
top: 0;
z-index: 10;
background: var(--surface);
border-bottom: 1px solid var(--border);
padding: 12px 32px;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 10px;
}
#hud h1 {
font-size: 16px;
font-weight: 600;
color: var(--accent);
letter-spacing: 0.5px;
}
#hud-right {
display: flex;
align-items: center;
gap: 16px;
}
#stat-bars {
display: flex;
gap: 18px;
font-size: 12px;
}
.stat-bar-group {
display: flex;
align-items: center;
gap: 5px;
}
.stat-bar-label {
color: var(--muted);
white-space: nowrap;
}
.stat-bar {
width: 80px;
height: 10px;
background: var(--border);
border-radius: 4px;
overflow: hidden;
position: relative;
}
.stat-bar-fill {
height: 100%;
border-radius: 4px;
transition:
width 0.4s ease,
background-color 0.4s ease;
}
.stat-bar-value {
color: var(--text);
font-weight: 600;
font-size: 13px;
min-width: 20px;
text-align: right;
}
.stat-debt .stat-bar-fill {
background: var(--red);
}
.stat-quality .stat-bar-fill {
background: var(--green);
}
.stat-morale .stat-bar-fill {
background: var(--yellow);
}
.stat-migration .stat-bar-fill {
background: var(--purple);
}
#challenge-progress {
font-size: 12px;
color: var(--muted);
white-space: nowrap;
}
#challenge-progress .progress-value {
color: var(--text);
font-weight: 600;
}
#restart-btn {
background: none;
border: 1px solid var(--border);
color: var(--muted);
padding: 4px 10px;
border-radius: 4px;
font-family: inherit;
font-size: 11px;
cursor: pointer;
}
#restart-btn:hover {
border-color: var(--red);
color: var(--red);
}
#toggle-map {
background: none;
border: 1px solid var(--border);
color: var(--muted);
padding: 4px 10px;
border-radius: 4px;
font-family: inherit;
font-size: 11px;
cursor: pointer;
}
#toggle-map:hover {
border-color: var(--accent);
color: var(--accent);
}
@media (max-width: 900px) {
#stat-bars {
flex-wrap: wrap;
gap: 8px;
}
.stat-bar {
width: 40px;
}
}
@media (max-width: 768px) {
#hud {
padding: 6px 12px;
gap: 6px;
}
#hud h1 {
font-size: 11px;
}
#hud-right {
width: 100%;
flex-wrap: wrap;
gap: 6px;
}
#stat-bars {
width: 100%;
justify-content: space-between;
gap: 4px;
}
.stat-bar {
width: 32px;
}
.stat-bar-label {
display: none;
}
.stat-bar-group::before {
font-size: 10px;
color: var(--muted);
}
.stat-debt::before {
content: 'D';
}
.stat-quality::before {
content: 'Q';
}
.stat-morale::before {
content: 'M';
}
.stat-migration::before {
content: 'E';
}
#challenge-progress {
font-size: 9px;
}
#restart-btn,
#toggle-map {
padding: 3px 8px;
font-size: 10px;
}
}