/* Garden growth, collection book and compact touch controls. */
.garden-detail-dialog{box-sizing:border-box;width:min(760px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;padding:38px 28px 28px;color:#184b56;border:2px solid #f6ffdf;border-radius:28px;background:radial-gradient(ellipse at 10% 0,#f4ffe2,transparent 60%),linear-gradient(140deg,#d9f5ed,#a4d8dd);box-shadow:0 22px 80px #001e36aa;font-family:Swissra,Tahoma,sans-serif;text-align:center}.garden-detail-dialog::backdrop{background:#06282ccc;backdrop-filter:blur(3px)}.garden-detail-dialog h2{font-size:28px;margin:12px 0}.garden-detail-dialog p{font-size:14px;line-height:1.8}.garden-detail-dialog button{font:inherit;cursor:pointer}.detail-close{position:absolute;left:12px;top:12px;width:44px;height:44px;border:1px solid #80b8bb;border-radius:15px;background:#ffffff80;color:#245761;font-size:28px!important}.detail-kicker{font-size:12px;letter-spacing:.5px;color:#417b77}.detail-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}.detail-stages figure{min-width:0;margin:0;padding:12px 8px;border:1px solid #edfff9;border-radius:20px;background:linear-gradient(#f0fff77a,#c1eee252)}.detail-stages figure.current-stage{outline:2px solid #d7ae4b;background:#fff5c370}.detail-stages img{width:100%;height:190px;object-fit:contain;filter:drop-shadow(0 7px 7px #23695222)}.detail-stages figcaption{font-size:13px;margin-top:10px}.detail-facts{padding:10px 12px;color:#316974;border-radius:12px;background:#f5fff64d;font-size:14px}.detail-build,.collection-page>button{min-height:46px;padding:10px 22px;margin-top:16px;border:1px solid #5f9b90;border-radius:14px;background:linear-gradient(#287b71,#175650);color:#f5ffe3;font-weight:bold}.garden-detail-dialog button:disabled{opacity:.5;cursor:default}.garden-detail-dialog :focus-visible,.mobile-tools-toggle:focus-visible,.placement-option:focus-within{outline:3px solid #e5be52;outline-offset:3px}.detail-stages:has(figure:only-child){grid-template-columns:minmax(100px,240px);justify-content:center}
.collection-book{width:min(1040px,calc(100vw - 28px))}.collection-pages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.collection-page{padding:18px 12px;background:#f3fff980;border:1px solid white;border-radius:20px}.collection-page h3{margin:4px;font-size:19px}.collection-page p{font-size:12px}.collection-page progress,.garden-guide progress{width:100%;height:8px;accent-color:#269e8c;border:0;border-radius:8px;overflow:hidden}.collection-page progress::-webkit-progress-bar,.garden-guide progress::-webkit-progress-bar{background:#d3e3dc}.collection-page progress::-webkit-progress-value,.garden-guide progress::-webkit-progress-value{background:#269e8c}.collection-miniatures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:18px 0}.collection-miniatures img{width:100%;height:55px;object-fit:contain}.collection-miniatures .uncollected{filter:grayscale(1);opacity:.3}.collection-reward{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;border-radius:12px;background:#e3efc891}.collection-reward img{width:58px;height:80px;object-fit:contain}.collection-reward span{font-size:12px}.collection-page>button{width:100%;font-size:12px}.collection-ready{filter:drop-shadow(0 0 7px #fffca0)}#open-collections>span{position:absolute;bottom:-5px;font-size:10px;background:#194956d9;border-radius:7px;padding:3px 5px;white-space:nowrap}.world-item.collection-decoration>img{filter:hue-rotate(var(--reward-hue)) drop-shadow(0 0 4px #e9ffc5)}
.placement-option{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;color:#f2ffe7;font:14px Swissra,Tahoma,sans-serif;cursor:pointer;white-space:nowrap}.placement-option input{width:19px;height:19px;accent-color:#79d7bf}.placement-option[hidden]{display:none}.placement-bar{flex-wrap:wrap;max-width:calc(100vw - 24px)}#decoration-preview{position:absolute;inset:0;width:7400px;height:2400px;pointer-events:none;z-index:1999;overflow:visible}#decoration-preview .valid{stroke:#e0ff95;fill:#c8ff8d55;stroke-width:2}#decoration-preview .invalid{stroke:#ff8080;fill:#e9323255;stroke-width:2}#decoration-preview polyline{stroke-width:6!important;fill:none!important;stroke-linecap:round}.selected-actions{flex-wrap:wrap}.selected-actions button{min-height:44px}
.garden-guide{position:fixed;top:145px;left:90px;z-index:29;width:240px;box-sizing:border-box;padding:18px 18px 14px;background:linear-gradient(135deg,#edffedee,#c4eeeaeF);color:#225c60;border:1px solid #ffffdd;border-radius:20px;box-shadow:0 8px 30px #103a3840;text-align:right;font-family:Swissra,Tahoma,sans-serif}.garden-guide[hidden]{display:none}.garden-guide strong,.garden-guide small{display:block}.garden-guide small{font-size:11px;color:#619284;margin-bottom:7px}.garden-guide strong{font-size:17px}.garden-guide p{font-size:13px;line-height:1.8;margin:10px 0}.guide-skip{position:absolute;left:6px;top:2px;width:44px;height:44px;font-size:22px;border:0;background:none;color:#39716a}.guide-action{min-height:44px;width:100%;margin-top:10px;border:1px solid #569b8c;background:#226e66;color:#f8ffe5;border-radius:12px;font:13px Swissra,Tahoma}.guide-action[hidden]{display:none}.mobile-tools-toggle{display:none}
.garden-ambient{position:absolute;inset:0;z-index:1900;pointer-events:none}.garden-butterfly,.fountain-ripple{position:absolute;pointer-events:none}.garden-butterfly{display:flex;gap:1px;animation:butterfly-flight 12s ease-in-out infinite;animation-delay:var(--delay);filter:hue-rotate(var(--tint)) drop-shadow(0 0 2px #ffffd4)}.garden-butterfly i{width:7px;height:10px;background:#fff0a8;border-radius:75% 25% 65% 35%;transform-origin:100% 50%;animation:butterfly-wing .5s ease-in-out infinite alternate}.garden-butterfly i+i{transform-origin:0 50%;border-radius:25% 75% 35% 65%}.fountain-ripple{width:28px;height:10px;border:1px solid #d9ffffaa;border-radius:50%;animation:fountain-ring 4s ease-out infinite;animation-delay:var(--delay)}.flower-sway:not(.constructing)>img{transform-origin:50% 85%;animation:flower-breeze 7s ease-in-out infinite alternate}.completion-bloom,.completion-label{position:absolute;z-index:2100;pointer-events:none;line-height:1;transform:translate(-50%,-50%);color:#fffac0}.completion-bloom span{display:block;font-size:24px;animation:completion-star 1.5s ease-out both;filter:drop-shadow(0 0 7px #fff)}.completion-bloom::before{content:'';position:absolute;left:50%;top:50%;width:55px;height:30px;border:2px solid #e9ffa0;border-radius:50%;animation:completion-ring 1.4s ease-out both}.completion-bloom i{position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:50%;background:#fff6bd;box-shadow:0 0 5px #fff;--angle:0deg;animation:completion-spark 1.4s ease-out both}.completion-bloom i:nth-of-type(2){--angle:60deg}.completion-bloom i:nth-of-type(3){--angle:120deg}.completion-bloom i:nth-of-type(4){--angle:180deg}.completion-bloom i:nth-of-type(5){--angle:240deg}.completion-bloom i:nth-of-type(6){--angle:300deg}.completion-label{font-size:16px;padding:5px 9px;border-radius:12px;background:#205d4f}
@keyframes butterfly-flight{0%,100%{transform:translate(-12px,-45px)}33%{transform:translate(28px,-70px)}66%{transform:translate(-25px,-85px)}}@keyframes butterfly-wing{to{transform:scaleX(.25)}}@keyframes fountain-ring{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}20%{opacity:.7}100%{opacity:0;transform:translate(-50%,-50%) scale(1.7)}}@keyframes flower-breeze{from{transform:rotate(-.6deg)}to{transform:rotate(.6deg)}}@keyframes completion-star{0%{opacity:0;transform:scale(.2)}25%{opacity:1;transform:scale(1.4)}100%{opacity:0;transform:translateY(-55px) scale(.6)}}@keyframes completion-ring{from{opacity:1;transform:translate(-50%,-50%) scale(.4)}to{opacity:0;transform:translate(-50%,-50%) scale(2.4)}}@keyframes completion-spark{from{opacity:1;transform:rotate(var(--angle)) translateX(8px)}to{opacity:0;transform:rotate(var(--angle)) translateX(65px)}}
.community-dialog .inbox-message{position:relative;padding:20px;border:1px solid #fff;background:linear-gradient(130deg,#f2fff2,#ceeeeb);border-radius:20px;margin:14px 0;box-shadow:0 3px 12px #20473b0a}.inbox-message h3{margin:4px 58px 10px 0;font-size:19px;min-height:40px}.inbox-message>.message-art{position:absolute;top:17px;right:15px;width:48px;height:48px;object-fit:contain}.inbox-message small{color:#5e8c8c;font-size:11px}.inbox-message p{line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.community-dialog .inbox-message.gift-message{background:linear-gradient(140deg,#fff7d9,#daeee5)}.inbox-message .gift-amounts{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.gift-amounts span{display:flex;gap:7px;align-items:center;border:1px solid #e7cd884d;border-radius:12px;background:#fff9;padding:8px 14px;color:#386256;font-size:14px}.gift-amounts img{width:24px;height:26px;object-fit:contain}.inbox-message button{min-height:44px;border-radius:12px!important}.gift-reveal{position:fixed;z-index:5;top:50%;left:50%;transform:translate(-50%,-50%);box-sizing:border-box;width:min(300px,calc(100vw - 42px));padding:28px;text-align:center;pointer-events:none;border-radius:28px;border:2px solid #fff4b4;background:radial-gradient(ellipse at top,#fffbd4,#b8e4d7);box-shadow:0 0 0 100vmax #082d3566,0 10px 70px #fff6b755;animation:gift-unfold .45s ease-out}.gift-reveal img{display:block;width:80px;height:90px;object-fit:contain;margin:0 auto 15px;filter:drop-shadow(0 0 10px #fff)}.gift-reveal strong{display:block;font-size:23px;color:#205f53}.gift-reveal p{font-size:16px;color:#4b7162}.gift-reveal small{font-size:12px;color:#598276}@keyframes gift-unfold{from{opacity:0;transform:translate(-50%,-50%) scale(.75) rotate(-5deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
body[data-effects=off] .garden-ambient,.reduced-motion .garden-ambient{display:none}body[data-effects=off] .flower-sway>img,.reduced-motion .flower-sway>img{animation:none}.reduced-motion .gift-reveal{animation:none}.photo-mode :is(.garden-guide,.mobile-tools-toggle){display:none!important}
@media(max-width:700px),(max-height:550px){.garden-detail-dialog{padding:48px 16px 20px;border-radius:22px}.garden-detail-dialog h2{font-size:23px}.detail-stages{gap:7px;margin:15px 0}.detail-stages figure{padding:8px 4px;border-radius:14px}.detail-stages img{height:clamp(95px,26vw,155px)}.detail-stages figcaption{font-size:11px}.detail-facts{font-size:12px}.collection-pages{grid-template-columns:1fr}.collection-miniatures{grid-template-columns:repeat(6,minmax(0,1fr))}.collection-page{padding:15px}.collection-reward img{height:60px}.mobile-tools-toggle{position:fixed;display:flex;align-items:center;justify-content:center;gap:6px;right:calc(env(safe-area-inset-right,0px) + 10px);top:calc(env(safe-area-inset-top,0px) + 159px);z-index:30;min-width:44px;min-height:44px;border:1px solid #c1ebd4;border-radius:14px;background:#1d5658ed;color:#fff8d7;font:13px Swissra,Tahoma}.toolbar{top:calc(env(safe-area-inset-top,0px) + 211px);gap:6px}.mobile-tools-collapsed .toolbar .tool:not(#open-shop),.mobile-tools-collapsed .camera-controls{display:none}.toolbar #open-collections>span{font-size:8px;bottom:0}.mobile-tools-toggle[aria-expanded=true] span{display:none}.placing .mobile-tools-toggle,.shop-open .mobile-tools-toggle{display:none}.selected-panel{padding:12px 14px;max-width:calc(100vw - 24px);border-radius:19px}.selected-panel .selected-image{width:76px;height:92px}.selected-panel .selected-heading h2{font-size:19px}.selected-panel .selected-heading .icon-button{width:44px;height:44px;min-width:44px}.selected-panel .item-description{font-size:12px;line-height:1.6;margin:5px 0}.selected-panel .selected-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.selected-panel .selected-actions:has(#rotate-selected){grid-template-columns:repeat(2,minmax(0,1fr))}.selected-panel .selected-actions button{padding:6px;font-size:12px;gap:4px;min-width:0;min-height:44px}.selected-actions img{width:22px;height:24px}.placement-bar{padding:10px 12px;gap:5px 12px}.placement-bar strong{font-size:17px}.placement-option{font-size:12px;flex:1}.garden-guide{top:calc(env(safe-area-inset-top,0px) + 161px);left:65px;width:calc(100vw - 145px);max-width:280px;padding:12px 14px}.garden-guide strong{font-size:14px;padding-left:20px}.garden-guide p{font-size:12px}.garden-guide small{display:none}.inbox-message h3{font-size:17px}.community-dialog .inbox-message{padding:16px}}
@media(max-height:550px){.mobile-tools-toggle{top:calc(env(safe-area-inset-top,0px) + 65px)}.toolbar{top:calc(env(safe-area-inset-top,0px) + 116px);flex-direction:row;max-width:240px;flex-wrap:wrap;justify-content:flex-end}.garden-guide{top:85px;left:75px;width:240px}.detail-stages img{height:95px}.detail-stages{margin:10px 0}.garden-detail-dialog h2{margin:4px}.selected-panel{max-width:calc(100vw - 160px)}}
@media(prefers-reduced-motion:reduce){.garden-ambient{display:none}.flower-sway>img,.gift-reveal,.completion-bloom,.completion-bloom *,.completion-bloom::before{animation:none!important}}
#open-collections>span{width:auto!important;height:auto!important;clip:auto!important;overflow:visible!important}
.crystal-sparkle:not(.constructing)::before{content:'✧';position:absolute;left:30%;top:25%;font-size:12px;line-height:1;color:#eeffef;pointer-events:none;text-shadow:0 0 4px #b8ffff;animation:crystal-glint 6s ease-in-out infinite;animation-delay:inherit}
@keyframes crystal-glint{0%,70%,100%{opacity:0;transform:scale(.4)}82%{opacity:.8;transform:scale(1)}}
body[data-effects=off] .crystal-sparkle::before,.reduced-motion .crystal-sparkle::before{display:none}
@media(prefers-reduced-motion:reduce){.crystal-sparkle::before{display:none}}
@media(min-width:701px) and (min-height:551px) and (max-height:800px){.toolbar{gap:12px}.toolbar .tool:not(#open-shop){width:64px;height:64px}}
