/* Cohesive presentation for server-owned hunts, daily rewards and async PvP. */
#huntsScreen { padding: 1.2rem clamp(.8rem,3vw,2.6rem) 2rem; }
.exp-hub { max-width: 78rem; margin: auto; font-family: var(--font-clean); }
.exp-heading,.exp-tabs,.exp-area-stats,.exp-reward-summary,.exp-match-teams { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; }
.exp-heading { justify-content:space-between; border-bottom:1px solid #344761; padding-bottom:.8rem; margin-bottom:.7rem; }
.exp-heading h2 { margin:.3rem 0; color:#e8f5ff; font:800 1.5rem var(--font-pixel-ui); }
.exp-kicker { color:#66d9be; font:700 .65rem var(--font-pixel-ui); letter-spacing:.08em; }
.exp-tabs button,.exp-primary { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; min-height:2.45rem; padding:.55rem .9rem; border:1px solid #405877; border-radius:.5rem; background:#17263c; color:#dceaff; font:800 .75rem var(--font-clean); text-align:center; cursor:pointer; transition:transform .16s,box-shadow .16s,border-color .16s; }
.exp-tabs svg,.exp-primary svg,.exp-area-stats svg,.exp-reward-summary svg { width:1.1rem; height:1.1rem; flex-shrink:0; vertical-align:middle; }
.exp-tabs .is-current { color:#a1f7c4; border-color:#43d69c; background:#143b37; box-shadow:0 0 .8rem #32bd6e22; }
.exp-primary { color:#071a20; background:linear-gradient(#60e3bd,#25b88e); border-color:#7bf4cc; }
.exp-primary:hover:not(:disabled),.exp-tabs button:hover { transform:translateY(-1px); box-shadow:0 0 1rem #4ed7b544; }
.exp-primary:active:not(:disabled) { transform:translateY(1px); }
.exp-primary:disabled { opacity:.4; cursor:default; }
.exp-hub p,.exp-modal p { color:#9eb4cc; font:.8rem/1.6 var(--font-clean); }
.exp-active { display:grid; grid-template-columns:1.1fr 1fr; gap:1.2rem; background:linear-gradient(130deg,#122e2b,#0d1929); border:1px solid #2c6b55; border-radius:.9rem; padding:.85rem; margin-bottom:1rem; }
.exp-active h3 { margin:.5rem 0; font-size:1.1rem; color:#e2fff1; }
.exp-active-info { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:.7rem; }
.exp-active-info small { color:#83d1b3; font-size:.65rem; }
.exp-countdown { color:#8bf5bb; margin:.5rem 0; font:700 1.4rem var(--font-pixel-ui); }
.exp-grass-scene { height:14rem; overflow:hidden; border-radius:.65rem; position:relative; isolation:isolate; background:repeating-linear-gradient(0deg,#2f713b 0 4px,transparent 4px 32px),repeating-linear-gradient(90deg,#448a42 0 4px,#397e3c 4px 32px); image-rendering:pixelated; box-shadow:inset 0 0 0 4px #1d4e32,inset 0 0 2rem #112e18; }
.exp-grass-scene:before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 40% 0,#ffe49c33,transparent 70%); }
.exp-scene-empty { position:absolute; inset:0; display:grid; place-items:center; text-align:center; padding:2rem; color:#e7fbd7; background:#0b20184d; font:700 .8rem/1.7 var(--font-pixel-ui); text-shadow:0 2px #1a462d; }
.exp-area-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.exp-area { min-width:0; border:1px solid color-mix(in srgb,var(--area-color) 45%,#23334d); background:linear-gradient(145deg,color-mix(in srgb,var(--area-color) 8%,#10192b),#101929); border-radius:.8rem; padding:1rem; display:flex; flex-direction:column; gap:.7rem; }
.exp-area h3 { color:var(--area-color); margin:0; font-size:.95rem; }
.exp-area .exp-kicker { color:var(--area-color); }
.exp-area p { font-size:.68rem; margin:0; flex:1; }
.exp-species-list { display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; }
.exp-species { display:inline-flex; flex-direction:column; align-items:center; min-width:0; flex:1; }
.exp-species img { width:3.6rem; height:3.6rem; object-fit:contain; image-rendering:pixelated; }
.exp-species small { font:700 .56rem/1.3 var(--font-clean); color:#c5d8ec; text-align:center; }
.exp-area-stats { gap:.4rem; font:800 .6rem var(--font-clean); color:#b5cee6; }
.exp-area-stats span { display:flex; align-items:center; gap:.2rem; padding:.3rem; border-radius:.3rem; background:#07111d66; }
.exp-last-reward,.exp-pvp-intro,.exp-pvp-own,.exp-match-history { background:#0e192b; border:1px solid #30465f; border-radius:.75rem; padding:1rem; margin-top:1rem; }
.exp-last-reward h3,.exp-match-history h3 { color:#d6eaff; font-size:.85rem; margin:0 0 .7rem; }
.exp-reward-summary span { display:inline-flex; align-items:center; gap:.3rem; color:#b0efcc; background:#17533b44; border:1px solid #38836266; padding:.4rem; border-radius:.4rem; font:700 .7rem var(--font-clean); }
.exp-reward-pokemon { display:flex; gap:.5rem; justify-content:center; margin-top:.5rem; }
.exp-reward-pokemon .exp-species { flex:0 1 6rem; }
.exp-modal { max-width:54rem; width:min(54rem,94vw); max-height:88dvh; overflow-y:auto; padding:1.3rem; }
.exp-modal>header { display:flex; align-items:center; justify-content:space-between; gap:.8rem; border-bottom:1px solid #354762; padding-bottom:.75rem; margin-bottom:.75rem; }
.exp-modal>header h2 { font:800 1.05rem var(--font-pixel-ui); color:#f3d68a; margin:0; }
.daily-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.5rem; margin:1.3rem 0; }
.daily-day { display:flex; align-items:center; flex-direction:column; text-align:center; padding:.7rem .3rem; border:1px solid #344963; border-radius:.65rem; background:#142338; gap:.65rem; color:#a8c5df; font:700 .65rem var(--font-clean); }
.daily-day>svg { width:1.8rem; height:1.8rem; color:#7ce5b4; }
.daily-day small { font-size:.6rem; line-height:1.6; color:#86a4c1; }
.daily-day b { color:#e9bc64; font-size:.52rem; }
.daily-day.is-current { border-color:#eac068; box-shadow:0 0 .7rem #e8bb4333; color:#ffe3a2; }
.daily-box-info { background:#76551722; border:1px solid #cfa44d66; border-radius:.5rem; padding:.8rem; }
#dailyRewardsBody>.exp-primary { display:flex; margin:1rem auto 0; }
.exp-map-wallet { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; padding:.45rem .6rem; border:1px solid #397d61; border-radius:.4rem; color:#8af0bd; background:#102b27; cursor:pointer; font:800 .75rem var(--font-clean); }
.exp-map-wallet svg,.exp-daily-button svg { width:1.3rem; height:1.3rem; }
.exp-daily-button { position:relative; }
.exp-daily-button.daily-ready:after { content:''; position:absolute; top:.12rem; right:.12rem; width:.4rem; height:.4rem; border-radius:50%; background:#ffc83d; box-shadow:0 0 .5rem #ffe365; }
.exp-pvp-intro { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.exp-pvp-intro>div { max-width:48rem; }
.exp-pvp-intro h3 { color:#d9c1fa; margin:.5rem 0; }
.exp-pvp-intro small { color:#91a9c4; font-size:.6rem; }
.exp-pvp-own { display:flex; align-items:center; gap:1.5rem; color:#c5f2e5; }
.exp-pvp-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin-top:1rem; }
.exp-pvp-list article { display:grid; grid-template-columns:1fr auto; gap:.7rem; padding:1rem; border:1px solid #4b3e71; background:#19182e; border-radius:.6rem; }
.exp-pvp-list article>div:first-child { display:flex; flex-direction:column; gap:.4rem; color:#eadfff; }
.exp-pvp-list article small { color:#9dabc8; font-size:.65rem; }
.exp-pvp-list article>.exp-primary { grid-column:1/-1; }
.exp-pvp-list .exp-species small { display:none; }
.exp-pvp-list .exp-species img { width:2.8rem; height:2.8rem; }
.exp-match-history>button { display:flex; align-items:center; justify-content:space-between; gap:1rem; width:100%; text-align:left; margin:.4rem 0; padding:.7rem; color:#c5d6e9; border:1px solid #324760; border-radius:.4rem; background:#152237; cursor:pointer; }
.exp-match-teams { justify-content:center; margin:1rem 0; }
.exp-match-teams>div { display:flex; gap:.5rem; }
.exp-duel-mon { display:flex; flex-direction:column; align-items:center; gap:.25rem; color:#82dab4; font-size:.65rem; }
#pvpResultBody h3 { text-align:center; color:#9cf0bd; }
#pvpResultBody details { background:#08111f; border-radius:.5rem; padding:.8rem; color:#abc1db; font:.7rem/1.7 var(--font-clean); }
#pvpResultBody ol { max-height:15rem; overflow-y:auto; padding-left:1.5rem; }
.exp-hub .player-name { text-transform:none; }
#expeditionBusy:not([hidden]) { position:fixed; z-index:100000; inset:0; display:grid; place-items:center; background:#050b17bb; backdrop-filter:blur(4px); }
#expeditionBusy>div { display:flex; flex-direction:column; align-items:center; gap:.7rem; color:#a3edca; font:.8rem var(--font-clean); text-align:center; padding:2rem; }
#expeditionBusy svg { width:2.5rem; height:2.5rem; }
.exp-locked { position:relative; min-height:19rem; overflow:hidden; border-radius:.8rem; }
.exp-locked-content { filter:blur(5px); opacity:.42; pointer-events:none; user-select:none; }
.exp-lock-notice { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:.7rem; padding:1.2rem; background:#0a14206b; text-align:center; }
.exp-lock-notice>svg { width:2.5rem; height:2.5rem; color:#f3ca70; }
.exp-lock-notice h3 { margin:0; color:#ffe1a0; font:800 1rem var(--font-pixel-ui); }
.exp-lock-notice p { max-width:30rem; margin:0; color:#def1f7; }
.exp-lock-notice small { color:#9ef0c2; font:.72rem/1.6 var(--font-clean); }
@media(max-width:800px){.exp-area-grid{grid-template-columns:1fr}.exp-active{grid-template-columns:1fr}.exp-grass-scene{height:11rem}.exp-pvp-list{grid-template-columns:1fr}.daily-days{grid-template-columns:repeat(4,1fr)}.exp-heading{align-items:flex-start}.exp-pvp-intro{flex-direction:column;align-items:stretch}.exp-tabs{gap:.3rem}.exp-modal{padding:.8rem}.exp-map-wallet{padding:.35rem;font-size:.65rem}.exp-species img{width:3rem;height:3rem}}
@media(prefers-reduced-motion:reduce){.exp-walk-track,.exp-walker,.exp-leg,.is-hunting .exp-grass i{animation:none}.exp-primary,.exp-tabs button{transition:none}}

.exp-modal { background:linear-gradient(140deg,#15253b,#0b1425); border:1px solid #476381; border-radius:1rem; box-shadow:0 1.5rem 5rem #000a; }

.exp-hub { width:100%; }
#huntsScreen .player-name,.exp-walk-track span { text-transform:none !important; }
html:not(.battlemon-mobile) .exp-lock-panel { --spark-color:#ffe28d; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.8rem; width:min(32rem,100%); padding:1.5rem; border:2px solid #fbbf24; border-radius:1rem; background:linear-gradient(145deg,#233044,#101b2b); box-shadow:0 0 1.6rem #fbbf2455,inset 0 0 1.1rem #fbbf2411; }
.exp-lock-panel>svg { width:2.4rem; height:2.4rem; color:#fcd46a; }
html:not(.battlemon-mobile) .exp-lock-notice { padding:1.1rem; }
html:not(.battlemon-mobile) .exp-active { position:relative; }
.exp-hunt-info { position:absolute; top:.7rem; right:.7rem; z-index:2; display:inline-flex; align-items:center; justify-content:center; width:1.65rem; height:1.65rem; border:1px solid #6fd9b777; border-radius:50%; color:#a2ebce; background:#142e2c; font:800 .8rem var(--font-clean); cursor:help; }
.exp-hunt-info:hover { border-color:#a2ebce; box-shadow:0 0 .7rem #6fd9b744; }
html:not(.battlemon-mobile) .exp-active-info { padding-top:1.2rem; }
html:not(.battlemon-mobile) .exp-active-info>.exp-kicker { font-family:var(--font-clean); }
html:not(.battlemon-mobile) .exp-active-info>h3 { font-family:var(--font-pixel-ui); font-size:1rem; margin:.65rem 0 .9rem; }
html:not(.battlemon-mobile) .exp-map-sources { line-height:1.9; margin-bottom:.6rem; color:#b3ddcd; }
html:not(.battlemon-mobile) .exp-area .exp-primary { background:linear-gradient(145deg,color-mix(in srgb,var(--area-color) 88%,white),color-mix(in srgb,var(--area-color) 75%,#112335)); border-color:var(--area-color); color:#101b29; box-shadow:0 .15rem 0 color-mix(in srgb,var(--area-color) 40%,#101b29),0 0 .6rem color-mix(in srgb,var(--area-color) 18%,transparent); }
html:not(.battlemon-mobile) .exp-area .exp-primary:hover:not(:disabled) { box-shadow:0 0 1.3rem color-mix(in srgb,var(--area-color) 40%,transparent); }
html:not(.battlemon-mobile) .exp-daily-button { color:#fbbf24; border-color:#b78d3b66; background:#302618; }
html:not(.battlemon-mobile) .exp-daily-button.daily-ready { color:#fff1a0; border-color:#fcd34d; background:linear-gradient(145deg,#754c11,#453013); box-shadow:0 0 .9rem #fbbf2455,inset 0 0 .4rem #fbbf2422; }
html:not(.battlemon-mobile) .exp-daily-button.daily-ready:after { background:#65f1bd; box-shadow:0 0 .5rem #65f1bd; }
html:not(.battlemon-mobile) .exp-map-wallet { box-sizing:border-box; flex-shrink:0; font:800 .86rem var(--font-pixel-ui); border-width:2px; border-radius:.375rem; }

/* Special daily milestones use stable CSS particles, never an animation loop. */
#dailyRewardModal .daily-reward-card { position:relative; width:min(58rem,94vw); max-width:58rem; padding:1.15rem; border:2px solid #fbbf24; box-shadow:0 0 1.5rem #eab30855,0 1.5rem 5rem #0009,inset 0 0 1.2rem #fbbf2409; --spark-color:#ffe692; }
.daily-invitation { text-align:center; padding:.4rem .5rem; }
.daily-invitation>strong { display:block; color:#ffe19b; font:800 .88rem/1.5 var(--font-pixel-ui); }
.daily-invitation p { margin:.6rem auto; max-width:47rem; color:#d8e5f5; font:700 .78rem/1.65 var(--font-clean); }
.daily-invitation>small { display:block; color:#8ea9c6; font:.58rem/1.6 var(--font-clean); }
.daily-days { align-items:stretch; margin:1rem 0; }
.daily-day { position:relative; gap:.5rem; }
.daily-day.is-claimed { background:#103135; }
.daily-day.daily-special-gold { --spark-color:#ffef99; color:#ffe6a0; border:2px solid #fbbf24; background:linear-gradient(145deg,#4c381c,#241e24); box-shadow:0 0 1.15rem #fbbf2466,inset 0 0 .7rem #fbbf2422; }
.daily-day.daily-special-purple { --spark-color:#e9bbff; color:#efd3ff; border:2px solid #c084fc; background:linear-gradient(145deg,#48245f,#241b42); box-shadow:0 0 1.4rem #b14dff88,inset 0 0 .8rem #c084fc33; }
.daily-special-gold>svg,.daily-special-gold>b { color:#ffe064; filter:drop-shadow(0 0 .3rem #fbbf24); }
.daily-special-purple>svg,.daily-special-purple>b { color:#dfacff; filter:drop-shadow(0 0 .4rem #c084fc); }
.daily-special-purple>b,.daily-special-gold>b { font-size:.56rem; line-height:1.5; }
html:not(.battlemon-mobile) :is(.daily-reward-card,.daily-special-blue,.daily-special-gold,.daily-special-purple)>.ui-sparks i { animation:uiSparkDrift 2.1s ease-out var(--spark-delay) infinite; width:4px; height:4px; box-shadow:0 0 8px var(--spark-color); }
.daily-pokemon-choice { border-top:1px solid #43637b; padding-top:.8rem; text-align:center; }
.daily-pokemon-choice h3 { color:#a9e7ff; font:.85rem var(--font-pixel-ui); margin:.3rem; }
.daily-pokemon-choice p { font:.65rem var(--font-clean); color:#a6bfd8; }
.daily-choice-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.5rem; margin:.7rem 0; }
.daily-choice-card { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.3rem; padding:.35rem; min-width:0; border:1px solid #3e5b7e; border-radius:.6rem; background:#102038; color:#dfeeff; cursor:pointer; transition:border-color .2s,box-shadow .2s,background .2s; }
.daily-choice-card:hover,.daily-choice-card.is-selected { border-color:#fbbf24; background:#3b321e; box-shadow:0 0 .7rem #fbbf2444; }
.daily-choice-card img { width:3.5rem; height:3.5rem; image-rendering:pixelated; object-fit:contain; }
.daily-choice-card strong { font:800 .66rem var(--font-clean); }
.daily-choice-card>span { display:flex; gap:.25rem; }
.daily-choice-card .game-type-symbol { width:1.25rem; height:1rem; }
.daily-pokemon-choice>.exp-primary { display:block; margin:.8rem auto 0; }
@media(prefers-reduced-motion:reduce){html:not(.battlemon-mobile) :is(.daily-reward-card,.daily-special-blue,.daily-special-gold,.daily-special-purple)>.ui-sparks i {animation:none}}

html:not(.battlemon-mobile) .exp-map-wallet { white-space:nowrap; gap:.25rem; padding:.25rem .4rem; font-size:.7rem; }
html:not(.battlemon-mobile) .exp-map-wallet svg { width:1rem; height:1rem; flex-shrink:0; }
html:not(.battlemon-mobile) .exp-map-wallet strong { white-space:nowrap; }

/* Claimed days dim their contents while preserving the milestone outline. */
#dailyRewardModal .daily-day.is-claimed { background:#080f1b; box-shadow:none; }
#dailyRewardModal .daily-day.is-claimed>*:not(.ui-sparks) { opacity:.38; filter:saturate(.3); }
html:not(.battlemon-mobile) .daily-day.is-claimed>.ui-sparks { display:none; }
#dailyRewardModal .daily-reward-card.has-receipt { overflow:hidden; }
.daily-reward-card.has-receipt>header,.daily-reward-card.has-receipt>#dailyRewardsBody { filter:blur(5px); pointer-events:none; user-select:none; }
.daily-claim-receipt { position:absolute; inset:0; z-index:20; display:flex; align-items:center; justify-content:center; padding:1.1rem; border-radius:inherit; background:#050c195e; animation:dailyReceiptIn .2s ease both; }
.daily-receipt-box { position:relative; width:min(42rem,100%); max-height:100%; overflow-y:auto; padding:1.5rem 1.2rem 1.2rem; box-sizing:border-box; border:1px solid #fbbf24; border-radius:.85rem; background:linear-gradient(145deg,#233047,#101a2d); box-shadow:0 0 1.3rem #eab30833,0 1rem 3rem #000a; text-align:center; }
.daily-receipt-box>header { display:flex; align-items:center; justify-content:center; gap:.8rem; padding:.6rem 1.6rem 1.1rem; }
.daily-receipt-box h2 { margin:0; color:#fff; font:800 1rem/1.5 var(--font-pixel-ui); }
.daily-receipt-lock { display:grid; place-items:center; width:2.6rem; height:2.6rem; flex-shrink:0; border:1px solid #d99a2d; border-radius:.6rem; background:#6b481d55; color:#fcd675; box-shadow:0 0 .7rem #eab30822; }
.daily-receipt-lock svg { width:1.4rem; height:1.4rem; }
.daily-receipt-close { position:absolute; top:.65rem; right:.65rem; }
.daily-receipt-loot { padding:1rem .6rem; border:1px solid #9a743755; border-radius:.6rem; background:#09122588; }
.daily-receipt-box>.exp-primary { display:block; margin:1.1rem auto 0; }
.exp-reward-summary { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.55rem; }
.exp-reward-summary>.exp-reward-chip { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; padding:.65rem .75rem; color:var(--reward-color); border:1px solid color-mix(in srgb,var(--reward-color) 50%,transparent); background:color-mix(in srgb,var(--reward-color) 10%,#101b2d); box-shadow:inset 0 1px #ffffff08,0 0 .55rem color-mix(in srgb,var(--reward-color) 12%,transparent); }
.exp-reward-chip .exp-reward-icon { display:inline-flex; align-items:center; justify-content:center; padding:0; border:0; background:none; color:inherit; }
.exp-reward-icon svg { width:1.35rem; height:1.35rem; }
.exp-reward-chip strong { font:800 .75rem/1.3 var(--font-clean); }
.exp-reward-pokemon { flex-wrap:wrap; }
.exp-reward-capture { display:flex; flex-direction:column; align-items:center; gap:.5rem; padding:.65rem 1rem; border:1px solid color-mix(in srgb,var(--reward-color) 55%,transparent); background:color-mix(in srgb,var(--reward-color) 9%,#101b2d); border-radius:.6rem; box-shadow:0 0 .7rem color-mix(in srgb,var(--reward-color) 20%,transparent); }
.exp-reward-capture small { color:var(--reward-color); }
.exp-reward-capture b { color:var(--reward-color); font:.55rem var(--font-clean); }
.daily-claim-receipt.receipt-closing { animation:dailyReceiptOut .18s ease both; pointer-events:none; }
@keyframes dailyReceiptIn { from{opacity:0;transform:translateY(.35rem) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)} }
@keyframes dailyReceiptOut { to{opacity:0;transform:translateY(.2rem) scale(.98)} }
@media(prefers-reduced-motion:reduce){.daily-claim-receipt,.daily-claim-receipt.receipt-closing{animation:none}}

/* Compact hunts fit together in the viewport; PvP keeps its independent layout. */
html:not(.battlemon-mobile) #huntsScreen.is-hunts-view { overflow:hidden; padding:.6rem clamp(.8rem,3vw,2.6rem); }
html:not(.battlemon-mobile) #huntsScreen.is-hunts-view .exp-hub { margin:0 auto; }
html:not(.battlemon-mobile) #huntsScreen.is-hunts-view .exp-heading { padding-bottom:.45rem; margin-bottom:.45rem; }
html:not(.battlemon-mobile) #huntsScreen.is-hunts-view .exp-heading h2 { font-size:1.3rem; }
html:not(.battlemon-mobile) #huntsScreen.is-hunts-view .exp-active { padding:.6rem; gap:.75rem; margin-bottom:.65rem; }
html:not(.battlemon-mobile) #huntsScreen.is-hunts-view .exp-grass-scene { height:clamp(8rem,22dvh,12rem); }
html:not(.battlemon-mobile) #huntsScreen.is-hunts-view .exp-active-info { padding:.6rem; }
html:not(.battlemon-mobile) #huntsScreen.is-hunts-view .exp-active-info>h3 { margin:.4rem 0; }
html:not(.battlemon-mobile) #huntsScreen.is-hunts-view .exp-area-grid { gap:.65rem; }
html:not(.battlemon-mobile) #huntsScreen.is-hunts-view .exp-area { padding:.65rem; gap:.45rem; }
html:not(.battlemon-mobile) #huntsScreen.is-hunts-view .exp-species img { width:3rem; height:3rem; }
html:not(.battlemon-mobile) #huntsScreen.is-hunts-view .exp-area p { font-size:.65rem; }
html:not(.battlemon-mobile) #huntsScreen.is-hunts-view .exp-area .exp-primary { min-height:2.1rem; padding:.4rem .65rem; }
html:not(.battlemon-mobile) #huntsScreen .exp-area-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.35rem; }
html:not(.battlemon-mobile) #huntsScreen .exp-area-stats>span { display:flex; align-items:center; justify-content:center; gap:.2rem; width:100%; height:1.7rem; padding:.2rem; box-sizing:border-box; white-space:nowrap; font-size:.56rem; }
html:not(.battlemon-mobile) #huntsScreen .exp-area-stats svg { width:.9rem; height:.9rem; }

.daily-day.daily-special-blue { --spark-color:#a5e5ff; color:#c6e8ff; border:2px solid #60a5fa; background:linear-gradient(145deg,#173d66,#17203c); box-shadow:0 0 1.15rem #3b82f677,inset 0 0 .7rem #60a5fa22; }
.daily-special-blue>svg,.daily-special-blue>b { color:#91d7ff; filter:drop-shadow(0 0 .3rem #60a5fa); }
.daily-special-blue>b { font-size:.56rem; line-height:1.5; }
.daily-loading { margin: 2.5rem 0; color: #9cc3ff; font: 700 .8rem var(--font-pixel-ui); letter-spacing: .08em; text-align: center; animation: dailyLoadingPulse 1.2s ease-in-out infinite; }
@keyframes dailyLoadingPulse { 0%, 100% { opacity: .45; } 50% { opacity: 1; } }
/* Dia 2: Eeveelutions e símbolos de tipo flutuando ao fundo da caixa, como spoiler suave. */
.daily-special-blue { overflow:hidden; isolation:isolate; }
.daily-special-blue>*:not(.daily-eevee-spoiler):not(.ui-sparks) { position:relative; z-index:1; }
.daily-eevee-spoiler { position:absolute; inset:0; z-index:0; pointer-events:none; }
.daily-eevee-float { position:absolute; left:var(--x,40%); bottom:calc(var(--size,2rem) * -1); width:var(--size,2rem); height:var(--size,2rem); object-fit:contain; image-rendering:pixelated; opacity:0; filter:drop-shadow(0 0 .25rem #60a5fa66); animation:eeveeFloatUp var(--dur,9s) linear var(--delay,0s) infinite; }
@keyframes eeveeFloatUp {
  0% { transform:translate(0,0); opacity:0; }
  12% { opacity:.42; }
  35% { transform:translate(var(--sway),-30cqh); }
  65% { transform:translate(calc(var(--sway) * -1),-62cqh); opacity:.36; }
  88% { opacity:.18; }
  100% { transform:translate(0,-100cqh) ; opacity:0; }
}
.daily-eevee-spoiler { container-type:size; }
@media(prefers-reduced-motion:reduce){ .daily-eevee-float { animation:none; opacity:.15; bottom:35%; } }

.exp-maintenance { position:relative; min-height:19rem; display:grid; align-items:center; }
.exp-maintenance-preview { filter:blur(6px); opacity:.45; user-select:none; pointer-events:none; }
.exp-maintenance-notice { position:absolute; inset:2rem max(1rem,15%); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:.8rem; padding:1.5rem; color:#e9d5ff; background:#101827ed; border:1px solid #b883f6; border-radius:.8rem; box-shadow:0 0 2rem #a855f733; }
.exp-maintenance-notice>span { font-size:2rem; }
.exp-maintenance-notice h3 { font:800 .9rem var(--font-pixel-ui); margin:0; }
.exp-maintenance-notice p { font:.8rem/1.6 var(--font-clean); margin:0; }
.exp-maintenance-notice small { color:#a4b6d1; font:.65rem/1.5 var(--font-clean); }

/* Cena pixel-art das hunts (desenhada em canvas por community/hunt-scene.js) */
.exp-grass-scene { background:#2b6a3a; box-shadow:inset 0 0 0 3px #1d4e32; }
.exp-grass-scene:before { display:none; }
.exp-pixel-scene { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; image-rendering:pixelated; image-rendering:crisp-edges; z-index:0; }
.exp-scene-empty { z-index:1; }
.exp-claim-row { display:flex; align-items:stretch; gap:.5rem; }
.exp-journal-btn { position:relative; width:2.45rem; padding:0; flex:none; }
.exp-journal-btn svg { width:1.2rem; height:1.2rem; }
.exp-journal-btn b { position:absolute; top:-.4rem; right:-.4rem; min-width:1.05rem; height:1.05rem; display:grid; place-items:center; padding:0 .25rem; border:2px solid #0b1426; border-radius:1rem; background:linear-gradient(180deg,#fb7185,#e11d48); color:#fff; font:800 .58rem/1 var(--font-pixel-ui); box-shadow:0 0 .5rem #e11d4888; }
.exp-journal-btn b[hidden] { display:none; }
.exp-journal-btn.has-news { animation:journalNews 1.4s ease-in-out infinite; }
@keyframes journalNews { 50% { box-shadow:0 0 1rem #fbbf2488; } }
.journal-progress { height:.4rem; margin:.2rem 0 .8rem; border-radius:1rem; background:#0b1527; border:1px solid #22324d; overflow:hidden; }
.journal-progress span { display:block; height:100%; background:linear-gradient(90deg,#34d399,#fde047); transition:width .4s; }
.journal-list { display:grid; gap:.45rem; margin:0; padding:0; list-style:none; text-align:left; }
.journal-row { display:grid; grid-template-columns:3.2rem minmax(0,1fr); align-items:center; gap:.7rem; padding:.5rem .6rem; border-radius:.7rem; border:1px solid #2c6b55; background:linear-gradient(180deg,#14302d,#0d1929); }
.journal-row.is-locked { border-color:#22324d; background:#0b1527; opacity:.6; }
.journal-mark { display:grid; place-items:center; height:2.1rem; border-radius:.5rem; background:#0b1527; border:1px solid #6fd9b777; color:#a2ebce; font:800 .72rem var(--font-pixel-ui); }
.journal-body { display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; min-width:0; }
.journal-body em { color:#8ea4c2; font:600 .7rem var(--font-pixel-ui); font-style:normal; }
.journal-note { margin:.7rem 0 0; color:#8ea4c2; font:600 .68rem/1.4 var(--font-pixel-ui); }

.exp-area { position: relative; }
.exp-area-info { position: absolute; top: .6rem; right: .6rem; z-index: 2; }
.exp-species-more { align-self: center; color: #8ea4c2; font: 800 .6rem var(--font-clean); }
.hunt-odds { display: grid; gap: .7rem; text-align: left; }
.hunt-odds section { padding: .55rem .65rem; border-radius: .7rem; border: 1px solid #22324d; background: #0b1527; }
.hunt-odds h4 { margin: 0 0 .4rem; display: flex; justify-content: space-between; gap: .5rem; color: #fde68a; font: 800 .7rem var(--font-clean); letter-spacing: .05em; }
.hunt-odds h4 span { color: #7dd3fc; }
.hunt-odds-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(4.6rem, 1fr)); gap: .3rem; }
.hunt-odds-grid span { display: grid; justify-items: center; gap: .05rem; padding: .25rem .1rem; border-radius: .5rem; background: #12203a; }
.hunt-odds-grid img { width: 2.7rem; height: 2.7rem; object-fit: contain; image-rendering: pixelated; }
.hunt-odds-grid em { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #b8c9e2; font: 700 .5rem var(--font-clean); font-style: normal; text-transform: capitalize; }
.hunt-odds-grid b { color: #7dd3fc; font: 800 .6rem var(--font-clean); }
.hunt-odds p { margin: 0; color: #8ea4c2; font: 600 .66rem/1.5 var(--font-clean); }

/* Mode tabs: Hunts = bright light azure, Expedições = bright yellow, PvP = bright crimson */
.exp-tabs button[data-exp-tab="hunts"] { --tab: #4fd8ff; --tab2: #0a6f9e; }
.exp-tabs button[data-exp-tab="explore"] { --tab: #ffe53d; --tab2: #b88a00; }
.exp-tabs button[data-exp-tab="pvp"] { --tab: #ff2e5c; --tab2: #9a0f33; }
.exp-tabs button[data-exp-tab] { color: var(--tab); border-color: color-mix(in srgb, var(--tab) 75%, #000); background: linear-gradient(180deg, color-mix(in srgb, var(--tab) 14%, #0d1727), #0d1727); text-shadow: 0 0 .6rem color-mix(in srgb, var(--tab) 60%, transparent); box-shadow: 0 0 .7rem color-mix(in srgb, var(--tab) 22%, transparent), inset 0 1px #ffffff14; }
.exp-tabs button[data-exp-tab]:hover { box-shadow: 0 0 1.3rem color-mix(in srgb, var(--tab) 55%, transparent), inset 0 1px #ffffff1c; }
.exp-tabs button[data-exp-tab].is-current { color: #06121c; border-color: color-mix(in srgb, var(--tab) 55%, #fff); background: linear-gradient(180deg, color-mix(in srgb, var(--tab) 92%, #fff), var(--tab) 55%, var(--tab2)); text-shadow: none; box-shadow: 0 0 1.5rem color-mix(in srgb, var(--tab) 70%, transparent), inset 0 1px #ffffff88; }
.exp-tabs button[data-exp-tab="pvp"].is-current { color: #fff; }
.exp-tabs button[data-exp-tab].is-current svg { filter: drop-shadow(0 0 .2rem #ffffff66); }

/* Mode selector + back button (tabs are gone inside a mode) */
.exp-title-row { display: flex; align-items: center; gap: .8rem; }
.exp-modes-back { display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .9rem; border: 1px solid #38bdf8; border-radius: .6rem; background: #0c2238; color: #bae6fd; font: 800 .68rem var(--font-pixel-ui); letter-spacing: .05em; cursor: pointer; transition: transform .15s, box-shadow .15s, background .15s; }
.exp-modes-back svg { width: 1rem; height: 1rem; }
.exp-modes-back:hover { background: #12334f; box-shadow: 0 0 1rem #38bdf855; transform: translateY(-1px); }
.exp-mode-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; padding: 1.2rem 0; }
.exp-mode-card { --tab: #4fd8ff; --tab2: #0a6f9e; position: relative; display: grid; justify-items: center; align-content: center; gap: .7rem; min-height: 16rem; padding: 1.4rem 1.2rem; text-align: center; cursor: pointer; border: 2px solid color-mix(in srgb, var(--tab) 70%, #000); border-radius: 1rem; color: #e2e8f0; background: radial-gradient(ellipse at 50% 0, color-mix(in srgb, var(--tab) 26%, transparent), transparent 70%), linear-gradient(180deg, #14213a, #0d1626); box-shadow: 0 0 1.2rem color-mix(in srgb, var(--tab) 25%, transparent), inset 0 1px #ffffff14; transition: transform .18s, box-shadow .18s; }
.exp-mode-card[data-exp-tab="explore"] { --tab: #ffe53d; --tab2: #b88a00; }
.exp-mode-card[data-exp-tab="pvp"] { --tab: #ff2e5c; --tab2: #9a0f33; }
.exp-mode-card:hover { transform: translateY(-4px); box-shadow: 0 0 2rem color-mix(in srgb, var(--tab) 60%, transparent), inset 0 1px #ffffff22; }
.exp-mode-icon { display: grid; place-items: center; width: 4.2rem; height: 4.2rem; border-radius: 1rem; border: 2px solid var(--tab); background: radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--tab) 45%, #fff), var(--tab) 60%, var(--tab2)); color: #06121c; box-shadow: 0 0 1.4rem color-mix(in srgb, var(--tab) 60%, transparent); }
.exp-mode-card[data-exp-tab="pvp"] .exp-mode-icon { color: #fff; }
.exp-mode-icon svg { width: 2.3rem; height: 2.3rem; }
.exp-mode-card strong { color: var(--tab); font: 800 1.3rem var(--font-pixel-ui); letter-spacing: .06em; text-shadow: 0 0 .8rem color-mix(in srgb, var(--tab) 60%, transparent); }
.exp-mode-card small { max-width: 18rem; color: #94a3b8; font: 600 .8rem/1.5 var(--font-clean, inherit); }
.exp-mode-card .exp-tab-lock { display: none; margin-left: .4rem; font-size: .7em; }
.exp-mode-card[data-exp-tab="explore"].is-locked { filter: saturate(.6); }
.exp-mode-card[data-exp-tab="explore"].is-locked .exp-tab-lock { display: inline; }

/* Journal: reward icon and text on the same line, vertically centered */
.journal-body .exp-reward-chip { display: inline-flex; align-items: center; gap: .5rem; min-height: 1.6rem; padding: 0; border: 0; background: none; box-shadow: none; color: var(--reward-color); }
.journal-body .exp-reward-chip .exp-reward-icon { display: inline-grid; place-items: center; width: 1.4rem; height: 1.4rem; flex: none; }
.journal-body .exp-reward-chip .exp-reward-icon svg { width: 1.4rem; height: 1.4rem; display: block; }
.journal-body .exp-reward-chip strong { display: block; line-height: 1.4rem; font: 800 .78rem/1.4rem var(--font-clean, inherit); color: #f8fafc; }

/* Mode cards, modern pass: sweeping reflection line, soft pulsing aura, floating icon, faint grid */
.exp-mode-card { overflow: hidden; isolation: isolate; background: radial-gradient(ellipse at 50% 0, color-mix(in srgb, var(--tab) 26%, transparent), transparent 70%), repeating-linear-gradient(90deg, #ffffff06 0 1px, transparent 1px 22px), repeating-linear-gradient(0deg, #ffffff05 0 1px, transparent 1px 22px), linear-gradient(180deg, #14213a, #0d1626); animation: modeAura 3.6s ease-in-out infinite; }
.exp-mode-card > * { position: relative; z-index: 2; }
/* the reflection: a slanted bright band that crosses the card, one card after the other */
.exp-mode-card::before { content: ''; position: absolute; top: -20%; bottom: -20%; left: 0; width: 38%; z-index: 1; pointer-events: none; transform: translateX(-160%) skewX(-18deg); background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--tab) 18%, #ffffff00) 25%, color-mix(in srgb, #ffffff 42%, var(--tab)) 50%, color-mix(in srgb, var(--tab) 18%, #ffffff00) 75%, transparent); filter: blur(1px); animation: modeShine 8s cubic-bezier(.45, 0, .25, 1) infinite; }
.exp-mode-card[data-exp-tab="explore"]::before { animation-delay: 2.6s; }
.exp-mode-card[data-exp-tab="pvp"]::before { animation-delay: 5.2s; }
/* thin bright line riding on the card top edge */
.exp-mode-card::after { content: ''; position: absolute; left: 12%; right: 12%; top: 0; height: 2px; z-index: 2; pointer-events: none; background: linear-gradient(90deg, transparent, var(--tab), transparent); opacity: .85; box-shadow: 0 0 .8rem var(--tab); }
@keyframes modeShine { 0% { transform: translateX(-160%) skewX(-18deg); opacity: 0; } 6% { opacity: 1; } 38% { transform: translateX(330%) skewX(-18deg); opacity: 1; } 42%, 100% { transform: translateX(330%) skewX(-18deg); opacity: 0; } }
@keyframes modeAura { 0%, 100% { box-shadow: 0 0 1rem color-mix(in srgb, var(--tab) 22%, transparent), inset 0 1px #ffffff14; } 50% { box-shadow: 0 0 1.8rem color-mix(in srgb, var(--tab) 45%, transparent), inset 0 0 1.4rem color-mix(in srgb, var(--tab) 10%, transparent), inset 0 1px #ffffff22; } }
.exp-mode-icon { animation: modeFloat 3s ease-in-out infinite; }
.exp-mode-card[data-exp-tab="explore"] .exp-mode-icon { animation-delay: -1s; }
.exp-mode-card[data-exp-tab="pvp"] .exp-mode-icon { animation-delay: -2s; }
@keyframes modeFloat { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-5px) rotate(2deg); } }
.exp-mode-card:hover { background: radial-gradient(ellipse at 50% 0, color-mix(in srgb, var(--tab) 38%, transparent), transparent 72%), repeating-linear-gradient(90deg, #ffffff08 0 1px, transparent 1px 22px), repeating-linear-gradient(0deg, #ffffff06 0 1px, transparent 1px 22px), linear-gradient(180deg, #17274a, #0e192d); }
.exp-mode-card strong { background: linear-gradient(180deg, #ffffff, var(--tab) 70%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; text-shadow: none; filter: drop-shadow(0 0 .6rem color-mix(in srgb, var(--tab) 55%, transparent)); }
@media (prefers-reduced-motion: reduce) { .exp-mode-card, .exp-mode-card::before, .exp-mode-icon { animation: none; } }
