/* Sunset jungle: clear blue above, pink light below, quiet centre for the quest list. */
body:has(:is(#tab-quests,#tab-history):not(.hidden)){background:#070c18;color:#f7f0e9}
body:has(:is(#tab-quests,#tab-history):not(.hidden)) .shell:before{
 background:linear-gradient(180deg,#071a3a60 0%,#100b2466 32%,#080c1ac9 53%,#190d244f 78%,#190c2259),url('./assets/jungle-sunset-v2.png') center center/cover no-repeat;
 filter:brightness(.82) saturate(1.16) blur(.8px);
 mask-image:linear-gradient(#000 0%,#000 22%,#0008 39%,#0001 53%,#0005 67%,#000 89%);
 -webkit-mask-image:linear-gradient(#000 0%,#000 22%,#0008 39%,#0001 53%,#0005 67%,#000 89%);
}
#homeCharacterHost,#historyCharacterHost{
 background:linear-gradient(125deg,#111c34b8,#1720319c 51%,#111325c9);
 border-bottom-color:#e6b37c66;box-shadow:0 7px 16px #03061294,inset 0 -1px #ffe5a51f;
}
.character-dashboard .home-status-strip{background:linear-gradient(110deg,#392b37b0,#142332c9);box-shadow:inset 0 1px 2px #ffe4a72b,0 2px 8px #02040b66}
.character-dashboard .category-stats{background:linear-gradient(115deg,#251b2b63,#0b152445)}
.character-dashboard .category-meter{background:linear-gradient(#3c3d46,#262b37);box-shadow:inset 0 1px 2px #0009,inset 0 -1px #edc8be21}
.character-dashboard .quest-wheel:after{
 content:'';display:block;position:absolute;inset:0;border:1px solid #fff3c9c7;border-radius:50%;box-sizing:border-box;
 background:radial-gradient(ellipse at 26% 14%,#fff7d12b,transparent 42%),radial-gradient(ellipse at 55% 82%,#ffe8981f,transparent 48%);
 box-shadow:0 0 2px #fffadbe0,0 0 5px #ffe5a985,0 0 11px #ffbd4f45,inset 0 0 2px #fff4c399;
}
.character-dashboard .wheel-rim{stroke-width:1.55}
.character-dashboard .wheel-halo{opacity:1}
/* One unbroken image is deformed continuously. No independently clipped arm can open a seam. */
.character-dashboard .hero-pose.pose-neutral{filter:url(#heroIdleWarp);overflow:visible}
.character-dashboard .idle-layer:not(.idle-body){display:none}
.character-dashboard .idle-body{clip-path:none!important;animation:none!important;transform:none!important;background-size:100% 100%;background-position:50% 50%}
.character-dashboard[data-hero-tier="1"] .idle-body{background-image:url('./assets/hero-growth-1-v2.png')}
.character-dashboard[data-hero-tier="2"] .idle-body{background-image:url('./assets/hero-growth-2-v1.png')}
.character-dashboard[data-hero-tier="3"] .idle-body{background-image:url('./assets/hero-growth-3-v1.png')}
.character-dashboard[data-hero-tier="4"] .idle-body{background-image:url('./assets/hero-growth-4-v1.png')}
.character-dashboard .home-avatar-art{filter:drop-shadow(3px 3px 3px #000c) drop-shadow(0 0 .7px #fff0c9) drop-shadow(0 0 2px #ffca6688)}
.home-quest{background:radial-gradient(ellipse at 0 0,color-mix(in srgb,var(--category) 15%,transparent),transparent 64%),linear-gradient(125deg,#171e29ed,#090e16f2);box-shadow:inset 0 1px #ffe8c423,0 2px 9px #03050b66}
.home-quest.is-open{background:radial-gradient(ellipse at 0 0,color-mix(in srgb,var(--category) 19%,transparent),transparent 70%),linear-gradient(135deg,#1b242cf0,#0b101af5);box-shadow:inset 0 1px #fff0b73b,0 0 8px color-mix(in srgb,var(--category) 22%,transparent),0 2px 10px #0007}
#tab-quests .home-dock .home-capture,#tab-history .history-controls{background:linear-gradient(125deg,#3a3038eb,#121c2aef)}
#tab-history .history-controls .sm-btn,.home-capture button:not(.capture-prompt){background:linear-gradient(135deg,#78604485,#202131e6);box-shadow:inset 0 1px 5px #ffe2a53d,0 0 6px #f2ba4d24}
body>#questComposer.quest-composer{background:radial-gradient(ellipse at 10% 0,#8a44613d,transparent 65%),linear-gradient(145deg,#343241d9,#13212ee8)}
/* XP feedback stays beside the checked row. It has no blocking surface or blurred backdrop. */
.reward-backdrop{display:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.reward-popup{
 position:fixed;z-index:29;transform:translate(-100%,-90%);width:auto;max-width:calc(100vw - 28px);min-width:0;
 display:flex;flex-wrap:nowrap;align-items:baseline;justify-content:flex-end;gap:0;padding:5px 2px;
 border:0;border-radius:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;
 color:#fff5cf;text-align:right;white-space:nowrap;pointer-events:none;animation:local-reward-in .24s ease-out both;
 text-shadow:0 1px 3px #000,0 0 4px #372205,0 0 8px #ffdb88,0 0 15px #ffb84799;
}
.reward-popup .reward-title{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.reward-popup #rewardXp,.reward-popup #rewardGold{font:650 15px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-variant-numeric:tabular-nums;color:#fff2bd}
.reward-popup #rewardGold{font-size:12px}
.reward-popup.is-leaving{animation:local-reward-out .22s ease-in both}
.xp-transfer{position:fixed;z-index:28;width:5px;height:5px;pointer-events:none;border-radius:50%;background:#fff8d5;box-shadow:0 0 5px #fff0b8,0 0 11px 3px #ffcf7a99;animation:xp-transfer-flight .8s cubic-bezier(.25,.5,.5,1) both}
.character-dashboard #homeXpTrack.xp-earned{animation:xp-earned-pulse 1.4s ease-out both}
.character-dashboard #homeXpTrack.xp-earned #homeXpFill{filter:brightness(1.32);box-shadow:0 0 9px #ffdf8fa6}
@keyframes local-reward-in{from{opacity:0;translate:0 7px;scale:.94}to{opacity:1;translate:0 0;scale:1}}
@keyframes local-reward-out{from{opacity:1;translate:0 0}to{opacity:0;translate:0 -14px}}
@keyframes xp-transfer-flight{0%{opacity:0;transform:translate(0,0) scale(.3)}12%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translate(var(--flight-x),var(--flight-y)) scale(.4)}}
@keyframes xp-earned-pulse{0%{box-shadow:0 0 2px #ffe3a122}25%{box-shadow:0 0 7px #fff0b9cc,0 0 16px #f9c46877}100%{box-shadow:0 0 3px #e6c45c44}}
/* Keep the falling light soft and staggered instead of releasing every particle at once. */
.character-dashboard .grace-petals>i{top:var(--start,-8px);filter:blur(.35px);box-shadow:0 0 7px #ffeac177,0 0 14px #ffd26633}
.character-dashboard .hero-grace.is-active .grace-petals>i{animation:grace-petal-fall var(--duration,4.5s) var(--delay,0ms) cubic-bezier(.2,.52,.34,1) both}
.character-dashboard .hero-particles.celebrating:before{display:none}
.character-dashboard .hero-particles.celebrating span{left:calc(7% + var(--x,.5)*86%);top:var(--start,10%);width:var(--size,2px);height:var(--size,2px);filter:blur(.55px);box-shadow:0 0 8px #fff0b9,0 0 18px 3px #ffd36888;animation:sunset-light-dust var(--duration,2.5s) var(--delay,0ms) ease-out both}
@keyframes sunset-light-dust{0%{opacity:0;transform:translate(0,0) scale(.35)}9%{opacity:1}62%{opacity:.75}100%{opacity:0;transform:translate(var(--drift,0px),70px) scale(.15)}}
@media(prefers-reduced-motion:reduce){
 .character-dashboard .hero-pose.pose-neutral{filter:none!important}
 .reward-popup,.xp-transfer,.character-dashboard #homeXpTrack.xp-earned{animation:none!important}
 .xp-transfer,.character-dashboard .hero-particles,.character-dashboard .grace-petals{display:none!important}
 .reward-popup.is-leaving{opacity:0}
}

#questComposer .input,#questComposer input:not([type=hidden]),#questComposer textarea{background:#0c142b70}
#questComposer #addQuestBtn{background:linear-gradient(115deg,#8c694c99,#393344c9)}
.character-dashboard #homeXpTrack.is-leveling.xp-earned{animation:grace-xp-light 3.2s ease both}
