/* Keep one visible primary action, with room for content and device safe areas. */
body.has-service-action{padding-bottom:calc(128px + env(safe-area-inset-bottom,0px))}
html:has(body.has-service-action){scroll-padding-bottom:140px}
#service-action-dock{position:fixed;z-index:25;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:min(560px,calc(100% - 32px));padding:12px;border:1px solid #c8c4b7;border-radius:5px;background:#faf7ef}
#service-action-dock[hidden]{display:none!important}
/* Retain the original handlers and native form validation without a duplicate control. */
body [data-dock-source]{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
#service-action-dock .service-action-note{margin:0 0 9px;text-align:center;font-size:12px;line-height:1.6;color:#626b61;word-break:keep-all}
#service-action-dock .service-action-buttons{display:flex;gap:8px}
body #service-action-dock button{min-height:48px;margin:0;padding:12px 16px;border-radius:5px;line-height:1.5}
body #service-action-dock .primary{flex:1;background:#303a35;color:#fbf8f0;border-color:#303a35;font-weight:600}
body #service-action-dock [data-dock-back]{flex:0 1 35%;font-size:13px}
body #service-action-dock .primary:hover:not(:disabled){background:#26342c;color:#fbf8f0}
body .result-floating{border:1px solid #c8c4b7;border-radius:5px;box-shadow:none;backdrop-filter:none}
body #saju-extra-floating button{border-radius:5px;min-height:48px}
body:has(dialog[open]) :is(#service-action-dock,.result-floating,#saju-extra-floating){visibility:hidden;pointer-events:none}
body #zodiac-purchase-dialog .purchase-support-actions{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
body #zodiac-purchase-dialog .purchase-free-help{margin:16px 0;border-top:1px solid #d5cebf;border-bottom:1px solid #d5cebf}
body #zodiac-purchase-dialog .purchase-free-help summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:13px}
body #zodiac-purchase-dialog [data-zodiac-unlock],body #zodiac-purchase-dialog [data-zodiac-confirm-animal]{display:block;width:100%;min-height:48px;margin-top:12px}
body #zodiac-purchase-dialog>button[data-purchase-close]:not(.purchase-close){display:block;margin:12px auto 0;border:0;background:transparent;font-size:13px}
body .profile-storage-options{margin:18px 0}
body .profile-storage-options summary{cursor:pointer;font-size:13px;min-height:44px;padding:12px 0;color:#626b61}
body .profile-storage-options .permission-row{margin-top:10px}
body .profile-permissions .hint a{ text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){#service-action-dock{bottom:calc(12px + env(safe-area-inset-bottom,0px));width:calc(100% - 24px);padding:10px}body #service-action-dock button{padding:12px 10px;font-size:13px}body #service-action-dock [data-dock-back]{font-size:12px}}
