268 lines
5.9 KiB
CSS
268 lines
5.9 KiB
CSS
/* ================================================
|
||
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-Liste ──────────────────────────── */
|
||
.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;
|
||
}
|
||
|
||
/* Blauer Kristall / Gems – Bild aus der Datenbank */
|
||
.mine-resource-icon-gem {
|
||
width: 48px;
|
||
height: 48px;
|
||
flex-shrink: 0;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
}
|
||
|
||
.mine-resource-icon-gem img {
|
||
width: 48px;
|
||
height: 48px;
|
||
object-fit: contain;
|
||
filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.7));
|
||
display: block;
|
||
}
|
||
|
||
/* Silbermünze – Bild aus der Datenbank */
|
||
.mine-resource-icon-silver {
|
||
width: 48px;
|
||
height: 48px;
|
||
flex-shrink: 0;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
}
|
||
|
||
.mine-resource-icon-silver img {
|
||
width: 48px;
|
||
height: 48px;
|
||
object-fit: contain;
|
||
filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.7));
|
||
display: block;
|
||
}
|
||
|
||
/* Goldmünze – Bild aus der Datenbank */
|
||
.mine-resource-icon-gold {
|
||
width: 48px;
|
||
height: 48px;
|
||
flex-shrink: 0;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
}
|
||
|
||
.mine-resource-icon-gold img {
|
||
width: 48px;
|
||
height: 48px;
|
||
object-fit: contain;
|
||
filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.7));
|
||
display: block;
|
||
}
|
||
|
||
/* Eisen – Bild aus der Datenbank */
|
||
.mine-resource-icon-iron {
|
||
width: 48px;
|
||
height: 48px;
|
||
flex-shrink: 0;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
}
|
||
|
||
.mine-resource-icon-iron img {
|
||
width: 48px;
|
||
height: 48px;
|
||
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: #1a1008;
|
||
text-shadow: none;
|
||
}
|
||
|
||
.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);
|
||
}
|
||
|
||
/* ── 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;
|
||
}
|
||
|
||
/* ── Aktions-Bereich ───────────────────────────── */
|
||
.mine-actions {
|
||
margin-top: 14px;
|
||
display: flex;
|
||
justify-content: center;
|
||
}
|
||
|
||
/* ── Abholen-Button (wie notification-btn) ─────── */
|
||
.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;
|
||
}
|