/* Life Token additions share the game's existing dark stone, gold and green palette. */
.ltAccount,.ltOffer{border:1px solid #75683f;background:linear-gradient(135deg,#25291f,#1b1c18);border-radius:6px;box-shadow:inset 0 0 0 2px #10130d66;padding:14px;text-align:left}
.ltAccount{margin:16px 0}
.ltAccountHead,.ltOfferHead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ltAccount h3,.ltAccount h4,.ltOffer h3{margin:0;color:var(--gold,#f0c040);font-family:var(--serif,Georgia,serif)}
.ltAccount h3{font-size:19px}.ltAccount h4{font-size:16px;margin-top:13px}
.ltAccountHead .gi{width:22px;height:22px;vertical-align:-4px}
.ltBalance{font-size:14px;font-weight:700;color:#d9d69b;white-space:nowrap}
#modalBox .ltDescription{margin:9px 0;color:var(--text,#e8dcc0);font-size:13px;line-height:1.5}
#modalBox .ltMissionRule{margin:5px 0 11px;color:var(--muted,#ada28f);font-size:12px;line-height:1.5}
.ltMissions{display:grid;gap:8px}
.ltMission{display:flex;align-items:flex-start;gap:10px;border:1px solid #4b4936;border-radius:4px;padding:9px;background:#15161066}
.ltMission.earned{border-color:#718044;background:#29332080}
.ltMissionIcon{display:grid;place-items:center;width:27px;min-width:27px;height:30px;color:#b9b492}
.ltMissionIcon .gi{width:23px;height:23px}
.ltMission h5{margin:0 0 4px;font-size:13px;font-weight:700;color:var(--text,#e8dcc0)}
#modalBox .ltMission p{margin:0 0 5px;font-size:12px;line-height:1.4;color:var(--muted,#ada28f)}
.ltMissionState{font-size:11px;color:#b9ae90}.ltMission.earned .ltMissionState{color:#b3d68a;font-weight:600}
.ltStatus,#ltOfferStatus{font-size:12px;line-height:1.45;color:var(--muted,#ada28f);overflow-wrap:anywhere}
.ltStatus:empty,#ltOfferStatus:empty{display:none}.ltStatus.error,#ltOfferStatus.error{color:#f0a58e}
#modalBox .ltAccount .ltRefresh{width:auto;display:inline-block;margin-top:8px;padding:4px 10px;font-size:12px}
.ltOffer{margin:14px 0;border-color:#978149;background:linear-gradient(135deg,#293323,#1e211a)}
.ltOfferHead{justify-content:flex-start;flex-wrap:nowrap;align-items:flex-start}
.ltOfferHead>.gi,.ltOfferHead img.gi{width:36px;height:36px;min-width:36px;object-fit:contain}
.ltOfferHead>div{min-width:0}.ltOfferHead h3{font-size:19px;line-height:1.2}
#modalBox .ltOffer p{margin:7px 0;font-size:13px;line-height:1.45}
.ltOfferActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
#modalBox .ltOfferActions .btn{display:inline-flex;align-items:center;justify-content:center;flex:1 1 150px;width:auto;min-height:38px;margin:0;font-size:13px}
.ltOffer [disabled],.ltAccount [disabled],.ltGrantControl [disabled]{opacity:.55;cursor:default}
.ltAdminBalance{font-weight:700;color:#d9d69b;white-space:nowrap;text-align:center}
.ltAdminGrant{min-width:190px;text-align:left}.ltGrantControl{display:flex;align-items:center;gap:6px;white-space:nowrap}
.admInput.ltGrantAmount{width:66px;min-width:66px;padding:5px 6px;text-align:center}
.ltGrantButton{min-width:95px;white-space:nowrap}.ltGrantNote{max-width:220px;margin-top:5px;white-space:normal;color:var(--muted,#ada28f);font-size:11px;line-height:1.35}
@media(max-width:560px){
  .ltAccount,.ltOffer{padding:10px}.ltAccountHead{gap:5px 12px}.ltAccount h3,.ltOfferHead h3{font-size:17px}
  .ltBalance{font-size:12px}.ltMission{padding:8px;gap:7px}.ltMissionIcon{width:23px;min-width:23px}
  .ltOfferHead{gap:9px}#modalBox .ltOfferActions .btn{flex-basis:100%;min-height:40px}
}
