/* RegatApp - aspetto della barra laterale della mappa. Si carica DOPO css/dist/main.css e cambia solo l'estetica del menu:
 * la mappa, i suoi controlli e le icone non vengono toccati. Nessun font o script esterno. */
:root{
  --ra-bg:#0a1a2a; --ra-bg2:#0f2338; --ra-card:#12293f; --ra-line:#244560;
  --ra-text:#e8f0f7; --ra-muted:#9db4c8; --ra-brand:#2dc7d6; --ra-accent:#ff9f43;
  --ra-w:252px;
}
body{background:var(--ra-bg)}
#menu{
  width:var(--ra-w);font:500 13px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  background:linear-gradient(180deg,var(--ra-bg2),var(--ra-bg));color:var(--ra-text);
  border-left:1px solid var(--ra-line);box-shadow:-6px 0 24px rgba(0,0,0,.28);
}
#menu.menu-hidden{width:0;border-left-width:0;box-shadow:none}
#menu-content{padding:14px 14px 64px 14px}
#menu a,#menu :link,#menu :visited{color:var(--ra-brand)}
#menu a:hover{color:#7fe3ec}

/* intestazione: marchio + utente */
.ra-brand{padding:2px 36px 12px 2px;font-size:17px;font-weight:800;letter-spacing:-.01em}
.ra-brand a,.ra-brand :link,.ra-brand :visited{color:var(--ra-text)}
.ra-brand a::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--ra-accent);margin-right:8px;vertical-align:1px}
.ra-user{position:relative;margin-bottom:12px}
.ra-user>a{display:block;padding:9px 12px;border-radius:10px;background:var(--ra-card);border:1px solid var(--ra-line);color:var(--ra-text)!important;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ra-user>a .icon{height:1.3em;vertical-align:-3px}
#user-menu{left:0;right:0;width:auto;margin-top:6px;padding:6px;box-sizing:border-box;z-index:30;background:var(--ra-bg2);border:1px solid var(--ra-line);border-radius:10px;box-shadow:0 10px 24px rgba(0,0,0,.4)}
#user-menu a{padding:9px 10px;border-radius:8px}
#user-menu a:hover{background:var(--ra-card)}
#menu>a.menu-link,#menu-content>a.menu-link{margin-bottom:12px}

/* blocchi */
.section,#menu-content>div:not(.ra-user):not(.ra-brand):not(#fullscreen-element){
  display:block;margin:0 0 10px;padding:12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
}
.section:first-child{padding-top:12px}
#summary:empty,#other:not(:has(.menu-link:not(.menu-hidden))){display:none!important}
#summary div{padding-top:.4em}
.menu-title{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--ra-accent)}
#menu label{color:var(--ra-muted);font-weight:600}
label[for="user"]{display:block;padding-top:0}
#menu label[for="track"],#menu label[for="user"],#menu label[for="api"],#menu label[for="lang"],#menu label[for="units"]{display:block;margin-bottom:5px;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
#menu select{width:100%;box-sizing:border-box;padding:8px 10px;font:inherit;color:var(--ra-text);background:var(--ra-bg);border:1px solid var(--ra-line);border-radius:8px}
#menu select:focus-visible,#menu button:focus-visible,#menu a:focus-visible{outline:2px solid var(--ra-brand);outline-offset:2px}
#menu input[type="checkbox"]{accent-color:var(--ra-accent);margin:6px 6px 6px 0;vertical-align:-2px}
#menu input[type="checkbox"]+label{color:var(--ra-text);text-transform:none;letter-spacing:0;font-size:13px;font-weight:500;display:inline}
#menu input{border-radius:8px}
#menu .section>div{margin:0}

/* collegamenti-pulsante (esporta, importa, amministrazione) */
.menu-link{display:block;margin-top:6px;padding:8px 10px;border-radius:8px;background:rgba(255,255,255,.06);text-align:center;font-weight:600}
.menu-link:hover{background:rgba(45,199,214,.18);text-decoration:none}
a.menu-hidden{display:none}
#export-kml,#export-gpx{display:inline-block;width:calc(50% - 4px);box-sizing:border-box}
#export-kml{margin-right:4px}#export-gpx{margin-left:0}
#import-gpx{margin-top:8px}
#set-interval{border-bottom:1px dotted var(--ra-brand)}
#force-reload{display:inline-block;margin-top:6px;padding:4px 10px;border-radius:8px;background:rgba(255,255,255,.06)}

