.harvest-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;margin:0;border:0;border-radius:0;background:#eadcc3;color:#4e5146;overflow:hidden;box-shadow:none;animation:harvest-enter .5s ease both;font-family:inherit}
.harvest-dialog[open]{animation:harvest-enter .5s ease both}.harvest-dialog::backdrop{background:#183f42b8;backdrop-filter:blur(8px)}
.harvest-dialog *{box-sizing:border-box}.harvest-dialog [hidden]{display:none!important}
.harvest-shell{height:100%;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 24% 40%,#fff4d8a3,transparent 65%),linear-gradient(150deg,#e3d7bb,#f1e5ce 50%,#dcccab)}
.harvest-header{flex:none;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:30px 4.2vw 20px;position:relative;z-index:10;background:linear-gradient(#f9f1deed,#f9f1de00)}
.harvest-heading{min-width:0}.harvest-eyebrow{font-size:10px;letter-spacing:3px;margin:0 0 10px;color:#829181}.harvest-heading h2{font-family:"Songti SC","STSong",SimSun,serif;font-size:clamp(25px,2.5vw,39px);font-weight:400;letter-spacing:3px;margin:0;line-height:1.4}.harvest-subtitle{font-size:12px;color:#8a826b;margin:9px 0 0;letter-spacing:1px}
.harvest-close{height:44px;width:44px;flex:none;border:1px solid #81785d2d;border-radius:50%;background:#fffaf08c;display:grid;place-items:center;color:#7a806e;cursor:pointer}.harvest-close:hover{background:#fffdf5}.harvest-close svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.3}
.harvest-field{flex:1;min-height:0;width:min(1250px,100%);margin:0 auto;position:relative;isolation:isolate;clip-path:inset(0 -20vw 0);--wetness:1}
.harvest-ground{position:absolute;inset:-15px -18vw -30px;background:radial-gradient(ellipse at 50% 48%,#fff5dc96,transparent 68%),repeating-radial-gradient(ellipse at -20% 10%,transparent 0 34px,#a9926010 35px 36px,transparent 39px 85px),linear-gradient(165deg,#cebea068,#f3e6cb00 50%);pointer-events:none}
.harvest-sand-grain{position:absolute;inset:0;opacity:.23;background-image:radial-gradient(#8d785b 0.65px,transparent .9px),radial-gradient(#fff8e6 1px,transparent 1.3px),radial-gradient(#a18c69 .6px,transparent .9px);background-size:17px 19px,29px 31px,43px 47px;background-position:0 0,13px 17px,8px 2px;pointer-events:none;mask-image:linear-gradient(transparent,#000 10%,#000 90%,transparent)}
.harvest-tide-mark{position:absolute;inset:-2px -18vw 0;background:linear-gradient(180deg,#6d96985e,#9eaa8b17 45%,transparent 75%);opacity:calc(var(--wetness) * .8);pointer-events:none;transition:opacity .3s linear}
.harvest-items{position:absolute;inset:0;z-index:2}.harvest-pick{position:absolute;padding:0;border:0;border-radius:50%;background:transparent;transform:translate(-50%,-50%) rotate(var(--turn));opacity:0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:filter .25s ease;isolation:isolate;appearance:none;box-shadow:none}
.harvest-pick.is-revealed{opacity:1}.harvest-pick:disabled{pointer-events:none;opacity:0}.harvest-pick::before{content:"";position:absolute;inset:13%;border-radius:50%;background:#7c684334;filter:blur(10px);transform:translateY(12%);opacity:.7;z-index:-1}.harvest-specimen{position:absolute;inset:0;background-image:url('./assets/shells.png');background-size:400% 400%;background-repeat:no-repeat;filter:drop-shadow(1px 3px 1px #795f2926);transition:filter .25s ease;pointer-events:none}
.harvest-pick:hover,.harvest-pick.is-picked{z-index:5;filter:drop-shadow(0 0 12px #fff9e6b0)}.harvest-pick:focus-visible{outline:2px solid #7a9a89;outline-offset:1px;z-index:6}.harvest-pick:hover .harvest-specimen,.harvest-pick.is-picked .harvest-specimen{filter:drop-shadow(1px 5px 3px #795f2940)}
.harvest-item-label{position:absolute;bottom:-11px;left:50%;transform:translateX(-50%) rotate(calc(var(--turn) * -1));width:max-content;max-width:150px;white-space:nowrap;padding:6px 10px;background:#fffdf1f5;box-shadow:0 4px 13px #826f3c19;border:1px solid #fffdf6;border-radius:20px;color:#6e725d;font-family:inherit;font-size:10px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:8}.harvest-pick:hover .harvest-item-label,.harvest-pick:focus-visible .harvest-item-label,.harvest-pick.is-picked .harvest-item-label{opacity:1}.harvest-new-dot{position:absolute;right:8%;top:8%;width:5px;height:5px;border-radius:50%;background:#a7aa6e;box-shadow:0 0 0 3px #ffffe78c;pointer-events:none}
.harvest-water{position:absolute;top:-15%;left:-18%;width:136%;height:128%;z-index:4;background:radial-gradient(ellipse at 64% 20%,#aedbc783,transparent 50%),linear-gradient(180deg,#548d90,#87b8b3 44%,#a9ccbf 77%,#bdd9c9);will-change:transform;pointer-events:none;box-shadow:0 -20px 50px #669d90a0;transform:translate3d(0,0,0)}
.harvest-caustics{position:absolute;inset:0;opacity:.4;background-image:repeating-radial-gradient(ellipse at 24% 50%,transparent 0 30px,#ebfce9a0 32px,transparent 35px 75px),repeating-radial-gradient(ellipse at 73% 30%,transparent 0 56px,#ebfce94f 58px,transparent 62px 105px);background-size:480px 160px,780px 220px;animation:harvest-water-glint 7s ease-in-out infinite;mask-image:linear-gradient(transparent 10%,#000 60%)}
.harvest-wave-edge{position:absolute;bottom:-100px;left:0;width:100%;height:130px;overflow:visible;animation:harvest-wave-sway 4s ease-in-out infinite}.harvest-surf-shadow{fill:#b6c3a447}.harvest-surf-deep{fill:#bdd9c9}.harvest-surf-foam{fill:none;stroke:#f7fff0ee;stroke-width:14;filter:drop-shadow(0 5px 4px #f8fffba3)}.harvest-surf-thread{fill:none;stroke:#faffed8f;stroke-width:2;stroke-dasharray:3 7 18 4 6 11}
.harvest-meadow-light,.harvest-wind{display:none}.harvest-wind{position:absolute;inset:-20% -25%;z-index:4;pointer-events:none;background:linear-gradient(90deg,transparent 15%,#fbffda35 45%,#ffffe4a3 58%,#fffbd92e 70%,transparent 80%);will-change:transform;transform:translate3d(-115%,0,0)}.harvest-wind svg{position:absolute;inset:0 15%;width:70%;height:100%;fill:none;stroke:#ffffe9c4;stroke-width:1.3;filter:drop-shadow(0 0 7px #fffeda);opacity:.65}.harvest-wind svg path:nth-child(2){stroke-width:3;opacity:.4}.harvest-wind i{position:absolute;left:55%;top:20%;width:11px;height:5px;border-radius:80% 0 80% 0;background:#f8ecc2;transform:rotate(35deg);box-shadow:0 0 8px #fffad0}.harvest-wind i:nth-of-type(2){left:40%;top:43%;background:#e5d1c7;transform:rotate(-20deg);width:9px}.harvest-wind i:nth-of-type(3){left:60%;top:64%;background:#dee3a4;transform:rotate(65deg)}.harvest-wind i:nth-of-type(4){left:48%;top:80%;background:#f8f2dd;transform:rotate(-60deg)}.harvest-wind i:nth-of-type(5){left:34%;top:12%;background:#e5d4e5;transform:rotate(10deg);width:7px}
.harvest-footer{flex:none;position:relative;z-index:8;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;padding:23px 4.2vw 24px;background:linear-gradient(transparent,#f8efdcaa 20%,#f8efdcf5);min-height:127px}.harvest-summary{display:flex;align-items:center;gap:22px}.harvest-tally{white-space:nowrap}.harvest-tally strong{font-family:Georgia,serif;font-size:40px;font-weight:400;letter-spacing:-2px;font-variant-numeric:tabular-nums;color:#627665}.harvest-tally span{font-size:11px;letter-spacing:1px;color:#8a8a72}.harvest-status{font-size:11px;color:#8b8b73;letter-spacing:.4px;margin:0;line-height:1.8}.harvest-skip,.harvest-done{min-height:48px;padding:13px 23px;border-radius:28px;font:inherit;font-size:12px;letter-spacing:1px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:20px}.harvest-skip{background:#fffaf17d;border:1px solid #918f7040;color:#737d68}.harvest-skip:hover{background:#fffdf3}.harvest-done{min-width:210px;background:#70886e;color:#fffef0;border:1px solid #6b8269;box-shadow:0 5px 20px #5e704224}.harvest-done:hover{background:#5c785e}.harvest-done svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}.harvest-note{flex-basis:100%;margin:0;text-align:right;color:#9a947d;font-size:9px;line-height:1.8;letter-spacing:.3px}.harvest-empty{position:absolute;top:50%;left:0;right:0;text-align:center;color:#96977d;font-size:14px;letter-spacing:2px}
.harvest-dialog[data-scene=meadow]{background:#e5e7d0}.harvest-dialog[data-scene=meadow] .harvest-shell{background:radial-gradient(ellipse at 35% 45%,#fffde2d1,transparent 65%),linear-gradient(135deg,#d9dfbc,#efecd5 55%,#cbd7b0)}.harvest-dialog[data-scene=meadow] .harvest-header{background:linear-gradient(#f2f3dcdd,#f2f3dc00)}.harvest-dialog[data-scene=meadow] .harvest-ground{background:radial-gradient(ellipse at 50% 50%,#fffce4bb,transparent 70%),repeating-radial-gradient(ellipse at 80% -120%,transparent 0 25px,#a1ae6e13 26px 28px,transparent 30px 50px)}.harvest-dialog[data-scene=meadow] .harvest-sand-grain{opacity:.13}.harvest-dialog[data-scene=meadow] .harvest-meadow-light{display:block;position:absolute;inset:-15% -18vw;background:repeating-linear-gradient(120deg,transparent 0 12%,#ffffe046 17%,transparent 25%);mask-image:linear-gradient(#000,transparent 85%);pointer-events:none}.harvest-dialog[data-scene=meadow] .harvest-tide-mark,.harvest-dialog[data-scene=meadow] .harvest-water{display:none}.harvest-dialog[data-scene=meadow] .harvest-wind{display:block}.harvest-dialog[data-scene=meadow] .harvest-specimen{background-image:url('./assets/flowers.png');filter:drop-shadow(1px 3px 1px #69743822)}.harvest-dialog[data-scene=meadow] .harvest-pick::before{background:#65792f21;inset:20%}.harvest-dialog[data-scene=meadow] .harvest-footer{background:linear-gradient(transparent,#eff0d9aa 20%,#eff0d9f5)}
@keyframes harvest-enter{from{opacity:0}to{opacity:1}}@keyframes harvest-water-glint{0%,100%{transform:translateX(-1%) scale(1.03);opacity:.3}50%{transform:translateX(2%) scale(1.08);opacity:.45}}@keyframes harvest-wave-sway{0%,100%{transform:translateY(0) scaleX(1.03)}50%{transform:translateY(8px) scaleX(1.08)}}
@media(max-width:600px){.harvest-header{padding:22px 22px 12px;gap:10px}.harvest-heading h2{font-size:25px;letter-spacing:1px}.harvest-eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:8px}.harvest-subtitle{font-size:10px;margin-top:7px}.harvest-close{width:40px;height:40px}.harvest-footer{padding:14px 22px max(19px,env(safe-area-inset-bottom));gap:10px;min-height:144px}.harvest-summary{flex:1;gap:12px}.harvest-tally strong{font-size:31px}.harvest-tally span{font-size:9px;letter-spacing:0}.harvest-status{font-size:9px;max-width:130px}.harvest-skip,.harvest-done{font-size:11px;padding:12px 17px;gap:9px;min-width:0;min-height:46px}.harvest-note{text-align:center;font-size:8px}.harvest-item-label{font-size:9px;padding:5px 8px;bottom:-7px}.harvest-pick::before{filter:blur(5px)}.harvest-new-dot{width:4px;height:4px;box-shadow:0 0 0 2px #ffffe78c}.harvest-wave-edge{height:85px;bottom:-65px}.harvest-many .harvest-header{padding-bottom:8px}.harvest-many .harvest-footer{min-height:118px}}
@media(max-height:600px){.harvest-header{padding-top:12px;padding-bottom:8px}.harvest-eyebrow{margin-bottom:5px}.harvest-heading h2{font-size:23px}.harvest-subtitle{margin-top:3px}.harvest-footer{padding-top:10px;padding-bottom:12px;min-height:88px}.harvest-tally strong{font-size:27px}.harvest-note{font-size:8px}.harvest-skip,.harvest-done{min-height:42px}.harvest-status{font-size:10px}}
@media(prefers-reduced-motion:reduce){.harvest-dialog,.harvest-dialog *{animation:none!important;transition:none!important}.harvest-water{transform:translate3d(0,-100%,0)!important}.harvest-wind{display:none!important}}
.reduced-motion .harvest-dialog,.reduced-motion .harvest-dialog *{animation:none!important;transition:none!important}.reduced-motion .harvest-water{transform:translate3d(0,-100%,0)!important}.reduced-motion .harvest-wind{display:none!important}
