.season-panel{min-width:0;margin-block:14px;overflow:hidden;color:#294968;border-color:#c5d5e4;container-type:inline-size}.season-head{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);gap:11px;align-items:center;padding:13px 14px;background:#edf3f9;border-bottom:1px solid #d5e0eb}.season-art{display:block;max-width:100%;object-fit:cover;flex-shrink:0}.season-head>.season-art{width:58px;height:58px;border-radius:4px}.season-head>div{min-width:0;padding-right:66px}.season-head small{display:block;color:#6b8198;font-size:10px;line-height:1.6}.season-head h2{font:19px/1.4 var(--display);color:#204b73;margin:2px 0 4px;overflow-wrap:anywhere}.season-head>div>span{display:block;font-size:10px;color:#5f7992;line-height:1.6}.season-status{position:absolute;right:12px;top:14px;color:#4c7295;font-size:10px;line-height:1.6;border:1px solid #c5d5e4;background:#f7fafe;border-radius:3px;padding:2px 6px;max-width:72px;text-align:center}.season-status.season-ready{color:#346d58;background:#eff8f3;border-color:#b5d0c1}.season-body{padding:12px 14px}.season-deadline{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#667e97}.season-deadline strong{font-size:17px;line-height:1.4;font-weight:600;color:#315e86;font-variant-numeric:tabular-nums;white-space:nowrap}.season-task{font-size:12px;line-height:1.75;color:#345b7b;margin:8px 0 12px;overflow-wrap:anywhere}.season-progress>div:first-child,.season-personal{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;line-height:1.6;color:#6a7f96}.season-progress b,.season-personal b{color:#3c6183;white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}.season-progress .bar{margin:6px 0;height:6px;background:#e1e9f2}.season-progress .bar>span{background:#638aac}.season-progress small{display:block;font-size:10px;line-height:1.65;color:#798ba0}.season-personal{border-top:1px solid #e0e7ef;padding-top:9px;margin-top:9px}.season-progress.is-complete b,.season-personal.is-complete b{color:#39715b}.season-progress.is-complete .bar>span{background:#628e7b}.season-reward{display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;font-size:11px;margin:10px 0 12px;color:#4e6b87}.season-reward>.cost{font-size:11px;line-height:1.6}.season-reward .cost .missing{color:inherit}.season-actions{display:flex;gap:7px;flex-wrap:wrap}.season-actions .btn{margin:0;min-height:38px;padding:7px 10px;font-size:11px;line-height:1.6;white-space:normal}.season-actions>.primary{flex:1 1 170px}.season-actions>.ghost{flex:1 1 80px}.season-fee{color:#7a899a;font-size:10px;line-height:1.65;margin-top:7px}.season-reason{margin:7px 0 0;color:#805a4c;font-size:11px;line-height:1.65;overflow-wrap:anywhere}.season-claimed .season-task{color:#647e93}.season-claimed .season-status{color:#567a68}.season-panel button:focus-visible,.season-history>summary:focus-visible,.season-map-token:focus-visible{outline:3px solid #648cb2;outline-offset:3px}.season-panel .btn:disabled{opacity:.56;cursor:not-allowed}.season-history{border-top:1px solid #d8e2ed;background:#f8fafd;padding-inline:14px}.season-history>summary{cursor:pointer;font-size:11px;line-height:1.6;color:#5b7690;padding-block:10px}.season-history>summary>span{font-size:10px;color:#8796a6;margin-left:5px}.season-history>div{padding-bottom:6px}.season-history p{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:8px 0;border-top:1px solid #e0e8f0;font-size:11px}.season-history p>span{min-width:0}.season-history b{display:block;font-weight:500;color:#42627e;line-height:1.65;overflow-wrap:anywhere}.season-history small{display:block;font-size:10px;color:#8795a4;line-height:1.6}.season-history p>strong{display:flex;align-items:center;gap:4px;font-weight:500;color:#527a93;white-space:nowrap}.season-history .icon{width:17px;height:17px}
.season-map-token{position:absolute;z-index:9;width:26px;height:26px;padding:2px;border:1px solid #c7d9e8;border-radius:4px;background:#f4f8fc;transform:translate(calc(-100% - 8px),10px);box-shadow:0 1px 4px #10315455;cursor:pointer;overflow:visible}.season-map-token>.season-art{width:100%;height:100%;border-radius:2px}.season-map-token:after{content:"";position:absolute;right:3px;top:-6px;height:6px;width:1px;background:#bdd3e5;pointer-events:none}.season-map-token>span{position:absolute;top:calc(100% + 4px);right:0;width:max-content;max-width:110px;border:1px solid #b9ccdf;border-radius:3px;background:#f7faff;color:#264c70;padding:3px 6px;line-height:1.5;font-size:10px;opacity:0;pointer-events:none}.season-map-token:hover>span,.season-map-token:focus-visible>span{opacity:1}.season-map-token:hover:not(:disabled){background:#e4eff9;border-color:#6f98bc;transform:translate(calc(-100% - 8px),10px)}.season-map-token>i{position:absolute;right:-3px;top:-3px;width:7px;height:7px;border-radius:50%;background:#5a967d;box-shadow:0 0 0 2px #edf7f0;animation:season-ready-pulse 2.4s ease-in-out 3}.season-map-token.token-inward{transform:translate(8px,10px)}.season-map-token.token-inward:hover:not(:disabled){transform:translate(8px,10px)}.season-map-token.token-inward:after{right:auto;left:3px}.season-map-token.token-inward>span{right:auto;left:0}.season-map-token.token-above{transform:translate(calc(-100% - 8px),calc(-100% - 10px))}.season-map-token.token-above:hover:not(:disabled){transform:translate(calc(-100% - 8px),calc(-100% - 10px))}.season-map-token.token-above:after{top:auto;bottom:-6px}.season-map-token.token-above>span{top:auto;bottom:calc(100% + 4px)}.season-map-token.token-inward.token-above,.season-map-token.token-inward.token-above:hover:not(:disabled){transform:translate(8px,calc(-100% - 10px))}.season-map-token.is-claimed{opacity:.68}.world-map-canvas.compact .season-map-token{width:21px;height:21px;padding:1px}
@container(min-width:550px){.season-head{grid-template-columns:64px minmax(0,1fr);padding:14px 18px}.season-head>.season-art{width:64px;height:64px}.season-head h2{font-size:21px}.season-head>div>span{font-size:11px}.season-status{right:18px;top:18px}.season-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:0 24px;padding:13px 18px 15px}.season-deadline{grid-column:2;grid-row:1}.season-task{grid-column:1;grid-row:1/3;margin:2px 0 11px;align-self:center;max-width:600px}.season-progress{grid-column:1;grid-row:3/6}.season-personal{grid-column:2;grid-row:2;margin-top:5px;padding-top:7px}.season-reward{grid-column:2;grid-row:3;margin-block:8px}.season-actions{grid-column:2;grid-row:4}.season-actions>.primary{flex-basis:150px}.season-fee{grid-column:2;grid-row:5}.season-reason{grid-column:1/-1;grid-row:6}.season-history{padding-inline:18px}}
@container(max-width:320px){.season-head{grid-template-columns:50px minmax(0,1fr);gap:9px;padding:11px}.season-head>.season-art{width:50px;height:50px}.season-head>div{padding-right:0}.season-head h2{font-size:18px;margin-right:0}.season-head small{font-size:9px;padding-right:64px}.season-head>div>span{font-size:10px}.season-status{right:10px;top:10px;font-size:9px;padding:1px 4px;max-width:72px}.season-body{padding:11px}.season-task{font-size:11px}.season-actions .btn{min-height:38px;font-size:11px}.season-actions>.primary{flex-basis:100%}.season-actions>.ghost{flex-basis:100%}.season-fee,.season-progress small{font-size:9px}.season-history{padding-inline:11px}}
@keyframes season-ready-pulse{0%,100%{box-shadow:0 0 0 2px #edf7f0}50%{box-shadow:0 0 0 5px #a5cbb766}}
.paused .season-map-token>i{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.season-map-token>i{animation:none}}
