:root{--bg:#0b1220;--surface:rgba(255, 255, 255, 0.10);--surface-strong:rgba(255, 255, 255, 0.14);--border:rgba(255, 255, 255, 0.16);--text:rgba(255, 255, 255, 0.92);--text-dim:rgba(255, 255, 255, 0.78);--shadow:0 18px 55px rgba(0, 0, 0, 0.45);--radius-lg:22px;--radius-md:14px;--radius-sm:12px;--gap:12px;--gap-lg:16px;--primary:#2d7dff;--primary-hover:#1f63d8;--safe-top:env(safe-area-inset-top, 0px);--safe-bottom:env(safe-area-inset-bottom, 0px);--safe-left:env(safe-area-inset-left, 0px);--safe-right:env(safe-area-inset-right, 0px);--map-shell-pad-x:clamp(8px, 3.2vw, 20px);--app-height:100dvh;--ui-black:#000;--ui-ring:rgba(255, 255, 255, 0.92);--ui-btn-bg:linear-gradient(165deg, #3d4a63 0%, #1e2638 55%, #151b28 100%);--ui-btn-bg-primary:linear-gradient(165deg, #3568c4 0%, #2456b8 45%, #1a3d8a 100%);--ui-btn-border:2px solid var(--ui-black);--ui-btn-shadow:0 0 0 3px var(--ui-ring),0 12px 32px rgba(0, 0, 0, 0.5),inset 0 1px 0 rgba(255, 255, 255, 0.2);--ui-btn-text-shadow:0 1px 3px rgba(0, 0, 0, 0.85);--ui-panel-shadow:0 0 0 3px var(--ui-ring),0 18px 55px rgba(0, 0, 0, 0.45);--ui-edge-bar:linear-gradient(90deg, rgba(45, 125, 255, 0.05), rgba(45, 125, 255, 0.65) 45%, rgba(45, 125, 255, 0.65) 55%, rgba(45, 125, 255, 0.05))}*{box-sizing:border-box}canvas,img,svg,video{max-width:100%;height:auto}*{-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;font-family:ui-sans-serif,system-ui,-apple-system,"SF Pro Display","SF Pro Text",Segoe UI,Roboto,Arial,sans-serif;width:100%;height:100%;height:-webkit-fill-available;overflow-x:hidden;overflow-y:hidden;position:fixed;inset:0;background:var(--bg);color:var(--text);touch-action:none;overscroll-behavior:none;overscroll-behavior-y:none;-webkit-overflow-scrolling:auto;min-height:100vh;min-height:100dvh}a,button,input,select,textarea{touch-action:manipulation}@supports (-webkit-touch-callout:none){#capScreen,#liveMapScreen,#mapScreen.mapScreenRoot,#navigazioneMappa,#welcomeScreen,.spinner{height:-webkit-fill-available}}#welcomeScreen{background-image:url("welcome-hero.jpg");background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(16px + var(--safe-top)) calc(16px + var(--safe-right)) calc(20px + var(--safe-bottom)) calc(16px + var(--safe-left));min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;height:var(--app-height);box-sizing:border-box;position:relative;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}#capScreen{background-image:url("welcome-hero.jpg");background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(16px + var(--safe-top)) calc(16px + var(--safe-right)) calc(20px + var(--safe-bottom)) calc(16px + var(--safe-left));min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;height:var(--app-height);box-sizing:border-box;position:relative;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}#capScreen::before,#welcomeScreen::before{content:"";position:absolute;inset:0;background:radial-gradient(1200px 800px at 50% 30%,rgba(11,18,32,.25),rgba(11,18,32,.78));z-index:0}.screenCard{position:relative;z-index:1;width:min(560px,calc(100vw - var(--map-shell-pad-x) * 2));max-width:100%;padding:clamp(16px,4vw,22px) clamp(14px,3.5vw,18px);border-radius:var(--radius-lg);background:linear-gradient(165deg,rgba(46,56,78,.55) 0,rgba(18,26,42,.72) 100%);border:var(--ui-btn-border);box-shadow:var(--ui-panel-shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;flex-direction:column;align-items:center}#mapScreen.mapScreenRoot{position:relative;width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:0;min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;height:var(--app-height);max-height:100vh;max-height:100dvh;max-height:var(--app-height);padding:0 env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);padding-top:0;background-image:url("welcome-hero.jpg");background-size:cover;background-position:center;background-repeat:no-repeat;overflow:hidden;overscroll-behavior:none;touch-action:none}#mapScreen.mapScreenRoot::before{content:"";position:absolute;inset:0;background:radial-gradient(1200px 800px at 50% 28%,rgba(11,18,32,.32),rgba(11,18,32,.82));z-index:0;pointer-events:none}.mapScreenTitle{position:absolute;z-index:40;left:0;right:0;top:0;margin:0;padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-left)) 8px;font-size:clamp(18px, calc(.5rem + 4.5vw), 28px);font-weight:800;letter-spacing:-.4px;color:rgba(255,255,255,.96);text-align:center;text-shadow:0 2px 14px rgba(0,0,0,.75);pointer-events:none}.mapPhoneCard.mapShell{position:relative;z-index:1;flex:1 1 0;min-height:0;width:100%;max-width:none;margin:0;background:linear-gradient(165deg,rgba(14,22,42,.94) 0,rgba(8,14,28,.98) 100%);border-radius:0;box-shadow:none;border:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden;overscroll-behavior:none;touch-action:none}#mapScreen #mapStage.mapMenuOpen{z-index:10200}#mapScreen .mapPhoneCard.mapShell .mapFrame{position:absolute;inset:0;width:100%;height:100%;border-radius:0;border:none;overflow:hidden;background:#080e1a;overscroll-behavior:none;touch-action:none}#mapStage.mapShellUserSized .mapFrame{position:absolute;inset:0}@media (max-height:520px) and (orientation:landscape){#mapScreen .mapScreenTitle{font-size:clamp(14px, 3.5vh, 20px);margin:0}}#mapScreen .mapFrame #map{position:absolute;inset:0;height:100%;width:100%;z-index:0}#mapScreen .mapMenuBackdrop{position:absolute;inset:0;z-index:1200;background:rgba(0,0,0,.42);opacity:0;pointer-events:none;transition:opacity .2s ease}#mapScreen .mapFrame.mapMenuOpen .mapMenuBackdrop{opacity:1;pointer-events:auto}#mapScreen .mapSideMenu{position:absolute;top:0;bottom:0;left:0;width:min(288px,86%);z-index:1300;display:flex;flex-direction:column;gap:8px;padding:calc(10px + env(safe-area-inset-top,0px)) 12px calc(16px + env(safe-area-inset-bottom,0px)) calc(12px + env(safe-area-inset-left,0px));background:linear-gradient(180deg,rgba(20,28,48,.98) 0,rgba(10,16,32,.96) 100%);border-right:var(--ui-btn-border);box-shadow:0 0 0 3px var(--ui-ring),14px 0 44px rgba(0,0,0,.5);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transform:translateX(-102%);transition:transform .22s ease;border-radius:0 18px 18px 0}#mapScreen .mapFrame.mapMenuOpen .mapSideMenu{transform:translateX(0)}#mapScreen .mapSideMenuHead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 2px 10px;border-bottom:1px solid rgba(255,255,255,.1)}#mapScreen .mapSideMenuTitle{font-weight:850;font-size:17px;color:rgba(255,255,255,.95);letter-spacing:-.2px}#mapScreen .mapSideMenuClose{width:48px;height:48px;border-radius:14px;border:var(--ui-btn-border);background:var(--ui-btn-bg);color:#fff;font-size:18px;line-height:1;font-weight:800;cursor:pointer;padding:0;margin:0;box-shadow:var(--ui-btn-shadow);text-shadow:var(--ui-btn-text-shadow)}#mapScreen .mapSideMenuActions{display:flex;flex-direction:column;gap:10px;padding-top:6px}#mapScreen .mapSideMenuActions button{width:100%;margin-top:0;justify-content:center;text-align:center;border-radius:14px;min-height:48px}#mapScreen .mapMenuFab{position:absolute;top:calc(10px + env(safe-area-inset-top,0px));left:calc(10px + env(safe-area-inset-left,0px));z-index:1400;width:50px;height:50px;border-radius:14px;border:var(--ui-btn-border);background:var(--ui-btn-bg);color:#fff;font-size:22px;line-height:1;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--ui-btn-shadow);text-shadow:var(--ui-btn-text-shadow);padding:0;margin:0;touch-action:manipulation}#mapScreen .mapMenuFab:active{transform:translateY(1px)}#mapScreen .mapFrame.mapMenuOpen .mapMenuFab{opacity:.92}#map{height:100%;width:100%;z-index:0}#liveMap{height:100vh;height:100dvh;width:100%}.logo{width:250px;height:auto;margin-bottom:20px;opacity:0;transform:scale(.8);animation:logoEnter 1s ease-out forwards}@keyframes logoEnter{to{opacity:1;transform:scale(1)}}h1,h2{color:#fff;margin-bottom:15px;text-align:center;text-shadow:0 8px 22px rgba(0,0,0,.35)}h1{font-size:40px;margin:10px 0}@media (max-width:420px){h1{font-size:34px}}button,input,select,textarea{font-size:16px;border-radius:12px;border:none;outline:0;text-align:center}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(45,125,255,.55);outline-offset:2px}input,select{width:80%;max-width:520px;padding:12px;margin:10px 0;background:rgba(255,255,255,.92);color:#0b1220;border:1px solid rgba(0,0,0,.06)}#capScreen .screenCard input,#capScreen .screenCard select,#welcomeScreen .screenCard input,#welcomeScreen .screenCard select{border:var(--ui-btn-border);box-shadow:0 0 0 3px var(--ui-ring)}select{appearance:none;-webkit-appearance:none}textarea{width:100%;padding:10px;resize:none}button{background:var(--ui-btn-bg-primary);color:#fff;padding:12px 30px;font-size:18px;margin-top:10px;cursor:pointer;font-weight:800;border:var(--ui-btn-border);border-radius:var(--radius-md);box-shadow:var(--ui-btn-shadow);text-shadow:var(--ui-btn-text-shadow);transition:transform 120ms ease,filter 120ms ease,box-shadow 120ms ease}button:hover{filter:brightness(1.06)}button:active{transform:scale(.98);filter:brightness(.96)}button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}#continueBtn1,#continueBtn2{font-size:22px;padding:18px 40px;border-radius:16px;width:min(420px,90%)}#continueBtn2{margin-top:30px}#langLabel{color:#fff;font-weight:700;margin-top:20px}.screenCard #langLabel{margin-top:4px}#draggableSheet,#draggableSheetNav{background:linear-gradient(180deg,rgba(12,20,38,.72),rgba(12,20,38,.55));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);box-shadow:var(--shadow);border-top:1px solid var(--border);padding:18px 16px 16px;color:#fff;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}#draggableSheet:not(.sheetAddStops),#draggableSheetNav{touch-action:none;position:absolute;left:0;right:0;top:0;height:calc(100vh - 12px);height:calc(100dvh - 12px);z-index:1000;transition:top .12s ease}#draggableSheetNav{touch-action:none}.sheetHeader{position:sticky;top:0;z-index:2;padding-bottom:10px;margin-bottom:6px;background:linear-gradient(180deg,rgba(12,20,38,.82),rgba(12,20,38,0));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}#draggableSheet h2,#draggableSheetNav h2{margin:6px 0 0;font-size:20px;letter-spacing:.2px}#draggableSheetNav,#mapScreen #draggableSheet{background:linear-gradient(180deg,rgba(12,20,38,.9),rgba(12,20,38,.58));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--text);border-top:1px solid var(--border);box-shadow:var(--shadow)}#mapScreen #draggableSheet.sheetAddStops{padding-bottom:0;padding-top:0;overflow:hidden}#draggableSheetNav .sheetHeader,#mapScreen #draggableSheet .sheetHeader{background:linear-gradient(180deg,rgba(12,20,38,.92),rgba(12,20,38,0));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}#draggableSheetNav h2,#mapScreen #draggableSheet h2{color:rgba(255,255,255,.96);text-shadow:0 6px 18px rgba(0,0,0,.35);font-size:22px;letter-spacing:-.2px}#draggableSheetNav.sheetPanel>.sheetGrabStrip,#mapScreen .sheetGrabStrip{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:0;padding:8px 14px 10px;flex:0 0 auto;align-self:stretch;width:100%;background:#0a1328}#draggableSheetNav.sheetPanel>.sheetGrabStrip .sheetGrabLine,#mapScreen .sheetGrabLine{flex:1 1 auto;height:2px;background:var(--ui-edge-bar);min-width:12px;border-radius:2px}#draggableSheetNav.sheetPanel>.sheetGrabStrip .sheetGrabDot,#mapScreen .sheetGrabDot{flex:0 0 auto;width:11px;height:11px;margin:0 14px;padding:0;border:none;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 0 0 2px rgba(45,125,255,.25);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;margin-top:0}#draggableSheetNav.sheetPanel>.sheetGrabStrip .sheetGrabDot:active,#mapScreen .sheetGrabDot:active{cursor:grabbing;transform:scale(1.05)}#mapScreen #draggableSheet.sheetAddStops.sheetPanel{position:absolute;left:0;right:0;bottom:0;width:100%;max-width:none;height:62%;min-height:200px;max-height:min(88vh,920px);max-height:min(88dvh,920px);display:flex;flex-direction:column;margin:0;padding:0;overflow:hidden;overscroll-behavior:none;overscroll-behavior-y:none;border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);border-bottom-left-radius:0;border-bottom-right-radius:0;touch-action:none;z-index:50;isolation:isolate;border-top:var(--ui-btn-border);background:linear-gradient(180deg,rgba(10,19,38,.97) 0,#060d1c 100%);box-shadow:0 -3px 0 0 var(--ui-ring),0 -12px 40px rgba(0,0,0,.5);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}#mapStage.mapShellUserSized #draggableSheet.sheetAddStops.sheetPanel{max-height:min(92vh,960px);max-height:min(92dvh,960px)}#draggableSheetNav.sheetPanel{position:fixed;left:0;right:0;bottom:0;height:auto;width:100%;max-width:none;margin:0;padding:0;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:contain;border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);border-bottom-left-radius:0;border-bottom-right-radius:0;isolation:isolate;z-index:10100;touch-action:manipulation;border-top:var(--ui-btn-border);background:linear-gradient(180deg,rgba(10,19,38,.97) 0,#060d1c 100%);box-shadow:0 -3px 0 0 var(--ui-ring),0 -12px 40px rgba(0,0,0,.5);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding-bottom:0;padding-top:0}#draggableSheetNav.sheetPanel .sheetNavBody{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:4px max(12px,env(safe-area-inset-left)) 8px max(12px,env(safe-area-inset-right));box-sizing:border-box}#draggableSheetNav.sheetPanel #elencoFermateContainer{flex:1 1 auto;min-height:0;max-height:none;margin-bottom:0;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain}#draggableSheetNav.sheetPanel .sheetNavFooter{flex:0 0 auto;margin:0;padding:12px max(12px,env(safe-area-inset-left)) calc(16px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-right));background:rgba(10,16,32,.99);border-top:1px solid rgba(255,255,255,.14);box-shadow:0 -8px 28px rgba(0,0,0,.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}#draggableSheetNav.sheetPanel .sheetNavFooter .sheet-buttons{margin-top:0}#mapScreen #draggableSheet.sheetAddStops .sheetBody{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:none;padding:4px max(18px,calc(env(safe-area-inset-left) + 10px)) 18px max(18px,calc(env(safe-area-inset-right) + 10px));width:100%;max-width:none;margin:0;box-sizing:border-box}#mapScreen #draggableSheet.sheetAddStops[data-map-step=stops] .sheetBody{padding-bottom:max(8px,calc(env(safe-area-inset-bottom,0px) + 4px))}#mapScreen .sheetPaneRoute,#mapScreen .sheetPaneStops{display:flex;flex-direction:column;min-height:0;overflow:hidden}#mapScreen .sheetPaneRoute{flex:0 1 auto;overflow:visible}#mapScreen .sheetPaneStops{flex:1 1 0}#mapScreen #sheetStepRoute.hidden,#mapScreen #sheetStepStops.hidden{display:none}#mapScreen #sheetStepStops{position:relative;display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden;overscroll-behavior:contain;padding-bottom:2px;box-sizing:border-box}#mapScreen .sheetStopsTop{flex:0 0 auto}#mapScreen .sheetAddBtnRow{margin-top:0;margin-bottom:2px;padding:4px 0 6px}#mapScreen .sheetAddBtnRow.sheetStopsAddBelowList{flex:0 0 auto;margin-top:12px;margin-bottom:0;margin-left:2px;margin-right:2px;padding:7px 4px 4px;box-sizing:border-box;width:calc(100% - 4px);max-width:calc(100% - 4px);align-self:center}#mapScreen #sheetStepStops .sheetAddBtnRow button{min-height:42px;height:42px;width:100%;max-width:100%;box-sizing:border-box}#mapScreen #sheetStepStops .sheetSectionHeader{margin-top:2px;margin-bottom:6px;gap:8px;min-width:0}#mapScreen #sheetStepStops .sheetSectionHeader .sheetSectionLabel{margin:0;font-size:10px;letter-spacing:.06em;flex:1 1 auto;min-width:0}#mapScreen #sheetStepStops .sheetSectionCount{flex-shrink:0;box-sizing:border-box;min-width:24px;height:24px;padding:0 8px;font-size:11px;margin-right:2px}#mapScreen #elencoFermateContainer,#mapScreen #fermateScroll{touch-action:pan-y}#mapScreen #draggableSheet.sheetAddStops #sheetStepStops #fermateScroll{flex:1 1 0;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;overscroll-behavior-y:contain;margin:4px 0 2px;padding-right:2px}#mapScreen #draggableSheet.sheetAddStops .sheetFooter.sheetFooterSplit{flex:0 0 auto;flex-shrink:0;width:100%;max-width:none;margin:0;box-sizing:border-box;padding:12px max(12px,env(safe-area-inset-left)) calc(16px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-right));background:rgba(10,16,32,.99);border-top:1px solid rgba(255,255,255,.14);box-shadow:0 -8px 28px rgba(0,0,0,.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}#mapScreen #draggableSheet.sheetAddStops[data-map-step=stops] .sheetFooter.sheetFooterSplit{padding-top:6px}#mapScreen .sheetFooterNav{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0;margin-top:10px;margin-bottom:0;width:100%}#mapScreen .btnSheetGhost{min-height:52px;margin-top:0;border-radius:18px;border:var(--ui-btn-border);background:var(--ui-btn-bg);color:#fff;font-weight:800;font-size:clamp(14px, 3.8vw, 16px);cursor:pointer;box-shadow:var(--ui-btn-shadow);text-shadow:var(--ui-btn-text-shadow)}#mapScreen .btnSheetPrimary{min-height:52px;margin-top:0;border-radius:18px;border:var(--ui-btn-border);background:var(--ui-btn-bg-primary);color:#fff;font-weight:800;font-size:clamp(14px, 3.8vw, 16px);cursor:pointer;box-shadow:var(--ui-btn-shadow);text-shadow:var(--ui-btn-text-shadow)}#mapScreen .btnSheetGhost:active,#mapScreen .btnSheetPrimary:active{transform:scale(.98)}#mapScreen #draggableSheet[data-map-step=route] #sheetFooterToolsWrap{display:none}#mapScreen #draggableSheet.sheetAddStops .sheetFooterToolsWrap{width:100%;flex:0 0 auto}#mapScreen #draggableSheet.sheetAddStops .btnSheetToolsToggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;margin:0;padding:8px 14px;border-radius:14px;border:var(--ui-btn-border);background:var(--ui-btn-bg);color:#fff;font-weight:800;font-size:clamp(13px, 3.6vw, 15px);cursor:pointer;box-sizing:border-box;box-shadow:var(--ui-btn-shadow);text-shadow:var(--ui-btn-text-shadow)}#mapScreen #draggableSheet.sheetAddStops .btnSheetToolsToggle:active{transform:scale(.99)}#mapScreen #draggableSheet.sheetAddStops .btnSheetToolsToggle .sheetToolsToggleChevr{display:inline-block;font-size:11px;opacity:.75;transition:transform .18s ease}#mapScreen #draggableSheet.sheetAddStops .btnSheetToolsToggle[aria-expanded=true] .sheetToolsToggleChevr{transform:rotate(-180deg)}#mapScreen #draggableSheet.sheetAddStops .sheetFooterToolsPanel{margin-top:8px}#mapScreen #draggableSheet.sheetAddStops .sheetFooter .button-row.sheetToolbarGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:0;padding:0;width:100%;flex-wrap:nowrap}#mapScreen #draggableSheet.sheetAddStops .sheetFooter .sheetToolbarGrid button{flex:unset;width:100%;min-width:0;font-size:12px;padding-left:4px;padding-right:4px;min-height:44px;border:var(--ui-btn-border);background:var(--ui-btn-bg);color:#fff;font-weight:750;box-shadow:var(--ui-btn-shadow);text-shadow:var(--ui-btn-text-shadow)}@media (max-width:360px){#mapScreen #draggableSheet.sheetAddStops .sheetFooter .sheetToolbarGrid button{font-size:11px}}#mapScreen #draggableSheet[data-map-step=route] #addressPreview,#mapScreen #draggableSheet[data-map-step=route] #labelRouteSection{display:none}.sheetSectionLabel{font-size:11px;font-weight:750;color:rgba(255,255,255,.48);text-transform:uppercase;letter-spacing:.07em;margin:8px 2px 6px}#mapScreen .sheetSectionHeader{display:flex;align-items:center;justify-content:space-between;gap:10px}#mapScreen .sheetSectionHeader .sheetSectionLabel{margin-bottom:0}#mapScreen .sheetSectionCount{min-width:28px;height:28px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--ui-btn-bg-primary);border:var(--ui-btn-border);box-shadow:0 0 0 2px var(--ui-ring),0 6px 18px rgba(0,0,0,.35);color:#fff;font-size:12px;font-weight:900}.addressPreview{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:4px 2px 14px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:2px}.addressPreviewText{flex:1;min-width:0}.addressPreviewTitle{font-weight:800;font-size:16px;line-height:1.28;color:rgba(255,255,255,.96);word-break:break-word}.addressPreviewSub{margin-top:4px;font-size:13px;font-weight:650;color:rgba(255,255,255,.62);line-height:1.25}.btnEditAddress{flex:0 0 auto;width:46px;height:46px;border:var(--ui-btn-border);border-radius:12px;background:var(--ui-btn-bg);font-size:18px;font-weight:800;cursor:pointer;line-height:1;color:#fff;box-shadow:var(--ui-btn-shadow);text-shadow:var(--ui-btn-text-shadow)}.btnEditAddress:active{transform:scale(.96)}#mapScreen .sheetFieldWrap{display:grid;grid-template-columns:minmax(0,1fr) 46px;grid-template-areas:"routeField routeClear";align-items:center;gap:8px;width:100%}#mapScreen .sheetRouteStack .sheetRouteInputCol{grid-area:routeField;min-width:0;width:100%;display:flex;flex-direction:column;align-self:stretch}#mapScreen .sheetFieldWrap .btnClearField{grid-area:routeClear}#mapScreen .btnClearField{width:44px;height:44px;min-height:44px;margin:0;padding:0;border-radius:14px;border:var(--ui-btn-border);background:linear-gradient(165deg,#c44255 0,#8b2236 55%,#5c1528 100%);color:#fff;font-size:20px;font-weight:800;box-shadow:var(--ui-btn-shadow);text-shadow:var(--ui-btn-text-shadow);cursor:pointer}#mapScreen .btnClearField:active{transform:scale(.96)}.routeStartChoiceBackdrop[hidden],.routeStartChoiceSheet[hidden]{display:none!important}.routeStartChoiceBackdrop{position:fixed;inset:0;background:rgba(0,0,0,.42);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:45000}.routeStartChoiceSheet{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - max(24px,env(safe-area-inset-left,0px) + env(safe-area-inset-right,0px))));z-index:46000;border-radius:18px;border:var(--ui-btn-border);background:linear-gradient(180deg,rgba(22,34,60,.98),rgba(13,23,43,.96));box-shadow:0 24px 70px rgba(0,0,0,.35);overflow:hidden}.routeStartChoiceHead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px 10px}.routeStartChoiceTitle{font-size:14px;font-weight:900;color:rgba(255,255,255,.95);letter-spacing:.02em}.routeStartChoiceClose{width:40px;height:40px;border-radius:14px;border:var(--ui-btn-border);background:var(--ui-btn-bg);color:#fff;font-size:18px;font-weight:900;line-height:1;padding:0;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--ui-btn-shadow);text-shadow:var(--ui-btn-text-shadow);cursor:pointer}.routeStartChoiceClose:active{transform:scale(.96)}.routeStartChoiceBody{display:flex;flex-direction:column;gap:10px;padding:0 14px 14px}.routeStartChoiceBtn{width:100%;min-height:46px;height:46px;border-radius:16px;border:var(--ui-btn-border);background:var(--ui-btn-bg);color:#fff;font-weight:850;font-size:15px;box-shadow:var(--ui-btn-shadow);text-shadow:var(--ui-btn-text-shadow);cursor:pointer}.routeStartChoiceBtn:active{transform:scale(.98)}.routeStartChoiceBtnPrimary{background:var(--ui-btn-bg-primary)}#mapScreen .button-row.full-width{margin-top:8px}#mapScreen .button-row.full-width button{width:100%}#mapScreen .btnSecondaryOutline{background:var(--ui-btn-bg)!important;color:#fff!important;border:var(--ui-btn-border)!important;box-shadow:var(--ui-btn-shadow)!important;text-shadow:var(--ui-btn-text-shadow)!important}#mapScreen .btnSecondaryOutline:active{filter:brightness(.94)!important}#mapScreen .sheetRouteStack{display:flex;flex-direction:column;gap:10px;margin:6px 0 12px}#mapScreen .sheetRouteStack .sheetFieldLabel--block{font-size:11px;font-weight:780;color:rgba(255,255,255,.9);text-transform:uppercase;letter-spacing:.08em;margin:8px 2px 0}#mapScreen .sheetRouteStack .sheetFieldWrap input{width:100%;max-width:none;margin:0;box-sizing:border-box;text-align:left;padding:12px 14px;border-radius:16px;background:#fff;color:#0b1220;border:1px solid rgba(0,0,0,.06);min-height:52px;font-size:16px;transition:border-color .15s ease,box-shadow .15s ease}#mapScreen .sheetRouteStack .sheetFieldWrap input:focus{outline:0;border-color:rgba(45,125,255,.75);box-shadow:0 0 0 3px rgba(45,125,255,.32)}#mapScreen .sheetRouteStack .sheetFieldWrap input::placeholder{color:rgba(11,18,32,.42)}#mapScreen #draggableSheet.sheetAddStops .fermata .inputFermata,#mapScreen #draggableSheet.sheetAddStops .fermata .inputMinuti{background:rgba(255,255,255,.94);color:#0b1220;border:1px solid rgba(0,0,0,.08)}.inputWrap{position:relative;width:100%}.inputWrap input{width:100%}.suggestions{position:absolute;top:calc(100% + 6px);left:0;right:0;background:rgba(255,255,255,.98);border:1px solid rgba(11,18,32,.1);border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.18);max-height:min(240px,42vh);overflow:auto;z-index:30000;padding:6px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain}.suggestionItem{display:flex;flex-direction:column;gap:2px;padding:10px 10px;border-radius:12px;cursor:pointer}.suggestionItem.is-selected,.suggestionItem:hover{background:rgba(45,125,255,.12)}.suggestionTitle{font-weight:850;color:#0b1220;line-height:1.25;font-size:14px;word-break:break-word}.suggestionSub{font-weight:650;color:rgba(11,18,32,.78);font-size:13px;line-height:1.25;word-break:break-word}#mapScreen #fermateScroll{max-height:none}#mapScreen #draggableSheet.sheetAddStops .fermata{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 58px 46px;align-items:center;gap:8px;overflow:visible;z-index:0;padding:10px;border-radius:18px;background:linear-gradient(180deg,rgba(22,34,60,.98),rgba(13,23,43,.96));border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 28px rgba(0,0,0,.22);margin-top:8px;transition:box-shadow 180ms ease,border-color 180ms ease,transform 180ms ease}#mapScreen #draggableSheet.sheetAddStops .fermata:focus-within{z-index:50}#mapScreen #draggableSheet.sheetAddStops .fermata.is-just-added{border-color:rgba(45,125,255,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 16px 34px rgba(0,0,0,.26),0 0 0 3px rgba(45,125,255,.2);transform:translateY(-1px)}#mapScreen #draggableSheet.sheetAddStops .fermata .stopIndexBadge{position:absolute;top:-10px;left:12px;height:24px;min-width:24px;padding:0 8px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;color:rgba(255,255,255,.96);background:linear-gradient(180deg,rgba(45,125,255,.95),rgba(31,99,216,.95));border:1px solid rgba(255,255,255,.16);box-shadow:0 10px 22px rgba(0,0,0,.25)}#mapScreen #draggableSheet.sheetAddStops .fermata .inputWrap{width:100%;min-width:0}#mapScreen #draggableSheet.sheetAddStops .fermata .inputFermata{width:100%;min-width:0;height:48px;padding:12px 14px;font-size:16px;text-align:left;background:rgba(255,255,255,.95)}#mapScreen #draggableSheet.sheetAddStops .fermata .inputMinuti{width:100%;max-width:100%;min-width:0;height:48px;padding:10px 4px;font-size:16px;font-weight:700;text-align:center;background:rgba(255,255,255,.95);-moz-appearance:textfield;appearance:textfield}#mapScreen #draggableSheet.sheetAddStops .fermata .inputMinuti::-webkit-inner-spin-button,#mapScreen #draggableSheet.sheetAddStops .fermata .inputMinuti::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#mapScreen #draggableSheet.sheetAddStops .fermata .inputMinuti::placeholder{font-size:13px;letter-spacing:-.02em}#mapScreen #draggableSheet.sheetAddStops .fermata button{width:44px;height:44px;min-height:44px;margin:0;padding:0;border-radius:14px;border:var(--ui-btn-border);background:linear-gradient(165deg,#c44255 0,#8b2236 55%,#5c1528 100%);color:#fff;font-size:20px;font-weight:800;box-shadow:var(--ui-btn-shadow);text-shadow:var(--ui-btn-text-shadow)}@media (max-width:520px){#mapScreen #draggableSheet.sheetAddStops .fermata{grid-template-columns:minmax(0,1fr) 54px 42px;gap:7px}#mapScreen #draggableSheet.sheetAddStops .fermata .inputWrap{width:100%}#mapScreen #draggableSheet.sheetAddStops .fermata .inputMinuti{width:100%;max-width:100%;padding:10px 3px}}#mapScreen .button-row button{height:50px;font-size:14px;border-radius:14px;border:var(--ui-btn-border);background:var(--ui-btn-bg-primary);color:#fff;font-weight:800;box-shadow:var(--ui-btn-shadow);text-shadow:var(--ui-btn-text-shadow)}#mapScreen #btnCasa,#mapScreen #btnPreferiti,#mapScreen #btnRecenti{background:var(--ui-btn-bg);border:var(--ui-btn-border);color:#fff;font-weight:800;box-shadow:var(--ui-btn-shadow);text-shadow:var(--ui-btn-text-shadow);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}#mapScreen #infoBox{background:linear-gradient(165deg,rgba(46,56,78,.55) 0,rgba(18,26,42,.72) 100%);border:var(--ui-btn-border);box-shadow:var(--ui-panel-shadow);color:rgba(255,255,255,.96)}#mapScreen #labelKm,#mapScreen #labelMin{color:rgba(255,255,255,.92)}#dragHandle:not(.sheetGrabDot),#dragHandleNav:not(.sheetGrabDot){width:56px;height:6px;background:rgba(255,255,255,.35);border-radius:999px;margin:0 auto 12px auto}.input-row{display:flex;justify-content:space-between;gap:10px;width:100%;margin-bottom:10px}.input-row input{width:48%}@media (max-width:640px){.input-row{flex-direction:column;gap:var(--gap)}.input-row input{width:100%}}.button-row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;align-items:stretch}.button-row button{height:55px;font-size:14px;border-radius:14px;font-weight:600;min-width:0;flex:1 1 120px}@media (max-width:520px){.button-row button{flex:1 1 calc(50% - 6px)}.button-row.full-width button{flex:1 1 100%}}#btnCasa,#btnPreferiti,#btnRecenti{background:var(--ui-btn-bg);border:var(--ui-btn-border);box-shadow:var(--ui-btn-shadow);color:#fff;font-weight:800;text-shadow:var(--ui-btn-text-shadow);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}#btnCasa:hover,#btnPreferiti:hover,#btnRecenti:hover{filter:brightness(1.08)}.sheet-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:15px}.sheet-buttons button{margin:0;min-height:52px;border-radius:16px;border:var(--ui-btn-border);background:var(--ui-btn-bg-primary);color:#fff;font-weight:850;font-size:16px;box-shadow:var(--ui-btn-shadow);text-shadow:var(--ui-btn-text-shadow)}.sheet-buttons button:active{transform:scale(.98)}#infoBox{background:linear-gradient(165deg,rgba(46,56,78,.55) 0,rgba(18,26,42,.72) 100%);padding:12px 12px;border-radius:14px;border:var(--ui-btn-border);box-shadow:var(--ui-panel-shadow);text-align:center;font-size:16px;margin-top:15px;margin-bottom:10px}#elencoFermateContainer{max-height:200px;overflow-y:auto;margin-bottom:20px}#fermateList{list-style:none;padding-left:0;margin:0}#fermateList li.stopItem{display:flex;align-items:flex-start;gap:10px;padding:10px 10px;border-radius:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);margin:8px 0;transition:transform 140ms ease,background-color 140ms ease,border-color 140ms ease;position:relative;cursor:pointer;outline:0}#fermateList li.stopItem:hover{transform:translateY(-1px);border-color:rgba(45,125,255,.22)}#fermateList li.stopItem:focus-visible{box-shadow:0 0 0 3px rgba(45,125,255,.22)}#fermateList li.stopItem::before{content:"";position:absolute;left:23px;top:-10px;bottom:-10px;width:2px;background:rgba(11,18,32,.1);border-radius:99px}#fermateList li.stopItem:first-child::before{top:22px}#fermateList li.stopItem:last-child::before{bottom:22px}.stopMeta{margin-left:auto;font-weight:900;font-size:13px;color:rgba(11,18,32,.55);padding-top:2px;white-space:nowrap}#fermateList li.stopItem.is-active{background:rgba(45,125,255,.22);border-color:rgba(45,125,255,.45);transform:translateY(-1px)}#fermateList li.stopItem.is-done{opacity:.72}.stopItem.is-done .stopBadge{background:rgba(255,255,255,.35);color:rgba(11,18,32,.95);box-shadow:none}.stopBadge{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;background:rgba(45,125,255,.95);border:1px solid rgba(255,255,255,.16);box-shadow:0 10px 25px rgba(0,0,0,.25);flex:0 0 auto;z-index:1}.stopText{color:rgba(255,255,255,.92);line-height:1.25;font-weight:750;word-break:break-word}#mapScreen .stopText{color:rgba(255,255,255,.92)}#mapScreen #fermateList li.stopItem{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14)}#mapScreen #fermateList li.stopItem.is-active{background:rgba(45,125,255,.35);border-color:rgba(45,125,255,.55)}#mapScreen .stopMeta{color:rgba(255,255,255,.62)}.leaflet-control-container .leaflet-routing-alternatives-container,.leaflet-routing-container{display:none!important;pointer-events:none!important}.button-row.full-width{margin-top:10px}.button-row.full-width button{width:100%}.spinner{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100vh;height:100dvh;height:var(--app-height);background-color:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;z-index:9999}.spinner img{width:400px;height:400px;animation:spin 2s linear infinite}@media (max-width:420px){.spinner img{width:260px;height:260px}}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.hidden{display:none}#toastRegion{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(720px,calc(100vw - 24px));z-index:20000;pointer-events:none;display:flex;flex-direction:column;gap:10px;align-items:center}.toast{pointer-events:auto;background:linear-gradient(165deg,rgba(46,56,78,.96) 0,rgba(18,26,42,.98) 100%);color:rgba(255,255,255,.98);padding:12px 14px;border-radius:14px;border:var(--ui-btn-border);box-shadow:var(--ui-panel-shadow);font-weight:750;text-align:center;max-width:100%;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:toastIn 180ms ease-out forwards;white-space:pre-line;display:flex;align-items:flex-start;gap:10px}.toastText{flex:1 1 auto}.toastCloseBtn{flex:0 0 auto;width:32px;height:32px;min-height:32px;margin:0;padding:0;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:rgba(255,255,255,.92);font-size:14px;line-height:1;box-shadow:none;cursor:pointer}.toastCloseBtn:hover{filter:brightness(1.08)}.toastCloseBtn:active{transform:scale(.96)}.toast--success{border-color:rgba(85,255,164,.22);box-shadow:0 18px 55px rgba(0,0,0,.35),0 0 0 3px rgba(85,255,164,.1)}.toast--warning{border-color:rgba(255,205,86,.24);box-shadow:0 18px 55px rgba(0,0,0,.35),0 0 0 3px rgba(255,205,86,.1)}.toast--error{border-color:rgba(255,92,124,.24);box-shadow:0 18px 55px rgba(0,0,0,.35),0 0 0 3px rgba(255,92,124,.1)}.toast--info{border-color:rgba(45,125,255,.22);box-shadow:0 18px 55px rgba(0,0,0,.35),0 0 0 3px rgba(45,125,255,.1)}.toast.is-leaving{animation:toastOut .2s ease-in forwards}@keyframes toastIn{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toastOut{from{transform:translateY(0);opacity:1}to{transform:translateY(8px);opacity:0}}#navigazioneMappa{position:relative;width:100%;height:100vh;height:100dvh;height:var(--app-height);overflow:hidden;background:var(--bg);overscroll-behavior:none;touch-action:none;--nav-fab-clear:calc(92px + env(safe-area-inset-bottom, 0px));--nav-side-stack:calc(156px + env(safe-area-inset-bottom, 0px))}#navigazioneMappa #prossimaIstruzione{position:fixed!important;top:calc(14px + env(safe-area-inset-top,0px))!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:min(720px,calc(100vw - 24px))!important;height:auto!important;min-height:48px;padding:10px 14px!important;border-radius:14px!important;background:linear-gradient(165deg,rgba(46,56,78,.92) 0,rgba(18,26,42,.94) 100%)!important;color:rgba(255,255,255,.98)!important;box-shadow:var(--ui-panel-shadow)!important;border:var(--ui-btn-border)!important;font-weight:800!important;font-size:16px!important;z-index:10050!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;line-height:1.15;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}@media (max-width:420px){#navigazioneMappa #prossimaIstruzione{font-size:14px!important;padding:9px 12px!important;border-radius:12px!important}}#navigazioneMappa #backToFermateBtn{position:fixed;bottom:var(--nav-fab-clear);left:calc(20px + env(safe-area-inset-left,0px));width:52px;height:52px;border-radius:50%;background:var(--ui-btn-bg);color:#fff;font-size:22px;font-weight:700;border:var(--ui-btn-border);box-shadow:0 12px 32px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.18);text-shadow:var(--ui-btn-text-shadow);z-index:10090;pointer-events:auto;display:flex;justify-content:center;align-items:center;appearance:none;-webkit-appearance:none}#navigazioneMappa #mapNavigazioneWrap{position:absolute;top:50%;left:50%;width:140vmax;height:140vmax;transform-origin:center center;transition:transform .3s ease-in-out;z-index:1;background:#0e1628;touch-action:none}#navigazioneMappa #mapNavigazione{position:relative;width:100%;height:100%;z-index:1;touch-action:none}#navigazioneMappa #mapNavigazione .leaflet-container{background:#0e1628}#map,#mapScreen #map,.leaflet-container{touch-action:none}#navigazioneMappa .navSideButtons{position:fixed;right:calc(10px + env(safe-area-inset-right,0px));bottom:var(--nav-side-stack);display:flex;flex-direction:column;align-items:center;gap:12px;z-index:10090;pointer-events:auto}#navigazioneMappa #infoNavigazione{position:fixed;top:calc(84px + env(safe-area-inset-top,0px));right:calc(12px + env(safe-area-inset-right,0px));background:linear-gradient(165deg,rgba(46,56,78,.94) 0,rgba(18,26,42,.96) 100%);color:rgba(255,255,255,.98);font-size:14px;font-weight:750;padding:8px 12px;border-radius:12px;box-shadow:var(--ui-panel-shadow);border:var(--ui-btn-border);z-index:9999;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px;max-width:min(340px,calc(100vw - 24px));width:auto;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}#navigazioneMappa #infoNavigazione .navInfoSep{opacity:.55;font-weight:800;user-select:none}#navigazioneMappa #orologio,#navigazioneMappa #velocita{font-weight:750}#navigazioneMappa #eta{font-weight:800;opacity:.95}#navigazioneMappa #navBottomBar{position:fixed;left:0;right:0;bottom:0;transform:none;width:100%;max-width:none;background:linear-gradient(180deg,rgba(22,28,44,.96) 0,rgba(6,10,20,.98) 100%);border:var(--ui-btn-border);border-bottom:none;border-radius:18px 18px 0 0;box-shadow:0 -3px 0 0 var(--ui-ring),0 24px 70px rgba(0,0,0,.45);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:10060;padding:12px 14px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box}.nav-night #navigazioneMappa #navBottomBar{background:linear-gradient(180deg,rgba(12,14,22,.98) 0,rgba(0,0,0,.96) 100%);border-color:var(--ui-black)}.nav-night #navigazioneMappa #prossimaIstruzione{background:linear-gradient(165deg,rgba(28,32,42,.96) 0,rgba(8,10,16,.98) 100%)!important;color:rgba(255,255,255,.98)!important;border:var(--ui-btn-border)!important;box-shadow:var(--ui-panel-shadow)!important}.nav-night #navigazioneMappa #infoNavigazione{background:linear-gradient(165deg,rgba(28,32,42,.96) 0,rgba(8,10,16,.98) 100%);color:rgba(255,255,255,.98);border:var(--ui-btn-border);box-shadow:var(--ui-panel-shadow)}.nav-night #navigazioneMappa #infoNavigazione #eta,.nav-night #navigazioneMappa #infoNavigazione #orologio,.nav-night #navigazioneMappa #infoNavigazione #velocita{color:rgba(255,255,255,.96)}#navigazioneMappa .navBottomMain{display:flex;flex-direction:column;gap:0;min-width:0;flex:1 1 auto}#navigazioneMappa #navBottomEta.navBottomLine{font-size:16px;font-weight:850;color:rgba(255,255,255,.96);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#navigazioneMappa .navBottomActions{display:flex;gap:10px;flex-shrink:0}#navigazioneMappa .navPillBtn{margin:0;padding:11px 14px;min-height:46px;height:auto;border-radius:14px;background:var(--ui-btn-bg);color:#fff;border:var(--ui-btn-border);box-shadow:var(--ui-btn-shadow);font-size:17px;font-weight:800;letter-spacing:.02em;text-shadow:var(--ui-btn-text-shadow);-webkit-tap-highlight-color:transparent}#navigazioneMappa .navPillBtn:hover{filter:brightness(1.12)}#navigazioneMappa .navPillBtn:active{filter:brightness(.96);transform:scale(.98)}#navigazioneMappa .navPillBtn.is-active{background:var(--ui-btn-bg-primary);color:#fff;border:var(--ui-btn-border);box-shadow:0 0 0 3px var(--ui-ring),0 0 0 6px rgba(45,125,255,.55),0 10px 28px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.28)}.btn-mappa{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.1);color:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.14);font-size:18px;box-shadow:0 18px 55px rgba(0,0,0,.3);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}#navigazioneMappa .btn-cerchio{width:52px;height:52px;border-radius:50%;background:var(--ui-btn-bg);color:#fff;font-size:20px;font-weight:700;border:var(--ui-btn-border);box-shadow:0 12px 32px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.18);text-shadow:var(--ui-btn-text-shadow);display:flex;justify-content:center;align-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:filter .15s ease,transform .12s ease;appearance:none;-webkit-appearance:none}#navigazioneMappa .btn-cerchio:hover{filter:brightness(1.1)}#navigazioneMappa .btn-cerchio:active{filter:brightness(.96);transform:scale(.97)}#navigazioneMappa .btn-cerchio.is-active{background:var(--ui-btn-bg-primary);color:#fff;border:var(--ui-btn-border);box-shadow:0 0 0 3px var(--ui-ring),0 0 0 6px rgba(45,125,255,.55),0 12px 32px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.25)}@media (min-width:900px) and (pointer:fine){#navigazioneMappa #backToFermateBtn:focus,#navigazioneMappa #backToFermateBtn:focus-visible,#navigazioneMappa .btn-cerchio:focus,#navigazioneMappa .btn-cerchio:focus-visible{outline:0;outline-offset:0}}.leaflet-pane.leaflet-marker-pane{z-index:620!important}.leaflet-marker-icon.macchina-marker{border-radius:0}.leaflet-marker-icon.macchina-marker.macchina-marker--photo{background:0 0!important;border:none!important;box-shadow:none}.leaflet-control-zoom{display:none!important}.cerchio-num{background-color:#000;color:#fff;border-radius:50%;width:26px;height:26px;text-align:center;line-height:26px;font-weight:700;font-size:14px;border:2px solid #fff}.cerchio-num.bianco{background-color:#fff;color:#000;border:2px solid #666}#welcomeTitle{opacity:0;transform:translateY(30px);animation:titleEnter 1s ease-out forwards;animation-delay:.3s}@keyframes titleEnter{to{opacity:1;transform:translateY(0)}}#continueBtn1,#langLabel,#languageSelect{opacity:0;transform:translateY(20px);animation:fadeUp .8s ease forwards}#langLabel{animation-delay:.6s}#languageSelect{animation-delay:.8s}#continueBtn1{animation-delay:1s}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}#welcomeScreen{animation:bgMove 10s linear infinite}@keyframes bgMove{0%{background-position:center}50%{background-position:55% 45%}100%{background-position:center}}@media (max-width:768px){#welcomeScreen{animation:none}#welcomeScreen .logo{animation:none;opacity:1;transform:none}}@keyframes fadeOut{to{opacity:0;transform:scale(1.05)}}#langLabel{margin-top:10px}select{margin:5px 0 15px 0}.fermata{display:flex;align-items:center;gap:10px;margin-top:10px;padding:8px 10px;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.inputFermata{flex:3;padding:10px 12px;height:44px}.inputMinuti{flex:1;padding:10px 8px;text-align:center;height:44px}.fermata button{background:0 0;border:none;color:red;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .1s ease,color .2s ease}.fermata .inputFermata,.fermata .inputMinuti{margin:0;width:auto;max-width:none;border-radius:12px;border:1px solid rgba(0,0,0,.06)}.fermata button:active{transform:scale(.96)}.fermata button:hover{filter:brightness(1.1)}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}#liveMapScreen{position:relative;width:100%;min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;height:var(--app-height);background-image:url("welcome-hero.jpg");background-size:cover;background-position:center;background-repeat:no-repeat;overflow:hidden}#liveMapScreen::before{content:"";position:absolute;inset:0;background:radial-gradient(1200px 800px at 50% 28%,rgba(11,18,32,.28),rgba(11,18,32,.82));z-index:0;pointer-events:none}#liveMapScreen #liveMap{position:relative;z-index:1}