/* WhatDew World — Phase 4C: server-owned achievements with collectible World rewards. */
.world-achievement-panel{display:grid;gap:8px;padding-top:11px;border-top:1px solid rgba(54,101,69,.12)}.world-achievement-panel.hidden{display:none}.world-achievement-heading{display:flex;align-items:end;justify-content:space-between;gap:10px}.world-achievement-heading>div{display:grid;gap:2px}.world-achievement-heading small{color:#6c826e;font-size:.59rem;font-weight:950;letter-spacing:.12em}.world-achievement-heading strong{color:#355d43;font-size:.79rem}.world-achievement-count{padding:4px 7px;border:1px solid rgba(76,104,74,.13);border-radius:999px;background:rgba(255,255,255,.76);color:#58705f;font-size:.61rem;font-weight:900;white-space:nowrap}.world-achievement-list{display:grid;gap:6px}.world-achievement-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid rgba(54,94,68,.12);border-radius:14px;background:rgba(255,255,255,.72)}.world-achievement-card.earned{border-color:rgba(179,143,40,.2);background:linear-gradient(135deg,rgba(255,251,218,.9),rgba(240,255,232,.88));box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}.world-achievement-card.locked{background:rgba(245,248,244,.72)}.world-achievement-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:rgba(73,111,79,.09);font-size:1.15rem}.world-achievement-card.earned .world-achievement-icon{background:rgba(255,221,105,.25)}.world-achievement-card>div{display:grid;gap:2px;min-width:0}.world-achievement-card strong{color:#355846;font-size:.75rem}.world-achievement-card p{margin:0;color:#687a70;font-size:.63rem;line-height:1.3;font-weight:690}.world-achievement-reward{color:#7a6740;font-size:.59rem;font-weight:850}.world-achievement-card.locked .world-achievement-reward{color:#7d877f}.world-achievement-status{padding:4px 6px;border-radius:999px;background:rgba(75,112,82,.08);color:#6e7c73;font-size:.56rem;font-weight:950;text-transform:uppercase;letter-spacing:.04em}.world-achievement-card.earned .world-achievement-status{background:rgba(215,172,52,.17);color:#7a6424}

.world-achievement-reward-layer{position:absolute;inset:0;z-index:4;overflow:hidden;border-radius:inherit;pointer-events:none}.world-map-achievement-reward{position:absolute;display:block;opacity:0;filter:drop-shadow(0 7px 6px rgba(44,69,45,.2));transform:translate(-50%,-50%) translateY(7px) scale(.76);transition:opacity .32s ease,transform .5s cubic-bezier(.2,.9,.2,1)}.world-map[data-world-achievement-rewards~="proof-pennant"] .world-reward-proof-pennant,.world-map[data-world-achievement-rewards~="ten-task-lantern"] .world-reward-ten-task-lantern{opacity:1;transform:translate(-50%,-50%) translateY(0) scale(1)}
.world-reward-proof-pennant{left:60%;top:34%;width:48px;height:76px}.world-reward-pennant-pole{position:absolute;left:6px;bottom:0;width:4px;height:70px;border-radius:999px;background:linear-gradient(90deg,#76543b,#b98558,#694a36);box-shadow:0 1px 0 rgba(255,255,255,.35)}.world-reward-pennant-pole::after{content:"";position:absolute;left:-4px;bottom:-2px;width:12px;height:5px;border-radius:50%;background:#6e563f}.world-reward-pennant-flag{position:absolute;left:9px;top:5px;display:grid;width:36px;height:25px;padding-right:5px;place-items:center;border:2px solid #39734b;border-left:0;border-radius:0 5px 5px 0;background:linear-gradient(135deg,#78c87c,#4e9c60);clip-path:polygon(0 0,100% 0,82% 50%,100% 100%,0 100%);color:#fff7cf;font:1000 13px system-ui;text-shadow:0 1px rgba(43,92,56,.32);transform-origin:left center;animation:world-achievement-pennant-wave 2.6s ease-in-out infinite alternate}
.world-reward-ten-task-lantern{left:58%;top:70%;width:42px;height:62px}.world-reward-lantern-cap{position:absolute;z-index:3;left:50%;top:3px;width:24px;height:8px;border:3px solid #6f5935;border-radius:9px 9px 3px 3px;background:#c29a4a;transform:translateX(-50%)}.world-reward-lantern-cap::before{content:"";position:absolute;left:50%;top:-9px;width:12px;height:9px;border:3px solid #705a38;border-bottom:0;border-radius:8px 8px 0 0;transform:translateX(-50%)}.world-reward-lantern-body{position:absolute;z-index:2;left:50%;top:11px;display:grid;width:30px;height:36px;place-items:center;border:3px solid #765d35;border-radius:7px 7px 10px 10px;background:linear-gradient(180deg,#fff0a4,#f5bc53);box-shadow:inset 0 0 0 3px rgba(255,250,208,.55);color:#765821;font:1000 9px system-ui;transform:translateX(-50%)}.world-reward-lantern-body::after{content:"★";position:absolute;bottom:2px;color:#fff3bc;font-size:8px}.world-reward-lantern-glow{position:absolute;left:50%;top:27px;width:54px;height:54px;border-radius:50%;background:radial-gradient(circle,rgba(255,225,111,.68),rgba(255,225,111,.15) 46%,transparent 72%);transform:translate(-50%,-50%);animation:world-achievement-lantern-glow 2.3s ease-in-out infinite alternate}.world-map[data-world-daypart="night"] .world-reward-lantern-glow,.world-map[data-world-daypart="evening"] .world-reward-lantern-glow{background:radial-gradient(circle,rgba(255,229,123,.9),rgba(255,213,85,.32) 48%,transparent 73%);filter:blur(1px)}
.world-map[data-world-new-achievement-reward="proof-pennant"][data-world-achievement-rewards~="proof-pennant"] .world-reward-proof-pennant,.world-map[data-world-new-achievement-reward="ten-task-lantern"][data-world-achievement-rewards~="ten-task-lantern"] .world-reward-ten-task-lantern{animation:world-achievement-reward-arrive 1.35s cubic-bezier(.18,.9,.2,1) both;filter:drop-shadow(0 0 14px rgba(255,230,115,.95)) drop-shadow(0 8px 7px rgba(43,70,47,.24))}

.world-achievement-reward-category{border-color:rgba(180,143,42,.22);background:linear-gradient(145deg,#fffdf0,#f6fff1)}.world-achievement-reward-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:9px}.world-achievement-reward-option{display:grid;grid-template-columns:auto 1fr auto;min-height:67px;padding:8px 9px;align-items:center;gap:7px;border:1px solid rgba(69,99,72,.13);border-radius:13px;background:#f8fbf8;color:#405c4f;text-align:left;cursor:pointer}.world-achievement-reward-option.selected{border-color:rgba(177,139,38,.38);background:linear-gradient(135deg,#fff8d8,#f1ffe9);box-shadow:inset 0 0 0 1px rgba(211,169,51,.08)}.world-achievement-reward-option.locked{background:#f3f5f3;opacity:.6;cursor:not-allowed}.world-achievement-reward-option-icon{display:grid;width:29px;height:29px;place-items:center;border-radius:9px;background:rgba(215,174,61,.13);font-size:.95rem}.world-achievement-reward-option>span:nth-child(2){display:grid;gap:2px;min-width:0}.world-achievement-reward-option strong{font-size:.68rem}.world-achievement-reward-option small{color:#718077;font-size:.56rem;line-height:1.22;font-weight:680}.world-achievement-reward-toggle{padding:3px 5px;border-radius:999px;background:rgba(75,111,81,.08);color:#6d7e73;font-size:.52rem;font-weight:950;text-transform:uppercase}.world-achievement-reward-option.selected .world-achievement-reward-toggle{background:rgba(211,169,51,.17);color:#806723}

.world-achievement-celebration{position:absolute;right:16px;top:16px;z-index:13;display:grid;grid-template-columns:auto 1fr;width:min(390px,calc(100% - 32px));padding:14px 38px 14px 14px;gap:10px;border:1px solid rgba(110,79,148,.22);border-radius:20px;background:linear-gradient(140deg,rgba(251,245,255,.98),rgba(255,251,216,.97));box-shadow:0 22px 55px rgba(45,53,78,.25);opacity:0;transform:translateY(-12px) scale(.96);pointer-events:none;transition:opacity .2s ease,transform .28s cubic-bezier(.2,.9,.2,1)}.world-achievement-celebration.show{opacity:1;transform:none;pointer-events:auto}.world-achievement-celebration-icon{font-size:2rem}.world-achievement-celebration>div{display:grid;gap:3px}.world-achievement-celebration small{color:#7f6e9b;font-size:.61rem;font-weight:1000;letter-spacing:.13em}.world-achievement-celebration strong{color:#59416f;font-size:.94rem}.world-achievement-celebration p{margin:0;color:#666071;font-size:.71rem;font-weight:700}.world-achievement-celebration-close{position:absolute;right:9px;top:7px;border:0;background:transparent;color:#766c7d;font-size:1.25rem;cursor:pointer}.world-achievement-see-reward{width:max-content;margin-top:5px;padding:6px 9px;border:0;border-radius:999px;background:#70478e;color:#fff;font-size:.68rem;font-weight:900;cursor:pointer}

@keyframes world-achievement-reward-arrive{0%{opacity:0;transform:translate(-50%,-50%) translateY(16px) scale(.55) rotate(-6deg)}58%{opacity:1;transform:translate(-50%,-50%) translateY(-5px) scale(1.16) rotate(2deg)}100%{opacity:1;transform:translate(-50%,-50%) translateY(0) scale(1) rotate(0)}}@keyframes world-achievement-pennant-wave{from{transform:skewY(-3deg) scaleX(.94)}to{transform:skewY(3deg) scaleX(1.04)}}@keyframes world-achievement-lantern-glow{from{opacity:.52;transform:translate(-50%,-50%) scale(.86)}to{opacity:1;transform:translate(-50%,-50%) scale(1.08)}}
@media(max-width:820px){.world-reward-proof-pennant{left:65%;top:33%;transform-origin:left bottom}.world-reward-ten-task-lantern{left:57%;top:72%}.world-map[data-world-achievement-rewards~="proof-pennant"] .world-reward-proof-pennant{transform:translate(-50%,-50%) scale(.88)}.world-map[data-world-achievement-rewards~="ten-task-lantern"] .world-reward-ten-task-lantern{transform:translate(-50%,-50%) scale(.9)}}
@media(max-width:720px){.world-achievement-heading{align-items:start}.world-achievement-card{grid-template-columns:auto 1fr;padding:8px}.world-achievement-status{grid-column:2;width:max-content}.world-achievement-icon{width:32px;height:32px}.world-achievement-card p{font-size:.61rem}.world-achievement-reward-options{grid-template-columns:1fr}.world-achievement-reward-option{min-height:0}.world-achievement-celebration{position:fixed;left:10px;right:10px;top:calc(10px + env(safe-area-inset-top));width:auto}}
@media(max-width:480px){.world-reward-proof-pennant{left:66%;top:34%}.world-reward-ten-task-lantern{left:57%;top:73%}}
@media(prefers-reduced-motion:reduce){.world-achievement-card,.world-map-achievement-reward,.world-achievement-celebration{transition:none!important}.world-reward-pennant-flag,.world-reward-lantern-glow,.world-map[data-world-new-achievement-reward] .world-map-achievement-reward{animation:none!important}}