/* pulsanti */
#menu button,#fullscreen-button{
  width:100%;margin:0 0 10px;padding:9px 12px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.2;cursor:pointer;
  color:var(--ra-text);background:var(--ra-card);border:1px solid var(--ra-line);border-radius:10px;
}
#menu button:hover:not(:disabled){background:#1a3a58;border-color:var(--ra-brand)}
#menu button:disabled{opacity:.5;cursor:not-allowed}
#myAddNewPoiButton{margin-top:6px;margin-bottom:0}

/* strumenti riservati: i non-admin non li vedono */
.not-admin .admin-only{display:none!important}
#admin-menu{border-color:rgba(255,159,67,.45)!important;background:rgba(255,159,67,.07)!important}

/* piede e pulsante di apertura/chiusura */
#footer{width:var(--ra-w);box-sizing:border-box;padding:0 14px;line-height:2.6em;background:rgba(10,26,42,.94);border-top:1px solid var(--ra-line);color:var(--ra-muted)}
#footer a,#footer :link,#footer :visited{color:var(--ra-muted)}
#footer .mi{color:var(--ra-text)}
#menu.menu-hidden #footer{display:none}
#menu-button{top:10px;width:32px;height:38px;line-height:36px;background:var(--ra-bg2);border-color:var(--ra-brand);box-shadow:0 2px 10px rgba(0,0,0,.35)}
#menu.menu-hidden #menu-button{background:rgba(10,26,42,.82);border-color:var(--ra-brand)}
#menu-button a{color:var(--ra-text)}

/* schermi stretti: il menu copre la mappa invece di restringerla */
@media (max-width:700px){
  #menu{position:absolute;top:0;right:0;z-index:1800;width:min(86vw,300px);--ra-w:min(86vw,300px)}
  #menu.menu-hidden{width:0}
  /* #menu diventa 'absolute': il pulsante deve ancorarsi alla finestra, altrimenti resta tagliato fuori dalla barra chiusa */
  #menu-button{position:fixed;right:0;top:10px}
  #footer{width:min(86vw,300px)}
}
@media (prefers-reduced-motion:no-preference){
  #menu{transition:width .18s ease}
}

/* ===== Analisi regata (ra-analisi.js) ===== */
.ra-an-openbtn{width:100%;padding:9px 10px;border-radius:10px;border:1px solid var(--ra-brand);background:rgba(45,199,214,.12);color:var(--ra-text);font:600 12.5px/1.3 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;cursor:pointer}
.ra-an-openbtn:hover{background:rgba(45,199,214,.22)}
#main{position:relative}
#ra-an{position:absolute;left:0;right:0;bottom:0;height:max(300px,44vh);z-index:1500;display:flex;flex-direction:column;
  background:rgba(10,26,42,.97);border-top:1px solid var(--ra-line);box-shadow:0 -8px 24px rgba(0,0,0,.35);color:var(--ra-text);
  font:500 12.5px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
