.game-menu-bar{display:none;position:relative;z-index:38;height:42px;max-width:1100px;margin:0 auto;padding:3px 10px;background:linear-gradient(#263847,#1b2939);border-bottom:1px solid #98afd288}
body:is([data-screen=hub],[data-screen=castle]) .game-menu-bar{display:flex;align-items:center}
.game-menu-bar>button{display:flex;align-items:center;gap:7px;min-width:100px;height:34px;padding:2px 12px;background:linear-gradient(#64749a,#3e4867);color:white;border:1px solid #b6c9e4;border-radius:5px;font-weight:800}
.game-menu-bar img{width:25px;height:28px}
body[data-screen=castle] .castle-screen{height:calc(100dvh - var(--resource-bar-height,64px) - 112px - env(safe-area-inset-bottom))}
body[data-screen=hub] .field-screen{height:calc(100dvh - var(--resource-bar-height,64px) - 112px - env(safe-area-inset-bottom));min-height:440px}
.events-launcher{display:none;position:fixed;z-index:36;right:max(12px,calc((100vw - 660px)/2 + 12px));bottom:calc(280px + env(safe-area-inset-bottom));width:70px;border:0;background:none;padding:0;color:#fff4bc;text-shadow:0 2px 2px #000}
body:is([data-screen=hub],[data-screen=castle]) .events-launcher{display:grid;justify-items:center}
.events-launcher img{width:65px;height:65px;object-fit:contain;filter:drop-shadow(0 3px 4px #0008)}
.events-launcher strong{font-size:12px}.events-launcher i{position:absolute;top:4px;right:6px;width:12px;height:12px;border:2px solid #ffdc88;background:#ff583a;border-radius:50%}
.game-menu-dialog{margin:0 auto 0 0;width:min(240px,75vw);height:100dvh;max-height:100dvh;border-radius:0;padding:0;background:#4d4d68;border:0;border-right:2px solid #919bbf;color:white;overflow-y:auto}
.game-menu-dialog header{position:sticky;top:0;z-index:2;padding:10px;background:#596688}.game-menu-dialog h2{font:800 20px Inter,sans-serif}.game-menu-profile{display:grid;justify-items:center;gap:6px;padding:15px;background:#34364f}.game-menu-profile img{width:66px;height:66px}.game-menu-profile span,.game-menu-profile time{font-size:12px}
#game-menu-items{display:grid}#game-menu-items button{display:flex;align-items:center;gap:15px;width:100%;padding:13px 18px;min-height:62px;border:0;border-top:1px solid #c0c8df18;background:#54546e;color:white;text-align:left;font-weight:750}#game-menu-items button:nth-child(even){background:#494b65}#game-menu-items button:hover{background:#747c9f}#game-menu-items img{width:34px;height:34px;object-fit:contain}
.menu-detail-dialog{height:auto;max-height:85dvh}.menu-detail-content{padding:18px;overflow:auto}.menu-detail-content p{color:#f0f1ff;font-size:14px;line-height:1.6}.menu-detail-content textarea{width:100%;box-sizing:border-box;resize:vertical;background:#303b55;color:white;border:1px solid #9bafd7;padding:10px;font:13px Inter,sans-serif}
.menu-option{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;border-top:1px solid #adb7d755}.menu-option input{width:24px;height:24px;accent-color:#8de43a}.menu-option select{padding:9px;background:#303b55;color:white;border:1px solid #a6b7d8;border-radius:5px;max-width:45%}
.events-dialog{width:min(590px,calc(100% - 18px));height:min(830px,calc(100dvh - 40px));max-height:calc(100dvh - 40px)}
.events-dialog>header h2{font:800 22px Inter,sans-serif}.events-dialog>header{padding:9px 10px}.events-dialog #events-help{font-size:23px;background:linear-gradient(#8bb4df,#375e91);border-color:#c2defb}
.events-layout{display:grid;grid-template-columns:104px minmax(0,1fr);flex:1;min-height:0;background:#3b4262}
.events-sections{padding:7px 5px;overflow:auto;background:linear-gradient(90deg,#3d435e,#585b78);border-right:3px solid #2d354f;scrollbar-width:thin}
.event-section{display:grid;justify-items:center;align-content:center;width:100%;min-height:90px;margin-bottom:7px;padding:7px 3px;border:2px solid #808aa6;border-radius:4px;background:linear-gradient(#646780,#34374f);box-shadow:0 2px 3px #10172e;color:white;line-height:1.25;text-shadow:0 1px 2px #101729}
.event-section[aria-current=page]{background:linear-gradient(#a8bfe9,#7b92ce);border-color:#dae7ff}.event-section img{width:38px;height:38px;object-fit:contain}.event-section strong{font-size:11px}
.events-content{overflow:auto;overscroll-behavior:contain;min-width:0;background:repeating-linear-gradient(135deg,#414a68 0 45px,#454e6d 46px 47px,#414a68 48px 90px);scrollbar-width:thin;scrollbar-color:#a8b7dd #39445f;padding-bottom:12px}
.events-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex-shrink:0;border-top:3px solid #9eafd2;padding:0 8px 5px;gap:3px}.events-tabs button{min-height:52px;padding:6px 2px;border:2px solid #707b9c;border-top:0;border-radius:0 0 9px 9px;background:linear-gradient(#545b7e,#30364e);color:white;font-size:12px;font-weight:800;text-shadow:0 1px 2px #000}.events-tabs [aria-current=page]{background:linear-gradient(#7887c2,#a2b7ff);box-shadow:inset 0 -3px 4px #d6e5ff;border-color:#b6cef5}
.events-status{margin:0!important;padding:2px 6px;text-align:center;color:#ffefbd!important;font-size:11px!important;flex-shrink:0}.events-status:empty{padding:0}
.event-banner{position:relative;display:flex;align-items:center;min-height:180px;overflow:hidden;padding:14px;background:radial-gradient(ellipse at 75% 70%,#fae8a9,#ca8743 60%,#683d27);isolation:isolate;border-bottom:4px solid #704626;color:#4b2a17}
.event-banner:before{content:'';position:absolute;inset:14px 8px 28px;border:2px solid #bf874c;background:#ffefc7;box-shadow:0 3px 7px #5d341a80;transform:rotate(-3deg);z-index:-1}
.event-banner>div{position:relative;z-index:1;width:58%}.event-banner small{font-size:8px;font-weight:850;letter-spacing:1.2px}.event-banner h3{font-size:clamp(20px,4.4vw,30px);line-height:1.05;margin:10px 0}.event-banner p{font-size:11px;color:#694a28;line-height:1.4}
.event-banner>img{position:absolute;width:42%;height:90%;right:-2%;bottom:0;object-fit:contain;filter:drop-shadow(0 5px 3px #70432188)}
.event-banner-camp>img{height:78%;object-fit:cover;border-radius:48% 45% 12% 20%;transform:rotate(5deg);right:0;mask-image:linear-gradient(black 85%,transparent)}
.event-banner-limited{background:radial-gradient(ellipse,#ad2967,#70204e 65%,#361b40)}.event-banner-limited:before{background:#ffdbb1}.event-banner-monthly{background:radial-gradient(ellipse,#7767c4,#32345c)}
.camp-milestones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;padding:3px 7px 0;background:linear-gradient(#ab6f41,#754325)}
.camp-chest{position:relative;background:none;border:0;color:#ffec9e;display:grid;justify-items:center;padding:0}.camp-chest img{width:54px;height:48px;object-fit:contain}.camp-chest strong{font-size:12px}.camp-chest[data-ready=true] img{filter:drop-shadow(0 0 5px #fff761);transform:translateY(-2px)}
.event-meter{position:relative;margin:7px 10px;height:16px;display:grid;place-items:center}.event-meter progress{position:absolute;width:100%;height:100%;appearance:none;border:2px solid #25314e;background:#293453;border-radius:2px;overflow:hidden}.event-meter progress::-webkit-progress-bar{background:#293453}.event-meter progress::-webkit-progress-value{background:linear-gradient(#5df7ff,#0bbed9)}.event-meter b{position:relative;font-size:10px;color:white;text-shadow:0 1px 2px #000;line-height:1}
.camp-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:0 4px 10px;background:#96603d;gap:2px}.camp-day{display:grid;justify-items:center;gap:0;color:white;background:linear-gradient(#065375,#23bce2);border:1px solid #6cdef2;border-top:4px solid #126a90;clip-path:polygon(0 0,100% 0,100% 86%,50% 100%,0 86%);padding:6px 0 11px;min-height:65px}.camp-day small{font-size:9px}.camp-day b{font-size:18px;line-height:1.2}.camp-day span{color:#bbff62;font-size:13px}.camp-day[data-active=true]{background:linear-gradient(#2780a0,#39d7ee);border-top-color:#fff576;box-shadow:inset 0 0 0 2px #ffe66e}
.camp-task{display:grid;justify-items:stretch;padding:0 0 12px;background:linear-gradient(110deg,#bc875b,#895d3f);border-bottom:4px solid #654331;position:relative}
.camp-task h4{margin:0;padding:11px 9px;background:#d8a475;color:#fff;text-shadow:0 1px 2px #4a2b1e;border-bottom:2px solid #704a2e;font-size:12px;line-height:1.4}.camp-task.is-claimed{background:linear-gradient(110deg,#978666,#72664f)}.camp-task.is-claimed h4{background:#a69677}.camp-task>button{justify-self:end;margin:5px 10px 0;min-width:85px;min-height:32px;padding:5px 12px;font-size:12px}.camp-task>button:disabled{opacity:.7;filter:saturate(.3)}
.event-prizes{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:15px 8px 8px}.event-prize-button{padding:0;background:none;border:0}.event-prize{position:relative;display:inline-block;width:62px;height:62px;border:2px solid #cfacf7;background:radial-gradient(#5d3b87,#1a1836);box-shadow:0 2px 4px #302037}.event-prize img{width:100%;height:100%;object-fit:contain}.event-prize b{position:absolute;right:3px;bottom:1px;color:white;font-size:12px;text-shadow:0 1px 2px #000,1px 0 2px #000}
.event-notice,.event-countdown{padding:14px;margin:0;color:#fff3ce!important;font-size:12px!important;line-height:1.6}.event-countdown{color:#6effba!important;text-align:center;background:#242f45;padding:9px}.events-content>.hero-gold-button{display:block;margin:12px auto;max-width:90%;padding:10px}
#event-reward-dialog .event-prize{width:78px;height:78px}#event-reward-dialog .event-prize b{font-size:15px}
body[data-reduced-motion=true] *,body[data-reduced-motion=true] *:before,body[data-reduced-motion=true] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body[data-high-contrast=true] :is(.idle-label,.unit-label){font-weight:800;text-shadow:0 1px 3px #000,0 -1px 3px #000}body[data-high-contrast=true] :is(.events-content,.menu-detail-content){color:white}body[data-high-contrast=true] :is(#arena,#idle-stage){filter:brightness(1.18) contrast(1.08)}
@media(max-width:380px){.events-layout{grid-template-columns:84px minmax(0,1fr)}.event-section{min-height:80px}.event-section strong{font-size:10px}.event-banner{min-height:160px;padding:10px}.camp-chest img{width:45px}.events-dialog>header h2{font-size:20px}.events-tabs button{font-size:10px}.event-prize{width:56px;height:56px}}
@media(prefers-reduced-motion:reduce){.camp-chest[data-ready=true] img{transform:none}}
.event-has-reward{position:relative}
.event-has-reward::after{content:'';position:absolute;top:3px;right:3px;width:12px;height:12px;box-sizing:border-box;border:2px solid #ffdc88;border-radius:50%;background:radial-gradient(circle at 35% 25%,#ff935a,#f33329 65%,#ba171c);box-shadow:0 1px 3px #321b3c88;pointer-events:none;z-index:3}
.camp-day.event-has-reward::after{top:4px;right:2px;width:10px;height:10px}
