/* v11.2 Beta — one live/history course-mapping workspace */
#courseMapEditor{--cme-head:calc(58px + env(safe-area-inset-top));--cme-panel:min(44dvh,390px);position:fixed;inset:0 0 auto;height:100dvh;min-height:100dvh;z-index:4800;background:#0F2D1D;color:#F4F1E8;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;overflow:hidden}
.cme-head{box-sizing:border-box;height:var(--cme-head);padding:env(safe-area-inset-top) 12px 7px;display:flex;align-items:center;gap:10px;background:linear-gradient(180deg,#1E4D2B,#0F2D1D);border-bottom:1px solid rgba(255,255,255,.12);position:relative;z-index:4}
.cme-head>div{min-width:0;flex:1}.cme-head b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cme-head small{display:block;color:#A6BBB0;font-size:10px;margin-top:2px;letter-spacing:.03em}.cme-head button{flex:0 0 44px;width:44px;height:44px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.06);color:#F4F1E8;font-size:18px}
.cme-holebar{position:absolute;left:0;right:0;top:var(--cme-head);height:48px;box-sizing:border-box;z-index:4;display:flex;gap:5px;align-items:center;overflow-x:auto;padding:5px 8px;background:rgba(15,45,29,.94);border-bottom:1px solid rgba(255,255,255,.1);scrollbar-width:none}.cme-holebar::-webkit-scrollbar{display:none}.cme-holebar button{position:relative;min-width:40px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.04);color:#A6BBB0;font-size:12px;font-weight:700}.cme-holebar button span{position:absolute;right:3px;bottom:1px;font-size:7px}.cme-holebar button.complete{border-color:#A7C957;color:#DFF3D2}.cme-holebar button.partial{border-color:#E8B04B;color:#F5DBA4}.cme-holebar button.on{background:#3E7D3A;color:white;border-color:#A7C957}
#cmeMap{position:absolute;left:0;right:0;top:calc(var(--cme-head) + 48px);bottom:var(--cme-panel);background:#22302a}.cme-legend{position:absolute;z-index:500;top:calc(var(--cme-head) + 58px);left:8px;display:flex;gap:6px;flex-wrap:wrap;pointer-events:none}.cme-legend span{font-size:9px;padding:4px 7px;border-radius:999px;background:rgba(15,45,29,.84);border:1px solid rgba(255,255,255,.12);color:#F4F1E8;backdrop-filter:blur(6px)}
.cme-panel{box-sizing:border-box;position:absolute;z-index:5;left:0;right:0;bottom:0;height:var(--cme-panel);overflow:auto;background:rgba(244,241,232,.98);color:#15201A;border-top:1px solid rgba(0,0,0,.1);padding:10px 10px max(env(safe-area-inset-bottom),10px);box-shadow:0 -8px 30px rgba(0,0,0,.28);overscroll-behavior:contain}
.cme-paneltop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:7px}.cme-paneltop b{font-size:15px}.cme-paneltop span{font-size:11px;color:#617068}.cme-coverage{max-width:58%;text-align:right;font-size:9px;line-height:1.3;color:#55705d;font-weight:700}
.cme-sectionlabel{margin-top:8px;color:#55705D;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.cme-teeitem{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;align-items:center;gap:6px;border-bottom:1px solid rgba(21,32,26,.08);padding:3px 0}.cme-teeitem.selected{background:rgba(62,125,58,.07)}.cme-tee-dot{width:9px;height:9px;border-radius:50%;background:var(--tee);box-shadow:0 0 0 1px rgba(0,0,0,.18)}.cme-teeitem>button{min-width:48px;min-height:38px;border:1px solid #CCD0C7;background:#fff;color:#15201A;border-radius:9px;font-size:10px;font-weight:800}.cme-teeitem>button:last-child{min-width:38px;color:#99442C}
.cme-pointrow{display:grid;grid-template-columns:minmax(42px,auto) 72px minmax(0,1fr);align-items:center;gap:6px;padding:4px 0;font-size:10px}.cme-pointrow b{font-size:11px}.cme-pointrow>span:last-of-type{font-family:ui-monospace,"SF Mono",Menlo,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cme-pointrow small{grid-column:3;color:#B35D34}.cme-state{display:inline-flex;justify-content:center;border-radius:999px;padding:2px 5px;background:#D9D7CD;color:#5A655F;font-size:8px;font-weight:800;text-transform:uppercase}.cme-state.human{background:#CDE4C0;color:#285234}
.cme-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.cme-actions button{min-height:40px;border:1px solid #CCD0C7;background:#fff;color:#15201A;border-radius:9px;padding:7px 9px;font-size:10px;font-weight:700}.cme-actions button.on{background:#3E7D3A;color:#fff;border-color:#3E7D3A}.cme-actions button:disabled{opacity:.45}.cme-actions.secondary{margin-top:5px}.cme-actions.secondary button{padding:6px 8px;font-size:9px;background:#F7F5EF}
.cme-note{font-size:9px;line-height:1.35;color:#66756D;margin:7px 1px 8px}.cme-savebar{display:grid;grid-template-columns:1fr 1fr 1.08fr;gap:6px;position:sticky;bottom:0;background:rgba(244,241,232,.98);padding:4px 0 max(env(safe-area-inset-bottom),10px)}.cme-savebar button{min-height:44px;border:0;border-radius:10px;background:#2E6B45;color:#fff;font-size:11px;font-weight:800}.cme-savebar button.share{background:#E4572E}.cme-savebar button.ghost{background:#E5E1D6;color:#38453E}.cme-savebar button:disabled{opacity:.45}
.cme-pin{width:28px;height:28px;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.9);box-shadow:0 2px 8px rgba(0,0,0,.45);background:#E4572E;color:#fff}.cme-pin span{transform:rotate(45deg);font:800 10px ui-monospace,"SF Mono",Menlo,monospace}.cme-pin.green{background:#3E7D3A}.cme-pin.shot{width:22px;height:22px;background:#E8B04B;color:#15201A;border-width:1px}.cme-pin.cup,.cme-pin.holeout{width:20px;height:20px;background:#F4F1E8;color:#E4572E;border-color:#E4572E}.cme-pin.holeout{box-shadow:0 0 0 3px rgba(228,87,46,.25),0 2px 8px rgba(0,0,0,.45)}.cme-pin.draw{width:18px;height:18px;background:#4A8FD4}.cme-pin.ref{opacity:.62;border-style:dashed;filter:saturate(.7)}
.cme-launch{margin-bottom:8px;width:100%}.hv-shell>.cme-launch{position:absolute;right:10px;bottom:86px;z-index:30;width:auto;max-width:72%;box-shadow:0 5px 18px rgba(0,0,0,.35)}
@media (min-width:700px){#courseMapEditor{--cme-panel:min(42dvh,350px)}.cme-panel{padding-left:max(16px,calc((100vw - 760px)/2));padding-right:max(16px,calc((100vw - 760px)/2))}.cme-coverage{max-width:45%}}
