.hpd{--hpd-accent:#3E7D34;--hpd-accent-bright:#5FA34E;--hpd-ink:#232823;--hpd-soft:#5a635a;--hpd-steel:#7C857A;--hpd-line:#e2e7dc;--hpd-surface:#ffffff;--hpd-surface-2:#f7f9f5;--hpd-ring-idle:rgba(62,125,52,.55);--hpd-ring-fill:rgba(62,125,52,.06);--hpd-ring-hot:rgba(62,125,52,.16);--hpd-halo:rgba(62,125,52,.22);--hpd-mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;color:var(--hpd-ink);margin:0 0 1.5rem}.hpd *{box-sizing:border-box}@keyframes hpd-pulse{0%{box-shadow:0 0 0 0 var(--hpd-halo)}70%{box-shadow:0 0 0 12px #fff0}100%{box-shadow:0 0 0 0 #fff0}}@keyframes hpd-fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes hpd-sheet{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes hpd-scrim{from{opacity:0}to{opacity:1}}.hpd-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.hpd-label{font-family:var(--hpd-mono);text-transform:uppercase;letter-spacing:.09em;font-size:.66rem;color:var(--hpd-steel)}.hpd-fullbtn{display:inline-flex;align-items:center;gap:7px;font-family:var(--hpd-mono);font-size:.78rem;font-weight:600;color:var(--hpd-accent);background:var(--hpd-surface-2);border:1px solid var(--hpd-line);border-radius:9px;padding:8px 12px;cursor:pointer;line-height:1}.hpd-fullbtn:hover{background:#eaf3e6}.hpd-fullbtn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}.hpd-stage{position:relative;width:100%;background:#fffdf6;border:1px solid var(--hpd-line);border-radius:14px;overflow:hidden}.hpd-img{position:absolute;inset:0;width:100%;height:100%;display:block;user-select:none;-webkit-user-drag:none}.hpd-spots{position:absolute;inset:0}.hpd-spot{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;display:grid;place-items:center;padding:0;margin:0;border:0;background:#fff0;border-radius:50%;cursor:pointer;text-decoration:none;-webkit-tap-highlight-color:#fff0}.hpd-ring{display:block;width:70%;height:70%;border-radius:50%;border:2px solid var(--hpd-ring-idle);background:var(--hpd-ring-fill);transition:transform .16s,box-shadow .16s,background .16s,border-color .16s}.hpd-spot:hover .hpd-ring,.hpd-spot:focus-visible .hpd-ring,.hpd-spot.is-active .hpd-ring{border:3px solid var(--hpd-accent);background:var(--hpd-ring-hot);box-shadow:0 0 0 5px var(--hpd-halo);transform:scale(1.08)}.hpd-spot.is-pulse .hpd-ring{border:3px solid var(--hpd-accent);background:var(--hpd-ring-hot);animation:hpd-pulse 1.4s ease-out infinite}.hpd-spot.is-ref{cursor:default}.hpd-spot.is-ref .hpd-ring{border-style:dashed;border-color:rgb(35 40 35 / .4);background:#fff0}.hpd-spot:focus-visible{outline:2px solid var(--hpd-accent);outline-offset:2px}.hpd-pop{position:absolute;z-index:30;width:238px;background:var(--hpd-surface);border:1px solid var(--hpd-line);border-radius:13px;box-shadow:0 12px 36px rgb(35 40 35 / .18);padding:13px;animation:hpd-fade .14s ease}.hpd-pop-head{display:flex;gap:12px}.hpd-thumb{width:56px;height:56px;flex:none;border-radius:9px;border:1px solid var(--hpd-line);background:var(--hpd-surface-2);object-fit:cover;display:grid;place-items:center;font-family:var(--hpd-mono);font-size:.68rem;font-weight:600;color:var(--hpd-steel)}img.hpd-thumb{display:block}.hpd-pop-sku{font-family:var(--hpd-mono);font-size:.72rem;font-weight:600;letter-spacing:.06em;color:var(--hpd-accent)}.hpd-pop-name{font-size:.84rem;font-weight:600;line-height:1.25;margin-top:3px;color:var(--hpd-ink)}.hpd-pop-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.hpd-price{font-family:var(--hpd-mono);font-variant-numeric:tabular-nums;font-weight:700;font-size:1.05rem;color:var(--hpd-ink)}.hpd-price del{color:var(--hpd-steel);font-weight:400;margin-right:.4em}.hpd-ref-note{margin-top:11px;font-family:var(--hpd-mono);font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--hpd-steel);background:var(--hpd-surface-2);border:1px dashed var(--hpd-line);border-radius:8px;padding:8px 10px;text-align:center}.hpd-oos{margin-top:6px;font-size:.78rem;color:#a8681a}.hpd-stepper{display:inline-flex;align-items:center;border:1px solid var(--hpd-line);border-radius:9px;background:var(--hpd-surface);overflow:hidden}.hpd-step{width:34px;height:34px;border:0;background:var(--hpd-surface-2);color:var(--hpd-ink);font-size:1.1rem;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center}.hpd-step:hover{color:var(--hpd-accent)}.hpd-qty{min-width:36px;text-align:center;font-family:var(--hpd-mono);font-size:.9rem;font-weight:600;font-variant-numeric:tabular-nums;border:0;background:#fff0;color:var(--hpd-ink)}.hpd-addbtn{width:100%;margin-top:10px;height:40px;border:0;border-radius:10px;background:var(--hpd-accent);color:#fff;font-family:var(--hpd-mono);font-size:.82rem;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:background .15s,transform .06s}.hpd-addbtn:hover{background:var(--hpd-accent-bright)}.hpd-addbtn:active{transform:translateY(1px)}.hpd-addbtn[disabled]{background:var(--hpd-surface-2);color:var(--hpd-steel);cursor:not-allowed;box-shadow:inset 0 0 0 1px var(--hpd-line)}.hpd-scrim{position:fixed;inset:0;z-index:100070;background:rgb(20 26 18 / .5);animation:hpd-scrim .2s ease;border:0;padding:0;width:100%}.hpd-sheet{position:fixed;left:0;right:0;bottom:0;z-index:100071;background:var(--hpd-surface,#fff);border-radius:18px 18px 0 0;box-shadow:0 -16px 44px rgb(0 0 0 / .32);padding:8px 18px calc(20px + env(safe-area-inset-bottom));animation:hpd-sheet .26s cubic-bezier(.22,1,.36,1)}.hpd-sheet .hpd-grip{width:38px;height:4px;border-radius:99px;background:#e2e7dc;margin:8px auto 16px}.hpd-sheet .hpd-pop-head{gap:14px}.hpd-sheet .hpd-pop-name{font-size:1rem}.hpd-sheet .hpd-price{font-size:1.35rem}.hpd-sheet .hpd-step{width:44px;height:44px}.hpd-sheet .hpd-addbtn{height:50px;margin-top:14px;font-size:.92rem;border-radius:12px}.hpd-close{width:34px;height:34px;flex:none;border:1px solid #e2e7dc;border-radius:9px;background:#f7f9f5;color:#5a635a;font-size:1rem;cursor:pointer;line-height:1}.hpd-full{position:fixed;inset:0;z-index:100060;background:#fffdf6;display:flex;flex-direction:column;animation:hpd-scrim .18s ease}.hpd-full-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #e2e7dc;flex:none;background:#fff}.hpd-full-hint{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#7C857A}.hpd-full-actions{display:flex;gap:8px}.hpd-full-reset{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;font-weight:600;color:#232823;background:#f7f9f5;border:1px solid #e2e7dc;border-radius:9px;padding:8px 12px;cursor:pointer}.hpd-full-done{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.82rem;font-weight:600;color:#fff;background:#3E7D34;border:0;border-radius:9px;padding:8px 16px;cursor:pointer}.hpd-full-view{position:relative;flex:1;overflow:hidden;touch-action:none;cursor:grab}.hpd-full-view.is-panning{cursor:grabbing}.hpd-full-canvas{position:absolute;top:0;left:0;width:100%;transform-origin:0 0;will-change:transform}.hpd-full-canvas .hpd-img{position:relative;inset:auto;height:auto;pointer-events:none}.hpd-full-canvas .hpd-spots{position:absolute;inset:0}.hpd-cal{position:fixed;right:14px;bottom:14px;z-index:100080;width:320px;background:#fff;border:2px solid #3E7D34;border-radius:12px;padding:12px;box-shadow:0 14px 44px rgb(0 0 0 / .3);font:12px/1.5 ui-monospace,Menlo,monospace}.hpd-cal textarea{width:100%;height:150px;font:11px/1.5 ui-monospace,Menlo,monospace;border:1px solid #e2e7dc;border-radius:8px;padding:8px}.hpd-cal .hpd-cal-hint{color:#5a635a;margin:0 0 8px}@media (prefers-reduced-motion:reduce){.hpd *,.hpd-sheet,.hpd-scrim,.hpd-full,.hpd-pop{animation:none!important;transition:none!important}}