/* 手機「加到桌面」圖示＋說明卡 */
/* 品牌色：在網站任何地方（:root 或 body）設定 --pwa-accent 等變數即可；這裡不宣告 :root，避免載入順序蓋掉網站的設定。
   可用變數與預設值見下方 var() 的第二個參數 */
/* 網站若有全域 button 樣式（寬度 100%、hover 變色、陰影），這裡全部重設；選擇器加 body 與 [type] 提高權重，才蓋得過「.login button」這類規則 */
body .pwa-install-btn[type],body .pwa-x[type],body .pwa-actions button[type]{all:unset;box-sizing:border-box;cursor:pointer;font-family:inherit}
body .pwa-install-btn[type]{position:absolute;top:12px;right:12px;z-index:2;display:inline-flex;align-items:center;gap:4px;
  padding:3px 9px 3px 6px;background:var(--pwa-chip,#ECEAE4);color:var(--pwa-ink,#2A2723);border:1px solid var(--pwa-line-2,#C9C4B8);
  border-radius:var(--pwa-r,3px);font-size:12px;font-weight:700;line-height:18px}
body .pwa-install-btn[type][hidden]{display:none}
body .pwa-install-btn[type] svg{width:17px;height:17px;stroke:var(--pwa-accent-dk,#B25E05);stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
body .pwa-install-btn[type]:active{background:var(--pwa-accent-lt,#FDF0DE);border-color:var(--pwa-accent,#F07F09)}
.pwa-inapp-note{background:var(--pwa-note-bg,#FBF1E0);border-left:3px solid var(--pwa-note-bar,#F0A21C);color:var(--pwa-ink,#2A2723);font-size:13px;line-height:1.6;
  padding:9px 12px;border-radius:var(--pwa-r,3px);margin:0 0 16px}
.pwa-inapp-note a{font-weight:700;color:var(--pwa-accent-dk,#B25E05)}
body.pwa-open{overflow:hidden}
.pwa-sheet{position:fixed;inset:0;z-index:9999;font-size:14px;color:var(--pwa-ink,#2A2723)}
.pwa-sheet[hidden]{display:none}
.pwa-back{position:absolute;inset:0;background:rgba(30,28,25,.55);animation:pwa-fade .2s}
.pwa-panel{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:12px 12px 0 0;max-width:520px;margin:0 auto;
  padding:22px 18px calc(18px + env(safe-area-inset-bottom));animation:pwa-up .25s ease-out;overflow:hidden;box-sizing:border-box}
.pwa-panel::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--pwa-panel-top,none)}
.pwa-sheet.pointing .pwa-panel{padding-bottom:calc(52px + env(safe-area-inset-bottom))} /* 留位置給箭頭，不壓到第 3 步 */
.pwa-head{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.pwa-head b{display:block;font-size:16px}
.pwa-head small{display:block;font-size:12px;color:var(--pwa-ink-2,#5F594F);line-height:1.5}
.pwa-app{width:52px;height:52px;border-radius:12px;flex-shrink:0;box-shadow:0 1px 4px rgba(0,0,0,.2)}
body .pwa-x[type]{margin-left:auto;align-self:flex-start;font-size:24px;line-height:1;color:var(--pwa-ink-2,#5F594F);padding:0 4px}
.pwa-steps{list-style:none;counter-reset:pwa;margin:0;padding:0}
.pwa-steps li{counter-increment:pwa;position:relative;padding:10px 0 10px 40px;border-top:1px solid var(--pwa-line,#DDD8CD);line-height:1.6}
.pwa-steps li::before{content:counter(pwa);position:absolute;left:0;top:9px;width:26px;height:26px;border-radius:50%;
  background:var(--pwa-num-bg,#2F2C28);color:#fff;font:700 13px/26px ui-monospace,Menlo,monospace;text-align:center}
.pwa-steps svg{width:20px;height:20px;vertical-align:-5px;margin-left:5px;stroke:var(--pwa-icon,#1B587C);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.pwa-steps small{display:block;font-size:12px;color:var(--pwa-ink-2,#5F594F)}
.pwa-steps small svg{width:16px;height:16px;vertical-align:-4px}
.pwa-steps svg.pwa-fill{fill:var(--pwa-icon,#1B587C);stroke:none}
.pwa-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.pwa-actions:empty{display:none}
body .pwa-actions button[type]{display:block;width:100%;text-align:center;padding:11px;border-radius:var(--pwa-r,3px);border:1px solid var(--pwa-line-2,#C9C4B8);
  background:var(--pwa-chip,#ECEAE4);font-size:14px;font-weight:700;color:var(--pwa-ink,#2A2723)}
body .pwa-actions button[type].primary{background:var(--pwa-accent,#F07F09);border-color:var(--pwa-accent,#F07F09);color:#fff}
.pwa-point{position:absolute;left:50%;bottom:calc(4px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:2;animation:pwa-bob 1s ease-in-out infinite}
.pwa-point[hidden]{display:none}
.pwa-point svg{width:30px;height:30px;stroke:var(--pwa-accent,#F07F09);stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}
@keyframes pwa-up{from{transform:translateY(100%)}to{transform:none}}
@keyframes pwa-fade{from{opacity:0}}
@keyframes pwa-bob{50%{transform:translate(-50%,6px)}}
