/* Rank-road items live beside the badge: a pedestal on the island, a shelf in the header and a showcase card in details. */
:root{--road-item-gold:#edd2a5;--road-item-deep:#2a1d3d}
#hub-dialog[data-tab=ranks] .road-item-pin{position:absolute;right:3%;bottom:16%;width:76px;display:flex;flex-direction:column;align-items:center;gap:3px;z-index:3;pointer-events:none}
#hub-dialog[data-tab=ranks] .road-item-pin-art{position:relative;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 38%,#5d4285,#2a1d3d 72%);border:2px solid var(--road-item-gold);box-shadow:0 0 0 3px #2a1d3dcc,0 0 0 4px #edd2a566,0 6px 12px #0a071ccc,0 0 16px #e7c98a55}
#hub-dialog[data-tab=ranks] .road-item-pin-art :is(img,canvas){width:100%;height:100%;object-fit:contain;display:block}

#hub-dialog[data-tab=ranks] .road-item-pin-name{max-width:84px;padding:1px 7px;border-radius:6px;background:linear-gradient(#5a3f78,#33244a);border:1px solid #edd2a599;color:#fff0c9;font:700 10px/1.35 system-ui,sans-serif;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 4px #0a071c99}
#hub-dialog[data-tab=ranks] .road-item-pin-check{position:absolute;top:-3px;right:4px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#7fd8c4;color:#14212a;font:800 12px/1 system-ui,sans-serif;border:2px solid #2a1d3d}
#hub-dialog[data-tab=ranks] .road-item-pin.is-locked .road-item-pin-art{filter:saturate(.45) brightness(.72)}
#hub-dialog[data-tab=ranks] .road-item-pin.is-ready .road-item-pin-art{animation:road-item-ready 2.4s ease-in-out infinite}
@keyframes road-item-ready{50%{box-shadow:0 0 0 3px #2a1d3dcc,0 0 0 4px #edd2a5cc,0 6px 12px #0a071ccc,0 0 26px #f3d995aa}}
#hub-dialog[data-tab=ranks] .path-compact .road-item-pin{width:58px;bottom:12%;right:2%}
#hub-dialog[data-tab=ranks] .path-compact .road-item-pin-art{width:42px;height:42px;box-shadow:0 0 0 2px #2a1d3dcc,0 0 0 3px #edd2a566,0 4px 8px #0a071ccc}
#hub-dialog[data-tab=ranks] .path-compact .road-item-pin-name{font-size:8.5px;max-width:66px;padding:0 5px}
#hub-dialog[data-tab=ranks] .path-compact .road-item-pin-check{width:15px;height:15px;font-size:9px;top:-2px;right:3px}

/* Header shelf: one slot per road item, always in the same order as the road. */
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure-shelf{position:absolute;right:14px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:8px;padding:5px 8px 5px 10px;border-radius:14px;background:linear-gradient(#3a2953ee,#241a35ee);border:1px solid #edd2a566;box-shadow:inset 0 1px 0 #ffffff14,0 4px 10px #0a071c88;z-index:4}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure-label{display:block!important;max-width:58px;font:700 9px/1.2 system-ui,sans-serif!important;letter-spacing:.12em!important;text-transform:uppercase;color:#edd2a5!important;text-align:right}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure-slots{display:flex;gap:6px}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure{position:relative;width:44px;height:44px;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;border-radius:11px!important;border:1.5px solid #edd2a599!important;background:radial-gradient(circle at 50% 38%,#5d4285,#2a1d3d 75%)!important;box-shadow:inset 0 0 0 2px #2a1d3d!important;cursor:pointer;overflow:visible}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure-art{position:absolute;inset:2px;border-radius:9px;overflow:hidden;display:grid;place-items:center;pointer-events:none}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure-art :is(img,canvas){width:100%;height:100%;object-fit:contain}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure-art canvas{transform:scale(1.3)}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure-tag{position:absolute;right:-5px;bottom:-5px;min-width:16px;height:16px;padding:0 3px;border-radius:8px;display:grid;place-items:center;font:800 9px/1 system-ui,sans-serif;background:#2a1d3d;color:#edd2a5;border:1px solid #edd2a5aa;pointer-events:none}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure.is-owned .road-treasure-tag{background:#7fd8c4;color:#14212a;border-color:#2a1d3d}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure.is-ready{border-color:#f3d995!important;box-shadow:inset 0 0 0 2px #2a1d3d,0 0 12px #f3d995aa!important}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure.is-ready .road-treasure-tag{background:#f3d995;color:#2a1d3d}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure.is-locked .road-treasure-art{filter:saturate(.4) brightness(.7)}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure:is(:hover,:focus-visible){border-color:#fff0c9!important;transform:translateY(-1px)}
@media(max-height:450px){body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure-shelf{right:6px;gap:5px;padding:3px 5px 3px 7px;border-radius:11px}body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure-label{max-width:44px;font-size:7.5px!important;letter-spacing:.08em!important}body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure{width:32px;height:32px;border-radius:8px!important}body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure-slots{gap:5px}body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure-tag{min-width:13px;height:13px;font-size:7.5px;right:-4px;bottom:-4px}}

/* Details: the item gets its own framed card at the top of the reward column. */
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-showcase{display:grid;grid-template-columns:minmax(96px,34%) minmax(0,1fr);align-items:center;gap:14px;margin:4px 0 12px;padding:10px 14px 10px 10px;border-radius:14px;text-align:left;background:linear-gradient(110deg,#4a3468,#2c203f 60%);border:1.5px solid #edd2a5aa;box-shadow:inset 0 0 0 3px #2a1d3d,inset 0 0 0 4px #edd2a533,0 6px 14px #0a071c77}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-showcase-art{height:104px;border-radius:10px;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#6a4c93,#241a35 75%)}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-showcase-art :is(img,canvas){max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-showcase-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-kicker{font:800 10px/1.2 system-ui,sans-serif!important;letter-spacing:.14em;text-transform:uppercase;color:#edd2a5!important}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-title{margin:0!important;font:700 22px/1.1 Georgia,serif!important;color:#fff0c9!important}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-meta{font-size:12px;color:#d9c8ec}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-state{font-size:12px!important;color:#edd2a5}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-showcase.is-owned .road-item-state{color:#7fd8c4}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-progress{width:100%;height:7px;margin:4px 0 1px}
@media(max-height:450px){body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-showcase{gap:9px;padding:6px 8px 6px 6px;margin:0 0 8px}body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-showcase-art{height:70px}body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-title{font-size:17px!important}body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-meta,body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-state{font-size:10.5px!important}}
@media(prefers-reduced-motion:reduce){#hub-dialog[data-tab=ranks] .road-item-pin.is-ready .road-item-pin-art{animation:none}}
/* The details column scrolls as one list when an item card sits above the milestone rewards. */
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .path-road .path-panel .path-loot:has(>.road-item-showcase){display:flex!important;flex-direction:column!important;overflow-x:hidden!important;overflow-y:auto!important}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .path-road .path-panel .path-loot:has(>.road-item-showcase)>*{grid-area:auto!important;flex:none!important}
#hub-dialog[data-tab=ranks] .road-item-pin-art img{width:84%;height:84%}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-showcase-art img{width:86%!important;height:86%!important;max-width:none!important;max-height:none!important;object-fit:contain!important}
@media(min-height:700px) and (min-width:1100px){#hub-dialog[data-tab=ranks] .road-item-pin{width:112px;right:4%;bottom:15%}#hub-dialog[data-tab=ranks] .road-item-pin-art{width:92px;height:92px}#hub-dialog[data-tab=ranks] .road-item-pin-name{font-size:13px;max-width:124px;padding:2px 10px}#hub-dialog[data-tab=ranks] .road-item-pin-check{width:26px;height:26px;font-size:15px}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure{width:58px;height:58px;border-radius:14px!important}body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure-label{font-size:11px!important;max-width:80px}body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure-slots{gap:9px}body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure-tag{min-width:20px;height:20px;font-size:11px}body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-treasure-shelf{right:22px;padding:7px 10px 7px 14px;gap:12px}}
/* Fit pass (owner: "the rewards panel cards are cut off"): the item card is a slim strip and the art never crops. */
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-showcase-art{position:relative}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-showcase-art img{position:absolute!important;inset:5px!important;width:calc(100% - 10px)!important;height:calc(100% - 10px)!important;object-fit:contain!important}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-showcase-art canvas{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:contain}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-showcase{grid-template-columns:150px minmax(0,1fr);margin:2px 0 10px}
body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-showcase-art{height:84px}
@media(min-height:700px) and (min-width:1100px){body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .path-road.road-simple.island-road .path-panel{height:min(470px,calc(100% - 76px))!important}}
@media(max-height:450px){body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-showcase{grid-template-columns:104px minmax(0,1fr);gap:8px;padding:4px 8px 4px 4px;margin:0 0 6px;border-radius:11px}body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-showcase-art{height:54px;border-radius:8px}body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-showcase-copy{gap:1px}body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-kicker{font-size:8px!important}body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-title{font-size:15px!important}body #hub-dialog#hub-dialog[data-tab=ranks][open] #hub-content .island-road .road-item-progress{height:5px;margin:2px 0 0}}
