/* r1349: approved route card v10. Real data and lifecycle stay in map.html.
   r1356：🔴 本檔**不寫 body 前綴**——放大鏡（pk-magnifier）把介面複製進 shadow root，只改寫 map.html 內嵌樣式裡的 body 選擇器，外部表原樣抄
   ⇒ 這裡的 body.map-dim 規則在鏡內一條都不生效（鏡內暗化＝白底近白字）。要吃 body 上的 class 一律寫 .map-dim／.radar-mode 那種裸 class，
   要指 body 本身用 :where(body,.pkmag-body)（鏡內那個替身叫 .pkmag-body，class 跟 body 同步）。其餘：沒定位／不準／待確認的狀態列改灰（青綠留給
   「距路線約 X」）；color-mix 補 @supports 退路（iOS 15.0～16.1）；#map-tools-scroll 平時 overflow:visible（永遠 hidden auto 會裁掉淡化介面長按的放大與
   進度環，同 r972）；拿掉配不到的 .ri-attrib-reserve、重複規則與兩塊 will-change；≤340px 那條媒體查詢搬到檔尾才真的生效。
   r1382（v11）：狀態膠囊、升降、路線條、下一處、標籤、圖例鈕與圖例面板、剖面頂端兩行；字級照 H103 的階梯（次要字 13px、經過點編號 11px）。
   舊的狀態列、.ri-gains 舊版、.ri-next 舊 grid、.ri-explain、.ri-relation、.ri-route-position／-total、.ri-profile-note 都已拿掉（沒有元素了）。
   v12（創辦人 2026-10-05）：「剩下 / 全長」（.ri-of）、升降「剩下 / 全線」（.ri-g-of）與斜箭頭（--up／--dn）、● 底下「里程 · %」（.ri-pct）；
   剖面頂端＝摘要那一套（#ri-gains-prof／#ri-totals-prof 在 pgains 那一格），右上「圖例」鈕、海拔大字與 ▲ 那一行、B 端「全長」都拿掉。
   v12 收尾（10-05，map r1389）：清除查看點搬進線圖右上角（.ri-reset-slot 連同它在橫拿、大字級、≤340px 的覆寫一起拿掉）；
   斜線後的全線數字可以帶「≥」（字在 .ri-g-of、aria-hidden；讀屏念 .ri-g-of-sr「，全線至少 957 m」）。 */
