/* RideCost iPhone-only overlay. Namespace rcif prevents interference with Ride core. */
#rcif-shell { display:none; font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",system-ui,sans-serif; color:#172b45; }
#rcif-shell.rcif-ready { display:block; }
#rcif-shell *,#rcif-shell *::before,#rcif-shell *::after { box-sizing:border-box; }
#rcif-shell [hidden] { display:none !important; }
#rcif-ball { position:fixed; z-index:2147483040; width:56px; height:56px; border-radius:50%; border:2px solid rgba(255,255,255,.9); background:linear-gradient(145deg,#2568d6,#123783); box-shadow:0 5px 20px rgba(4,35,98,.36); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0; padding:0; cursor:pointer; touch-action:none; user-select:none; -webkit-user-select:none; -webkit-tap-highlight-color:transparent; }
#rcif-ball > span { font-size:24px; font-weight:900; line-height:1; }
#rcif-ball > small { font-size:10px; font-weight:600; line-height:1.2; color:rgba(255,255,255,.94); }
#rcif-ball:focus-visible, #rcif-shell button:focus-visible { outline:3px solid #fbbf24; outline-offset:3px; }
#rcif-shell.rcif-is-open #rcif-ball { background:linear-gradient(145deg,#0a987e,#006f62); }
#rcif-panel { position:fixed; z-index:2147483039; width:308px; max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); overflow:auto; overscroll-behavior:contain; border-radius:22px; background:#fff; box-shadow:0 15px 50px rgba(15,38,78,.29); border:1px solid #dce5f2; padding:0; -webkit-overflow-scrolling:touch; }
.rcif-panel-top { min-height:67px; display:flex; align-items:center; gap:11px; padding:12px 14px; background:#eff5ff; border-bottom:1px solid #dce9fa; }
.rcif-mark { width:37px; height:37px; flex-shrink:0; display:grid; place-items:center; border-radius:12px; color:#fff; background:#235cc4; font-weight:900; font-size:22px; }
.rcif-panel-top div { flex:1; display:flex; flex-direction:column; gap:2px; }
.rcif-panel-top strong { font-size:16px; letter-spacing:.1px; }
.rcif-panel-top small { color:#526781; font-size:11px; }
#rcif-shell .rcif-panel-close { background:#fff; border:1px solid #d3deeb; border-radius:50%; color:#40516a; width:35px; height:35px; padding:0; font-size:23px; line-height:1; }
.rcif-panel-body { display:flex; flex-direction:column; padding:7px; }
#rcif-shell .rcif-panel-body button { display:flex; gap:11px; align-items:center; min-height:60px; width:100%; padding:8px 11px; border:0; border-radius:12px; background:transparent; color:#1a2942; font-family:inherit; text-align:left; -webkit-tap-highlight-color:transparent; }
#rcif-shell .rcif-panel-body button:active { background:#eef4ff; }
.rcif-icon { display:grid; place-items:center; width:38px; height:38px; flex-shrink:0; border-radius:11px; font-size:21px; font-weight:bold; color:#1555ba; background:#eaf1fe; }
.rcif-panel-body button span:last-child { flex:1; display:flex; flex-direction:column; gap:2px; }
.rcif-panel-body button strong { font-size:14px; }
.rcif-panel-body button small { color:#667b93; font-size:11px; line-height:1.25; }
.rcif-foot { padding:9px 15px 12px; font-size:10px; line-height:1.35; background:#f6f8fc; color:#65748a; border-top:1px solid #e7edf5; }
#rcif-note { position:fixed; z-index:2147483041; left:50%; bottom:calc(90px + env(safe-area-inset-bottom, 0px)); transform:translateX(-50%); max-width:calc(100vw - 42px); min-width:210px; padding:12px 16px; text-align:center; border-radius:13px; color:#fff; background:rgba(23,42,68,.95); box-shadow:0 10px 25px #0f25494a; font-size:13px; font-weight:600; line-height:1.5; pointer-events:none; }
@media (prefers-reduced-motion:no-preference) { #rcif-panel { animation:rcifAppear .15s ease-out; } @keyframes rcifAppear { from { opacity:.3; transform:translateY(6px) } to { opacity:1; transform:translateY(0) } } }
