.ages-console{color:#d7bc80;background:linear-gradient(110deg,#302214,#201a11);border:1px solid #79603a;padding:10px 14px;box-shadow:inset 0 0 35px #130f0c88}
.ages-overview{display:flex;align-items:center;justify-content:space-between;gap:12px;font:12px Georgia;min-height:28px;border-bottom:1px solid #b18a3c44}.ages-overview strong{font-size:16px;color:#e0c78d}.ages-overview i{font-style:normal;color:#8f7951;margin:0 8px}.ages-overview>span:last-child{font-size:11px;color:#b7a482}
.ages-tree{height:310px;position:relative;margin:6px 0 8px;isolation:isolate}.age-columns{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,1fr);pointer-events:none}.age-columns>div{border-right:1px solid #b18a3c12;background:repeating-linear-gradient(0deg,transparent 0,transparent 51px,#b18a3c0b 52px,#b18a3c0b 53px);text-align:center}.age-columns>div.current{background-color:#c9ab6420}.age-columns b{font:12px Georgia;color:#a58a59;white-space:nowrap}.age-columns .current b{color:#f0db9d}.age-links{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible}.age-links path{fill:none;stroke:#8d743238;stroke-width:1}.age-links path.unlocked{stroke:#b9984a80}
.age-node{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;padding:4px;border:1px solid #896b3b;background:linear-gradient(#40301b,#2b2114);border-radius:2px;box-shadow:0 2px 4px #09080677;cursor:pointer;transition:filter .15s,border-color .15s,box-shadow .15s}.age-node img{width:100%;height:100%;object-fit:contain;filter:sepia(.7) saturate(.55);opacity:.86}.age-node.locked{border-color:#615035}.age-node.locked img{opacity:.3;filter:sepia(1) saturate(.4)}.age-node i{position:absolute;right:-4px;bottom:-4px;width:14px;height:14px;border-radius:50%;background:#352b1b;color:#a18b5a;font:11px/14px Georgia;text-align:center}.age-node.known{border-color:#a6a36b;background:#3a412a}.age-node.known i{background:#414f2a;color:#d3dca3}.age-node.researching{border-color:#e6c873}.age-node.selected{outline:1px solid #e1c88e;outline-offset:3px;box-shadow:0 0 12px #cfad3944}.age-node:hover{filter:brightness(1.35);border-color:#edcd83}.age-node:focus-visible{outline:2px solid #fff1bd;outline-offset:3px}
.age-detail{display:grid;grid-template-columns:76px minmax(0,1fr) 210px;gap:14px;align-items:center;border-top:1px solid #92703d66;padding:10px 0 4px;min-height:112px}.age-detail-art{width:76px;height:76px;object-fit:contain}.age-detail-copy small{color:#ad925f;font-size:10px;text-transform:uppercase;letter-spacing:1px}.age-detail h3{color:#f0d99e;font-size:18px;margin:4px 0}.age-detail p{color:#c4b18c;font-size:12px;line-height:1.4;margin:5px 0}.age-requirements{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:10px;min-height:22px}.age-requirements button{font:10px Georgia;color:#d7c18f;background:#554127;border:1px solid #8a7047;padding:3px 6px;cursor:pointer}.age-ready{color:#aab989}.age-detail-action{display:flex;flex-direction:column;gap:6px;text-align:right}.age-cost{display:inline-flex;align-items:center;gap:3px;margin:2px 6px 2px 0;font:11px Georgia;color:#dccda4}.age-cost img{width:19px;height:19px;object-fit:contain}.age-cost.insufficient{color:#e0a388}.age-detail-action>span{font:12px Georgia;color:#bba87e}.age-detail-action>button,.age-refining>button{align-self:flex-end;padding:7px 18px;border:1px solid #ac8847;background:linear-gradient(#826035,#4b351c);color:#f1ddac;font:12px Georgia;cursor:pointer}.age-detail-action button:disabled,.age-refining button:disabled{opacity:.45;cursor:default}.age-detail progress{width:100%;height:4px;accent-color:#d6b369}
.age-refining{display:flex;align-items:center;gap:10px;padding:8px 0 0;margin-top:6px;border-top:1px solid #78603855;font-size:11px}.age-refining[hidden]{display:none}.age-refining>div{min-width:130px}.age-refining small{display:block;font-size:9px;color:#a9946a;margin-top:3px}.age-refining input{width:50px}.age-refining select,.age-refining input{background:#463821;border:1px solid #8f7749;color:#e0cda2;padding:4px;font:11px Georgia}.age-refining #ageRefineCost{flex:1}.age-refining #ageRefiningStatus{max-width:130px;color:#d2b780}.age-feedback:empty{display:none}.age-feedback{font-size:11px;color:#e2c884;margin:6px 0 0}
#cityCenterViewResearch .ages-tree>.age-node{position:absolute!important}
#cityCenterViewResearch:has(.ages-console){gap:8px!important}
