@font-face{font-family:Itim;src:url(/fonts/itim-regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Mali;src:url(/fonts/mali-regular.ttf)format("truetype");font-weight:400;font-display:swap}:root{--paper:#fff;--ink:#302e28;--green:#438a46;--pink:#dd7068}*{box-sizing:border-box}html,body{color:var(--ink);background:#fff;margin:0}body{font-family:Mali,Thonburi,sans-serif}button,a,summary{font:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #be602b}button:active,a:active{transform:translateY(1px)}p{margin:0}svg{display:block}.delivery-app{min-height:100svh;padding:max(16px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));justify-content:center;align-items:center;display:flex}.delivery-page{width:100%;max-width:440px}.screen{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex;position:relative}.scene,.screen-content{width:100%;min-width:0}.screen-content{flex-direction:column;align-items:center;gap:12px;display:flex}.farm-brand{text-align:left;width:180px;margin:0 auto 10px;font-family:Itim,Thonburi,sans-serif;position:relative;transform:rotate(-5deg)}.brand-copy{line-height:.95;display:grid}.brand-copy span{font-size:46px}.brand-copy strong{color:#ed854e;font-size:58px;font-weight:400}.brand-leaf{width:38px;height:46px;position:absolute;top:0;right:0}.intro-copy{font-size:18px;line-height:1.55}.farm-illustration{width:var(--art-width);aspect-ratio:1;background-image:url(/assets/farm-crayon-v2.png);background-repeat:no-repeat;background-size:300% 200%;flex-shrink:0;max-width:100%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000),linear-gradient(#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000),linear-gradient(#0000,#000 10% 90%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.mascot-stage,.result-art{justify-content:center;display:flex}.hero-cat{width:min(100%,clamp(150px,29svh,290px))}.result-cat{width:min(100%,clamp(140px,28svh,280px))}.permission-cat{width:min(100%,clamp(140px,26svh,250px));margin:auto}.waiting-cat{width:clamp(100px,20svh,170px)}.check-heading,.state-heading{margin:0;font-size:27px;font-weight:400;line-height:1.4}.check-heading span{font-size:22px;display:block}.result-heading{font-size:25px}.result-heading strong{color:var(--green);font-size:42px;font-weight:400;display:block}.pink{color:var(--pink)}.location-button,.messenger-button{color:#fff;background:#4e984d;border:2px solid #438a46;border-radius:22px 18px 23px 19px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:60px;padding:12px 16px;font-size:22px;line-height:1.4;text-decoration:none;display:flex}.location-button:hover{background:#3d7d3d}.location-button svg{fill:#fff;stroke:#438a46;stroke-width:1.2px;flex-shrink:0;width:27px;height:33px}.location-button circle{fill:#4e984d}.friendly-note{font-size:16px;line-height:1.5}.back-button{z-index:1;min-width:44px;min-height:44px;color:var(--ink);background:#fff;border:1px solid #e6e7df;border-radius:50%;font-size:28px;position:absolute;top:0;left:0}.permission-copy{font-size:18px;line-height:1.6}.permission-card{background:#f7faf5;border:1px solid #dbe5d8;border-radius:22px;width:100%;padding:16px}.permission-card>p:first-child{margin-bottom:14px;font-size:19px;line-height:1.5}.permission-actions{gap:8px;display:flex}.permission-actions .location-button{flex:1.6;min-height:52px;padding:10px 6px;font-size:16px}.cancel-button{min-height:44px;color:var(--ink);background:#fff;border:1px solid #d4dacd;border-radius:18px;flex:1;font-size:16px}.permission-hint{margin-top:12px;font-size:13px}.privacy-note{color:#635f55;font-size:12px;line-height:1.7}.waiting-copy{font-size:20px;line-height:1.5}.distance-copy{font-size:18px;line-height:1.6}.distance-copy strong{color:#327d3e;white-space:nowrap;font-size:23px;font-weight:400}.distance-copy.outside strong{color:#cf564e}.distance-copy small{font-size:15px;display:block}.messenger-button{background:#1879ec;border-color:#1879ec;font-size:21px}.messenger-button:hover{background:#1167cd}.messenger-button small{font-size:17px;display:block}.messenger-button b{font-size:32px;font-weight:400}.messenger-mark,.messenger-mark svg{fill:#fff;flex-shrink:0;width:38px}.messenger-bolt{fill:#1879ec}.messenger-button--disabled{opacity:.55}.retry-link{color:#635f55;text-underline-offset:4px;background:0 0;border:0;min-height:44px;font-size:14px;text-decoration:underline}.pickup-card{text-align:left;background:#f7faf5;border:1px solid #e4e8dd;border-radius:20px;width:100%}.pickup-card h2{margin:0;padding:10px 14px 0;font-size:18px;font-weight:400}.pickup-details{grid-template-columns:26px 1fr;gap:10px;padding:10px 14px 14px;display:grid}.pickup-details svg{fill:#f0917b;stroke:#403b30;stroke-width:1.6px;width:26px}.pickup-details circle{fill:#fff}.pickup-details strong{font-size:17px;font-weight:400}.pickup-details p{overflow-wrap:anywhere;margin-top:4px;font-size:13px;line-height:1.5}.pickup-details a{color:#327d3e;justify-content:space-between;align-items:center;min-height:44px;margin-top:6px;font-size:16px;display:flex}.error-box{background:#fff5ef;border:1px solid #e8b7a5;border-radius:15px;padding:10px 12px;font-size:14px;line-height:1.5}.screen--error .hero-cat{width:clamp(100px,18svh,180px)}.location-help{color:#635f55;text-align:center;margin-top:8px;font-size:13px}.location-help summary{min-height:44px;padding:12px 0}.location-help ol{text-align:left;width:fit-content;margin:0 auto;padding:10px 10px 10px 28px;line-height:1.8}.radar{aspect-ratio:1;background:radial-gradient(circle,#0000 0 24%,#ffffff47 24% 25%,#0000 25% 48%,#fff6 48% 49%,#0000 49%),repeating-conic-gradient(#ffffff4d 0deg 1deg,#0000 1deg 30deg),linear-gradient(135deg,#e9f3d4,#d8edb9);border:2px dashed #43884c;border-radius:50%;width:min(78vw,325px);margin:0 auto;position:relative;box-shadow:inset 0 0 40px #5f994814,0 12px 35px #66854517}.radar-grid{border:1px solid #ffffff8c;border-radius:50%;position:absolute;inset:16%}.radar-label{z-index:4;text-align:center;background:#fffaf2;border:1.5px solid #51372c;border-radius:18px;padding:7px 12px;font-size:.76rem;font-weight:900;line-height:1.2;position:absolute;top:17%;left:50%;transform:translate(-50%)}.farm-marker{z-index:3;width:42px;height:40px;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.farm-roof{background:#f1734a;border:2px solid #5d3a29;border-radius:2px;width:34px;height:22px;position:absolute;top:0;left:4px;transform:rotate(45deg)scale(.74)}.farm-house{background:#fff3d8;border:2px solid #5d3a29;border-radius:2px;width:25px;height:24px;position:absolute;bottom:0;left:9px}.farm-house:after{content:"";background:#c87545;border:1px solid #5d3a29;width:7px;height:11px;position:absolute;bottom:0;left:8px}.radar-radius{border-top:2px dashed #397747;width:39%;position:absolute;top:49%;left:52%}.radar-radius:before{content:"";background:#397747;border-radius:50%;width:8px;height:8px;position:absolute;top:-5px;left:0}.radar-radius span{font-size:.8rem;font-weight:900;position:absolute;top:-25px;right:-4px}.user-line{transform-origin:100%;border-top:2px dashed #3f443d;width:28%;position:absolute;top:64%;left:30%;transform:rotate(-40deg)}.user-dot{background:#2f8cf0;border:4px solid #fff;border-radius:50%;width:21px;height:21px;animation:1.7s ease-in-out infinite pulseDot;position:absolute;top:68%;left:25%;box-shadow:0 0 0 8px #2f8cf024}.radar{width:min(100%,315px);box-shadow:none}.radar-label{font-size:16px}.radar-radius span{font-size:16px}.radar{width:100%;max-width:340px;box-shadow:none;background-color:#e1edca;background-image:repeating-conic-gradient(from 17deg,#fffdf799 0deg 1deg,#0000 1deg 42deg),repeating-linear-gradient(146deg,#c9e2ad66 0 2px,#f3f5dc66 3px 5px);border-width:3px}.radar-grid{border-width:2px;inset:13%}.radar-label{border-width:2px;border-radius:24px 19px 21px 17px;padding:7px 10px;font-size:22px;font-weight:400;top:11%}.radar-label small{font-size:18px}.radar-radius{width:46%;top:51%}.radar-radius span{font-size:24px;font-weight:400;top:-35px}.farm-marker{top:50%}.user-line{width:32%;top:53%;left:27%;transform:rotate(-46deg)}@keyframes pulseDot{50%{box-shadow:0 0 0 14px #2f8cf02a}}.radar:before{content:"";pointer-events:none;background:conic-gradient(#0000 0deg 270deg,#43884c08 290deg,#43884c55 359deg,#0000 360deg);border-radius:50%;animation:2s linear infinite radarSweep;position:absolute;inset:0}@keyframes radarSweep{to{transform:rotate(360deg)}}.scene--radar .radar{width:min(100%,clamp(210px,38svh,310px))}@media (max-height:740px) and (max-width:759px){.delivery-app{padding-top:max(12px, env(safe-area-inset-top));padding-bottom:max(12px, env(safe-area-inset-bottom))}.screen,.screen-content{gap:8px}.farm-brand{width:155px;margin-bottom:6px}.brand-copy span{font-size:38px}.brand-copy strong{font-size:49px}.intro-copy{font-size:16px}.result-cat{width:21svh;min-width:115px}.permission-cat{width:20svh;min-width:110px}.state-heading{font-size:23px}.friendly-note{font-size:14px}}@media (min-width:760px){.delivery-app{padding:32px 48px}.delivery-page{max-width:1120px}.screen{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,100px);display:grid}.screen-content{justify-self:center;gap:18px;max-width:460px}.farm-brand{width:225px;margin-bottom:16px}.brand-copy span{font-size:59px}.brand-copy strong{font-size:73px}.brand-leaf{width:48px;height:56px}.intro-copy{font-size:22px}.hero-cat{width:min(100%,42svh,370px)}.result-cat,.permission-cat{width:min(100%,65svh,490px)}.check-heading,.state-heading{font-size:36px}.check-heading span{font-size:28px}.result-heading strong{font-size:62px}.distance-copy,.permission-copy{font-size:20px}.friendly-note{font-size:18px}.scene--radar .radar{width:min(100%,60svh,440px)}.waiting-cat{width:min(24svh,190px)}.location-help{width:calc(47.6191% - clamp(32px,6vw,100px)/2.1);margin-top:12px;margin-left:auto}.screen--error .hero-cat{width:min(100%,38svh,330px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation:none!important}}.location-help{position:relative}.location-help[open] ol{z-index:3;background:#fff;border:1px solid #dbe5d8;border-radius:16px;width:100%;max-height:45svh;padding:16px 18px 16px 34px;position:absolute;bottom:100%;left:0;overflow:auto;box-shadow:0 8px 28px #302e2814}
