/* Original rail remains at its native z-index 5, above HUD pills; the expanded native minimap stays clear of its left lane.
   No rail, camera, swing, club strip or page-overflow rules are overridden. */
.oc-hud { display:contents; font-family:var(--brand,Inter,system-ui,sans-serif); color:#f8fafc; }
body[data-screen="menu"] .oc-hud, .oc-hud[hidden], .oc-hud [hidden] { display:none !important; }
.oc-hud button { font:inherit; color:inherit; cursor:pointer; border:1px solid #ffffff40; border-radius:12px; background:#12352e; padding:8px 12px; min-height:40px; touch-action:manipulation; }
.oc-hud button:disabled { opacity:.5; cursor:default; }
.oc-hud :focus-visible, .oc-active .strokeTile:focus-visible { outline:3px solid #f8d477; outline-offset:3px; }
.oc-active .strokeTile { cursor:pointer; }
.oc-native-swing { position:fixed; z-index:4; left:66px; bottom:calc(240px + env(safe-area-inset-bottom,0px)); border-radius:999px !important; }
.oc-log { position:fixed; z-index:4; right:12px; bottom:calc(240px + env(safe-area-inset-bottom,0px)); border-radius:999px !important; box-shadow:0 3px 14px #0007; font-weight:750 !important; }
.oc-gps { position:fixed; z-index:4; right:12px; top:calc(82px + env(safe-area-inset-top,0px)); max-width:230px; display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:6px; font-size:11px; text-shadow:0 1px 4px #000; }
.oc-gps button { font-size:11px; padding:5px 8px; min-height:32px; border-radius:999px; }
.oc-review { position:fixed; box-sizing:border-box; z-index:14; right:12px; left:max(66px,calc(100vw - 440px)); padding:12px; border:1px solid #ffffff40; border-radius:16px; background:#0b252bf2; box-shadow:0 8px 28px #0006; }
.oc-detail { font-size:11px; line-height:1.5; color:#d0e4df; margin:6px 0; overflow-wrap:anywhere; }
.oc-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.oc-actions strong { flex:1; }
.oc-hud .oc-primary { background:#167953; }
.oc-review { bottom:calc(174px + env(safe-area-inset-bottom,0px)); max-height:min(430px,58dvh); overflow:auto; overscroll-behavior:contain; touch-action:pan-y; }
.oc-hole-list { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.oc-hole-row { display:grid; grid-template-columns:1fr 44px; align-items:center; gap:3px; padding:5px; border-radius:8px; background:#ffffff0a; font-size:12px; }
.oc-hole-row button { padding:5px; min-height:36px; }
.oc-hole-row small { color:#bbd4cb; grid-column:1/-1; }
.oc-secondary { border-top:1px solid #ffffff25; margin-top:12px; padding-top:8px; font-size:12px; }
.oc-end-confirm { display:flex; flex-wrap:wrap; gap:8px; padding:8px 0; }
.oc-end-confirm span { flex-basis:100%; }
@media (max-height:560px) { .oc-review { bottom:12px; max-height:65dvh; } }
/* Expand the SAME native 2D hole SVG, never a second course renderer. */
body.oc-active #side::before { content:''; display:block; width:68px; height:178px; flex:none; }
body.oc-active #miniMap { position:fixed; left:66px; right:auto; top:calc(76px + env(safe-area-inset-top,0px)); z-index:5; }
#miniMap { transition:width 220ms ease,height 220ms ease,left 220ms ease,top 220ms ease; }
#miniMap.oc-map-expanded { position:fixed; left:66px; right:12px; top:calc(78px + env(safe-area-inset-top,0px)); bottom:calc(240px + env(safe-area-inset-bottom,0px)); width:calc(100vw - 78px); height:calc(100dvh - 318px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)); max-width:520px; padding:4px; z-index:14; display:flex; flex-direction:column; gap:4px; cursor:default; background:#071d1bf5; touch-action:none; }
#miniMap.oc-map-expanded svg { flex:1; min-height:0; height:auto; border-radius:10px; touch-action:none; order:1; }
.oc-map-journal-header { display:flex; align-items:center; gap:8px; padding:3px 6px; order:0; font:12px system-ui; color:white; }
.oc-map-journal-header strong { flex:1; }
.oc-map-journal-sled { order:2; padding:6px; background:#092e29; border-radius:10px; color:#f8fafc; font:12px system-ui; max-height:45%; overflow:auto; touch-action:pan-y; }
.oc-map-journal-status { font-weight:700; margin-bottom:5px; }
.oc-map-journal-actions,.oc-map-journal-list { display:flex; gap:5px; flex-wrap:wrap; }
.oc-map-journal-list:empty { display:none; }
.oc-map-journal-list { max-height:58px; overflow:auto; margin-bottom:5px; }
.oc-map-journal-header button,.oc-map-journal-sled button { font:inherit; color:inherit; border:1px solid #ffffff45; border-radius:9px; background:#123e35; padding:7px 9px; min-height:36px; cursor:pointer; touch-action:manipulation; }
.oc-map-journal-actions .oc-primary { flex:1; background:#167950; font-weight:700; }
.oc-map-journal-details-toggle { padding:3px 8px !important; min-height:28px !important; margin-top:3px; font-size:11px !important; }
.oc-map-journal-details[hidden] { display:none; }
.oc-map-journal-details { display:grid; gap:5px; padding-top:7px; }
.oc-map-journal-details input,.oc-map-journal-details select { max-width:160px; color:white; border:1px solid #ffffff45; background:#06251e; border-radius:6px; padding:4px; }
.oc-map-journal-shape-handle { fill:#fbbf24 !important; stroke:#fff !important; cursor:ew-resize; }
.oc-map-journal-draft { cursor:move; }
.oc-map-journal-start,.oc-map-journal-end { cursor:pointer; }
.oc-map-journal-offhole svg { display:none !important; }
@media(prefers-reduced-motion:reduce) { #miniMap { transition:none; } }
.oc-quick-card { position:fixed; z-index:14; top:calc(78px + env(safe-area-inset-top,0px)); right:12px; width:min(316px,calc(100vw - 74px)); box-sizing:border-box; padding:4px; border:1px solid #ffffff45; border-radius:16px; color:white; background:#092b2af2; box-shadow:0 6px 18px #0005; }
.oc-quick-card[hidden],.oc-quick-card [hidden] { display:none !important; }
.oc-quick-card button { min-width:44px; min-height:44px; position:relative; padding:4px; border:1px solid #ffffff35; border-radius:10px; color:white; background:#123e35; font:700 15px system-ui; touch-action:manipulation; cursor:pointer; }
.oc-quick-card svg { width:22px; height:22px; vertical-align:middle; flex:none; }
.oc-quick-score { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; gap:5px; margin-bottom:5px; }
.oc-quick-score button { font-size:26px; }
.oc-quick-score input { width:100%; min-width:0; height:50px; border:1px solid #ffffff35; border-radius:10px; background:#061f23; color:white; text-align:center; font:800 29px system-ui; padding:0; }
.oc-quick-stats,.oc-quick-putts,.oc-quick-metrics { display:flex; gap:4px; align-items:center; }
.oc-quick-stats { margin-bottom:5px; justify-content:space-between; }
.oc-quick-putts svg { width:12px; height:18px; }
.oc-quick-card button[aria-pressed="true"],.oc-quick-card button.is-hit { background:#12835b; border-color:#7df9c1; box-shadow:inset 0 0 0 1px #b8ffe7; }
.oc-quick-card button.is-hit::after { content:'✓'; position:absolute; right:2px; bottom:0; font-size:12px; }
.oc-quick-card button.is-miss::after { content:'×'; position:absolute; right:2px; bottom:0; }
.oc-quick-card button.is-suggested { border-style:dashed; border-color:#84d9af; }
.oc-quick-metrics > button { display:flex; gap:5px; align-items:center; justify-content:center; flex:1; font-size:13px; }
.oc-quick-card button:focus-visible { outline:2px solid #f8d477; outline-offset:1px; }
.oc-hole-row { grid-template-columns:1fr 44px 36px; }
.oc-map-journal-chips { display:flex; gap:4px; flex-wrap:wrap; }
.oc-map-journal-chips button[aria-pressed="true"] { background:#167950; border-color:#a5f5d0; }
@media(prefers-reduced-motion:no-preference) { .oc-quick-card button { transition:background 120ms ease,border-color 120ms ease; } }
.oc-quick-putts { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:5px; }
.oc-quick-putt-icon { display:flex; align-items:center; width:16px; flex:none; }
.oc-quick-putt-icon svg { width:16px; height:22px; }
.oc-quick-stats { justify-content:flex-end; }
.oc-quick-stats button { flex:1; }
