424 lines
9.4 KiB
CSS
424 lines
9.4 KiB
CSS
/* ================================================
|
||
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;
|
||
}
|