/* A single-screen harvest. Scene dimensions come from the remaining page space. */
.page:has(>[data-community-market]){display:flex;flex-direction:column;height:calc(100svh - 80px);height:calc(100dvh - 80px);min-height:0;padding:12px 18px max(12px,env(safe-area-inset-bottom));overflow:hidden;max-width:none}.page:has(>[data-community-market])>.page-footer{display:none}
[data-community-market]{flex:1;min-height:0;min-width:0;width:100%;max-width:1400px;margin:0 auto;position:relative;color:#526f5a;container:market-panel/inline-size}.market-surface{display:flex;flex-direction:column;height:100%;gap:10px;min-height:0;min-width:0}.market-heading{flex:none;display:flex;align-items:center;justify-content:space-between;gap:7px 12px;flex-wrap:wrap;padding:0 2px}.market-heading h1{font:500 24px/1.2 Outfit,sans-serif;color:#56745c;letter-spacing:-.5px;margin:0}.market-heading-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.market-tool{display:grid;place-items:center;width:38px;height:38px;border:1px solid #e2e8dc;background:#fffffff0;border-radius:50%;color:#829377;cursor:pointer;padding:10px;touch-action:manipulation}.market-tool svg{width:16px;height:16px}.market-tool:disabled{opacity:.45;cursor:default}.market-tool[aria-pressed=true]{background:#e9eddd}[data-community-market] button:focus-visible{outline:3px solid #a7a5d8;outline-offset:4px}
.market-rainbow-controls{display:flex;align-items:center;gap:6px;margin-right:5px;font-size:10px;color:#829074}.market-rainbow-controls button{min-height:36px;min-width:36px;padding:6px 11px;border:1px solid #dfdfcd;border-radius:20px;background:#fffff8;color:#7c8166;font:500 12px 'DM Sans',sans-serif;cursor:pointer;touch-action:manipulation}.market-rainbow-controls button:disabled{opacity:.45;cursor:default}.market-rainbow-controls .market-test-link{border:0;background:none;font-size:11px;padding-inline:7px}.market-rainbow-controls svg{width:13px;height:13px}
.market-landscape{--reward-space:0px;container:market-scene/size;position:relative;isolation:isolate;flex:1;min-height:0;width:100%;overflow:hidden;border:1px solid #e1ead7;border-radius:28px;background:#a7daf0;box-shadow:0 8px 38px #4c725116}.market-hills{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:0;pointer-events:none}.market-landscape:after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;box-shadow:inset 0 -75px 80px -65px #466b3d38}
.market-sky,.market-sky-decor{position:absolute;inset:0;pointer-events:none}.market-sky{z-index:1}.market-sky-decor{overflow:hidden}.market-rainbow{position:absolute;left:50%;top:max(42px,7%);width:88%;width:min(90cqw,140cqh,1080px);height:auto;transform:translateX(-50%);aspect-ratio:1200/510;overflow:visible;pointer-events:none;opacity:.88}.market-rainbow-fill{transition:stroke-dashoffset 1.4s cubic-bezier(.22,.66,.32,1),opacity .35s ease}.market-rainbow-front{transition:transform 1.4s cubic-bezier(.22,.66,.32,1),opacity .3s ease}.market-star-origin{transition:opacity 1s ease}.market-falling-star{opacity:0;transform-box:view-box;transform-origin:0 0;animation:market-star-fall var(--star-duration) ease-in-out var(--star-delay) infinite}
@keyframes market-star-fall{0%,8%{opacity:0;transform:translate(0,-5px) rotate(-8deg)}20%{opacity:.9}52%{opacity:.7;transform:translate(calc(var(--star-drift) * -.25),82px) rotate(25deg)}86%,100%{opacity:0;transform:translate(var(--star-drift),190px) rotate(70deg)}}
.market-sunshine{position:absolute;left:1%;top:4%;width:clamp(85px,12vw,130px);aspect-ratio:1;opacity:.8;pointer-events:none}.market-sun-rays{position:absolute;inset:-40%;border-radius:50%;background:repeating-conic-gradient(from 5deg,#fff6be00 0deg,#fff7d270 7deg,#ffeebe00 15deg,#ffeebe00 30deg);mask-image:radial-gradient(circle,#0000 14%,#0009 30%,#0000 68%);animation:market-sun-turn 100s linear infinite}.market-sun-halo{position:absolute;inset:-25%;border-radius:50%;background:radial-gradient(circle,#fffcdc 0%,#fff1ae60 30%,#fff0b800 67%);animation:market-sun-breathe 8s ease-in-out infinite alternate}.market-sun-core{position:absolute;inset:38%;border-radius:50%;background:radial-gradient(circle,#fff,#fffce8 60%,#ffe7a1);box-shadow:0 0 22px 9px #fff7c780}.market-sunbeam{position:absolute;inset:0;background:conic-gradient(from 112deg at 8% 11%,transparent 0deg,#fff7d226 3deg,transparent 9deg,transparent 18deg,#fff3c422 23deg,transparent 28deg);mask-image:linear-gradient(#000,#0006 55%,#0000)}.market-cloud,.market-sparkles{display:none}
.market-day{position:absolute;top:17px;right:17px;z-index:4;display:flex;align-items:center;gap:5px;border-radius:20px;padding:6px 10px;background:#ffffffbf;font-size:10px;color:#768875}.market-day svg{width:12px;height:12px}.market-progress-pill{position:absolute;left:17px;top:17px;z-index:3;display:flex;align-items:center;gap:8px;background:#fffef3d9;border:1px solid #ffffffe0;box-shadow:0 4px 14px #47654315;padding:8px 17px;border-radius:24px;backdrop-filter:blur(5px)}.market-progress-pill strong{font:500 25px/1 Outfit,sans-serif;color:#5e8166;letter-spacing:-.6px}.market-progress-pill strong>span{font-size:.6em;margin-left:2px}.market-progress-pill small{font-size:10px;color:#8e8c75}
.market-accessible-progress,.market-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;border:0!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap!important}
.market-harvest{position:absolute;left:50%;bottom:calc(12px + var(--reward-space));width:min(370px,88%);margin:0;transform:translateX(-50%);z-index:5;text-align:center;--basket-size:min(340px,80cqw,calc(52cqh - var(--reward-space) * .66))}.market-basket{display:flex;flex-direction:column;align-items:center;min-width:0;position:relative}.market-basket-caption{position:relative;z-index:6;display:flex;flex-direction:column;width:100%;margin-top:-5px;padding:11px 16px 9px;background:linear-gradient(#fffef4f5,#fff8e3ee);border:1px solid #fffbe9;border-radius:22px;box-shadow:0 6px 20px #4e582725}.market-basket-label{display:flex;align-items:center;justify-content:space-between;gap:12px}.market-basket h3{font:500 18px/1.25 Outfit,sans-serif;color:#766449;overflow-wrap:anywhere;margin:0;text-align:left}.market-basket-count{display:flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap;font:400 11px 'DM Sans',sans-serif;color:#a18d6b}.market-basket-count strong{font-size:14px;font-weight:600;color:#7c6952}.market-basket-count svg{width:14px;height:14px;color:#779d57}.market-basket-progress{position:relative;height:9px;border-radius:12px;background:#e8dfcb;box-shadow:inset 0 1px 3px #94793c22;margin:9px 0 8px}.market-basket-progress>span{position:absolute;inset:0;transform-origin:left;transition:transform .85s cubic-bezier(.2,.65,.3,1);border-radius:inherit;background:linear-gradient(90deg,#90d0a4,#b5df75 65%,#f1d86d);box-shadow:inset 0 1px 1px #fff9,0 1px 4px #87ac6033}.market-basket-progress>i{position:absolute;top:2px;width:5px;height:5px;border-radius:50%;background:#fffbd8;box-shadow:0 0 7px #fff4bc;transform:translateX(-5px);transition:left .85s cubic-bezier(.2,.65,.3,1)}
.market-basket-tap{display:block;position:relative;border:0;background:none;padding:0;margin:0;width:85%;width:var(--basket-size);max-width:100%;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:30%;z-index:3}.market-basket-visual{display:block;position:relative;width:100%;aspect-ratio:4/3;filter:drop-shadow(0 13px 10px #4d3b2840);transition:transform .15s ease}.market-basket-tap:active:not(:disabled) .market-basket-visual{transform:translateY(4px) scale(.98)}.market-basket-tap:disabled{cursor:default}.market-basket.is-full .market-basket-visual{filter:drop-shadow(0 8px 11px #bed46e88)}
.market-wicker-back,.market-wicker-front{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.market-wicker-back{z-index:1}.market-wicker-front{z-index:4;clip-path:polygon(0 69%,14% 71%,28% 81%,50% 87%,72% 81%,86% 71%,100% 69%,100% 100%,0 100%)}.market-basket-goods{position:absolute;inset:0;z-index:2;pointer-events:none}.market-basket-goods.is-empty{opacity:.5}.market-produce-piece{position:absolute;left:29%;top:28%;width:42%;height:47%;filter:drop-shadow(0 4px 3px #68452e3a)}.market-produce-piece>.item-art{width:100%;height:100%;object-fit:contain;transform:rotate(-12deg)}.market-produce-piece.piece-1{left:42%;top:35%;transform:rotate(26deg) scale(.84)}.market-produce-piece.piece-2{left:16%;top:38%;transform:rotate(-20deg) scale(.78)}.market-produce-piece.piece-3{left:33%;top:42%;transform:rotate(17deg) scale(.9)}.market-produce-piece.piece-4{left:27%;top:26%;transform:rotate(35deg) scale(.85)}
.market-food-badge{position:absolute;z-index:5;left:50%;bottom:3%;transform:translateX(-50%);display:grid;place-items:center;width:22%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 25%,#fffcef,#ffdf91 80%);border:3px solid #fff0b5;box-shadow:0 3px 2px #87613455,0 5px 10px #6a402955,inset 0 0 0 2px #d8ab5c;pointer-events:none}.market-food-badge:before{content:'';position:absolute;inset:-6px;border:1px dashed #bd995b;border-radius:50%;opacity:.6}.market-food-badge .item-art{width:85%;height:85%;object-fit:contain;filter:drop-shadow(0 2px 1px #9e662a33)}.market-basket.is-pending .market-food-badge{animation:market-badge-wait 1s ease-in-out infinite}.market-basket-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 8px}.market-stock,.market-grow,.market-tap-hint{font-size:10px!important;line-height:1.4;color:#8d8167}.market-tap-hint{color:#6f956b}.market-grow{color:#608962}.market-empty-shelf{display:flex;align-items:center;justify-content:flex-start;gap:4px;min-width:0;max-width:100%;white-space:nowrap;text-align:left;font-size:10px;line-height:1.4;font-weight:400;color:#608962}.market-empty-shelf>span{flex:none}.market-empty-shelf .market-grow{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:inherit;color:inherit}.market-empty-shelf .market-grow:hover{text-decoration:underline}.market-basket-steps{display:flex;align-items:center;justify-content:center;gap:6px;padding-top:7px}.market-basket-steps i{display:block;width:5px;height:5px;background:#d8d6c2;border-radius:50%}.market-basket-steps i.is-current{width:13px;background:#acb886;border-radius:5px}.market-basket-steps i.is-done{background:#70a779}
.market-falling-produce{position:absolute;z-index:3;left:35%;top:23%;width:32%;height:41%;pointer-events:none;animation:market-produce-drop var(--flight-duration,800ms) cubic-bezier(.35,.04,.65,1) both;will-change:transform,opacity}.market-falling-produce .item-art{width:100%;height:100%;object-fit:contain}.is-dropping .market-wicker-front,.is-dropping .market-wicker-back{animation:market-basket-catch .48s ease .58s}.market-catch-sparks{position:absolute;left:50%;top:46%;z-index:6;pointer-events:none}.market-catch-sparks i{position:absolute;width:7px;height:7px;border-radius:2px;background:var(--spark-colour);box-shadow:0 0 4px #fff;opacity:0;animation:market-catch-spark .65s ease-out .65s both}
.market-mystery{position:absolute;bottom:28px;right:27px;z-index:4;width:59px;height:59px;display:grid;place-items:center;border:1px solid #fff4d0;background:linear-gradient(145deg,#fff7dcee,#f7dba0e6);border-radius:20px;box-shadow:0 6px 16px #785c3333;color:#b78a50;transform:rotate(7deg)}.market-mystery>.icon{width:32px;height:32px}.market-mystery i{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff4b2;box-shadow:0 0 9px #fff;top:-5px;left:10px}.market-mystery i:last-child{left:auto;right:-7px;top:28px}
.market-prize{display:flex;align-items:center;gap:13px;min-width:0;padding:18px;background:#fffaf0f0;border:1px solid #fff9df;border-radius:22px;box-shadow:0 5px 20px #56673b22}.market-landscape>.market-prize{position:absolute;z-index:6;right:18px;bottom:18px;top:auto;width:180px;flex-direction:column;justify-content:center;text-align:center;padding:13px}.market-landscape>.market-prize .market-prize-art{width:74px;height:74px}.market-landscape>.market-prize h2{font-size:17px}.market-prize-art .market-pinata-art{width:100%;height:100%;object-fit:contain;animation:market-prize-float 6s ease-in-out infinite}.market-prize-art{width:78px;height:78px;flex:none}.market-prize-art svg{width:100%;height:100%;animation:market-prize-float 6s ease-in-out infinite}.market-prize-copy{min-width:0;flex:1}.market-prize h2{font:500 23px/1.2 Outfit,sans-serif;color:#847047;margin:0}.market-overline{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#9b9a7e}.market-prize-action .button{font-size:12px;padding:11px 17px;background:#76a779;color:white;border:1px solid #e0edd1;border-radius:20px}.market-collected{display:inline-flex;align-items:center;gap:5px;color:#74956c;font-size:12px}.market-collected svg{width:16px;height:16px}
.market-feedback{flex:none;min-width:0;overflow-wrap:anywhere;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 15px;background:#fff8ec;border:1px solid #ebe0c9;border-radius:13px;font-size:12px;line-height:1.5;color:#8a7960}.market-feedback.is-error{color:#a55c4f}.market-feedback .text-link{font-size:12px;flex:none}.market-feedback[hidden]{display:none}.market-info{font-size:13px;line-height:1.7;color:#77836d}.market-info h3{font:500 18px Outfit,sans-serif;color:#677b5d;margin:20px 0 6px}.market-info .market-prize{margin-top:17px}.market-info .market-prize h2{font-size:19px}.market-preview-tools{border-top:1px solid #e4e7d9;padding-top:12px;margin-top:20px}.market-preview-tools .text-link{font-size:12px;margin-right:15px}.market-loading{height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#7b9676;gap:14px}.market-loading h1{font:500 25px Outfit,sans-serif}.market-loading p{font-size:13px}.market-loading svg{width:40px;height:40px}
@keyframes market-sun-turn{to{transform:rotate(360deg)}}@keyframes market-sun-breathe{from{opacity:.6;transform:scale(.95)}to{opacity:.95;transform:scale(1.03)}}@keyframes market-prize-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-4px) rotate(2deg)}}@keyframes market-candy-rock{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg) translateY(-2px)}}
[data-community-market].is-paused *,[data-community-market].is-paused *::before,[data-community-market].is-paused *::after,.market-celebration-preview.is-paused *{animation-play-state:paused!important}[data-community-market].is-paused .market-rainbow-fill,[data-community-market].is-paused .market-rainbow-front{transition:none}
@media(prefers-reduced-motion:reduce){[data-community-market] *,[data-community-market] *::before,[data-community-market] *::after,.market-celebration-preview *{animation:none!important;transition:none!important}.market-confetti,.market-falling-produce,.market-catch-sparks,.market-falling-star{display:none}}

.market-hidden-candy{position:absolute;top:var(--candy-y);left:var(--candy-x);transform:translate(-50%,-50%);padding:0;border:0;background:none;width:clamp(43px,5vw,65px);height:clamp(43px,5vw,65px);cursor:pointer;filter:drop-shadow(0 3px 5px #78609450);z-index:4;touch-action:manipulation}.market-hidden-candy:focus-visible{outline:3px solid #b26bc8;border-radius:14px;outline-offset:3px}.market-hidden-candy svg{width:100%;height:100%;animation:market-candy-rock 4.3s ease-in-out infinite}.market-hidden-candy:nth-of-type(2n) svg{animation-delay:-1.3s}
.market-celebration-preview{text-align:center}.market-preview-label{font-size:11px;color:#b391b5}.market-preview-scene{position:relative;aspect-ratio:1.55;border:3px solid #fff4d5;border-radius:23px;overflow:hidden;margin:14px 0;box-shadow:0 4px 0 #dfcce348}.market-preview-scene>img{height:100%;width:100%;object-fit:cover}.market-preview-prize{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);width:45%;filter:drop-shadow(0 8px 7px #65417940)}.market-preview-prize:before{content:'';position:absolute;inset:-30%;z-index:-1;background:radial-gradient(circle,#fff9dacc 0%,#ffefb440 40%,#fff3bf00 67%);border-radius:50%}.market-preview-prize svg{width:100%;animation:market-prize-float 4s ease-in-out infinite}.market-celebration-preview>p{font-size:13px;line-height:1.7;color:#9c809d}.market-celebration-preview>h3{font-family:Outfit,sans-serif;color:#a367b4}.market-celebration-preview>.button{margin:5px}
.market-confetti{position:fixed;inset:0;z-index:100000;pointer-events:none;overflow:hidden}.market-confetti i{position:absolute;left:var(--x);top:23%;width:10px;height:15px;background:linear-gradient(#ffffff80,transparent 45%),var(--colour);border:1px solid #ffffff60;border-radius:4px;opacity:0;animation:market-sprinkle 1.4s ease-out var(--delay) forwards}.market-confetti i:nth-child(3n){width:15px;height:15px;clip-path:polygon(50% 0,62% 33%,100% 50%,62% 63%,50% 100%,37% 64%,0 50%,37% 33%)}
.market-journey-pass{padding:12px 14px;border:1px solid #d8d0ec;background:#f6f2fc;border-radius:12px;color:#86769e;font-size:11px;line-height:1.7}
@keyframes market-produce-drop{0%{opacity:0;transform:translate(-34px,-102px) rotate(-28deg) scale(.82)}10%{opacity:1}48%{transform:translate(-12px,-65px) rotate(-10deg) scale(1.08)}72%{opacity:1;transform:translate(0,0) rotate(10deg) scale(.95)}84%{opacity:.8;transform:translate(2px,-7px) rotate(15deg) scale(.86)}100%{opacity:0;transform:translate(2px,22px) rotate(19deg) scale(.66)}}
@keyframes market-basket-catch{0%,100%{transform:translateY(0) scale(1)}35%{transform:translateY(3px) scale(1.035,.955)}65%{transform:translateY(-1px) scale(.99,1.018)}}
@keyframes market-food-catch{0%,100%{transform:translateY(0)}38%{transform:translateY(3px) rotate(3deg)}67%{transform:translateY(-3px) rotate(-2deg)}}
@keyframes market-drop-thanks{0%{opacity:0;transform:translateY(4px) scale(.7)}35%{opacity:1;transform:translateY(-7px) scale(1.1)}100%{opacity:0;transform:translateY(-36px) scale(.95)}}
@keyframes market-catch-spark{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:1}100%{opacity:0;transform:translate(var(--spark-x),var(--spark-y)) rotate(110deg) scale(.5)}}
@keyframes market-sprinkle{0%{opacity:0;transform:translateY(-30px) rotate(0) scale(.4)}15%{opacity:1}100%{opacity:0;transform:translateY(62vh) rotate(var(--turn)) scale(.9)}}

.market-star-origin[opacity="0"] .market-falling-star{animation-play-state:paused}

@keyframes market-badge-wait{50%{filter:brightness(1.13)}}
.market-pinata-art{display:block;object-fit:contain;width:100%;height:100%}
.market-pinata-celebration{--loot-blue:#72b4cb;--loot-purple:#bd91d9;text-align:center}.market-pinata-scene{position:relative;height:320px;isolation:isolate;overflow:hidden;border-radius:24px;background:#c4edfb;box-shadow:inset 0 0 0 1px #fff9;margin:8px 0 18px}.market-pinata-meadow{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8}.market-pinata-aura{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,#fffdddcc,transparent 65%)}.market-pinata-hanging{position:absolute;left:50%;top:24px;width:255px;height:255px;transform:translateX(-50%);transform-origin:50% 0;animation:market-pinata-sway 5s ease-in-out infinite}.market-pinata-hanging:before{content:'';position:absolute;left:50%;top:-40px;width:2px;height:75px;background:linear-gradient(90deg,#c1a76c,#fff6d0);z-index:-1}.market-pinata-half{position:absolute;inset:0;filter:drop-shadow(0 8px 7px #7e5a5333)}.pinata-left{clip-path:polygon(0 0,51% 0,47% 24%,54% 43%,47% 58%,53% 76%,50% 100%,0 100%)}.pinata-right{clip-path:polygon(51% 0,100% 0,100% 100%,50% 100%,53% 76%,47% 58%,54% 43%,47% 24%)}.is-open .market-pinata-hanging{animation:none}.is-open:not(.is-opening) .market-pinata-scene{height:145px}.is-open:not(.is-opening) .market-pinata-hanging{width:122px;height:122px;top:10px;opacity:.9}.is-opening .pinata-left{animation:market-pinata-open-left 1.8s cubic-bezier(.22,.61,.4,1) .35s both}.is-opening .pinata-right{animation:market-pinata-open-right 1.8s cubic-bezier(.22,.61,.4,1) .35s both}.is-opening .market-pinata-aura{animation:market-pinata-flash 1.5s ease-out .55s both}.market-loot-drop{position:absolute;width:65px;height:65px;left:calc(50% - 32px);top:105px;filter:drop-shadow(0 0 10px var(--loot-glow));animation:market-pinata-loot 1.8s cubic-bezier(.2,.4,.45,1) var(--loot-delay) both}.market-loot-drop .item-art{width:100%;height:100%;object-fit:contain}.rarity-2{--loot-glow:#8ace9666;--loot-ink:#638b60;--loot-bg:#f0f8e9;--loot-border:#d2e7c5}.rarity-3{--loot-glow:#7db5f088;--loot-ink:#5988b3;--loot-bg:#eff7ff;--loot-border:#cee3f6}.rarity-4{--loot-glow:#c284eaa6;--loot-ink:#9a68b2;--loot-bg:#faf0ff;--loot-border:#e8d2f5}.rarity-5{--loot-glow:#ffd96dcc;--loot-ink:#b58734;--loot-bg:#fff9e7;--loot-border:#f0dfa6}.market-loot-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;align-items:stretch}.market-loot-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:12px 7px 13px;border:1px solid var(--loot-border);border-radius:18px;background:linear-gradient(#fff,var(--loot-bg));color:var(--loot-ink);box-shadow:0 4px 12px #8273650a}.market-loot-card>.item-art{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 4px 6px var(--loot-glow));margin-bottom:7px}.market-loot-card strong{font:500 13px/1.4 Outfit,sans-serif;max-width:100%;overflow-wrap:anywhere}.market-loot-rarity{font-size:9px;letter-spacing:.3px;margin-bottom:5px}.market-loot-quantity{position:absolute;right:8px;top:7px;font-size:10px;opacity:.75}.is-opening .market-loot-card{animation:market-loot-reveal .65s ease var(--reveal-delay) both}.market-loot-note{font-size:12px;color:#89937d;margin:17px 0 3px}.market-preview-prize .market-pinata-art{animation:market-prize-float 5s ease-in-out infinite}
@keyframes market-pinata-sway{0%,100%{transform:translateX(-50%) rotate(-3deg)}50%{transform:translateX(-50%) rotate(3deg)}}
@keyframes market-pinata-open-left{0%{transform:rotate(0)}12%{transform:rotate(-7deg)}23%{transform:rotate(5deg)}36%{transform:translate(-3px,0) rotate(-5deg);opacity:1}100%{transform:translate(-85px,54px) rotate(-34deg);opacity:.15}}
@keyframes market-pinata-open-right{0%{transform:rotate(0)}12%{transform:rotate(-7deg)}23%{transform:rotate(5deg)}36%{transform:translate(3px,0) rotate(5deg);opacity:1}100%{transform:translate(85px,54px) rotate(34deg);opacity:.15}}
@keyframes market-pinata-flash{0%{opacity:.7}20%{opacity:1;background:#fff2bf}100%{opacity:0}}
@keyframes market-pinata-loot{0%{opacity:0;transform:translate(0,-25px) scale(.25)}12%{opacity:1}40%{transform:translate(calc(var(--loot-x) * .65),-34px) rotate(var(--loot-turn)) scale(1)}78%{opacity:1;transform:translate(var(--loot-x),120px) rotate(0) scale(.9)}90%{opacity:.85;transform:translate(var(--loot-x),108px) scale(.94)}100%{opacity:0;transform:translate(var(--loot-x),158px) scale(.8)}}
@keyframes market-loot-reveal{from{opacity:0;transform:translateY(-16px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:520px){.market-pinata-scene{height:260px;border-radius:20px}.market-pinata-hanging{width:208px;height:208px;top:16px}.market-loot-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.market-loot-card{padding:10px 8px}.market-loot-card>.item-art{width:57px;height:57px;margin-bottom:3px}.market-loot-drop{width:49px;height:49px;left:calc(50% - 24px);top:80px}.market-pinata-drops{transform:scale(.78);transform-origin:50% 80px}}
@media(prefers-reduced-motion:reduce){.market-pinata-drops{display:none}.is-opening .pinata-left{transform:translateX(-23px) rotate(-9deg)}.is-opening .pinata-right{transform:translateX(23px) rotate(9deg)}.is-opening .market-pinata-aura{opacity:.5}}

.market-celebration-preview.is-paused .market-loot-card{animation:none!important;opacity:1;transform:none}.market-celebration-preview.is-paused .market-loot-drop{display:none}

/* The stream host is retained across paints; each tap owns one animation. */
.market-drop-stream,.market-donation-flight{position:absolute;inset:0;pointer-events:none;z-index:3}.market-donation-flight .market-falling-produce{left:calc(35% + var(--drop-drift,0px));animation-duration:var(--flight-duration,800ms);animation-delay:var(--flight-offset,0ms)}.market-donation-flight .market-catch-sparks i{animation-duration:.4s;animation-delay:calc(var(--flight-offset,0ms) + 490ms)}

/* The invitation remains usable and consumes space before the scene is sized. */
.page:has(>[data-community-market])>#growth-invite-slot{flex:none;position:relative;top:0}
.page:has(>[data-community-market]) .growth-invite-card{margin:0 0 9px}
.market-restart{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:38px;padding:7px 11px;border:1px solid #d9e5d5;border-radius:20px;background:#f8fbf2;color:#5c805e;font:500 12px 'DM Sans',sans-serif;white-space:nowrap;touch-action:manipulation}
.market-restart svg{width:14px;height:14px}
.market-restart:disabled{opacity:.5;cursor:default}
@container market-panel (max-width:650px){
 .market-heading{gap:6px}.market-heading h1{font-size:21px}.market-heading-actions{width:100%;gap:5px;justify-content:flex-end}
 .market-restart{margin-right:auto}.market-rainbow-controls{margin:0}.market-rainbow-controls>span{display:none}.market-rainbow-controls button{padding:5px 7px}
 .market-tool{width:36px;height:36px;padding:9px}.market-feedback{flex-wrap:wrap;font-size:11px;padding:7px 10px}
}
@container market-scene (max-width:850px){
 .market-harvest{width:min(330px,88cqw)}
 .market-landscape.is-complete .market-harvest{--reward-space:76px}
 .market-landscape>.market-prize{left:50%;right:auto;bottom:9px;transform:translateX(-50%);width:calc(100% - 22px);max-width:410px;min-height:62px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:8px;padding:8px 10px;border-radius:18px;text-align:left}
 .market-landscape>.market-prize .market-prize-art{width:42px;height:42px}.market-landscape>.market-prize h2{font-size:14px}
 .market-landscape>.market-prize .button{font-size:10px;min-height:36px;padding:7px 9px;white-space:normal}.market-collected{font-size:11px;gap:3px}
 .market-progress-pill{top:12px;left:12px;padding:7px 13px}.market-progress-pill strong{font-size:23px}.market-day{top:12px;right:12px;font-size:9px}
 .market-mystery{right:13px;bottom:125px;width:38px;height:38px;border-radius:13px}.market-mystery>.icon{width:23px;height:23px}
 .market-sunshine{width:80px;left:-2%;top:5%}.market-basket h3{font-size:17px}
}
@container market-scene (max-height:400px){
 .market-harvest{bottom:calc(8px + var(--reward-space));--basket-size:min(280px,68cqw,calc(52cqh - var(--reward-space) * .66))}
 .market-basket-caption{padding:8px 12px 7px;border-radius:17px}.market-basket h3{font-size:15px}.market-basket-count strong{font-size:12px}.market-basket-progress{height:7px;margin:6px 0}.market-basket-progress>i{top:1px}
 .market-basket-steps{padding-top:5px}.market-basket-foot{gap:3px 8px}.market-rainbow{top:34px;width:min(88cqw,138cqh)}
 .market-progress-pill{top:8px;left:9px;padding:5px 10px}.market-progress-pill strong{font-size:20px}.market-day{top:9px;right:9px;padding:5px 8px}
 .market-landscape>.market-prize .market-prize-art{width:42px;height:42px}.market-landscape>.market-prize{gap:7px;padding:8px 10px}
 .market-mystery{bottom:auto;top:48px;width:32px;height:32px}.market-sunshine{width:65px}
}
@media(max-width:650px){
 .page:has(>[data-community-market]){height:calc(100svh - 66px);height:calc(100dvh - 66px);padding:9px 9px max(9px,env(safe-area-inset-bottom))}
 .market-surface{gap:8px}.market-landscape{border-radius:22px}.market-hills{object-position:47% 48%}
}
@media(max-height:650px){
 .page:has(>[data-community-market]) .growth-invite-card{padding-block:5px;gap:4px;margin-bottom:6px}
 .page:has(>[data-community-market]) .growth-invite-art{width:38px;flex-basis:38px}
 .page:has(>[data-community-market]) .growth-invite-intro strong{font-size:14px}
 .page:has(>[data-community-market]) .growth-invite-intro strong+span{display:none}
 .page:has(>[data-community-market]) .growth-invite-actions{padding-left:45px}
 .market-surface{gap:6px}.market-heading h1{font-size:19px}
}

/* Give each flight its own layer before its first frame; never reveal the
   unanimated image at a fallback position. The original path/timing is shared. */
.market-drop-stream{isolation:isolate;transform:translateZ(0)}
.market-donation-flight{contain:layout style}
.market-falling-produce{opacity:0;transform:translate(-34px,-102px) rotate(-28deg) scale(.82)}
.market-feedback[hidden]{display:none!important}

/* Keep the status in the corners and the Littlekin heading clear of the arch. */
.page:has(>[data-community-market]){padding-top:0}
.market-landscape{
 --market-art-height:max(100cqh,66.666667cqw);
 --market-art-width:max(100cqw,150cqh);
 --market-horizon:calc(48cqh + var(--market-art-height) * .06);
 --market-heading-floor:124px;
}
.market-sky{z-index:auto;--market-arch-width:min(90cqw,calc((var(--market-horizon) - var(--market-heading-floor)) * 2.9),980px)}
.market-hills{object-position:50% 48%}
.market-hills-foreground{
 position:absolute;z-index:2;pointer-events:none;
 width:var(--market-art-width);height:var(--market-art-height);
 left:calc((100cqw - var(--market-art-width)) * .5);
 top:calc((100cqh - var(--market-art-height)) * .48);
}
.market-rainbow{
 z-index:1;width:var(--market-arch-width);
 top:calc(var(--market-horizon) - var(--market-arch-width) * .3833333333);
 opacity:.88;
}
.market-rainbow-starfield{z-index:3}
.market-sunshine,.market-sunbeam{z-index:1}
.market-scene-heading{
 position:absolute;z-index:6;top:16px;left:110px;right:110px;
 display:flex;flex-direction:column;align-items:center;gap:4px;
 text-align:center;pointer-events:none;color:#fff9e7;
}
.market-heading-emblem{width:72px;height:24px;filter:drop-shadow(0 2px 3px #27738444)}
.market-scene-heading h1{
 position:relative;margin:0;font:700 clamp(32px,4.2cqw,50px)/1.05 Outfit,sans-serif;
 letter-spacing:-1.5px;color:#fff7df;
 text-shadow:0 2px 0 #5a8a78,0 4px 0 #327281,0 7px 18px #27647f55;
}
.market-scene-heading h1:after{
 content:'';position:absolute;width:6px;height:6px;border-radius:50%;
 right:-10px;bottom:5px;background:#ffaf88;box-shadow:0 1px 0 #fff2d9;
}
.market-scene-heading p{
 margin:3px 0 0;font:500 clamp(12px,1.45cqw,15px)/1.4 'DM Sans',sans-serif;
 letter-spacing:.35px;color:#fff9e8;text-shadow:0 1px 4px #205d78bb;
}
.market-landscape:before{content:'';position:absolute;inset:0 0 auto;height:150px;z-index:2;pointer-events:none;background:linear-gradient(180deg,#145b701a,transparent)}
.market-landscape>.market-progress-pill,.market-landscape>.market-day{
 top:16px;min-height:38px;margin:0;box-sizing:border-box;
 background:#fffef0e8;border:1px solid #ffffffe6;box-shadow:0 3px 12px #255d7912;
 border-radius:24px;font-variant-numeric:tabular-nums;
}
.market-landscape>.market-progress-pill{left:16px;padding:7px 13px}
.market-landscape>.market-progress-pill strong{font-size:24px}
.market-landscape>.market-day{right:16px;padding:7px 11px;font-size:11px;color:#597964}
.market-landscape>.market-day svg{width:14px;height:14px}
.market-sunshine{top:13%;left:3%;opacity:.65}
button.market-mystery{padding:0;cursor:pointer;touch-action:manipulation}
.market-prize-info{padding:0;border:0;background:none;border-radius:12px;cursor:pointer;touch-action:manipulation}
@container market-scene (max-width:650px){
 .market-scene-heading{top:48px;left:14px;right:14px;gap:3px}
 .market-heading-emblem{width:60px;height:20px}
 .market-scene-heading h1{font-size:clamp(30px,9.4cqw,40px);letter-spacing:-1.2px}
 .market-scene-heading p{font-size:12px;margin-top:3px}
 .market-landscape>.market-progress-pill,.market-landscape>.market-day{top:11px;min-height:32px}
 .market-landscape>.market-progress-pill{left:11px;padding:5px 11px}
 .market-landscape>.market-progress-pill strong{font-size:21px}
 .market-landscape>.market-day{right:11px;font-size:10px;padding:5px 9px}
 .market-landscape>.market-day svg{width:12px;height:12px}
 .market-sunshine{left:0;top:20%}
}
@container market-scene (max-height:400px){
 .market-sky{--market-heading-floor:90px}
 .market-scene-heading{top:10px;gap:2px}
 .market-heading-emblem{display:none}
 .market-scene-heading h1{font-size:28px;letter-spacing:-.8px}
 .market-scene-heading p{font-size:11px;margin-top:2px}
 .market-landscape>.market-progress-pill,.market-landscape>.market-day{top:9px;min-height:30px}
 .market-landscape>.market-progress-pill{left:10px;padding:5px 10px}
 .market-landscape>.market-progress-pill strong{font-size:20px}
 .market-landscape>.market-day{right:10px;font-size:10px;padding:5px 9px}
 .market-harvest{--basket-size:min(280px,68cqw,calc(44cqh - var(--reward-space) * .66))}
 .market-mystery{top:108px}
}
@container market-scene (max-height:400px) and (max-width:650px){
 .market-scene-heading{top:45px}
 .market-sky{--market-heading-floor:103px}
}
