.guestbook{--g-ink:#142c2b;--g-mint:#b8e3d5;position:fixed;right:22px;bottom:var(--guestbook-bottom,20px);z-index:100;font-family:Inter,Arial,sans-serif;color:var(--g-ink)}
.guestbook *{box-sizing:border-box}
.guestbook button,.guestbook input,.guestbook textarea{font:inherit}
.guestbook-launch{border:2px solid var(--g-ink);border-radius:999px;background:var(--g-mint);color:var(--g-ink);padding:12px 18px;box-shadow:4px 4px 0 var(--g-ink);font-weight:700;cursor:pointer;min-height:48px}
.guestbook-launch:hover{transform:translateY(-2px)}
.guestbook-panel{position:absolute;right:0;bottom:68px;width:min(370px,calc(100vw - 32px));max-height:min(620px,calc(100dvh - 110px));overflow:auto;background:#fbf8f1;border:2px solid var(--g-ink);border-radius:20px;box-shadow:7px 7px 0 var(--g-ink);padding:20px}
.guestbook-panel[hidden],.guestbook-step[hidden],.guestbook-audio[hidden]{display:none!important}
.guestbook-top{display:flex;justify-content:space-between;align-items:start;gap:10px}
.guestbook h2{font:700 25px/1.15 Grot,Inter,sans-serif;margin:0 0 6px}
.guestbook p{font-size:14px;line-height:1.5;margin:0 0 14px}
.guestbook-close{background:none;border:0;cursor:pointer;font-size:27px;line-height:1;padding:0 3px;color:var(--g-ink)}
.guestbook label{display:block;font-weight:650;font-size:13px;margin:14px 0 6px}
.guestbook textarea,.guestbook input{width:100%;background:#fff;border:2px solid #73827d;border-radius:9px;padding:11px;color:var(--g-ink)}
.guestbook textarea{min-height:110px;resize:vertical}
.guestbook-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}
.guestbook-btn{background:var(--g-mint);border:2px solid var(--g-ink);border-radius:10px;padding:9px 13px;color:var(--g-ink);font-weight:700;cursor:pointer;min-height:42px}
.guestbook-btn.secondary{background:#fff}
.guestbook-btn:disabled{opacity:.55;cursor:not-allowed}
.guestbook-status{min-height:1.5em;font-size:13px;margin-top:12px!important}
.guestbook-status.error{color:#a12c2c}
.guestbook-audio{width:100%;margin-top:12px}
.guestbook small{color:#50615b;font-size:12px;line-height:1.4;display:block;margin-top:8px}
.guestbook :focus-visible{outline:3px solid #107e69;outline-offset:2px}
@media(max-width:760px){.guestbook{bottom:calc(69px + env(safe-area-inset-bottom));right:16px}.guestbook-panel{bottom:65px;max-height:calc(100dvh - 175px)}}
@media(prefers-reduced-motion:reduce){.guestbook-launch:hover{transform:none}}
@media(max-width:760px){.guestbook{bottom:calc(79px + env(safe-area-inset-bottom))}.guestbook-panel{max-height:calc(100dvh - 180px)}}
/* The open panel is anchored to the visible viewport, not the floating trigger. */
.guestbook.is-open .guestbook-launch{display:none}
@media(max-width:760px){
 .guestbook.is-open .guestbook-panel{position:fixed;left:16px;right:16px;top:var(--guestbook-top,12px);bottom:auto;width:auto;max-height:var(--guestbook-height,calc(100dvh - 24px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .guestbook.is-open{bottom:auto}
}
