:root{color-scheme:light;--green:hsl(134 47% 53%);--green-light:hsl(134 62% 94%);--orange:hsl(35 91% 55%);--red:hsl(3 73% 63%);--page:hsl(220 14% 96%);--text:hsl(222.2 84% 4.9%);--secondary:hsl(0 0% 40%);--muted:hsl(0 0% 60%);--line:hsl(0 0% 90%)}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text);font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";line-height:1.5;-webkit-text-size-adjust:100%}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #195b2b;outline-offset:3px}h1,h2,p{margin:0}svg{display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}
.loading-screen{display:flex;min-height:100vh;min-height:100dvh;padding:72px 24px;align-items:center;justify-content:center}.loading-group{display:flex;width:100%;max-width:360px;flex-direction:column;align-items:center;text-align:center}.loading-icon{display:grid;width:96px;height:96px;place-items:center;margin-bottom:40px;border-radius:50%;background:var(--green);box-shadow:0 1px 2px rgb(0 0 0 / 5%)}.loading-icon svg{width:48px;height:48px;stroke:white;stroke-width:4}.zoom{animation:zoom-in .5s ease both}.loading-group h1{font-size:20px;font-weight:600;line-height:28px;margin-bottom:32px}.progress-track{width:100%;height:8px;margin-bottom:20px;border-radius:9999px;background:white;overflow:hidden}.progress-fill{width:0;height:100%;border-radius:inherit;background:var(--green)}.loading-hint{font-size:14px;color:var(--secondary);line-height:20px}.loading-footer{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:24px;right:24px;text-align:center;font-size:14px;color:var(--muted);line-height:20px}
.home-screen{display:flex;min-height:100vh;min-height:100dvh;justify-content:center;align-items:flex-start;padding:24px 16px}.home-wrap{width:100%;max-width:420px;animation:reveal .5s ease both}.home-card{padding:24px;border-radius:24px;background:white;box-shadow:0 1px 2px rgb(0 0 0 / 5%)}.site-header{text-align:center;margin-bottom:24px}.site-header h1{font-size:20px;font-weight:600;line-height:28px;overflow-wrap:anywhere}.site-header p{font-size:14px;color:var(--secondary);margin-top:4px}.button{display:inline-flex;justify-content:center;align-items:center;gap:4px;min-height:52px;border:0;border-radius:16px;padding:14px 16px;font-size:16px;font-weight:500;line-height:24px;text-align:center;text-decoration:none;color:white;transition:transform .12s,filter .12s}.button:hover{filter:brightness(.97)}.button:active{transform:scale(.98)}.button-primary{background:var(--green);flex:1;min-width:0}.button-secondary{background:linear-gradient(to right,var(--orange),var(--red));flex-shrink:0}.button-secondary svg{width:16px;height:16px;flex-shrink:0}.button[disabled],.button[aria-disabled="true"]{background:#e6e8eb;color:#90959d;cursor:not-allowed;filter:none;transform:none}.site-footer{text-align:center;margin-top:24px;font-size:14px;line-height:20px;color:var(--muted)}
.modal{width:calc(100% - 32px);max-width:390px;max-height:calc(100dvh - 48px);margin:auto;border:0;border-radius:24px;padding:28px 24px 24px;box-shadow:0 24px 80px rgb(0 0 0 / 16%);color:var(--text);overflow-y:auto;overscroll-behavior:contain}.modal[open]{animation:reveal .25s ease both}.modal::backdrop{background:rgb(0 0 0 / 45%);animation:backdrop-in .2s ease}.modal-close{display:grid;place-items:center;position:absolute;right:10px;top:10px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#8c9490}.modal-close:hover{background:#f4f5f5;color:var(--text)}.modal-close svg{width:20px;height:20px}.modal-symbol{display:grid;place-items:center;width:56px;height:56px;margin:2px auto 16px;border-radius:18px;background:var(--green-light);color:var(--green)}.modal-symbol svg{width:30px;height:30px}.modal h2{text-align:center;font-size:20px;font-weight:600;line-height:28px;margin-bottom:8px;overflow-wrap:anywhere}.modal-description{text-align:center;font-size:13px;line-height:22px;color:var(--secondary);margin-bottom:22px;white-space:pre-line;overflow-wrap:anywhere}.empty-state{padding:14px;border:1px solid #f5e4bc;border-radius:12px;background:#fffaf0;color:#795b26;margin-bottom:18px;text-align:center}.empty-state strong{font-size:14px;font-weight:600}.empty-state p{font-size:12px;margin-top:4px}.delivery-fields label{display:block;font-size:13px;font-weight:500;color:var(--secondary);margin-bottom:8px}.copy-row{display:flex;border:1px solid var(--line);border-radius:12px;background:#f8faf9;align-items:center;overflow:hidden}.copy-row input{width:100%;min-width:0;height:48px;border:0;background:transparent;padding:12px;font-size:13px;color:#38493d;text-overflow:ellipsis;border-radius:10px}.copy-row input::placeholder{color:#979f99}.copy-button{min-height:44px;flex-shrink:0;padding:10px 12px;border:0;border-left:1px solid var(--line);background:transparent;color:#267e3e;font-size:12px;font-weight:600}.copy-button:hover:not(:disabled){background:var(--green-light)}.copy-button:disabled{color:#a3aaa5}.copy-row input:focus-visible{outline-offset:-3px}#code-section{margin-top:16px}.code-row input{font-size:20px;letter-spacing:.12em;font-weight:600}.field-note{font-size:12px;color:var(--muted);margin-top:10px}.open-drive{width:100%;background:var(--green);margin-top:22px;gap:8px}.open-drive svg{width:18px;height:18px}.delivery-bottom-note{text-align:center;font-size:12px;color:var(--muted);margin-top:12px}.instructions-text{font-size:14px;line-height:1.9;white-space:pre-line;overflow-wrap:anywhere;margin:24px 0}.full-width{width:100%}.toast{position:fixed;z-index:10000;bottom:max(32px,env(safe-area-inset-bottom));left:50%;max-width:calc(100vw - 32px);transform:translateX(-50%);padding:12px 18px;border-radius:12px;background:#203428;color:white;font-size:13px;box-shadow:0 8px 24px rgb(0 0 0 / 12%);text-align:center;pointer-events:none}.error-banner{padding:12px 14px;margin-bottom:20px;border:1px solid #fecaca;border-radius:12px;background:#fff5f5;font-size:13px;color:#a32929}.text-button{padding:8px 0 0;border:0;background:none;color:inherit;font-size:13px;font-weight:600}.noscript-message{margin:64px 24px;text-align:center}
@keyframes zoom-in{from{transform:scale(0)}to{transform:scale(1)}}@keyframes reveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
@media(max-width:360px){.home-card{padding:20px}.button{font-size:14px;padding-left:12px;padding-right:12px}.modal{padding:28px 20px 22px}.modal-close{right:6px;top:6px}}
@media(prefers-reduced-motion:reduce){.zoom,.home-wrap,.modal[open],.modal::backdrop{animation:none}.button{transition:none}}

.button-primary{overflow-wrap:anywhere}.button-secondary{max-width:46%;flex-shrink:1}.button-secondary span{min-width:0;overflow-wrap:anywhere}

.loading-screen{position:relative;padding-bottom:90px}.loading-footer{position:absolute}.loading-slogan{display:flex;align-items:center;justify-content:center;gap:8px;max-width:100%;margin-top:24px;padding:8px 16px;border-radius:999px;background:var(--green-light);color:#26763a;font-size:14px;line-height:22px;font-weight:500}.loading-slogan svg{width:16px;height:16px;flex-shrink:0}.loading-slogan span{min-width:0;overflow-wrap:anywhere}.content-image{display:block;width:100%;height:auto;max-height:360px;object-fit:contain;border-radius:12px;margin:0 auto 20px;background:#f8faf9}.home-image{max-height:320px}.cooperation-symbol{background:#fff2df;color:#d1841d}.button-secondary{cursor:pointer}

/* Delivery introduction: editable paragraphs and an optional reminder panel. */
.delivery-introduction{margin:16px 0 22px;text-align:center;font-size:13px;line-height:22px;color:var(--secondary);overflow-wrap:anywhere}
.delivery-copy{white-space:pre-line}
.delivery-copy+.delivery-copy{margin-top:8px}
.delivery-introduction .delivery-lead{font-size:15px;font-weight:600;line-height:24px;color:var(--text)}
.delivery-reminder{margin-top:16px;padding:12px 14px;border:1px solid #dceede;border-radius:12px;background:var(--green-light);color:#356241;text-align:left}
.delivery-reminder h3{margin:0 0 5px;font-size:13px;line-height:20px;font-weight:600;color:#26763a}
.delivery-reminder p{white-space:pre-line}
.delivery-reminder strong{font-weight:700;color:#245a33}
.delivery-reminder+.delivery-copy{margin-top:12px}

/* Direct delivery homepage. */
.home-card .delivery-introduction{margin-top:0}
.inline-delivery{border-top:1px solid var(--line);padding-top:20px;min-width:0}
.inline-delivery h2{font-size:16px;line-height:24px;font-weight:600;margin-bottom:16px;overflow-wrap:anywhere}
.open-drive{overflow-wrap:anywhere}
.open-drive span{min-width:0}
.open-drive svg{flex-shrink:0}
.secondary-actions{display:flex;gap:12px;margin-top:20px}
.secondary-actions .button{flex:1;min-width:0;max-width:none;min-height:44px;padding:10px 12px;font-size:14px;border-radius:12px}
.button-help{background:#f6f8f6;color:#267e3e;border:1px solid var(--line);overflow-wrap:anywhere}
