/* v109 — installed-app behavior and locked shell */
:root{--lh-app-header:92px;--lh-app-nav:88px}
html{height:100%;min-height:100%;overscroll-behavior:none;-webkit-text-size-adjust:100%;background:var(--bg,#eee8dc)}
body{min-height:100dvh;overscroll-behavior-y:none;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-top:calc(var(--lh-app-header) + env(safe-area-inset-top))!important;padding-bottom:calc(var(--lh-app-nav) + 24px + env(safe-area-inset-bottom))!important}
.v21-top{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:12000!important;padding-top:env(safe-area-inset-top)!important;transform:translateZ(0);backface-visibility:hidden;contain:layout paint style}
.v21-topin{min-height:var(--lh-app-header)!important}
.v21-nav,.v62-nav,.v67-nav{position:fixed!important;left:50%!important;right:auto!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;transform:translate3d(-50%,0,0)!important;z-index:12000!important;backface-visibility:hidden;contain:layout paint style;will-change:transform}
.v21-drawer,.v21-overlay{position:fixed!important;inset:0!important;height:100dvh!important;z-index:13000!important;overscroll-behavior:contain}
.v21-drawerpanel,.v21-sheet{max-height:100dvh!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
@media(display-mode:standalone){body{user-select:none;-webkit-user-select:none}.v21-field input,.v21-field textarea,input,textarea{user-select:text;-webkit-user-select:text}.v21-top{padding-top:env(safe-area-inset-top)!important}}
@media(max-width:720px){:root{--lh-app-header:78px;--lh-app-nav:84px}.v21-nav,.v62-nav,.v67-nav{width:calc(100% - 18px)!important;bottom:calc(8px + env(safe-area-inset-bottom))!important}.v21-topin{min-height:78px!important}}
.lh-install-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;width:100%!important;margin-top:12px!important;padding:15px 16px!important;border:1px solid var(--line)!important;border-radius:18px!important;background:var(--panel)!important;color:var(--ink)!important;text-align:left!important;min-height:66px!important}
.lh-install-row .lh-install-copy{display:grid;gap:3px}.lh-install-row strong{font-size:15px}.lh-install-row small{font-size:11px;color:var(--muted)!important}.lh-install-row svg{width:22px;height:22px;flex:0 0 auto}.lh-install-row[hidden]{display:none!important}
.lh-install-toast{position:fixed;left:50%;bottom:calc(112px + env(safe-area-inset-bottom));transform:translateX(-50%) translateY(16px);z-index:15000;width:min(calc(100% - 28px),430px);padding:14px 16px;border-radius:16px;background:var(--ink);color:var(--bg);font-size:13px;font-weight:750;line-height:1.45;opacity:0;pointer-events:none;transition:.2s}.lh-install-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* v110 — repair raised center Home tab */
.v21-nav.v67-nav,
.v62-nav.v67-nav,
.v67-nav{
  overflow:visible!important;
  contain:layout style!important;
  isolation:isolate!important;
  align-items:center!important;
}
.v67-nav .v67-home-button,
html[data-theme="light"] .v67-nav .v67-home-button,
html[data-theme="dark"] .v67-nav .v67-home-button{
  position:relative!important;
  z-index:20!important;
  align-self:center!important;
  margin:0 auto!important;
  transform:translate3d(0,-18px,0)!important;
  border:2px solid #2d2922!important;
  outline:none!important;
  box-shadow:0 16px 34px rgba(0,0,0,.34),0 0 0 6px var(--bg)!important;
  overflow:visible!important;
}
.v67-nav .v67-home-button:before,
.v67-nav .v67-home-button:after{
  display:none!important;
  content:none!important;
}
.v67-nav .v67-home-button svg{
  position:absolute!important;
  inset:50% auto auto 50%!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
}
@media(max-width:720px){
  .v67-nav .v67-home-button,
  html[data-theme="light"] .v67-nav .v67-home-button,
  html[data-theme="dark"] .v67-nav .v67-home-button{
    width:70px!important;
    height:70px!important;
    transform:translate3d(0,-17px,0)!important;
  }
}

/* v111 — reliable Add to Home Screen control and iOS guide */
.lh-install-row svg,.more-row[data-lh-install] svg{fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.more-row[data-lh-install][hidden],.lh-install-row[hidden]{display:none!important}
.lh-a2hs-backdrop{position:fixed;inset:0;z-index:30000;display:none;align-items:flex-end;justify-content:center;padding:18px;background:rgba(0,0,0,.58);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.lh-a2hs-backdrop.open{display:flex}
.lh-a2hs-card{position:relative;width:min(100%,430px);padding:28px 24px calc(24px + env(safe-area-inset-bottom));border:1px solid var(--line);border-radius:28px;background:var(--panel-raised,var(--panel));color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.42);text-align:center}
.lh-a2hs-card h2{margin:12px 0 8px;font-size:22px;line-height:1.15}.lh-a2hs-card p{margin:0 auto 20px;max-width:330px;color:var(--muted);font-size:14px;line-height:1.55}
.lh-a2hs-icon{display:grid;place-items:center;width:58px;height:58px;margin:auto;border-radius:18px;background:var(--ink);color:var(--bg)}.lh-a2hs-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lh-a2hs-close{position:absolute;right:14px;top:12px;width:36px;height:36px;border:0;border-radius:50%;background:var(--well,var(--bg));color:var(--ink);font-size:24px;line-height:1}.lh-a2hs-done{width:100%;min-height:48px;border:0;border-radius:15px;background:var(--ink);color:var(--bg);font-weight:800;font-size:14px}

/* v113 — native fixed app dock, locked viewport and keyboard-stable shell */
:root{
  --lh-app-nav:82px;
  --lh-app-nav-safe:calc(82px + env(safe-area-inset-bottom));
}
html{
  width:100%;
  height:100%;
  min-height:100%;
  overflow-x:hidden;
  overscroll-behavior:none;
  touch-action:pan-y;
}
body{
  width:100%;
  min-height:100svh!important;
  margin:0!important;
  overflow-x:hidden!important;
  overscroll-behavior:none!important;
  padding-bottom:calc(var(--lh-app-nav) + env(safe-area-inset-bottom) + 18px)!important;
}

/* Full-width, fully opaque bottom dock */
.v21-nav,
.v21-nav.v62-nav,
.v21-nav.v67-nav,
.v62-nav.v67-nav,
.v67-nav{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  top:auto!important;
  width:100%!important;
  max-width:none!important;
  height:calc(var(--lh-app-nav) + env(safe-area-inset-bottom))!important;
  min-height:calc(var(--lh-app-nav) + env(safe-area-inset-bottom))!important;
  margin:0!important;
  padding:0 8px env(safe-area-inset-bottom)!important;
  transform:none!important;
  border-radius:0!important;
  border:0!important;
  border-top:1px solid rgba(255,255,255,.09)!important;
  background:#141410!important;
  box-shadow:0 -10px 28px rgba(0,0,0,.34)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  overflow:hidden!important;
  contain:layout paint style!important;
  isolation:isolate!important;
  z-index:2147482000!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-items:center!important;
  justify-items:stretch!important;
}
html[data-theme="light"] .v21-nav,
html[data-theme="light"] .v21-nav.v67-nav{
  background:#f1ecdf!important;
  border-top-color:rgba(30,27,22,.16)!important;
  box-shadow:0 -10px 28px rgba(38,31,22,.16)!important;
}

.v21-nav > a,
.v21-nav > button{
  min-width:0!important;
  height:100%!important;
  margin:0!important;
  padding:10px 2px 8px!important;
  border-radius:0!important;
  transform:none!important;
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  overflow:hidden!important;
}
.v21-nav > a svg,
.v21-nav > button svg{
  position:static!important;
  inset:auto!important;
  width:22px!important;
  height:22px!important;
  margin:0!important;
  transform:none!important;
  flex:0 0 auto!important;
}
.v21-nav > a span,
.v21-nav > button span{
  white-space:nowrap!important;
  line-height:1!important;
}

/* Home circle is fully contained inside the dock */
.v67-nav .v67-home-button,
html[data-theme="light"] .v67-nav .v67-home-button,
html[data-theme="dark"] .v67-nav .v67-home-button{
  position:relative!important;
  width:58px!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  align-self:center!important;
  justify-self:center!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  border:2px solid #343028!important;
  border-radius:50%!important;
  background:#050505!important;
  color:#f4efe5!important;
  outline:none!important;
  box-shadow:0 6px 16px rgba(0,0,0,.3),inset 0 0 0 1px rgba(255,255,255,.05)!important;
  overflow:hidden!important;
  z-index:2!important;
}
html[data-theme="light"] .v67-nav .v67-home-button{
  border-color:#c9c0af!important;
  background:#11110f!important;
  color:#f7f3ea!important;
}
.v67-nav .v67-home-button svg{
  position:static!important;
  width:27px!important;
  height:27px!important;
  transform:none!important;
}
.v67-nav .v67-home-button:before,
.v67-nav .v67-home-button:after{display:none!important;content:none!important}

/* Inputs stay readable and avoid iOS focus zoom */
input,select,textarea,button{font-size:16px!important}
input,select,textarea{touch-action:manipulation}

/* Do not let drawers or sheets reveal page content below the dock */
.v21-overlay,.more-overlay,.lh-a2hs-backdrop{overscroll-behavior:contain!important}

@media(max-width:720px){
  :root{--lh-app-nav:78px}
  .v21-nav,.v21-nav.v67-nav,.v62-nav.v67-nav,.v67-nav{
    width:100%!important;
    bottom:0!important;
    padding-left:4px!important;
    padding-right:4px!important;
  }
  .v67-nav .v67-home-button,
  html[data-theme="light"] .v67-nav .v67-home-button,
  html[data-theme="dark"] .v67-nav .v67-home-button{
    width:56px!important;
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
  }
}

/* v116 — default Driver identity + slightly larger navigation icons */
.v21-nav > a svg,
.v21-nav > button svg{
  width:25px!important;
  height:25px!important;
}
.v67-nav .v67-home-button svg{
  width:30px!important;
  height:30px!important;
}
.v21-nav .nav-icon,
.v62-nav .nav-icon,
.v67-nav .nav-icon{
  width:25px!important;
  height:25px!important;
  font-size:25px!important;
}


/* v117 — Home is a locked single-screen command center above the fixed dock */
html:has(body.lh-home-locked),
body.lh-home-locked{
  width:100%;
  height:100%;
  min-height:100%;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}

body.lh-home-locked{
  box-sizing:border-box!important;
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  padding-top:calc(var(--lh-app-header) + env(safe-area-inset-top))!important;
  padding-bottom:calc(var(--lh-app-nav) + env(safe-area-inset-bottom))!important;
  touch-action:pan-x pan-y;
}

body.lh-home-locked > .v63-home{
  box-sizing:border-box!important;
  width:min(100%,1100px)!important;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  margin:0 auto!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}

body.lh-home-locked .v63-command,
body.lh-home-locked .v63-layout,
body.lh-home-locked .v63-ring-zone,
body.lh-home-locked .v63-analyzer{
  min-height:0!important;
  max-height:100%!important;
  overflow:hidden!important;
}

@media(max-width:720px){
  body.lh-home-locked > .v63-home{
    padding:4px 7px 5px!important;
  }
  body.lh-home-locked .v63-command{
    height:100%!important;
  }
}

@media(max-width:720px) and (max-height:760px){
  body.lh-home-locked .v63-header{
    min-height:36px!important;
  }
  body.lh-home-locked .v63-header h1{
    font-size:27px!important;
  }
  body.lh-home-locked .v63-rings{
    width:min(64vw,270px)!important;
    max-height:34dvh!important;
  }
  body.lh-home-locked .v63-legend>div{
    padding:3px 2px!important;
  }
  body.lh-home-locked .v63-capture button{
    height:34px!important;
  }
  body.lh-home-locked .v63-field input,
  body.lh-home-locked .v63-field select{
    height:32px!important;
  }
}

/* v118 — hard viewport partition: Home ends above the opaque bottom dock */
html:has(body.lh-home-locked),
body.lh-home-locked{
  box-sizing:border-box!important;
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  overflow:hidden!important;
}
body.lh-home-locked{
  position:fixed!important;
  inset:0!important;
  padding:0!important;
}
body.lh-home-locked > .v63-home{
  position:fixed!important;
  top:calc(var(--lh-app-header) + env(safe-area-inset-top))!important;
  right:0!important;
  bottom:calc(var(--lh-app-nav) + env(safe-area-inset-bottom))!important;
  left:0!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:1100px!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 auto!important;
  padding:4px 8px 6px!important;
  overflow:hidden!important;
}
body.lh-home-locked .v63-command{
  box-sizing:border-box!important;
  height:100%!important;
  min-height:0!important;
  padding:9px!important;
  gap:6px!important;
  overflow:hidden!important;
}
body.lh-home-locked .v63-layout{
  min-height:0!important;
  height:100%!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  gap:6px!important;
  overflow:hidden!important;
}
body.lh-home-locked .v63-ring-zone{
  min-height:0!important;
  padding:6px 7px!important;
  justify-content:center!important;
  overflow:hidden!important;
}
body.lh-home-locked .v63-rings{
  width:min(68vw,286px)!important;
  max-width:100%!important;
  max-height:calc(100% - 54px)!important;
  margin:auto!important;
  flex:0 1 auto!important;
}
body.lh-home-locked .v63-legend{
  position:relative!important;
  z-index:3!important;
  flex:0 0 auto!important;
  margin:2px 0 0!important;
  transform:none!important;
}
body.lh-home-locked .v63-legend>div{
  padding:4px 3px!important;
}
body.lh-home-locked .v63-analyzer{
  box-sizing:border-box!important;
  flex:0 0 auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:176px!important;
  padding:7px!important;
  gap:6px!important;
  margin:0!important;
  transform:none!important;
  overflow:hidden!important;
}
body.lh-home-locked .v63-capture button{height:40px!important}
body.lh-home-locked .v63-field input,
body.lh-home-locked .v63-field select{height:38px!important;margin:0!important}
body.lh-home-locked .v63-result{min-height:48px!important;padding:7px!important}
body.lh-home-locked .v63-actions{flex-direction:row!important;justify-content:center!important}
body.lh-home-locked .v63-actions button{min-width:0!important;flex:1 1 0!important;padding:8px 9px!important}

@media(max-width:720px) and (max-height:780px){
  body.lh-home-locked .v63-header{display:none!important}
  body.lh-home-locked .v63-rings{width:min(61vw,238px)!important}
  body.lh-home-locked .v63-analyzer{max-height:160px!important}
  body.lh-home-locked .v63-capture button{height:36px!important}
  body.lh-home-locked .v63-field input,
  body.lh-home-locked .v63-field select{height:34px!important}
}