#ra-an[hidden]{display:none}
.ra-an-head{display:flex;align-items:center;gap:8px;padding:8px 10px 6px;border-bottom:1px solid var(--ra-line)}
.ra-an-tabs{display:flex;gap:4px;flex:1;overflow-x:auto;scrollbar-width:none}
.ra-an-tab{flex:none;padding:6px 11px;border-radius:999px;border:1px solid var(--ra-line);background:transparent;color:var(--ra-muted);font:600 12.5px/1.2 inherit;font-family:inherit;cursor:pointer;white-space:nowrap}
.ra-an-tab.on{background:var(--ra-brand);border-color:var(--ra-brand);color:#06202a}
.ra-an-sm{display:flex;align-items:center;gap:4px;color:var(--ra-muted);white-space:nowrap}
.ra-an-sm input{width:auto;margin:0}
#ra-an-close{flex:none;width:30px;height:30px;border-radius:8px;border:1px solid var(--ra-line);background:transparent;color:var(--ra-text);cursor:pointer;font-size:14px}
#ra-an-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:0 10px}
#ra-an-tools:not(:empty){padding-top:8px}
#ra-an-tools input{width:110px;padding:5px 7px;border-radius:7px;border:1px solid var(--ra-line);background:var(--ra-bg2);color:var(--ra-text);font:inherit}
#ra-an-tools button{padding:5px 9px;border-radius:7px;border:1px solid var(--ra-line);background:var(--ra-card);color:var(--ra-text);font:inherit;cursor:pointer}
#ra-an-tools button:hover{border-color:var(--ra-brand)}
.ra-an-lbl{color:var(--ra-accent);font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.06em}
#ra-an-stats{display:flex;flex-wrap:wrap;gap:6px 18px;padding:8px 10px 4px}
#ra-an-stats div{display:flex;flex-direction:column}
#ra-an-stats span{color:var(--ra-muted);font-size:11px}
#ra-an-stats b{font-size:14px;font-weight:700}
#ra-an-msg{display:none;margin:4px 10px 0;padding:5px 8px;border-radius:7px;background:rgba(255,159,67,.14);color:#ffd3a8}
#ra-an-plot{flex:1;min-height:0;position:relative;padding:2px 6px 4px}
.ra-an-svg{display:block;width:100%;height:100%;font:11px system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.ra-an-ax{fill:var(--ra-muted)}
.ra-an-mk{font-size:10px;font-weight:700}
.ra-an-empty{display:block;text-align:center;color:var(--ra-muted);padding:28px 14px;line-height:1.6}
.ra-an-split{display:flex;height:100%;gap:6px}
.ra-an-a{flex:1.6;min-width:0}.ra-an-b{flex:1;min-width:0}
#ra-an-tip{display:none;position:absolute;z-index:3;pointer-events:none;padding:6px 8px;border-radius:8px;background:rgba(6,20,32,.96);border:1px solid var(--ra-line);font-size:12px;line-height:1.45;white-space:nowrap}
.ra-an-picking{opacity:.55}
.ra-an-boat{width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--ra-brand);box-shadow:0 0 0 3px rgba(45,199,214,.35)}
.ra-an-buoy{width:18px;height:18px;border-radius:50%;background:var(--ra-accent);border:3px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.4)}
@media (max-width:700px){
  #ra-an{height:58vh}
  .ra-an-split{flex-direction:column}
  .ra-an-a,.ra-an-b{flex:1}
  #ra-an-stats{gap:4px 12px}
  #ra-an-stats b{font-size:13px}
}

