dok/public/css/mine.css
2026-04-08 14:07:53 +01:00

395 lines
8.7 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* ================================================
mine.css Mine Gebäude UI
Passt zum bestehenden Design aus building.css
und dem qm-popup / game-notification System
================================================ */
/* ── Panel-Wrapper ─────────────────────────────── */
.mine-panel {
padding: 14px 16px;
display: flex;
flex-direction: column;
gap: 0;
}
/* ── Header-Zeile: Level + Zyklusinfo ──────────── */
.mine-header-row {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 10px;
}
.mine-level-badge {
background: linear-gradient(135deg, #3a2200, #6a3c00);
border: 1px solid #c8952a;
border-radius: 20px;
padding: 4px 12px;
color: #f0c84a;
font-size: 12px;
font-weight: bold;
letter-spacing: 0.04em;
}
.mine-cycles {
font-size: 11px;
color: #a07830;
font-style: italic;
}
/* ── Trennlinie ────────────────────────────────── */
.mine-divider {
height: 1px;
background: linear-gradient(90deg, transparent, #7a5a1a, transparent);
margin: 10px 0;
}
/* ── Abschnitt-Titel ───────────────────────────── */
.mine-section-title {
font-size: 11px;
color: #a07830;
text-transform: uppercase;
letter-spacing: 0.08em;
margin: 0 0 8px 0;
}
/* ── Ressourcen-Auswahl ────────────────────────── */
.mine-res-selector {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 6px;
margin-bottom: 4px;
}
.mine-res-btn {
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
background: linear-gradient(180deg, #2a1e0a 0%, #1a1206 100%);
border: 1px solid rgba(122, 90, 26, 0.5);
border-radius: 8px;
padding: 10px 8px;
cursor: pointer;
transition: border-color 0.2s, background 0.2s, transform 0.1s;
color: #c8a860;
}
.mine-res-btn:hover:not(:disabled):not(.mine-res-btn-active) {
border-color: #c8952a;
background: linear-gradient(180deg, #3a2a0e 0%, #2a1e08 100%);
transform: translateY(-1px);
}
.mine-res-btn-active {
background: linear-gradient(180deg, #4a3010 0%, #3a2008 100%);
border-color: #f0c84a;
box-shadow: 0 0 8px rgba(240, 200, 74, 0.25);
cursor: default;
}
.mine-res-btn-icon {
font-size: 20px;
line-height: 1;
display: flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
}
.mine-res-btn-icon img {
width: 28px;
height: 28px;
object-fit: contain;
filter: drop-shadow(0 1px 3px rgba(0,0,0,0.7));
display: block;
}
.mine-res-btn-name {
font-size: 12px;
font-weight: bold;
color: #f0c84a;
}
.mine-res-btn-amount {
font-size: 10px;
color: #a07830;
}
/* ── Aktuelle Produktion ───────────────────────── */
.mine-resources {
display: flex;
flex-direction: column;
gap: 6px;
}
.mine-resource-row {
display: flex;
align-items: center;
gap: 10px;
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(122, 90, 26, 0.3);
border-radius: 6px;
padding: 7px 12px;
transition: border-color 0.2s, background 0.2s;
}
.mine-resource-row.mine-resource-ready {
border-color: rgba(200, 149, 42, 0.55);
background: rgba(200, 149, 42, 0.07);
}
.mine-resource-icon {
font-size: 18px;
line-height: 1;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
}
/* Ressource Icons einheitliche Größe */
.mine-resource-icon-gold,
.mine-resource-icon-iron,
.mine-resource-icon-wood,
.mine-resource-icon-stone {
width: 28px;
height: 28px;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
}
.mine-resource-icon-gold img,
.mine-resource-icon-iron img,
.mine-resource-icon-wood img,
.mine-resource-icon-stone img {
width: 28px;
height: 28px;
object-fit: contain;
filter: drop-shadow(0 1px 3px rgba(0,0,0,0.7));
display: block;
}
.mine-resource-label {
flex: 1;
font-size: 13px;
font-weight: bold;
color: #ffffff;
}
.mine-resource-amount {
font-size: 15px;
font-weight: bold;
color: #f0c84a;
min-width: 32px;
text-align: right;
text-shadow: 0 1px 3px rgba(0,0,0,0.6);
}
/* ── Fortschrittsbalken ────────────────────────── */
.mine-progress-wrap {
height: 5px;
background: rgba(255,255,255,0.07);
border-radius: 3px;
margin: 8px 0 6px;
overflow: hidden;
}
.mine-progress-bar {
height: 100%;
background: linear-gradient(90deg, #c8952a, #f0c84a);
border-radius: 3px;
transition: width 0.6s ease;
}
/* ── Timer-Zeile ───────────────────────────────── */
.mine-timer-row {
display: flex;
align-items: center;
justify-content: space-between;
padding: 2px 0;
}
.mine-timer-label {
font-size: 12px;
color: #a07830;
}
.mine-timer {
font-size: 13px;
font-family: monospace;
color: #f0c84a;
background: rgba(0,0,0,0.35);
border: 1px solid #7a5a1a;
border-radius: 5px;
padding: 3px 10px;
letter-spacing: 0.05em;
}
.mine-timer-full {
color: #ff9040;
border-color: #ff6020;
animation: minePulse 1s ease-in-out infinite;
}
/* ── Schleifen-Bereich ─────────────────────────── */
.mine-loop-row {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 8px;
}
.mine-loop-dots {
display: flex;
gap: 6px;
align-items: center;
}
.mine-loop-dot {
width: 14px;
height: 14px;
border-radius: 50%;
background: rgba(255,255,255,0.08);
border: 1px solid rgba(122, 90, 26, 0.5);
transition: background 0.3s, border-color 0.3s;
}
.mine-loop-dot-active {
background: linear-gradient(135deg, #a030f0, #6010c0);
border-color: #c060ff;
box-shadow: 0 0 6px rgba(160, 48, 240, 0.6);
}
.mine-loop-info {
font-size: 12px;
color: #a07830;
}
.mine-loop-maxed {
color: #f0c84a;
font-weight: bold;
}
.mine-btn-loop {
width: 100%;
display: flex;
align-items: center;
justify-content: center;
gap: 6px;
background: linear-gradient(180deg, #3a1060 0%, #200840 100%);
color: #d090ff;
border: 1px solid #8040c0;
border-radius: 6px;
padding: 8px 16px;
font-size: 12px;
font-family: sans-serif;
font-weight: bold;
cursor: pointer;
letter-spacing: 0.03em;
transition: filter 0.15s, transform 0.1s;
box-shadow: 0 2px 6px rgba(0,0,0,0.4);
}
.mine-btn-loop:hover:not(:disabled) {
filter: brightness(1.25);
transform: translateY(-1px);
}
.mine-btn-loop:active:not(:disabled) {
transform: translateY(0);
filter: brightness(0.9);
}
.mine-btn-loop.mine-btn-disabled,
.mine-btn-loop:disabled {
background: linear-gradient(180deg, #1a1020 0%, #100810 100%);
border-color: #3a2050;
color: #604080;
cursor: not-allowed;
box-shadow: none;
transform: none;
filter: none;
}
.mine-loop-gem-icon {
font-size: 14px;
}
.mine-loop-no-gems {
font-size: 10px;
color: #804060;
font-weight: normal;
}
/* ── Aktions-Bereich ───────────────────────────── */
.mine-actions {
margin-top: 4px;
display: flex;
justify-content: center;
}
/* ── Abholen-Button ────────────────────────────── */
.mine-btn-collect {
background: linear-gradient(180deg, #c8952a 0%, #7a5310 100%);
color: #fff8e0;
border: 1px solid #f0c84a;
border-radius: 6px;
padding: 9px 28px;
font-size: 13px;
font-family: sans-serif;
font-weight: bold;
cursor: pointer;
letter-spacing: 0.04em;
transition: filter 0.15s, transform 0.1s;
text-shadow: 0 1px 2px rgba(0,0,0,0.6);
width: 100%;
box-shadow: 0 2px 8px rgba(0,0,0,0.5);
}
.mine-btn-collect:hover:not(:disabled) {
filter: brightness(1.2);
transform: translateY(-1px);
}
.mine-btn-collect:active:not(:disabled) {
transform: translateY(0);
filter: brightness(0.95);
}
.mine-btn-collect.mine-btn-disabled,
.mine-btn-collect:disabled {
background: linear-gradient(180deg, #3a3020 0%, #2a2010 100%);
border-color: #5a4a1a;
color: #7a6a3a;
cursor: not-allowed;
box-shadow: none;
transform: none;
filter: none;
}
/* ── Lade- & Fehlerzustände ────────────────────── */
.mine-loading {
padding: 24px;
text-align: center;
color: #a07830;
font-size: 13px;
letter-spacing: 0.04em;
animation: minePulse 1.2s ease-in-out infinite;
}
@keyframes minePulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.45; }
}
.mine-error {
padding: 16px;
text-align: center;
color: #c84040;
font-size: 12px;
}