:where(body,.pkmag-body){--ri-line:color-mix(in srgb,var(--pk-sky,#aebdd4) 42%,var(--pk-white,#fff))}
/* 自訂屬性不會在解析時被驗證，color-mix 不支援的瀏覽器要到用的那一刻才整條 border 失效 ⇒ 用 @supports 給一個算好的值（同一個混色）。 */
@supports not (color:color-mix(in srgb,#fff 50%,#000)){:where(body,.pkmag-body){--ri-line:#dde3ed}}
#map-info-btn[hidden],#fog-btn[hidden],#rt-go-chip [hidden],#rt-go-chip[hidden]{display:none!important}
/* r1359：不再拿掉 #zoomctrl 的 bottom 過場（r1349 為了收合動畫的終點把它拿掉 ⇒ 左欄用跳的、右欄用滑的，兩欄升降不同步，
   map.html 等的 transitionend(bottom) 也永遠不來）。收合動畫的終點改由 pk-route-info.js 的 settledDock() 扣掉還沒走完的那一段。 */
#rt-go-chip{--up:#a56b45;--dn:#3b6fa0;--ink:var(--pk-ink,#1e2330);--muted:var(--pk-ink-2,#4a5168);--surface:var(--pk-white,#fff);--route:var(--pk-route,#6b4fbb);--teal:#326d70;--line:var(--ri-line);--you:#4a8b8d;--via:var(--pk-route,#6b4fbb);--route-line:rgba(107,79,187,.75);--ck:#3b6fa0;--warn-ink:var(--pk-ember-ink,#905e3c);--warn-bg:rgba(196,132,90,.12);--warn-bd:rgba(196,132,90,.45);position:absolute;left:14px;right:14px;z-index:29;pointer-events:none;color:var(--ink);font:var(--fs-12, 12px)/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft JhengHei',sans-serif}
#rt-go-chip .ri-frame{max-width:none;margin:0;display:flex;overflow:hidden;border:1px solid var(--line);border-radius:14px 12px 14px 14px;background:var(--surface);box-shadow:0 1px 3px rgba(30,35,48,.06),0 4px 12px rgba(30,35,48,.10);pointer-events:auto;max-height:var(--ri-room,500px);transform-origin:0 0}
#rt-go-chip[data-motion] .ri-frame{will-change:transform}
#rt-go-chip .ri-body{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}
#rt-go-chip .ri-content{flex:1;min-width:0;overflow:auto;overflow-x:hidden;overscroll-behavior:contain;padding:6px 12px;scrollbar-width:thin;scrollbar-color:var(--pk-sky,#aebdd4) transparent;touch-action:pan-y}
#route-attribution .maplibregl-ctrl-attrib{box-shadow:none;transition:padding .26s cubic-bezier(.22,.61,.36,1),background-color .8s linear,color .8s linear}
#route-attribution .maplibregl-ctrl-attrib::after{content:'';display:block;position:absolute;inset:0;box-sizing:border-box;border:1px solid var(--ri-line);border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .8s linear;z-index:1}
#route-attribution .maplibregl-ctrl-attrib-button{transition:filter .8s linear,background-color .8s linear}
#route-attribution .maplibregl-ctrl-attrib-inner,#route-attribution .maplibregl-ctrl-attrib a{transition:color .8s linear}
#route-attribution .maplibregl-ctrl-attrib.ri-attrib-backed{background-color:var(--pk-dusk,#4a5168);color:var(--pk-white,#fff)}
#route-attribution .maplibregl-ctrl-attrib.ri-attrib-backed::after{opacity:1}
#route-attribution .ri-attrib-backed .maplibregl-ctrl-attrib-inner,#route-attribution .ri-attrib-backed a{color:var(--pk-white,#fff)}
#route-attribution .ri-attrib-backed a{text-decoration:underline}
#route-attribution .ri-attrib-backed .maplibregl-ctrl-attrib-button{background-color:transparent;filter:brightness(0) invert(1)}
#rt-go-chip button{font:inherit;cursor:pointer}
#rt-go-chip .ri-fold{flex:0 0 44px;width:44px;min-height:44px;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:0;border-left:1px solid rgba(174,189,212,.32);border-radius:0;background:rgba(174,189,212,.10);color:var(--muted);padding:36px 0 8px}
#rt-go-chip .ri-fold:hover,#rt-go-chip .ri-fold:active{background:rgba(174,189,212,.23)}
#rt-go-chip .ri-fold svg{width:18px;height:18px;flex:none}
#rt-go-chip .ri-fold .ri-fold-text{writing-mode:vertical-rl;white-space:nowrap;letter-spacing:3px;font-weight:650;font-size:var(--fs-12, 12px)}
#rt-go-chip button:focus-visible,#rt-go-chip summary:focus-visible,#rt-elev-canvas:focus-visible{outline:3px solid var(--teal);outline-offset:-3px}
#rt-go-chip .ri-hero{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:5px}
#rt-go-chip .ri-primary{min-width:0;line-height:1.25;display:flex;flex-wrap:wrap;align-items:baseline;gap:1px 7px;font-variant-numeric:tabular-nums}
#rt-go-chip .ri-primary strong{font-size:27px;line-height:31px;font-weight:750;letter-spacing:-.35px}
/* v12：在路線上時大數字寫「剩下 / 全長」——斜線後的全長小一號、灰字 */
#rt-go-chip .ri-of{font-size:var(--fs-16, 16px);font-weight:650;color:var(--muted);letter-spacing:0;margin-left:3px}
#rt-go-chip .ri-of:empty{display:none}
#rt-go-chip .ri-primary>span{font-size:var(--fs-13-5, 13.5px);font-weight:650;color:var(--muted)}
/* r1382（v11）：狀態膠囊（摘要與剖面兩面都有；按下去＝圖例）。ok＝只有圖示青綠、底框中性（青綠在這支 App 是「沒問題」的顏色，
   「在路線上」只代表離畫出來的線很近）；warn＝琥珀（定位停住了／人不在路線上）；mute＝灰（還在等、不夠準、分不出在哪一段）。
   精度用字重退位、不用 opacity（opacity 的代價直接算在對比上）；可按範圍用 ::before 撐到 44 px。 */
#rt-go-chip .ri-chip{position:relative;display:inline-flex;align-items:center;gap:5px;min-height:28px;max-width:100%;box-sizing:border-box;padding:3px 9px 3px 7px;border-radius:14px;border:1px solid var(--chip-bd,var(--line));background:var(--chip-bg,transparent);color:var(--chip-fg,var(--ink));font-size:var(--fs-13, 13px);font-weight:650;line-height:1.25;text-align:left}
#rt-go-chip .ri-chip::before{content:'';position:absolute;inset:-8px -4px}
#rt-go-chip .ri-chip-ic{display:inline-flex;flex:none;width:16px;height:16px;color:var(--chip-ic,currentColor)}
#rt-go-chip .ri-chip-ic svg{width:16px;height:16px}
/* 狀態的字永遠整句（「在路…」等於沒講）；擠不下時精度先讓（r1382 截圖驗收：右上兩顆鈕一樣寬時膠囊只剩 136 px） */
#rt-go-chip .ri-chip-tx{flex:none;white-space:nowrap}
#rt-go-chip .ri-chip .ri-accuracy{min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:500;color:var(--muted);white-space:nowrap}
#rt-go-chip .ri-chip .ri-accuracy:empty{display:none}
#rt-go-chip .ri-chip-more{flex:none;margin-left:1px;font-weight:700;color:var(--muted)}
#rt-go-chip .ri-chip[data-tone=ok]{--chip-ic:var(--teal)}
#rt-go-chip .ri-chip[data-tone=warn]{--chip-fg:var(--warn-ink);--chip-bg:var(--warn-bg);--chip-bd:var(--warn-bd);border-width:1.5px}
#rt-go-chip .ri-chip[data-tone=warn] .ri-accuracy,#rt-go-chip .ri-chip[data-tone=warn] .ri-chip-more{color:var(--warn-ink)}
#rt-go-chip .ri-chip[data-tone=mute]{--chip-fg:var(--muted);--chip-bg:rgba(174,189,212,.14);--chip-bd:rgba(174,189,212,.55)}
#rt-go-chip .ri-chip:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
/* 靠你的位置算出來的那一組（到 B、路線海拔）小標青綠；整條路線的數字一律中性——定位一失效，卡上的青綠整片退掉 */
#rt-go-chip.ri-near .ri-hero-label{color:var(--teal)}
#rt-go-chip .ri-approx{font-size:var(--fs-17, 17px);font-weight:650;margin-right:2px}
/* 升降：↑↓（同底部面板、GPX 清單與全線高度統計）；≥＝至少（讀屏念「至少」）；兩個都沒有就寫「沒有高度資料」 */
#rt-go-chip .ri-gains{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 16px;font-size:var(--fs-16, 16px);line-height:24px;font-variant-numeric:tabular-nums;color:var(--muted)}
#rt-go-chip .ri-g{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
#rt-go-chip .ri-g-ic{display:inline-flex;flex:none;color:var(--muted)}
#rt-go-chip .ri-g-ic svg{width:17px;height:17px;stroke-width:2.5;display:block}
#rt-go-chip .ri-g-up .ri-g-ic{color:var(--up)}
#rt-go-chip .ri-g-dn .ri-g-ic{color:var(--dn)}
#rt-go-chip .ri-g-v{font-weight:700;color:var(--ink)}
/* v12：升降「剩下 / 全線」的斜線後半 */
#rt-go-chip .ri-g-of{font-size:var(--fs-13, 13px);font-weight:600;color:var(--muted)}
#rt-go-chip .ri-g-of:empty{display:none}
#rt-go-chip .ri-al,#rt-go-chip .ri-al-sr,#rt-go-chip .ri-g-none{display:none}
#rt-go-chip .is-atleast .ri-al{display:inline;font-weight:700;color:var(--ink)}
#rt-go-chip .is-atleast .ri-al-sr{display:block}
#rt-go-chip .is-none .ri-g{display:none}
#rt-go-chip .is-none .ri-g-none{display:inline;font-size:var(--fs-13, 13px)}
#rt-go-chip .ri-g-cap{font-size:var(--fs-13, 13px);color:var(--muted)}
#rt-go-chip .ri-g-cap:empty{display:none}
#rt-go-chip .ri-totals{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;margin-top:4px;font-size:var(--fs-13, 13px);line-height:22px;color:var(--muted);font-variant-numeric:tabular-nums}
#rt-go-chip .ri-totals b{font-weight:650;color:var(--ink)}
#rt-go-chip .ri-totals .ri-gains{align-items:center;font-size:var(--fs-14, 14px);line-height:22px;gap:0 10px}
/* 路線條：A ——①——●——②—— B。經過點畫在線上方（同剖面圖），有經過點才留那一截空間；● 在線上；線本身 ≥3:1 */
#rt-go-chip .ri-bar{display:flex;align-items:center;height:20px;margin:8px 0 2px}
#rt-go-chip .ri-bar.has-via{margin-top:24px}
#rt-go-chip .ri-bar.has-you{margin-bottom:16px}
#rt-go-chip .ri-end{flex:none;width:16px;text-align:center;font-size:var(--fs-15, 15px);font-weight:800;line-height:20px;color:var(--muted)}
#rt-go-chip .ri-line{position:relative;flex:1;height:4px;margin:0 6px;border-radius:2px;background:var(--route-line)}
#rt-go-chip .ri-stops{position:absolute;inset:0}
#rt-go-chip .ri-stop{position:absolute;top:50%;transform:translate(-50%,-50%)}
#rt-go-chip .ri-via{top:calc(50% - 15px);min-width:20px;height:20px;padding:0 4px;box-sizing:border-box;border-radius:10px;border:2px solid var(--via);background:var(--surface);color:var(--via);font-size:var(--fs-11, 11px);font-weight:800;line-height:16px;text-align:center}
#rt-go-chip .ri-via::after{content:'';position:absolute;left:50%;top:100%;width:2px;height:4px;background:var(--via);transform:translateX(-50%)}
#rt-go-chip .ri-via.is-next{background:var(--via);color:var(--surface)}
#rt-go-chip .ri-via-tick{min-width:0;width:2px;height:9px;padding:0;border:0;border-radius:1px;background:var(--via);top:calc(50% - 7px)}
#rt-go-chip .ri-via-tick::after{display:none}
#rt-go-chip .ri-ck{width:8px;height:8px;background:var(--ck);border:1.5px solid var(--surface);box-sizing:content-box}
#rt-go-chip .ri-you{position:absolute;top:50%;width:13px;height:13px;border-radius:50%;background:var(--you);border:2.5px solid var(--surface);box-shadow:0 0 0 1px rgba(30,35,48,.25);transform:translate(-50%,-50%);z-index:2;box-sizing:content-box}
/* v12：● 底下「3.18 km · 45%」（離 A 的里程與在全長上的百分比；不寫「已走」） */
#rt-go-chip .ri-pct{position:absolute;top:10px;transform:translateX(-50%);font-size:var(--fs-12-5, 12.5px);line-height:16px;font-weight:750;color:var(--teal);white-space:nowrap;font-variant-numeric:tabular-nums}
/* 下一處（是 B 就不列） */
#rt-go-chip .ri-next{display:flex;align-items:center;gap:7px;border-top:1px solid rgba(174,189,212,.3);padding:6px 0 1px;margin-top:4px;font-size:var(--fs-13, 13px);line-height:22px}
#rt-go-chip .ri-next-k{flex:none;color:var(--muted)}
#rt-go-chip .ri-next-mark.ri-stop{position:static;transform:none;flex:none}
#rt-go-chip .ri-next-mark.ri-via::after{display:none}
#rt-go-chip .ri-next-name{min-width:0;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#rt-go-chip .ri-next-name:empty{display:none}
#rt-go-chip .ri-next b{margin-left:auto;flex:none;font-size:var(--fs-15, 15px);font-weight:700;font-variant-numeric:tabular-nums}
/* 標籤：只有沿 GPX、沒算出步道、自己選的直線、A／B 離那條線才掛 */
#rt-go-chip .ri-kinds{display:flex;flex-wrap:wrap;gap:4px 6px;margin-top:6px}
#rt-go-chip .ri-kind{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 9px;border-radius:11px;font-size:var(--fs-12-5, 12.5px);line-height:22px;background:rgba(174,189,212,.16);color:var(--muted)}
#rt-go-chip .ri-kind[data-tone=warn]{background:var(--warn-bg);color:var(--warn-ink)}
#rt-go-chip .ri-kind[data-tone=route]{background:rgba(107,79,187,.10);color:var(--via)}
#rt-go-chip .ri-peak{color:var(--pk-amber,#c4845a);font-size:var(--fs-13, 13px)}
/* 圖例：打開時取代卡片內容（卡片跟著長高，不在原本的高度裡捲）；內容由 pk-route-info.js 依目前狀態產生 */
#rt-go-chip .ri-legend{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 12px 12px;font-size:var(--fs-13, 13px);line-height:1.55}
#rt-go-chip.ri-legend-open .ri-content{display:none}
#rt-go-chip .ri-legend-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;min-height:44px;background:var(--surface)}
#rt-go-chip .ri-legend-head b{font-size:var(--fs-15, 15px)}
#rt-go-chip #ri-legend-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-10px;border:0;border-radius:9px;background:transparent;color:var(--muted)}
#rt-go-chip #ri-legend-close svg{width:18px;height:18px}
#rt-go-chip .ri-legend-tones{margin:0 0 6px;color:var(--muted)}
#rt-go-chip .ri-legend-sec{margin:8px 0 4px;font-size:var(--fs-12-5, 12.5px);font-weight:700;color:var(--muted)}
#rt-go-chip .ri-legend-list{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:7px 10px;align-items:center;margin:0}
#rt-go-chip .ri-legend-list dt{display:flex;align-items:center;gap:5px;margin:0}
#rt-go-chip .ri-legend-list dd{margin:0;color:var(--ink)}
#rt-go-chip .ri-legend-list .is-now{background:rgba(174,189,212,.16);border-radius:8px}
#rt-go-chip .ri-legend-list dt.is-now{padding:3px 0 3px 4px}
#rt-go-chip .ri-legend-list dd.is-now{padding:3px 6px}
#rt-go-chip .ri-chip-demo{min-height:24px;font-size:var(--fs-12, 12px);padding:2px 8px 2px 6px}
#rt-go-chip .ri-chip-demo::before{display:none}
#rt-go-chip .ri-chip-demo .ri-chip-ic,#rt-go-chip .ri-chip-demo .ri-chip-ic svg{width:14px;height:14px}
#rt-go-chip .ri-lg-acc{font-size:var(--fs-12-5, 12.5px);font-weight:500;color:var(--muted);white-space:nowrap}
#rt-go-chip .ri-lg-gains{display:inline-flex;align-items:center;gap:4px}
#rt-go-chip .ri-lg-gains .ri-g-ic svg{width:16px;height:16px}
#rt-go-chip .ri-lg-up{color:var(--up)}
#rt-go-chip .ri-lg-dn{color:var(--dn)}
#rt-go-chip .ri-lg-track{position:relative;display:inline-block;width:38px;height:4px;border-radius:2px;background:var(--route-line)}
#rt-go-chip .ri-lg-you{position:absolute;left:55%;top:50%;width:9px;height:9px;border-radius:50%;background:var(--you);border:2px solid var(--surface);transform:translate(-50%,-50%);box-sizing:content-box}
#rt-go-chip .ri-lg-vias{display:inline-flex;gap:4px}
#rt-go-chip .ri-lg-via{display:inline-block;min-width:18px;height:18px;padding:0 3px;box-sizing:border-box;border-radius:9px;border:2px solid var(--via);color:var(--via);background:var(--surface);font-size:var(--fs-10, 10px);font-weight:800;line-height:14px;text-align:center}
#rt-go-chip .ri-lg-via.is-next{background:var(--via);color:var(--surface)}
#rt-go-chip .ri-lg-ck{display:inline-block;width:8px;height:8px;background:var(--ck);outline:1.5px solid var(--surface)}
#rt-go-chip .ri-lg-peak{color:var(--pk-amber,#c4845a);font-size:var(--fs-14, 14px)}
#rt-go-chip .ri-lg-gap{display:inline-block;width:18px;height:11px;border-radius:2px;background:rgba(174,189,212,.38)}
#rt-go-chip .ri-lg-word{font-size:var(--fs-12-5, 12.5px);font-weight:650;color:var(--muted);white-space:nowrap}
#rt-go-chip .ri-legend-note{margin:10px 0 0;color:var(--muted)}
#rt-go-chip .ri-mode-button{flex:none;min-height:44px;min-width:84px;display:flex;gap:4px;align-items:center;justify-content:center;border:0;border-radius:9px;padding:0 7px;color:var(--muted);background:rgba(174,189,212,.16);font-weight:650;white-space:nowrap}
#rt-go-chip .ri-mode-button svg{width:16px;height:16px}
#rt-go-chip .ri-profile{display:grid;grid-template-areas:'heading' 'pgains' 'plot' 'details';grid-template-columns:minmax(0,1fr)}
/* v12：剖面頂端＝摘要那一套——升降與全長那一列放在標題列正下方（同摘要），一次只會有一個看得見 */
#rt-go-chip .ri-profile #ri-gains-prof,#rt-go-chip .ri-profile #ri-totals-prof{grid-area:pgains}
#rt-go-chip .ri-profile>.ri-heading{grid-area:heading}
#rt-go-chip .ri-plot{grid-area:plot;min-width:0;position:relative;isolation:isolate}
#rt-elev-canvas{display:block;width:100%;height:116px;touch-action:pan-y;margin:0}
#rt-go-chip details{grid-area:details;border-top:1px solid rgba(174,189,212,.3);color:var(--muted);font-size:var(--fs-12, 12px)}
#rt-go-chip summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none}
#rt-go-chip summary::-webkit-details-marker{display:none}
#rt-go-chip .ri-details-arrow::after{content:'＋';font-size:var(--fs-17, 17px)}
#rt-go-chip details[open] .ri-details-arrow::after{content:'−'}
#rt-go-chip .ri-total{display:flex;flex-wrap:wrap;gap:3px 12px;padding-bottom:5px}
#rt-go-chip .ri-total p{width:100%;margin:4px 0 0;line-height:18px}
#rt-go-chip .ri-total b{color:var(--ink)}
#rt-go-chip.ri-compact #rt-elev-canvas{height:92px}
#rt-go-chip.ri-compact .ri-primary strong{font-size:23px;line-height:27px}
#rt-go-chip.ri-compact .ri-bar.has-via{margin-top:22px}
@media(prefers-reduced-motion:reduce){#route-attribution .maplibregl-ctrl-attrib,#route-attribution .maplibregl-ctrl-attrib::after,#route-attribution .maplibregl-ctrl-attrib-button,#route-attribution .maplibregl-ctrl-attrib-inner,#route-attribution .maplibregl-ctrl-attrib a{transition:none}}

/* The information icon has its own 24px surface; source text opens left without reflowing the card. */
:where(body,.pkmag-body):not(.radar-mode):not(.tm-mode) #attrib-slot:not(:has(#sin-at:not([hidden]))){display:none!important}
/* Keep the existing takeover attribution row measurable by rdSyncAttribH. */
.radar-mode #attrib-slot::before,.tm-mode #attrib-slot::before{content:'';display:block;width:24px;height:24px;flex:none}
#route-attribution{position:absolute;width:24px;height:24px;z-index:35;pointer-events:none}
/* r1359：扳手選單開著時 ⓘ 讓到選單底下。頂列此時抬到 32（map.html r853 的 :has(#pk-tools.on)），ⓘ 平常 35 ⇒ 壓在選單前幾列的右端、吃掉那一點的點擊。
   31 仍高過資訊卡（29；閱讀展開時卡片 31，同值靠 DOM 順序，ⓘ 排在卡片後面）。 */
#topbar:has(#pk-tools.on)~#route-attribution{z-index:31}
/* r1359：自動閃現（開 App、換底圖；map.html attrFlash 掛 pk-attr-auto）而底下墊著資訊卡時，展開的文字不擋手——它正好蓋在卡片右上角的「看剖面／看摘要」上，
   想按那顆鈕按到的是這塊（裡面還有連結，會誤開瀏覽器）。點下去穿到卡片，卡片那支 pointerdown 會把它收掉。使用者自己點 ⓘ 打開的不掛這個 class，照舊可以點連結。
   只在 ri-attrib-backed（底下確定是卡片）時穿透：沒有卡片時底下是地圖，穿過去會在找路頁籤放出一個點。 */
#route-attribution .ri-attrib-backed.pk-attr-auto .maplibregl-ctrl-attrib-inner{pointer-events:none}
#route-attribution .maplibregl-ctrl-attrib{width:24px;height:24px;min-height:24px;box-sizing:border-box;margin:0;padding:0!important;font-size:10px;pointer-events:auto;overflow:visible}
#route-attribution .maplibregl-ctrl-attrib::after{background-image:none}
#route-attribution .maplibregl-ctrl-attrib-inner{position:absolute;right:32px;top:0;width:max-content;max-width:min(280px,calc(100vw - 78px));white-space:normal;line-height:1.55;padding:9px 11px;border:1px solid var(--ri-line);border-radius:12px;background:var(--pk-white,#fff);color:var(--pk-ink-2,#4a5168);box-shadow:0 3px 12px rgba(30,35,48,.12);transition:opacity .18s,transform .26s,background-color .8s linear,color .8s linear;transform-origin:100% 12px}
#route-attribution .maplibregl-ctrl-attrib:not(.maplibregl-compact-show) .maplibregl-ctrl-attrib-inner{max-width:min(280px,calc(100vw - 78px));opacity:0;transform:scale(.96) translateX(6px);visibility:hidden;pointer-events:none}
#route-attribution .ri-attrib-backed .maplibregl-ctrl-attrib-inner{background-color:var(--pk-dusk,#4a5168);color:var(--pk-white,#fff)}
#zoomctrl #map-tools-scroll{flex-direction:column;overflow:visible;max-width:none}
#vscale,.maplibregl-ctrl-scale{display:none!important}
@media(prefers-reduced-motion:reduce){#route-attribution .maplibregl-ctrl-attrib-inner{transition:none}}

#rt-go-chip .ri-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

#rt-go-chip .ri-heading{display:flex;align-items:flex-start;gap:6px;min-width:0}
#rt-go-chip .ri-lead{flex:1;min-width:0}
/* 右上那一欄只有一顆鈕：摘要那一面［看剖面］、剖面那一面［看摘要］（v12 起「圖例」鈕拿掉；10-05 起［清除查看點］搬進線圖右上角，見檔尾 #ri-clear-view）。 */
#rt-go-chip .ri-mode-control{flex:none;align-self:flex-start;display:grid;grid-template-columns:repeat(2,auto);justify-content:end;justify-items:end;align-items:center;gap:0}
#rt-go-chip .ri-mode-button{min-width:80px}
#rt-go-chip .ri-profile .ri-heading{margin-bottom:0}
#rt-go-chip .ri-profile>.ri-plot{margin-top:3px}
#rt-go-chip.ri-wide-short .ri-heading,#rt-go-chip.ri-wide-short .ri-lead{display:contents}
#rt-go-chip.ri-wide-short .ri-summary{display:grid;grid-template-columns:max-content max-content minmax(0,1fr) max-content;grid-template-areas:"status status status mode" "hero gains next mode" "totals totals totals mode" "bar bar bar bar" "kinds kinds kinds kinds";column-gap:12px;align-items:center}
#rt-go-chip.ri-wide-short .ri-hero{grid-area:hero;margin-top:0}
#rt-go-chip.ri-wide-short #ri-gains-sum{grid-area:gains}
#rt-go-chip.ri-wide-short #ri-fallback{grid-column:1/4;grid-row:2}
#rt-go-chip.ri-wide-short .ri-totals{grid-area:totals}
#rt-go-chip.ri-wide-short .ri-bar{grid-area:bar}
#rt-go-chip.ri-wide-short .ri-kinds{grid-area:kinds}
#rt-go-chip.ri-wide-short .ri-status{grid-area:status;justify-self:start}
#rt-go-chip.ri-wide-short .ri-mode-control{grid-area:mode;justify-self:end;grid-template-columns:auto;justify-items:stretch;gap:2px}
#rt-go-chip.ri-wide-short .ri-summary .ri-mode-control{grid-template-columns:none;grid-auto-flow:column;align-items:center;gap:0 4px}
#rt-go-chip.ri-wide-short .ri-next{grid-area:next;justify-self:end;min-width:0;max-width:100%;border-top:0;padding:0;margin:0}
#rt-go-chip.ri-wide-short .ri-profile{grid-template-columns:minmax(150px,.85fr) minmax(0,1.15fr) max-content;grid-template-areas:"status plot mode" "hero plot mode" "pgains plot mode" "details details details";gap:0 10px;align-items:start}
#rt-go-chip.ri-wide-short .ri-profile>.ri-plot{margin-top:0}
#rt-go-chip.ri-wide-short .ri-content{padding-top:4px;padding-bottom:4px}

#ri-readout{position:absolute;inset:0;pointer-events:none;font-size:var(--fs-12, 12px);line-height:1.35;font-variant-numeric:tabular-nums;z-index:2}
#ri-read-label,#ri-read-value{position:absolute;right:0;display:block;width:max-content;max-width:100%;box-sizing:border-box;white-space:nowrap;border:1px solid var(--line);border-radius:5px;padding:1px 5px;background:var(--surface);color:var(--ink)}
#ri-read-label{font-weight:550}
/* 10-05（W2）：「查看 ○○ m」讓到線圖右上角清除鍵的左邊（鍵寬 44 px＋4 px） */
#ri-read-value{font-weight:700;right:48px;max-width:calc(100% - 48px)}
#ri-read-value::before{content:'';display:inline-block;width:6px;height:6px;margin-right:5px;background:var(--ink);vertical-align:2px}
/* 10-05（審查 W2，創辦人「搬進線圖右上角」）：清除查看點住在線圖右上角（第 9 版「清除查看點保留在圖內」），兩面的上端兩行完全不受影響
   （原本浮在［看摘要］正下方，320／360 寬點選時點擊範圍壓到升降那一列，點數字會清掉查看點）。
   點得到的範圍＝44 px 寬 × 線圖頂端那條讀值帶的高（readout() 寫進 style.height），不伸進曲線；看得見的是右上角一格小方框（同讀值標籤的框線）。 */
#ri-clear-view{position:absolute;top:0;right:0;z-index:3;display:flex;align-items:flex-start;justify-content:flex-end;border:0;background:transparent;color:var(--muted);width:44px;height:29px;border-radius:0;padding:0}
#ri-clear-view .pk-i{display:block}
#ri-clear-view svg{display:block;box-sizing:content-box;width:16px;height:16px;padding:3px;border:1px solid var(--line);border-radius:5px;background:var(--surface)}
#ri-clear-view:hover,#ri-clear-view:active{color:var(--ink)}
#ri-clear-view:hover svg,#ri-clear-view:active svg{box-shadow:inset 0 0 0 20px rgba(174,189,212,.22)}
#rt-go-chip.ri-large-text:not(.ri-wide-short) .ri-heading{flex-direction:column-reverse;align-items:stretch}
#rt-go-chip.ri-large-text:not(.ri-wide-short) .ri-mode-control{align-self:flex-end;grid-template-columns:none;grid-auto-flow:column;column-gap:4px}
#rt-go-chip.ri-wide-short.ri-large-text .ri-profile{grid-template-columns:minmax(0,1fr) max-content;grid-template-areas:"status mode" "hero mode" "pgains mode" "plot plot" "details details";row-gap:4px}
.ri-reading-expanded #rt-go-chip{z-index:31}
#rt-go-chip.ri-wide-short.ri-large-text .ri-fold{padding-top:28px}
:where(body,.pkmag-body):not(.ri-reading-expanded) #rt-go-chip.ri-wide-short.ri-large-text .ri-fold .ri-fold-text{display:none}

/* Canonical route container remains measurable by map collision/drag helpers. */
#rt-go-chip{left:12px;right:12px;bottom:auto;padding:0;transform:none;transition:opacity .16s,visibility .16s;--ri-safe-bottom:env(safe-area-inset-bottom,0px)}
#rt-go-chip[data-motion]{visibility:visible!important;opacity:1!important;transition:none;pointer-events:none!important}
#rt-go-chip[data-motion] *{pointer-events:none!important}
#rt-go-chip .ri-fold .pk-i{flex:none;display:block;width:18px;height:18px}
#rt-go-chip #rt-elev{position:static;padding:0;margin:0;inset:auto;max-width:none;opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:none}
#rt-go-chip #rt-elev-canvas{width:100%;height:116px;margin:0;touch-action:pan-y}
#rt-go-chip #rt-elev-stats{margin:0;gap:3px 12px;border:0;padding:0 0 5px;justify-content:flex-start;font-size:var(--fs-13, 13px);color:var(--muted);display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
#rt-go-chip #rt-elev-stats .nt{grid-column:1/-1}
#rt-go-chip #rt-elev-stats b{color:var(--ink)}
#rt-go-chip #rt-result{font-size:var(--fs-15, 15px);white-space:normal;overflow-wrap:anywhere}
#rt-go-chip #rt-sub{font-size:var(--fs-12, 12px);white-space:normal;margin:4px 0}
#zoomctrl{z-index:12;flex-direction:column}
.radar-mode.ri-reading-expanded #rt-go-chip,.tm-mode.ri-reading-expanded #rt-go-chip{visibility:hidden!important;pointer-events:none!important}
#rt-go-chip .ri-fold{height:auto}
#rt-info-fold::after{display:none}
#rt-info-fold svg{transform:none}
.map-dim{--ri-line:#59647a}
.map-dim #rt-go-chip{--up:#e3a37c;--dn:#8db4e0;--surface:#232937;--ink:#e9edf5;--muted:#c6cfdf;--teal:#8ac5c4;--you:#8ac5c4;--via:#a99af0;--route-line:rgba(170,150,235,.75);--ck:#8db4e0;--warn-ink:#e7b48f;--warn-bg:rgba(231,180,143,.13);--warn-bd:rgba(231,180,143,.45)}
.map-dim #rt-go-chip .ri-peak,.map-dim #rt-go-chip .ri-lg-peak{color:#e0a27a}
.map-dim #rt-go-chip .ri-kind[data-tone=route]{background:rgba(170,150,235,.16);color:#c9bef7}
.map-dim #route-attribution .maplibregl-ctrl-attrib-inner{background:#232937;color:#e9edf5}
.map-dim #route-attribution .maplibregl-ctrl-attrib-inner a{color:#e9edf5}
.radar-mode #rt-go-chip,.tm-mode #rt-go-chip{transition:none}
/* 擺在檔尾：上面那條「Canonical route container」把 left/right 定回 12px，這條要排在它後面才贏得了。 */
@media(max-width:340px){#rt-go-chip{left:10px;right:10px}#rt-go-chip .ri-content{padding-left:9px;padding-right:9px}#rt-go-chip .ri-primary strong{font-size:23px}#rt-go-chip .ri-gains{gap:0 10px}#rt-go-chip .ri-next{gap:5px}#rt-go-chip .ri-chip{font-size:var(--fs-12-5, 12.5px);gap:4px;padding:3px 7px 3px 6px}#rt-go-chip .ri-chip-more{display:none}#rt-go-chip .ri-mode-button{min-width:0;padding:0 8px}#rt-go-chip .ri-mode-button .pk-i{display:none}#rt-go-chip .ri-of{font-size:var(--fs-14, 14px)}#rt-go-chip .ri-g-of{font-size:var(--fs-12, 12px)}}
