.castle-activity-window,.castle-activity-info{color:#fff;border:3px solid #b9c9ed;border-radius:16px;background:linear-gradient(135deg,#5a607e,#414660);box-shadow:0 0 0 4px #303653,0 18px 70px #0009;padding:0;width:min(560px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 32px);text-shadow:0 2px 2px #242638;font-size:14px}
.castle-activity-window{height:min(800px,calc(100dvh - 32px))}
.castle-activity-window[open]{display:flex;flex-direction:column}
.castle-activity-window::backdrop,.castle-activity-info::backdrop{background:#050c19a6;backdrop-filter:blur(3px)}
.castle-activity-window button,.castle-activity-info button{font:inherit;font-weight:750;color:inherit;text-shadow:inherit;cursor:pointer}
.castle-activity-window button:disabled,.castle-activity-info button:disabled{cursor:default;filter:grayscale(1);opacity:.6}
.castle-activity-window button:focus-visible,.castle-activity-info button:focus-visible{outline:3px solid #ffe978;outline-offset:2px}
.activity-header{flex:none;display:flex;align-items:center;gap:12px;padding:9px 12px;background:linear-gradient(#98a9d1 0%,#727ba6 50%,#657097 51%,#707da5);border-bottom:5px solid #353c59}
.activity-header h2{flex:1;text-align:center;margin:0;font-size:clamp(20px,5vw,27px);line-height:1.2}
.activity-header .hero-square{width:38px;height:38px;min-height:38px;font-size:27px;flex:none;padding:0}
.activity-toolbar{display:flex;align-items:center;gap:8px;padding:9px 10px;border-bottom:1px solid #ffffff20;flex:none}
.activity-toolbar span{margin-left:auto;font-size:12px;font-weight:800;text-align:right}
.activity-green{padding:10px 13px;min-height:38px;border:2px solid #bacb74;border-radius:5px;background:linear-gradient(#d8ff8c 0%,#b1ec54 48%,#89ce2b 50%,#70ae22);box-shadow:inset 0 -3px 0 #3c7310;color:#fff}
.activity-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 12px;scrollbar-width:thin}
.activity-caption{text-align:center;font-weight:750;font-size:13px;margin:4px 0 9px}
.activity-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 13px;padding:8px}
.activity-hero-card{position:relative;isolation:isolate;aspect-ratio:1;border:3px solid #74caeb;border-radius:2px;background:#242c49;padding:0;min-width:0;overflow:visible;box-shadow:0 2px 5px #0008}
.activity-hero-card[data-quality=rare]{border-color:#ab70f9}
.activity-hero-card[data-quality=elite]{border-color:#efc06c}
.activity-hero-card[data-quality=legend],.activity-hero-card[data-awakened=true]{border-color:#ff4577}
.activity-hero-card>img{width:100%;height:100%;object-fit:cover;display:block}
.activity-hero-card[aria-pressed=true]{outline:3px solid #c8ff6b;outline-offset:2px}
.activity-hero-card[aria-pressed=true]::after{content:'✓';position:absolute;inset:20% 0 0;font-size:35px;color:#a3ff42;font-weight:900;text-align:center;text-shadow:0 2px 3px #112400}
.activity-faction{position:absolute;left:-6px;top:-8px;background:linear-gradient(#5dd0df,#225479);border:2px solid #a5dfec;border-radius:8px;min-width:19px;line-height:21px;font-size:14px}
.activity-level{position:absolute;top:0;right:2px;font-size:13px;font-weight:900}
.activity-stars{position:absolute;bottom:-4px;left:-5px;right:-5px;white-space:nowrap;font-size:14px;letter-spacing:-2px;text-align:center;color:#ffed64;line-height:1.1;text-shadow:0 1px 2px #594100}
.activity-hero-card[data-awakened=true] .activity-stars{color:#d991ff}
.activity-filters{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:8px 0}
.activity-filters button{border:2px solid #a2b7d4;border-radius:8px;background:linear-gradient(#789bbb,#3d5279);padding:6px;min-width:32px;min-height:32px;font-size:18px}
.activity-filters button[aria-pressed=true]{border-color:#ffe592;box-shadow:0 0 9px #bce5ff}
.activity-filters button[data-star]{font-size:14px}
.altar-body input{width:100%;box-sizing:border-box;background:#313750;border:1px solid #909cbb;border-radius:5px;color:#fff;padding:9px;margin-bottom:5px}
.altar-preview{min-height:135px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px;text-align:center;border:2px solid #969ebd;border-radius:5px;background:#35365080;font-size:12px}
.altar-preview p{margin:0}
.altar-selection{display:flex;gap:13px;justify-content:center;width:100%}
.altar-selection .activity-hero-card{width:55px;flex:none}
.altar-empty-icon{font-size:68px;color:#ffdf72;text-shadow:0 0 24px #64d3ff}
.activity-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0}
.activity-pager button,.activity-actions>button:not(.activity-green):not(.hero-gold-button),.league-toolbar button{border:1px solid #a3b4d0;border-radius:5px;background:#657395;padding:7px 9px;min-height:32px}
.activity-note{font-size:11px;color:#ffe99f;line-height:1.45;text-align:center;margin:7px 0}
.activity-footer{flex:none;padding:11px 13px;background:#697c9d;border-top:2px solid #a7b4d0}
.activity-actions{display:flex;justify-content:space-evenly;gap:12px;flex-wrap:wrap}
.activity-actions .hero-gold-button{padding:10px 17px;min-width:120px;min-height:40px;font-size:16px}
.activity-status{line-height:1.4;font-size:12px;text-align:center;margin:8px 0 0;color:#fff3a5;overflow-wrap:anywhere}
.activity-status:empty{display:none}
.altar-body .altar-preview{min-height:94px;box-sizing:border-box;padding:8px}.altar-body .altar-empty-icon{font-size:42px;line-height:1}.altar-footer{padding-top:3px}.altar-footer .activity-filters{margin:5px 0}.altar-footer .activity-note{margin:4px 0 8px}
.altar-body .altar-preview:has(.altar-empty-icon){min-height:78px;padding:4px;gap:3px}.altar-body .altar-empty-icon{font-size:36px}.altar-body .activity-caption{margin:3px 0 5px}
#wheel-token-count{display:flex;align-items:center;gap:5px}#wheel-token-count img{width:26px;height:26px}
.activity-tabs{flex:none;display:flex;justify-content:center;background:#343b59;border-top:3px solid #a4b2d3}
.activity-tabs button{flex:1;border:2px solid #7889b0;background:linear-gradient(#5d688b,#353e5d);border-radius:0 0 9px 9px;min-height:50px;padding:9px}
.activity-tabs button[aria-selected=true]{background:linear-gradient(#92aedc,#7d91d2);border-color:#b0dcff;box-shadow:inset 0 -5px 0 #9bacf4}
.activity-empty{grid-column:1/-1;text-align:center;padding:20px}
.wheel-body{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.wheel-stage{position:relative;width:min(420px,100%);aspect-ratio:1;flex:none;margin:12px 0}
.wheel-face{position:absolute;inset:0;border:9px solid #bac0d4;border-radius:50%;box-shadow:0 0 0 5px #24263c,inset 0 0 20px #410021,0 8px 20px #0008;background:repeating-conic-gradient(from -22.5deg,#ffebcd 0deg 45deg,#c71942 45deg 90deg)}
.wheel-prize{position:absolute;width:18%;height:18%;left:41%;top:41%;background:#242332;border:2px solid #ead589;box-sizing:border-box;box-shadow:0 2px 6px #0008}
.wheel-prize img{width:100%;height:100%;object-fit:contain}
.wheel-prize{padding:0}.wheel-prize span{position:absolute;right:1px;bottom:0;font-size:11px;font-weight:900;line-height:1.1;text-shadow:0 1px 3px #000,0 0 3px #000}
.wheel-prize:nth-child(1){transform:translateY(-170%)}
.wheel-prize:nth-child(2){transform:translate(120%,-120%) rotate(45deg)}
.wheel-prize:nth-child(3){transform:translateX(170%) rotate(90deg)}
.wheel-prize:nth-child(4){transform:translate(120%,120%) rotate(135deg)}
.wheel-prize:nth-child(5){transform:translateY(170%) rotate(180deg)}
.wheel-prize:nth-child(6){transform:translate(-120%,120%) rotate(225deg)}
.wheel-prize:nth-child(7){transform:translateX(-170%) rotate(270deg)}
.wheel-prize:nth-child(8){transform:translate(-120%,-120%) rotate(315deg)}
.wheel-center{position:absolute;left:37%;top:37%;width:26%;height:26%;border-radius:50%;border:5px solid #dbe5fa;background:radial-gradient(#ffed90,#e6b934);box-shadow:0 0 0 5px #9c91c5;font-size:14px;font-weight:900;color:#fff;padding:4px}
.wheel-pointer{position:absolute;z-index:2;top:-28px;left:43%;width:14%;text-align:center;font-size:58px;line-height:1;color:#fff28a;-webkit-text-stroke:2px #be9130;text-shadow:0 3px 3px #0008}
.wheel-free{align-self:flex-end}
.wheel-land-0{transform:rotate(0deg)}.wheel-land-1{transform:rotate(-45deg)}.wheel-land-2{transform:rotate(-90deg)}.wheel-land-3{transform:rotate(-135deg)}.wheel-land-4{transform:rotate(-180deg)}.wheel-land-5{transform:rotate(-225deg)}.wheel-land-6{transform:rotate(-270deg)}.wheel-land-7{transform:rotate(-315deg)}
.league-banner{flex:none;position:relative;text-align:center;padding:12px 12px 0;background:radial-gradient(ellipse at center,#cbdcea90,#334b7170),linear-gradient(120deg,#64304e,#1c3960);border-bottom:3px solid #a3adc9}
.league-banner h3{color:#ffea70;text-shadow:0 2px 3px #283550;margin:0;font-size:23px}
.league-banner p{font-size:11px;color:#edf1fc;margin:3px 0}
.league-banner>span{display:block;font-size:12px;color:#ffef95}
.league-podium{display:flex;align-items:flex-end;justify-content:center;gap:12px;margin-top:12px}
.league-podium-place{display:flex;flex-direction:column;align-items:center;width:27%;max-width:100px;font-size:12px}
.league-podium-place>span{white-space:nowrap;font-size:11px}
.league-podium-place img{width:60px;aspect-ratio:1;border:3px solid #ffca67;box-sizing:border-box;border-radius:4px}
.league-podium-place strong{display:block;width:100%;height:43px;font-size:32px;color:#fff18b;background:linear-gradient(110deg,#6d8297,#d0d7d4,#62798f);border:2px solid #a6b6c5;border-radius:8px 8px 0 0;margin-top:4px}
.league-podium-place[data-rank="1"] strong{height:66px;font-size:44px}
.league-toolbar{justify-content:space-between;gap:5px;flex-wrap:wrap;padding:8px}
.league-toolbar button{font-size:12px;padding:6px;flex:1}
.league-opponent{display:flex;gap:9px;align-items:center;border:2px solid #8b98b4;background:linear-gradient(110deg,#596787,#a9867666);border-radius:5px;margin-bottom:8px;padding:12px 9px}
.league-opponent>img{width:55px;height:55px;border:3px solid #d594cb;border-radius:4px}
.league-rank{font-size:15px;color:#fff6a3;font-weight:900;min-width:20px;text-align:center}
.league-opponent-detail{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.league-opponent-detail strong{font-size:14px;overflow-wrap:anywhere}
.league-opponent-detail span{font-size:12px;color:#ffe199}
.league-opponent-detail small{font-size:11px;color:#e9edfc}
.league-opponent .hero-gold-button{padding:8px 6px;min-width:82px;max-width:100px;min-height:47px;font-size:13px}
.league-footer strong{display:block;text-align:center;font-size:13px;margin-bottom:10px;color:#fff2a5}
.castle-activity-info{height:fit-content;width:min(480px,calc(100vw - 30px))}
.castle-activity-info .activity-header h2{font-size:20px}
.activity-info-body{padding:14px 18px;max-height:calc(100dvh - 150px);overflow-y:auto;line-height:1.6}
.activity-info-body p{margin:0 0 12px}
.activity-info-body ul,.activity-info-body ol{padding-left:22px}
.activity-shop-offer{display:block;width:100%;border:2px solid #b7cbb2;background:linear-gradient(#90b266,#506c39);border-radius:6px;padding:12px;margin:10px 0}
@media(max-width:400px){.castle-activity-window{width:calc(100vw - 18px);font-size:13px}.activity-body{padding:8px 9px}.activity-toolbar{gap:5px;padding:8px}.activity-toolbar .activity-green{font-size:11px;padding:8px}.activity-card-grid{gap:12px 10px;padding:7px}.altar-preview{min-height:120px}.activity-stars{font-size:12px}.activity-filters{gap:6px}.league-opponent{gap:7px;padding:10px 6px}.league-opponent>img{width:45px;height:45px}.league-opponent-detail strong{font-size:12px}.wheel-center{font-size:12px}.wheel-body{justify-content:flex-start;gap:9px}.wheel-stage{margin:20px 0 12px}}
@media(prefers-reduced-motion:reduce){.castle-activity-window *, .castle-activity-info *{scroll-behavior:auto}}
