/* v11 Rut prediction: RUT fab + rut screen (tactical HUD style) */
.fab.rutfab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;color:var(--acc);--rutc:var(--mut)}
.fab.rutfab small{font-family:var(--sten);font-size:11px;letter-spacing:.08em;line-height:1;margin-top:1px;color:var(--fg)}
.fab.rutfab .rutdot{position:absolute;top:5px;right:5px;width:11px;height:11px;border-radius:50%;background:var(--rutc);box-shadow:0 0 0 2px #000a}
#screen-rut{padding-bottom:40px}
.rut-head{display:flex;align-items:center;gap:10px}
.rut-head h2{flex:1;margin:6px 0}
.rut-pick .rlab{display:flex;align-items:center;gap:8px;margin:6px 0;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tan);font-size:.9em}
.rut-pick select{flex:1;min-height:44px;font-size:16px;padding:6px 8px}
.rut-pick input#rut-custom{width:6.5em;min-height:40px;font-size:16px;padding:4px 8px}
.rconf{margin:6px 0}
.badge.rc-v{color:var(--good)!important}.badge.rc-r{color:var(--acc)!important}.badge.rc-n{color:var(--mut)!important}
.rut-now{border-left:4px solid var(--rutc)!important}
.rut-phase{font-family:var(--sten);font-size:1.25em;letter-spacing:.04em;margin:2px 0 6px;color:var(--rutc);text-transform:uppercase;line-height:1.15}
/* timeline */
.rtl{position:relative;margin:30px 0 4px;padding:0 2px}
.rt-top{position:relative;height:0}
.rt-today{position:absolute;top:-24px;transform:translateX(-50%);z-index:3;white-space:nowrap}
.rt-today b{font-family:var(--mono);font-weight:400;font-size:12px;background:#fff;color:#000;padding:1px 5px;border-radius:1px}
.rt-today::after{content:'';position:absolute;left:50%;top:16px;width:2px;height:46px;margin-left:-1px;background:#fff;box-shadow:0 0 0 1px #000}
.rt-today.off-l{transform:none}.rt-today.off-l::after{left:0}.rt-today.off-r{transform:translateX(-100%)}.rt-today.off-r::after{left:100%}
.rt-bar{position:relative;height:38px;background:var(--bg2);border:1px solid var(--line2);overflow:visible}
.rt-seg{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-right:1px solid #0006}
.rt-seg span{font-family:var(--mono);font-size:10px;color:#000;letter-spacing:0}
.rt-win{position:absolute;top:-6px;bottom:-6px;border:2px dashed #fff;border-radius:2px;z-index:2;pointer-events:none}
.rt-pk{position:absolute;top:100%;transform:translateX(-50%);z-index:2;text-align:center;white-space:nowrap}
.rt-pk i{display:block;width:0;height:0;margin:0 auto;border:6px solid transparent;border-bottom-color:var(--bad);border-top:0}
.rt-pk span{font-family:var(--mono);font-size:11px;color:var(--bad)}
.rt-ticks{position:relative;height:30px;margin-top:16px}
.rt-tick{position:absolute;top:0;height:8px;border-left:1px solid var(--line2)}
.rt-tick span{position:absolute;top:8px;left:2px;font-family:var(--mono);font-size:11px;color:var(--mut)}
.rt-legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.78em;color:var(--mut);margin:2px 0 6px}
.rt-legend i{display:inline-block;width:12px;height:12px;margin-right:4px;vertical-align:-1px}
.rt-legend i.win{border:2px dashed var(--fg);width:10px;height:10px}
/* ranges */
.rut-ranges h3,.rut-rule h3,.rut-src h3,.rut-sec{font-family:var(--cond);text-transform:uppercase;letter-spacing:.08em;color:var(--tan);margin:4px 0 8px;font-size:1em}
.rut-ranges h3 small{color:var(--mut);letter-spacing:.02em;text-transform:none;font-weight:500}
.rtab{width:100%;border-collapse:collapse;font-size:.9em}
.rtab th{text-align:left;color:var(--mut);font-weight:600;border-bottom:1px solid var(--line2);padding:4px}
.rtab td{padding:7px 4px;border-bottom:1px solid var(--line);vertical-align:top}
.rtab td:last-child{font-family:var(--mono);white-space:nowrap}
.rtab tr[data-ri]{cursor:pointer}
.rtab tr.on td{background:#a6e05a1a;color:var(--pri)}
.rtab tr.on td:first-child{box-shadow:inset 3px 0 0 var(--pri)}
.rut-south{border-left:3px solid var(--acc);padding-left:8px}
/* phases */
details.rph{padding:0}
details.rph summary{padding:10px 12px;gap:8px;list-style:none;text-transform:none;letter-spacing:.02em;color:var(--fg)}
details.rph summary::-webkit-details-marker{display:none}
details.rph summary i{flex:none;width:14px;height:14px;border:1px solid #0008}
details.rph .rph-n{flex:1;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
details.rph .rph-d{font-family:var(--mono);font-size:.85em;color:var(--mut)}
details.rph .rph-now{font-family:var(--mono);font-weight:400;font-size:11px;background:var(--bad);color:#fff;padding:1px 5px}
details.rph.now{border-color:var(--pri)!important}
details.rph>h4,details.rph>ul,details.rph>p{margin-left:12px;margin-right:12px}
details.rph h4{margin-top:4px;margin-bottom:2px;font-size:.85em;text-transform:uppercase;letter-spacing:.08em;color:var(--pri)}
details.rph ul{padding-left:18px;margin-top:2px}
details.rph li{margin:4px 0;line-height:1.3}
a.rcite{font-family:var(--mono);font-size:.8em;color:#7cc7ff;text-decoration:none;white-space:nowrap}
.rut-src li{margin:4px 0;word-break:break-word}
.rut-src li a{color:#7cc7ff}
.rut-src li.flash{background:#7cc7ff33}
.rut-go{margin:12px 0}
.rut-go .btn{flex:1}
.rutnudge{color:var(--acc);font-family:var(--mono);font-size:.85em}
/* map key swatches */
.mk-rutbtn{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--pri);background:var(--od);color:var(--acc);margin-right:6px;vertical-align:middle}
.mk-rutbtn svg{width:20px;height:20px}.mk-rutbtn small{font-family:var(--sten);font-size:9px;color:var(--fg);line-height:1}
.mk-rutbtn i{position:absolute;top:3px;right:3px;width:8px;height:8px;border-radius:50%}
.mk-rutsw{display:inline-block;width:10px;height:18px;vertical-align:middle}

/* ===== v12 rut buck routes (map layer) + Buck travel section ===== */
#rutchip{top:106px;padding:5px 10px;font-size:12px;line-height:1.3;border-left:5px solid var(--rutc,#c8ad7f)}
#rutchip b{font-size:1em}#rutchip .small{font-size:10.5px;color:var(--mut,#a9b0a3);text-transform:none;letter-spacing:0}
#rutchip[hidden]{display:none}
.rambush{position:absolute;left:0;top:0;width:0;height:0}
.rambush .rambush-ic{position:absolute;left:-14px;top:-14px;filter:drop-shadow(0 0 3px #000)}
.rambush .facearr.rr svg{left:-8px;top:-44px;width:16px;height:24px}
.rambush .rambush-x{position:absolute;left:8px;top:-24px;width:16px;height:16px;line-height:16px;text-align:center;border-radius:8px;background:#ff4f3f;color:#fff;font:800 12px var(--mono,ui-monospace,monospace);box-shadow:0 0 0 2px #1a0600}
.rambush.bad .rambush-ic{opacity:.75}
.rr-arrow{pointer-events:none}.rr-arrow div{width:12px;height:16px;transform-origin:50% 50%}
.rr-arrow svg{display:block;filter:drop-shadow(0 0 1px #000)}
.rr-pop>div{margin-top:4px}.rr-pop a{word-break:break-all}
.badge.ev{font-size:10.5px;letter-spacing:.02em;text-transform:none}
.badge.ev-r{background:#1f6b3a;color:#e9ffe9;border:1px solid #4fdc6a}
.badge.ev-h{background:#5a3a0a;color:#ffe9c2;border:1px solid #f2b134}
.rut-travel ul.rtv{padding-left:0;list-style:none;margin:6px 0}
.rut-travel ul.rtv li{margin:0 0 8px;line-height:1.4}
.rut-travel ul.rtv li .badge.ev{margin-right:4px}
.rtv-wind{border:1px dashed var(--line2,#556);padding:6px 8px;margin:8px 0}
.rtv-wind h4,.rtv-all h4{margin:4px 0}
.rtv-all summary{cursor:pointer;font-weight:600;margin-top:6px}
/* map key */
.mk-rr{display:inline-block;width:46px;height:0;border-top:4px dashed;vertical-align:middle;margin-right:6px}
.mk-amb{position:relative;display:inline-block;width:44px;height:44px;vertical-align:middle;margin-right:6px}
.mk-amb .rambush{left:22px;top:30px}
body.lpop #helpbtns{visibility:hidden}
