/* Shared, centered glass dock on all pages. */
body .quick-actions[aria-label]{position:fixed;z-index:1050;left:50%;right:auto;top:auto;bottom:calc(52px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);box-sizing:border-box;width:min(332px,calc(100% - 32px));height:auto;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:0;padding:7px 10px;border:1px solid #ffffff26;border-radius:999px;background:linear-gradient(135deg,#ffffff0a,#ffffff02);box-shadow:inset 0 1px 0 #ffffff1a,0 4px 18px #10131812;backdrop-filter:blur(6px) saturate(110%);-webkit-backdrop-filter:blur(6px) saturate(110%);transition:opacity .2s,visibility .2s}
body .quick-actions[aria-label]>:is(a,button){box-sizing:border-box;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:0;width:auto;height:50px;min-height:44px;margin:0;padding:4px 8px;border:0;border-radius:16px;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;color:#756857;text-shadow:0 1px 2px #ffffff38;text-decoration:none;font:400 10px/1.2 'Noto Sans TC',sans-serif;letter-spacing:.02em;cursor:pointer;transition:background .2s}
body .quick-actions[aria-label]>:is(a,button):hover{background:#ffffff0d;transform:none}
body .quick-actions[aria-label]>:is(a,button):focus-visible{outline:2px solid #fff;outline-offset:-2px}
.quick-actions svg{display:block;width:20px;height:20px;flex:none}
.quick-actions .line-symbol{width:24px;height:24px;filter:saturate(.65);opacity:.86}
.quick-actions-dialog{position:fixed;z-index:1300;inset:0;padding:20px;display:grid;place-items:center;background:#18130e80;backdrop-filter:blur(5px)}
.quick-actions-dialog[hidden]{display:none}
.quick-actions-panel{position:relative;box-sizing:border-box;width:min(420px,100%);padding:42px 32px 32px;background:#eee9dd;color:#302e28;border:1px solid #ffffff80;border-radius:14px;box-shadow:0 24px 90px #0003}
.quick-actions-panel h2{font:400 28px/1.5 'Noto Serif TC',serif;margin:0 0 18px}
.quick-actions-panel p{font:400 13px/2 'Noto Sans TC',sans-serif;color:#70675b;margin:0 0 24px}
.quick-actions-close{position:absolute;right:12px;top:12px;width:36px;height:36px;border-radius:50%;border:1px solid #665d4940;background:transparent;color:#302e28;font:24px Georgia,serif;cursor:pointer}
.quick-actions-contact{display:block;text-align:center;background:#302e28;color:#eee9dd!important;padding:14px 18px;text-decoration:none!important;font:12px/1.5 'Noto Sans TC',sans-serif;letter-spacing:.06em}
.quick-actions-panel a:focus-visible,.quick-actions-panel button:focus-visible{outline:2px solid #91714f;outline-offset:4px}
body.quick-actions-modal .quick-actions{opacity:0;visibility:hidden;pointer-events:none}

@media(max-width:760px){body .quick-actions[aria-label]{bottom:calc(46px + env(safe-area-inset-bottom,0px));width:min(320px,calc(100% - 32px));padding:6px 8px}body .quick-actions[aria-label]>:is(a,button){height:48px;font-size:9px;gap:3px}body.quick-actions-editing .quick-actions{opacity:0;visibility:hidden;pointer-events:none}.quick-actions-panel{padding:42px 25px 25px}}
@media(max-height:420px){body .quick-actions[aria-label]{bottom:calc(38px + env(safe-area-inset-bottom,0px));padding:4px 8px}body .quick-actions[aria-label]>:is(a,button){height:44px}}
@media(prefers-reduced-motion:reduce){body .quick-actions[aria-label],body .quick-actions[aria-label]>:is(a,button){transition:none}}
@media print{.quick-actions,.quick-actions-dialog{display:none!important}}

/* Icon-only controls retain accessible names in the markup. */
body .quick-actions[aria-label]>:is(a,button)>span{display:none}

body .quick-actions[aria-label]>:is(a,button).on-dark{color:#fff;text-shadow:0 1px 3px #0005}
