/* v2.5.21: ordinary quote heart -> a found key -> hidden lock behind real photo tape. */
.hhp-key-heart{
 appearance:none!important;-webkit-appearance:none!important;display:inline!important;
 border:0!important;box-shadow:none!important;background:none!important;
 color:inherit!important;font:inherit!important;letter-spacing:inherit!important;
 margin:0!important;padding:0!important;line-height:inherit!important;
 transform:none!important;cursor:inherit!important;vertical-align:baseline!important;
 text-decoration:none!important;
}
.hhp-key-heart:hover{color:inherit!important;transform:none!important;filter:none!important}
.hhp-key-heart:focus-visible{outline:2px dotted #8263be!important;outline-offset:3px!important;border-radius:3px}
.hhp-photo-tape[data-hhp-key-tape]{
 appearance:none;-webkit-appearance:none;border:0!important;padding:0!important;margin:0;
 opacity:1!important;cursor:default!important;pointer-events:none;
 transform:rotate(-2deg)!important;backface-visibility:hidden;transform-origin:7% 10%;
 transition:transform .44s cubic-bezier(.2,.75,.2,1),box-shadow .3s;
}
.hhp-photo-tape.hhp-key-tape-ready{pointer-events:auto;cursor:default!important}
.hhp-photo-tape[data-hhp-key-tape]:hover{cursor:default!important;filter:none!important}
.hhp-photo-tape.hhp-key-tape-ready:focus-visible{outline:3px solid #3188ed;outline-offset:4px}
.hhp-photo-tape.hhp-key-tape-peeled{
 transform:translate(8px,21px) rotate(7deg) scaleY(.82)!important;
 box-shadow:1px 4px 3px rgba(38,27,42,.15);
}
.hhp-keyhole-plate{
 position:absolute;z-index:2;left:calc(52% - 23px);top:-32px;
 width:48px;height:58px;border:3px solid #33272b;border-radius:50% 50% 45% 45%;
 background:linear-gradient(145deg,#fff5bf 0%,#f6c44d 48%,#d99126 100%);
 box-shadow:2px 3px 0 #513b31, inset 0 1px 2px #fff9d9;
 display:grid;place-items:center;padding:9px 11px;cursor:pointer;
 animation:hhp-lock-appear .25s ease both;
}
.hhp-keyhole-plate svg{width:19px;height:32px;fill:#292126;display:block}
.hhp-keyhole-plate:hover{filter:brightness(1.1);transform:translateY(-2px)}
.hhp-keyhole-plate:focus-visible{outline:3px solid #267fee;outline-offset:4px}
.hhp-key-found{position:fixed;right:18px;bottom:18px;z-index:4001;
 display:grid;place-items:center;width:54px;height:54px;border:2px solid #2d2730;
 border-radius:50%;background:#fff0b5;box-shadow:3px 5px 0 #f68fb9;
 font-size:30px;pointer-events:none;
}
.hhp-key-discovery{position:fixed;inset:0;z-index:7000;display:flex;align-items:center;justify-content:center;background:rgba(36,29,42,.53);padding:18px}
.hhp-key-message{position:relative;width:min(410px,94vw);background:#fff9e9;border:4px solid #2c2630;border-radius:26px;
 box-shadow:8px 9px 0 #ff93c8;padding:24px 25px 25px;text-align:center;color:#27242c;
 font-family:'Quicksand',Arial,sans-serif;
}
.hhp-key-message-symbol{display:block;font-size:45px;line-height:1.2;margin-bottom:8px}
.hhp-key-message h2{font:700 clamp(23px,5vw,32px) 'DynaPuff',sans-serif!important;line-height:1.2;margin:7px 0!important}
.hhp-key-message p{font:700 17px/1.5 'Quicksand',sans-serif;margin:12px 0 20px}
.hhp-key-message-close{position:absolute;right:10px;top:5px;border:0;background:none;font:700 28px Arial;cursor:pointer;color:#2b2630}
.hhp-key-message-done{cursor:pointer;border:2px solid #2b2630;border-radius:22px;background:#aaf15d;color:#25242a;padding:10px 18px;
 box-shadow:3px 4px 0 #2b2630;font:800 15px 'Quicksand',sans-serif}
.hhp-key-message-done:hover{transform:translateY(-2px)}
.hhp-key-message-close:focus-visible,.hhp-key-message-done:focus-visible{outline:3px solid #267fee;outline-offset:4px}
body.hhp-key-message-open{overflow:hidden}
.hhp-key-found[hidden],.hhp-keyhole-plate[hidden],.hhp-key-discovery[hidden],.hhp-key-greeter[hidden]{display:none!important}
@keyframes hhp-lock-appear{from{opacity:0;scale:.6}to{opacity:1;scale:1}}
@media(max-width:650px){.hhp-keyhole-plate{width:43px;height:52px;left:calc(52% - 21px);top:-31px}.hhp-key-message{padding:22px 18px}.hhp-key-found{right:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){.hhp-photo-tape[data-hhp-key-tape],.hhp-keyhole-plate{animation:none;transition:none}}
/* v2.5.22 Donut surprise: preserve the chosen actual Harrison image as-is. */
.hhp-key-greeter{position:fixed;inset:0;z-index:999999;background:rgba(22,17,22,.67);display:flex;justify-content:center;align-items:center;padding:16px;opacity:1;transition:opacity .22s ease}
.hhp-key-greeter-card{position:relative;min-width:0;width:min(440px,95vw);max-height:94dvh;background:#fffbef;border:5px solid #27242b;border-radius:28px;box-shadow:10px 12px 0 #ff93bd;text-align:center;padding:20px 16px 15px;display:flex;flex-direction:column;align-items:center;overflow:hidden}
.hhp-key-harrison-photo{display:block;width:auto;max-width:min(380px,86vw);height:auto;max-height:62dvh;object-fit:contain;filter:drop-shadow(3px 7px 0 #ffe0a4);transition:transform .4s ease,opacity .4s ease}
/* One isolated tappable donut. The spatula is already in the authentic uploaded photo. */
.hhp-key-donut{position:absolute;left:12%;bottom:8px;z-index:6;display:grid;place-items:center;width:78px;height:78px;margin:0;padding:0;background:none!important;border:0!important;box-shadow:none!important;cursor:pointer;color:inherit;transform-origin:50% 50%;touch-action:manipulation}
.hhp-key-donut:hover:not(:disabled){filter:drop-shadow(0 5px 4px rgba(38,30,35,.20));transform:translateY(-2px)}
.hhp-key-donut:focus-visible{outline:3px solid #267fee;outline-offset:3px;border-radius:24px}
.hhp-key-donut-emoji{font-size:69px;line-height:1;filter:drop-shadow(2px 3px 0 #fff);pointer-events:none}
.hhp-key-greeter-card.hhp-key-feeding .hhp-key-donut{pointer-events:none;filter:drop-shadow(0 4px 2px rgba(35,23,20,.18))}

.hhp-key-greeter.hhp-key-greeter-done{opacity:0;pointer-events:none}

@keyframes hhp-harrison-bye{0%{transform:translateY(0) scale(1);opacity:1}100%{transform:translateY(-24px) scale(.93);opacity:0}}
.hhp-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.hhp-key-greeting-open{overflow:hidden}
@media(max-width:550px){.hhp-key-greeter-card{padding:12px 10px 8px}.hhp-key-harrison-photo{max-height:58dvh}.hhp-key-donut{height:68px;width:68px;left:8%}.hhp-key-donut-emoji{font-size:58px}}
@media(prefers-reduced-motion:reduce){.hhp-key-greeter,.hhp-key-donut,.hhp-key-harrison-photo{animation:none!important;transition:none!important}}

/* The ready login dialog stays visible under the donut greeting, but inert. */
body.hhp-key-greeting-open .hhp-key-greeter{background:rgba(22,17,22,.2)}

/* One parent fade includes the chef, donut and caption, on the same clock. */
.hhp-key-greeter-caption{font-family:Quicksand,sans-serif;font-size:clamp(17px,3.6vw,22px);font-weight:800;line-height:1.25;margin:10px 0 3px;padding:0 8px;color:#27242b}
.hhp-key-greeter-stage{position:relative;display:grid;place-items:center;max-width:100%}
.hhp-key-harrison-photo{max-height:54dvh;max-width:100%}
.hhp-key-donut{bottom:8px}
.hhp-secret-arrival .hh-login-wall{visibility:hidden}
.hhp-secret-arrival{overflow:hidden}
.hhp-key-opening{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;background:rgba(255,251,239,.94);font:800 clamp(20px,4vw,30px) Quicksand,sans-serif;color:#27242b;text-align:center;padding:24px;cursor:progress}
@media(max-width:550px){.hhp-key-harrison-photo{max-height:50dvh}}

/* Optional clue anchored to the collected key. */
.hhp-key-hint{position:absolute;right:0;bottom:calc(100% + 14px);width:max-content;max-width:min(280px,calc(100vw - 36px));padding:12px 16px;background:#fff9e9;color:#2d2730;border:2px solid #2d2730;border-radius:18px;box-shadow:3px 4px 0 #f68fb9;font:16px/1.45 Quicksand,Arial,sans-serif;pointer-events:auto;text-align:left}
.hhp-key-hint::after{content:'';position:absolute;right:18px;bottom:-9px;width:14px;height:14px;background:#fff9e9;border-right:2px solid #2d2730;border-bottom:2px solid #2d2730;transform:rotate(45deg)}
.hhp-key-hint[hidden],.hhp-key-hint p[hidden]{display:none!important}
.hhp-key-hint button{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;padding:0;cursor:pointer}
.hhp-key-hint button:focus-visible{outline:3px solid #267fee;outline-offset:4px}
.hhp-key-hint p{margin:8px 0 0}

.hhp-key-collected{display:grid;place-items:center;width:100%;height:100%;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;font:inherit;cursor:pointer;pointer-events:auto}
.hhp-key-collected:focus-visible{outline:3px solid #267fee;outline-offset:4px}

.hhp-key-found{right:56px;bottom:66px}
.hhp-key-caption{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:146px;text-align:center;font:700 13px/1.35 Quicksand,Arial,sans-serif;color:#2d2730;background:#fff9e9;border:1px solid #2d2730;border-radius:10px;padding:5px 7px;box-sizing:border-box;pointer-events:none}
@media(max-width:650px){.hhp-key-found{right:50px;bottom:calc(66px + env(safe-area-inset-bottom,0px))}}

.hhp-key-found.hhp-key-in-flight .hhp-key-caption{visibility:hidden}

.hhp-key-hint [data-hint-toggle]{display:block;margin-top:8px;text-decoration:underline}
.hhp-key-hint [data-hint-toggle][hidden]{display:none!important}