/* ===== Boe e percorsi, pannello Regata (ra-percorsi.js) ===== */
#ra-an[data-tab="marks"],#ra-an[data-tab="race"]{height:max(340px,52vh)}
#ra-an-plot.ra-scroll{overflow:auto}
#ra-an-tools select{max-width:260px;padding:5px 7px;border-radius:7px;border:1px solid var(--ra-line);background:var(--ra-bg2);color:var(--ra-text);font:inherit}
#ra-an-tools input[type=range]{width:min(320px,45vw);padding:0;accent-color:var(--ra-brand)}
#ra-an-tools button.on{border-color:#ff6b6b;color:#ffb3b3}
.ra-pc{padding:4px 6px 10px}
.ra-pc-row{display:flex;flex-wrap:wrap;gap:8px 12px;margin-bottom:8px}
.ra-pc-row label{display:flex;flex-direction:column;gap:3px;color:var(--ra-muted);font-size:11px;min-width:150px}
.ra-pc-row label.wide{flex:1;min-width:200px}
.ra-pc input,.ra-pc select{padding:5px 7px;border-radius:7px;border:1px solid var(--ra-line);background:var(--ra-bg2);color:var(--ra-text);font:500 12.5px system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;width:100%;box-sizing:border-box}
.ra-pc input:disabled,.ra-pc select:disabled{opacity:.75}
.ra-pc input.bad{border-color:#ff6b6b;background:rgba(255,107,107,.08)}
.ra-pc-tw{overflow-x:auto}
.ra-pc-t{border-collapse:collapse;width:100%;min-width:640px}
.ra-pc-t th{text-align:left;color:var(--ra-muted);font-size:11px;font-weight:600;padding:4px 4px;border-bottom:1px solid var(--ra-line)}
.ra-pc-t td{padding:4px;vertical-align:top;border-bottom:1px solid rgba(36,69,96,.5)}
.ra-pc-t td:first-child{color:var(--ra-accent);font-weight:700;padding-top:9px}
.ra-pc-t .mk-r{width:70px}
.mk-h{display:block;color:var(--ra-muted);font-size:10.5px;margin-top:2px;min-height:13px}
.mk-act{white-space:nowrap}
.mk-act button,.ra-pc-bar button{padding:5px 8px;border-radius:7px;border:1px solid var(--ra-line);background:var(--ra-card);color:var(--ra-text);cursor:pointer;font:inherit;margin:0 1px}
.ra-pc-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}
.ra-pc-bar .sp{flex:1}
.ra-pc-bar button.primary{background:var(--ra-brand);border-color:var(--ra-brand);color:#06202a;font-weight:700}
.ra-pc-bar button.danger{border-color:#ff6b6b;color:#ffb3b3}
.ra-pc-msg{margin:0 0 8px;padding:6px 9px;border-radius:7px}
.ra-pc-msg.ok{background:rgba(143,211,107,.14);color:#cdeebb}
.ra-pc-msg.err{background:rgba(255,107,107,.14);color:#ffc4c4}
.ra-pc-note{margin:0 0 8px;color:var(--ra-muted)}
.ra-pc-help{color:var(--ra-muted);font-size:11px;margin:8px 0 0}
/* oggetti del campo di regata (ra-marks.js): icona vista dall'alto centrata sul punto + etichetta col codice */
.ra-mk{position:relative;width:52px;height:52px;pointer-events:auto;cursor:default}
.ra-mk-rot{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.ra-mk-ico{overflow:visible;display:block}
.ra-mk-lb{position:absolute;left:50%;top:calc(50% + 15px);transform:translateX(-50%);font:800 11px/15px system-ui,"Segoe UI",sans-serif;color:#fff;background:#0b2236;border:2px solid var(--c,#ff8a1f);border-radius:9px;padding:0 6px;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.45)}
/* in 3D gli oggetti li disegna la mappa (modelli); resta solo l'etichetta */
body.ra-mk-3d .ra-mk-rot{display:none}
body.ra-mk-3d .ra-mk-lb{top:calc(50% + 6px)}
.ra-bt{display:flex;align-items:center;gap:4px;pointer-events:none}
.ra-bt span{width:18px;height:18px;border-radius:50%;background:var(--ra-brand);color:#06202a;font:800 10px/18px system-ui,sans-serif;text-align:center;border:2px solid #fff}
.ra-bt i{font:600 11px system-ui,sans-serif;font-style:normal;color:#fff;background:rgba(6,20,32,.8);padding:1px 5px;border-radius:5px;white-space:nowrap}
.ra-bt.mine span{background:var(--ra-accent)}.ra-bt.stale{opacity:.5}
.ra-rc{display:flex;gap:14px;padding:2px 4px 10px;align-items:flex-start}
.ra-rc-a{flex:2.2;min-width:0;overflow-x:auto}.ra-rc-b{flex:1;min-width:230px}
.ra-rc-h{color:var(--ra-accent);font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.06em;margin:4px 0 6px}
.ra-rc-t{border-collapse:collapse;width:100%}
.ra-rc-a .ra-rc-t{min-width:700px}
.ra-rc-t th{text-align:left;color:var(--ra-muted);font-size:11px;font-weight:600;padding:5px 6px;border-bottom:1px solid var(--ra-line);white-space:nowrap}
.ra-rc-t td{padding:6px;border-bottom:1px solid rgba(36,69,96,.5);white-space:nowrap}
.ra-rc-t td small{display:block;color:var(--ra-muted);font-size:10.5px}
.ra-rc-t tr.mine td{background:rgba(255,159,67,.08)}
.ra-rc-t tr.lead td{background:rgba(45,199,214,.10)}
.ra-rc-t tr.stale td{opacity:.6}
@media (max-width:700px){
  #ra-an[data-tab="marks"],#ra-an[data-tab="race"]{height:66vh}
  .ra-rc{flex-direction:column}
  .ra-rc-a,.ra-rc-b{width:100%}
}

.ra-rid{margin-left:6px;padding:1px 6px;border-radius:999px;background:rgba(45,199,214,.15);color:var(--ra-brand);font-size:11px;font-weight:700}

/* ===== Livelli mappa e livello Leg (ra-legs.js) ===== */
#ra-layers summary{cursor:pointer;list-style:revert}
.ra-ly{display:flex;gap:6px;align-items:flex-start;margin:6px 0;line-height:1.35;cursor:pointer}
.ra-ly input{width:auto;margin-top:2px}
.ra-ly-note{display:block;color:var(--ra-muted);margin-top:4px}
.ra-leg-lab{pointer-events:auto;white-space:nowrap;padding:2px 7px;border-radius:7px;background:rgba(10,26,42,.88);border:1px solid #ff9f43;color:#fff;font:600 11.5px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.ra-leg-lab b{color:#ff9f43}
.ra-leg-time{pointer-events:none;white-space:nowrap;padding:0 4px;border-radius:4px;background:rgba(255,255,255,.85);color:#0a1a2a;font:700 10.5px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.ra-ly-sub{padding-left:22px;align-items:center}
.ra-ly-sub select{width:auto;padding:2px 4px}
/* Livelli mappa (ra-layers.js) */
.ra-ly-h{margin:10px 0 2px;font-weight:700;font-size:.82em;text-transform:uppercase;letter-spacing:.04em;color:var(--ra-muted)}
.ra-ly-bar{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}
.ra-ly-bar button{font-size:.8em;padding:3px 7px;width:auto;cursor:pointer}
.ra-ly-off{opacity:.45}
.ra-hide-leglab .ra-leg-lab,.ra-hide-leglab .ra-leg-time{display:none!important}
.ra-hide-boe .ra-mk{display:none!important}
.ra-hide-flotta .ra-bt{display:none!important}
/* Mappa della simulazione (ra-sim.js): niente barra laterale, solo i comandi utili */
body.ra-sim:not(.ra-live) #menu{display:none!important}   /* nella vista live (v42) la barra laterale resta: si chiude col pulsante > */
#ra-sim-bar{position:fixed;top:8px;left:0;right:0;margin:0 auto;width:max-content;z-index:2000;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;
  max-width:calc(100vw - 16px);box-sizing:border-box;padding:7px 10px;border-radius:12px;background:rgba(10,26,42,.92);color:#e8f1f7;
  border:1px solid #2dc7d6;box-shadow:0 4px 16px rgba(0,0,0,.35);font:13px/1.3 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
#ra-sim-bar .ra-sim-title{color:#2dc7d6}
#ra-sim-bar select,#ra-sim-bar button{font:inherit;padding:4px 8px;border-radius:8px;border:1px solid #35526b;background:#11283c;color:#e8f1f7;cursor:pointer;width:auto}
#ra-sim-bar button:hover,#ra-sim-bar select:hover{border-color:#2dc7d6}
#ra-sim-bar a{color:#ff9f43;text-decoration:none}
#ra-sim-st{color:#bcd2e2;min-width:12em}
#ra-sim-lypanel{position:fixed;top:64px;right:8px;z-index:2000;width:min(320px,calc(100vw - 16px));max-height:calc(100vh - 80px);overflow:auto;box-sizing:border-box;
  padding:8px 12px;border-radius:12px;background:rgba(10,26,42,.95);color:#e8f1f7;border:1px solid #2dc7d6;font:13px/1.3 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
#ra-sim-lypanel[hidden]{display:none}
@media (max-width:700px){#ra-sim-bar{top:4px;font-size:12px;padding:5px 7px}#ra-sim-st{min-width:0;flex-basis:100%}#ra-sim-lypanel{top:auto;bottom:8px;max-height:60vh}}
/* mappa della simulazione: niente aiuto "?" e niente puntini di caricamento a ogni ricarica */
body.ra-sim .rac-btn,body.ra-sim .alert.spinner{display:none!important}
body.ra-sim .rac-btn.rac-demo{display:flex!important}   /* nella demo l'aiuto si vede eccome */
.ra-leg-pop .mapboxgl-popup-content{background:rgba(10,26,42,.95);color:#e8f1f7;border:1px solid #ff9f43;border-radius:8px;padding:5px 8px;font:12px/1.3 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.ra-leg-pop .mapboxgl-popup-tip{display:none}
@media (min-width:1000px){#ra-sim-bar{white-space:nowrap}#ra-sim-st{min-width:0}}
@media (min-width:1500px){#ra-sim-bar{flex-wrap:nowrap}}
.ra-sp-bar{height:8px;border-radius:4px;margin:4px 0 2px;background:linear-gradient(90deg,#0000ff,#00ffff,#ffff00,#ff8000,#ff0000)}
.ra-sp-lab{display:flex;justify-content:space-between;font-size:.82em}
/* Bussola di virata (ra-tack.js) */
#ra-tack{position:fixed;left:10px;top:70px;z-index:1900;width:min(300px,calc(100vw - 20px));max-height:calc(100vh - 90px);overflow:auto;box-sizing:border-box;
  padding:8px 10px;border-radius:12px;background:rgba(10,26,42,.94);color:#e8f1f7;border:1px solid #2dc7d6;box-shadow:0 4px 16px rgba(0,0,0,.35);
  font:13px/1.35 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
#ra-tack[hidden]{display:none}
.ra-tk-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;color:#2dc7d6}
.ra-tk-head button{background:transparent;border:1px solid #35526b;color:#e8f1f7;border-radius:6px;cursor:pointer;width:26px;height:26px}
#ra-tack select,#ra-tack input{width:100%;box-sizing:border-box;padding:4px 6px;border-radius:7px;border:1px solid #35526b;background:#11283c;color:#e8f1f7;font:inherit}
.ra-tk-row{display:flex;gap:8px;align-items:center;margin:6px 0}
.ra-tk-leg{font-size:11px;color:#bcd2e2;line-height:1.5}
.ra-tk-l{margin:3px 0}
.ra-tk-big{margin:6px 0;padding:6px 8px;border-radius:8px;background:#11283c;font-size:15px;font-weight:700;color:#2dc7d6}
.ra-tk-big.ok{color:#3ecf8e}.ra-tk-big.warn{color:#ffb547}
.ra-tk-msg{color:#bcd2e2;margin:6px 0}
.ra-tk-set{margin-top:6px}.ra-tk-set label{display:block;margin:4px 0}.ra-tk-set small{color:#9db3c6}
[data-ra-tack].on{border-color:#2dc7d6!important;color:#2dc7d6}
@media (max-width:700px){#ra-tack{top:auto;bottom:8px;max-height:55vh}}
.ra-tk-ab{margin:6px 0;padding:5px 8px;border-radius:8px;border:1px dashed #9db3c6;color:#e8f1f7}
.ra-tk-ab.now{border-style:solid;border-color:#3ecf8e;color:#3ecf8e}
/* pulsanti rapidi dei grafici nella barra laterale */
.ra-an-quick{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.ra-an-quick button{font-size:.8em;padding:3px 7px;width:auto;cursor:pointer;border-radius:6px;border:1px solid var(--ra-line,#35526b);background:transparent;color:inherit}
.ra-an-quick button:hover{border-color:var(--ra-brand,#2dc7d6)}
/* bussola: con i grafici aperti non copre le schede del pannello */
body.ra-an-on #ra-tack{max-height:calc(100vh - max(300px,44vh) - 80px)}
@media (max-width:700px){body.ra-an-on #ra-tack{bottom:auto;top:56px;max-height:calc(100vh - max(300px,44vh) - 64px)}}
/* flotta e fumetti con i nomi (ra-fleet.js) */
.ra-fl{display:flex;flex-direction:column;align-items:center;pointer-events:none}
.ra-fl-tag{position:relative;margin-bottom:4px;padding:2px 7px;border-radius:9px;border:2px solid #2dc7d6;background:rgba(10,26,42,.9);color:#fff;
  font:600 12px/1.25 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.ra-fl-tag:after{content:"";position:absolute;left:50%;bottom:-7px;margin-left:-5px;border:5px solid transparent;border-top-color:inherit;border-bottom:0}
.ra-fl-tag span{font-weight:400;color:#bcd2e2}
.ra-fl-ico{transition:transform .4s}
.ra-fl.own .ra-fl-ico,.ra-fl.sel .ra-fl-ico{visibility:hidden}   /* la barca scelta ha gia' la sua icona: solo il fumetto */
.ra-fl.sel .ra-fl-tag{background:#11283c}
body.ra-fleet-on .ra-bt{display:none!important}                   /* con la flotta disegnata non servono i segnaposto numerati */
.ra-hide-nomi .ra-fl-tag{display:none!important}
#ra-sim-bar .ra-demo-tag{background:#ff9f43;color:#0a1a2a;border-radius:6px;padding:1px 6px;font-size:11px;letter-spacing:.05em}
#ra-sim-bar .ra-demo-cta{background:#ff9f43;color:#0a1a2a!important;padding:4px 9px;border-radius:8px;font-weight:700}
#ra-sim-3d.on{border-color:#2dc7d6;color:#2dc7d6}
body.ra-sim .ol-control,body.ra-sim .ol-overlaycontainer-stopevent{display:none!important}   /* comandi OpenLayers inutili qui */
.ra-fl.ra-fl-hid .ra-fl-tag{visibility:hidden}
.ra-brand a{display:inline-flex;align-items:center;gap:8px}.ra-brand img{border-radius:50%}
#footer .ra-foot{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none}#footer .ra-foot img{border-radius:50%}

/* demo pubblica: suggerimenti su ogni comando (ra-demo-tips.js) */
.ra-dtip{position:fixed;z-index:100000;max-width:min(340px,calc(100vw - 16px));padding:9px 12px;border-radius:10px;background:#0f2438;color:#e8f1f8;border:1px solid #ff9f43;box-shadow:0 8px 24px rgba(0,0,0,.45);font:13px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;pointer-events:none}
.ra-dtip[hidden]{display:none}
.ra-dtip b{color:#ffb86b}
.ra-dtip i{color:#9fb3c4}
.ra-dtip ul{margin:6px 0 0;padding-left:16px}
.ra-dtip li{margin:2px 0}
.ra-dtip li.cur{color:#ffb86b;font-weight:600}
.ra-dtip .ra-dtip-st{display:inline-block;margin:3px 0 2px;padding:1px 7px;border-radius:999px;background:#1d3a55;font-size:12px}
.ra-dtip dl{margin:4px 0 0}
.ra-dtip dt{color:#ffb86b;font-weight:700;font-size:12px;margin-top:4px}
.ra-dtip dd{margin:0}

/* v30: aiuto persistente e separato dai comandi su touch */
.ra-dtip{pointer-events:auto;max-height:calc(100vh - 24px);overflow:auto}
.ra-help-row{display:flex;align-items:center;gap:6px}.ra-help-row>label{flex:1;min-width:0}
.ra-help-button,#ra-sim-bar .ra-help-button{flex:none;min-width:32px;min-height:32px;padding:3px;border:1px solid #708da6;border-radius:50%;background:#16334a;color:#fff;cursor:pointer}
.ra-help-button:focus-visible{outline:3px solid #ffb86b;outline-offset:2px}
/* editor percorsi v30: oggetti in acqua + sequenza */
.ra-pc-h{margin:10px 0 6px;font-weight:700;color:var(--ra-accent);font-size:12.5px}
.ra-pc-add{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-bottom:6px}
.ra-pc-add span{color:var(--ra-muted);font-size:11.5px;margin-right:2px}
.ra-pc-add button,.ra-pc-chips button{padding:4px 8px;border-radius:7px;border:1px solid var(--ra-line);background:var(--ra-card);color:var(--ra-text);cursor:pointer;font:600 12px system-ui,sans-serif}
.ra-pc-add button[data-add="partenza"]{border-color:#22c55e}.ra-pc-add button[data-add="arrivo"],.ra-pc-add button[data-add="barca_arr"]{border-color:#2563eb}
.ra-pc-add button[data-add="gate"]{border-color:#ffd400}.ra-pc-add button[data-add="boa"],.ra-pc-add button[data-add="giuria"]{border-color:#ff8a1f}
.ra-pc-t .mk-code{width:44px;text-align:center;font-weight:800}
.ra-pc-t td:first-child{padding-top:4px}
.ra-pc-none{color:var(--ra-muted);font-style:italic;padding:10px 4px!important}
.ra-pc-seq{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.ra-pc-seq #pc-seq{flex:1;min-width:220px;font-weight:700;letter-spacing:.04em}
.ra-pc-seq label{display:flex;gap:5px;align-items:center;color:var(--ra-muted);font-size:11.5px}
.ra-pc-chips{display:flex;flex-wrap:wrap;gap:4px}
.ra-pc-route{margin:7px 0 0;padding:6px 9px;border-radius:7px;background:rgba(45,199,214,.08);color:var(--ra-text);font-size:12px}
.ra-pc-route.bad{background:rgba(255,107,107,.12);color:#ffc4c4}
.ra-ar-link{display:block;box-sizing:border-box;margin-top:6px;text-align:center;text-decoration:none}
/* v38: POI RegatApp sulla mappa */
.ra-apoi{display:flex;align-items:center;gap:4px;background:none;border:0;padding:0;cursor:pointer}
.ra-apoi-dot{width:14px;height:14px;border-radius:7px;background:#2dc7d6;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.5)}
.ra-apoi-lab{font:600 11px/1.2 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:#fff;background:rgba(10,26,42,.82);padding:2px 6px;border-radius:6px;white-space:nowrap}
.ra-hide-poiregatapp .ra-apoi{display:none!important}
/* v41: VISTA LIVE della traccia vera (index.php?vista=live) */
#ra-sim-bar .ra-live-tag{background:#e5484d;color:#fff;border-radius:6px;padding:1px 6px;font-size:11px;letter-spacing:.05em;animation:ra-live-blink 2s ease-in-out infinite}
@keyframes ra-live-blink{50%{opacity:.55}}
@media (prefers-reduced-motion:reduce){#ra-sim-bar .ra-live-tag{animation:none}}
#ra-sim-st.ra-live-on{color:#3ddc84;font-weight:600}
#ra-sim-st.ra-live-off{color:#b9cfdb}
#ra-live-helm{border-color:#2dc7d6!important}
@media (min-width:701px){body.ra-sim #ra-tack{top:calc(var(--ra-bar-h,52px) + 18px);max-height:calc(100vh - var(--ra-bar-h,52px) - 36px)}}
/* in barca col telefono: banda compatta, senza i «?» (i suggerimenti restano al computer) */
@media (max-width:700px){body.ra-live #ra-sim-bar .ra-help-button{display:none}body.ra-live #ra-sim-bar{gap:5px 8px}}
/* v42: vista live CON la barra laterale a destra (richiesta del titolare): la banda e i pannelli stanno nello spazio della mappa */
body.ra-live #ra-sim-bar{left:8px;right:calc(var(--ra-menu-w,0px) + 44px);max-width:calc(100vw - var(--ra-menu-w,0px) - 52px)}   /* 44px: resta libero il pulsante > della barra laterale */
body.ra-live #ra-sim-lypanel{right:calc(var(--ra-menu-w,0px) + 8px)}
@media (max-width:700px){body.ra-live #ra-sim-bar{right:44px;max-width:calc(100vw - 52px)}}   /* sul telefono la barra laterale si apre sopra la mappa: resta libero il pulsante */
body.ra-live #ra-live-link{display:none}
