dok/public/css/mine.css
2026-04-08 14:15:17 +01:00

424 lines
9.4 KiB
CSS
Raw Permalink 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
================================================ */
/* ── Panel-Wrapper ─────────────────────────────── */
.mine-panel {
padding: 14px 16px;
display: flex;
flex-direction: column;
gap: 0;
}
/* ── Header ────────────────────────────────────── */
.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;
}
.mine-queue-count {
color: #c8952a;
font-weight: normal;
text-transform: none;
letter-spacing: 0;
}
/* ── Hinweistext ───────────────────────────────── */
.mine-hint {
font-size: 11px;
color: #806040;
margin: 0 0 8px 0;
line-height: 1.4;
}
.mine-hint-center {
text-align: center;
margin-top: 6px;
}
/* ── Ressourcen-Auswahl Raster ─────────────────── */
.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-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;
}
.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;
}
/* ── Warteschlangen-Slots ──────────────────────── */
.mine-queue-slot {
display: flex;
align-items: center;
gap: 8px;
border-radius: 6px;
padding: 6px 10px;
margin-bottom: 5px;
font-size: 12px;
}
.mine-queue-slot-filled {
background: rgba(160, 48, 240, 0.08);
border: 1px solid rgba(160, 48, 240, 0.35);
}
.mine-queue-pos {
font-size: 11px;
color: #806080;
min-width: 16px;
}
.mine-queue-icon {
display: flex;
align-items: center;
justify-content: center;
width: 22px;
height: 22px;
}
.mine-queue-icon img {
width: 22px;
height: 22px;
object-fit: contain;
filter: drop-shadow(0 1px 2px rgba(0,0,0,0.6));
display: block;
}
.mine-queue-label {
flex: 1;
color: #d0a0ff;
font-weight: bold;
}
.mine-queue-dur {
font-size: 11px;
color: #806080;
}
/* ── Schleife hinzufügen ───────────────────────── */
.mine-queue-add {
margin-bottom: 2px;
}
.mine-btn-add-loop {
width: 100%;
display: flex;
align-items: center;
justify-content: center;
gap: 6px;
background: linear-gradient(180deg, #2a1040 0%, #180828 100%);
color: #c080ff;
border: 1px dashed #6030a0;
border-radius: 6px;
padding: 8px 14px;
font-size: 12px;
font-family: sans-serif;
font-weight: bold;
cursor: pointer;
letter-spacing: 0.02em;
transition: border-color 0.2s, background 0.2s, transform 0.1s;
}
.mine-btn-add-loop:hover:not(:disabled) {
border-color: #a060e0;
background: linear-gradient(180deg, #3a1860 0%, #280a40 100%);
transform: translateY(-1px);
}
.mine-btn-add-loop-open {
border-style: solid;
border-color: #a060e0;
background: linear-gradient(180deg, #3a1860 0%, #280a40 100%);
}
.mine-btn-add-loop.mine-btn-disabled,
.mine-btn-add-loop:disabled {
background: linear-gradient(180deg, #1a1020 0%, #100818 100%);
border-color: #301850;
color: #503060;
cursor: not-allowed;
transform: none;
}
/* ── Picker im Loop-Bereich ────────────────────── */
.mine-loop-picker {
margin-top: 8px;
padding: 10px;
background: rgba(100, 30, 160, 0.07);
border: 1px solid rgba(100, 30, 160, 0.25);
border-radius: 6px;
}
.mine-loop-gem-icon {
font-size: 14px;
}
/* ── 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;
}