.shiny-text{display:inline-block;background-clip:text;-webkit-background-clip:text}.transitionOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-accent-soft);animation:breatheBackground 4s ease-in-out infinite}.transitionListContainer{display:flex;flex-direction:column;gap:30px;align-items:center}.transitionText{font-size:24px;font-weight:700;color:var(--color-accent-strong);text-align:center;margin:0;padding:0 20px}.transitionText.final{font-size:36px;color:var(--color-accent-primary)}@keyframes breatheBackground{0%{background-color:var(--color-bg-accent-soft)}50%{background-color:var(--color-bg-accent-mid)}to{background-color:var(--color-bg-accent-soft)}}.summary-overlay{position:absolute;top:0;left:0;width:100%;height:100%;box-sizing:border-box;background-color:var(--overlay-40);z-index:2000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:auto;padding:0 16px}.summary-overlay.exiting{z-index:1500;pointer-events:none}.summary-card{width:95%;max-width:600px;text-align:center;padding:30px 20px!important;background:var(--surface-glass-95)!important;position:relative;border-radius:24px}.summary-close-btn{position:absolute;top:10px;right:10px;background:none;border:none;font-size:24px;color:var(--color-text-muted);cursor:pointer;padding:0 8px;line-height:1}.summary-close-btn:hover{color:var(--color-danger)}.summary-header h2{margin:0;color:var(--color-accent-primary);font-size:28px}.summary-header p{margin:5px 0 20px;color:var(--color-text-muted);font-size:16px}.summary-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.metric-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 5px;background:var(--surface-glass-50);border-radius:16px}.metric-icon{width:28px;height:28px;margin-bottom:8px;opacity:.8}.metric-value{font-size:1.2rem;font-weight:700;color:var(--color-text-heading)}.metric-label{font-size:.75rem;color:var(--color-text-muted);margin-top:2px}.summary-actions{display:flex;gap:12px;width:100%}.summary-btn{flex:1;padding:12px;font-size:16px}.summary-btn.btn-primary{box-shadow:0 4px 12px var(--overlay-24)}.profilePage{position:relative;width:100%;height:100%;max-height:100%;overflow:hidden;display:flex;flex-direction:column}.profileBackground{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,var(--color-bg-profile-top) 0%,var(--color-bg-profile-mid) 60%,var(--color-bg-profile-bottom) 100%);z-index:0;pointer-events:none}.profileHeader{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px 16px 10px;padding-top:max(20px,calc(20px + env(safe-area-inset-top)));flex-shrink:0;z-index:10}.profileAvatar{position:relative;width:90px;height:90px;border-radius:50%;margin:0 auto 8px;background:var(--surface-glass-90);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;overflow:visible;cursor:pointer;transition:transform .2s ease;border:2px solid rgba(255,255,255,.1)}.profileAvatar:hover{transform:scale(1.02)}.profileAvatarImage{width:100%;height:100%;object-fit:cover;border-radius:50%}.profileAvatarInitial{font-size:36px;font-weight:700;color:var(--color-text-success-alt-2);display:flex;align-items:center;justify-content:center;width:100%;height:100%}.profileAvatarCameraBtn{position:absolute;bottom:0;right:0;width:32px;height:32px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:2px solid var(--color-bg-surface);box-shadow:0 2px 6px #00000026;transition:all .2s ease;z-index:10;transform:translate(2px,2px);color:#262626}.profileAvatarCameraBtn:hover{background:#f5f5f5;transform:translate(2px,2px) scale(1.05);box-shadow:0 3px 8px #0003}.profileAvatarCameraBtn:active{transform:translate(2px,2px) scale(.95)}.profileAvatarCameraIcon{width:16px;height:16px;filter:none}.profileName{margin:0;font-size:22px;font-weight:700;color:var(--color-success-dark)}.profileLevel{margin:4px 0 0;font-size:14px;color:var(--color-text-success-alt)}.profileSettingsBtn{position:absolute;top:20px;right:16px;width:40px;height:40px;background:none;border:none;padding:0;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center}.profileSettingsBtn img{width:32px;height:32px;display:block;transition:transform .2s ease,opacity .2s ease}.profileSettingsBtn:hover img{transform:rotate(25deg)}.profileMain{position:relative;z-index:1;padding:10px 16px calc(20px + var(--app-nav-height, 76px));box-sizing:border-box;display:flex;flex-direction:column;gap:16px;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.profileMain::-webkit-scrollbar{display:none}.profileStatsRow{display:flex;justify-content:space-around;background:var(--surface-glass-60);border-radius:16px;padding:15px;flex-shrink:0}.profileStatItem{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1}.profileStatLabel{font-size:12px;color:var(--color-text-success-mid);margin-bottom:4px}.profileStatValue{font-size:18px;font-weight:700;color:var(--color-success-dark)}.profileSection{width:100%}.profileCard{background:var(--surface-glass-50);border-radius:16px;padding:14px 14px 12px}.profileSectionHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.profileSectionTitle{margin:0;font-size:15px;font-weight:600;color:var(--color-success-dark)}.profileSectionMeta{font-size:12px;color:var(--color-text-success-mid);cursor:pointer}.profileSectionText{margin:6px 0 0;font-size:13px;color:var(--color-text-success-mid);text-align:center}.profileGoalRow{margin-bottom:10px}.profileGoalInfo{display:flex;justify-content:space-between;margin-bottom:4px;font-size:13px;color:var(--color-text-heading)}.profileProgressTrack{width:100%;height:8px;border-radius:999px;background:var(--color-border-subtle);overflow:hidden}.profileProgressFill{height:100%;border-radius:inherit;background:var(--color-accent-primary)}.historyCardItem{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;background:var(--surface-glass-60);padding:10px;border-radius:16px}.historyLeft{display:flex;align-items:center;gap:12px}.historyIconBadge{font-size:20px;background:var(--color-bg-accent-softer);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%}.historyTitle{font-size:14px;font-weight:700;color:var(--color-text-heading)}.historySubtitle{font-size:12px;color:var(--color-text-faint)}.historyRight{text-align:right}.historyValue{font-size:14px;font-weight:700;color:var(--color-text-heading)}.historySubValue{font-size:11px;color:var(--color-accent-primary)}.profileActions{display:flex;flex-direction:column;gap:8px;margin-top:10px}.profilePrimaryButton,.profileSecondaryButton{width:100%;padding:14px;border-radius:999px;font-size:15px;font-weight:600;cursor:pointer;border:none;box-shadow:0 4px 10px var(--overlay-05)}.profilePrimaryButton{background:var(--color-green-400);color:var(--color-text-inverse)}.profileSecondaryButton{background:var(--surface-glass-90);color:var(--color-text-success-alt-2);border:1px solid var(--success-40)}.historyPage{width:100%;height:100%;background-color:var(--color-bg-soft);display:flex;flex-direction:column;position:relative;z-index:1}.historyHeader{padding:16px;padding-top:max(16px,calc(16px + env(safe-area-inset-top)));display:flex;align-items:center;justify-content:space-between;background:var(--color-bg-surface);box-shadow:0 2px 10px var(--overlay-03);position:relative;z-index:100}.historyBackBtn{background:var(--color-transparent);border:none;cursor:pointer;padding:8px;margin-left:-8px;display:flex;align-items:center;justify-content:center}.historyBackBtn img{width:24px;height:24px;display:block}.historyPageTitle{margin:0;font-size:18px;font-weight:700;color:var(--color-text-heading)}.historyFilters{padding:16px;display:flex;gap:10px}.searchWrapper{flex:1;position:relative;display:flex;align-items:center}.searchIcon{position:absolute;left:12px;width:16px;height:16px;opacity:.5}.historySearchInput{width:100%;padding:10px 10px 10px 36px;border:1px solid var(--color-border-subtle);border-radius:12px;background:var(--color-bg-surface);font-size:14px;outline:none}.historyDateInput{border:1px solid var(--color-border-subtle);border-radius:12px;padding:8px 10px;background:var(--color-bg-surface);font-family:inherit;font-size:13px;color:var(--color-text-heading);outline:none}.historyContent{flex:1;overflow-y:auto;padding:0 16px 20px}.statusText{text-align:center;margin-top:40px;color:var(--color-text-muted-alt)}.emptyState{text-align:center;margin-top:40px}.clearFilterBtn{margin-top:10px;background:none;border:1px solid var(--color-accent-primary);color:var(--color-accent-primary);padding:6px 12px;border-radius:20px}.adminDashboard{height:100%;max-height:100%;background:linear-gradient(135deg,var(--color-bg-app) 0%,var(--color-bg-admin-alt) 100%);padding:12px 12px 100px;width:100%;box-sizing:border-box;overflow-y:auto}@media (min-width: 768px){.adminDashboard{padding:16px}}@media (min-width: 1024px){.adminDashboard{padding:20px}}.adminLoading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:18px;color:var(--color-text-muted)}.adminHeader{display:flex;flex-direction:column;margin-bottom:16px;width:100%;gap:12px}.adminHeaderTopRow{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;width:100%;min-height:40px}.adminHeaderSpacer{width:40px;height:40px}.adminBackBtn{background:none;border:none;padding:8px;margin-left:-8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;height:40px;width:40px}.adminBackBtn img{width:20px;height:20px}.adminBackBtn:hover{opacity:.7;transform:translate(-2px)}.adminTitle{font-size:28px;font-weight:700;color:var(--color-success-strong);margin:0;text-align:center;display:flex;align-items:center;justify-content:center;line-height:1;height:40px;width:100%}.adminHeaderActionsRow{display:flex;gap:12px;align-items:center;flex-wrap:nowrap;width:100%;min-height:36px;justify-content:flex-start}.adminHeaderActionsRow .adminRefreshBtn{margin-left:auto}.adminHeaderButtonGroup{display:flex;gap:12px;align-items:center;flex-shrink:0}.adminHeaderActions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;height:40px}.adminRefreshSelect,.adminIntervalInput{padding:8px 12px;border:1px solid var(--success-30);border-radius:8px;background:var(--color-bg-surface);color:var(--color-success-strong);font-size:14px;height:36px;box-sizing:border-box;min-width:140px;flex-shrink:0}.adminIntervalInput{width:80px;min-width:80px;flex-shrink:0}.adminRefreshBtn,.adminExportBtn{padding:8px 16px;border:1px solid var(--success-30);border-radius:8px;background:var(--color-bg-surface);color:var(--color-success-strong);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;height:36px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;flex-shrink:0;min-width:fit-content}.adminRefreshBtn{padding:8px;width:36px;min-width:36px}.adminRefreshBtn img{width:20px;height:20px}.adminRefreshBtn:hover,.adminExportBtn:hover{background:var(--success-10);border-color:var(--color-accent-primary);transform:translateY(-1px)}.adminLastRefresh{text-align:right;font-size:12px;color:var(--color-text-muted);margin-bottom:12px;opacity:.7}.adminContent{width:100%;margin:0}.adminSection{background:var(--color-bg-surface);border-radius:16px;padding:18px;margin-bottom:18px;box-shadow:0 2px 10px var(--overlay-05);border:1px solid var(--success-15)}@media (min-width: 768px){.adminSection{padding:20px;margin-bottom:20px}}.adminSectionTitle{font-size:17px;font-weight:700;color:var(--color-success-strong);margin:0 0 8px;display:flex;align-items:center;gap:8px}@media (min-width: 768px){.adminSectionTitle{font-size:20px}}.adminSectionIcon{font-size:24px;line-height:1}.adminSectionSubtitle{font-size:12px;color:var(--color-text-muted);opacity:.7;margin:0 0 14px;font-style:italic}@media (min-width: 768px){.adminSectionSubtitle{font-size:13px;margin:0 0 16px}}.adminSectionAtGlance{background:linear-gradient(135deg,var(--surface-glass-60) 0%,var(--surface-glass-50) 100%);border:2px solid var(--success-20)}.adminMetricsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}@media (min-width: 640px){.adminMetricsGrid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}}@media (min-width: 768px){.adminMetricsGrid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}}@media (min-width: 1024px){.adminMetricsGrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media (min-width: 1400px){.adminMetricsGrid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.adminMetricCard{background:linear-gradient(135deg,var(--surface-glass-50) 0%,var(--success-20-alt) 100%);border-radius:10px;padding:12px;border-top:3px solid;box-shadow:0 2px 6px var(--overlay-05);min-height:85px;display:flex;flex-direction:column;justify-content:space-between}@media (min-width: 768px){.adminMetricCard{padding:14px;min-height:90px}}.adminMetricTitle{font-size:11px;font-weight:600;color:var(--color-text-muted);margin:0 0 4px;text-transform:uppercase;letter-spacing:.2px;line-height:1.2}.adminMetricValue{font-size:24px;font-weight:700;margin:2px 0;line-height:1.1}@media (min-width: 768px){.adminMetricValue{font-size:26px}}.adminMetricSubtitle{font-size:10px;color:var(--color-text-muted);opacity:.7;margin-top:2px;line-height:1.3}.adminChart{background:var(--success-30-alt);border-radius:12px;padding:14px;min-height:200px}@media (min-width: 768px){.adminChart{padding:16px}}.adminChartsGrid{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width: 1024px){.adminChartsGrid{grid-template-columns:repeat(2,1fr);gap:20px}}.adminChartCompact{min-height:150px}.adminChartCompact .adminBarChart{height:150px}.adminChartInfo{margin-top:12px;padding-top:12px;border-top:1px solid var(--success-15);text-align:center}.adminChartInfoText{font-size:12px;color:var(--color-text-muted);opacity:.7}.adminChartTitle{font-size:16px;font-weight:600;color:var(--color-success-strong);margin:0 0 12px}.adminChartEmpty{display:flex;justify-content:center;align-items:center;height:200px;color:var(--color-text-muted);opacity:.5}.adminLineChart{display:flex;align-items:flex-end;justify-content:space-between;height:200px;gap:4px}.adminLineChartBar{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;position:relative}.adminLineChartBarFill{width:100%;background:linear-gradient(180deg,var(--color-green-400) 0%,var(--color-accent-primary) 100%);border-radius:4px 4px 0 0;min-height:4px;transition:all .3s}.adminLineChartBar:hover .adminLineChartBarFill{opacity:.8}.adminLineChartLabel{font-size:10px;color:var(--color-text-muted);margin-top:4px;text-align:center}.adminBarChart{display:flex;align-items:flex-end;justify-content:space-between;height:200px;gap:4px}.adminBarChartBar{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;position:relative}.adminBarChartBarFill{width:100%;background:linear-gradient(180deg,var(--color-green-400) 0%,var(--color-accent-primary) 100%);border-radius:4px 4px 0 0;min-height:4px;transition:all .3s;cursor:pointer}.adminBarChartBarFill:hover{opacity:.8;transform:scaleY(1.05)}.adminBarChartLabel{font-size:10px;color:var(--color-text-muted);margin-top:4px;text-align:center}.adminTableContainer{overflow-x:auto;border-radius:12px;border:1px solid var(--success-15)}.adminTable{width:100%;border-collapse:collapse;background:var(--color-bg-surface)}.adminTable thead{background:linear-gradient(135deg,var(--success-60) 0%,var(--success-40-alt) 100%)}.adminTable th{padding:12px;text-align:left;font-weight:600;color:var(--color-success-strong);font-size:14px;border-bottom:2px solid var(--success-25)}.adminTable td{padding:12px;border-bottom:1px solid var(--success-10);color:var(--color-text-heading);font-size:14px}.adminTable tbody tr:hover{background:var(--success-40-alt)}.adminTable tbody tr:last-child td{border-bottom:none}.adminRankBadge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--color-green-400) 0%,var(--color-accent-primary) 100%);color:var(--color-text-inverse);font-weight:700;font-size:12px}.adminSectionHeaderCollapsible{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}.adminToggleBtn{padding:8px 16px;border:1px solid var(--success-30);border-radius:8px;background:var(--color-bg-surface);color:var(--color-success-strong);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.adminToggleBtn:hover{background:var(--success-50);border-color:var(--color-accent-primary);transform:translateY(-1px)}.adminProgressBars{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}@media (min-width: 640px){.adminProgressBars{grid-template-columns:repeat(2,1fr);gap:16px}}@media (min-width: 1024px){.adminProgressBars{grid-template-columns:repeat(4,1fr)}}.adminProgressBar{display:flex;flex-direction:column;gap:5px;background:var(--success-20-alt);padding:10px;border-radius:8px;border:1px solid var(--success-10)}@media (min-width: 768px){.adminProgressBar{padding:12px;gap:6px}}.adminProgressBarHeader{display:flex;justify-content:space-between;align-items:center}.adminProgressBarLabel{font-size:14px;font-weight:600;color:var(--color-text-muted)}.adminProgressBarValue{font-size:16px;font-weight:700;color:var(--color-success-strong)}.adminProgressBarTrack{width:100%;height:20px;background:var(--success-50);border-radius:10px;overflow:hidden;position:relative}.adminProgressBarFill{height:100%;border-radius:12px;transition:width .5s ease;background:linear-gradient(90deg,currentColor 0%,var(--surface-glass-30) 100%);box-shadow:0 2px 4px var(--overlay-10)}.adminProgressBarSubtext{font-size:12px;color:var(--color-text-muted);opacity:.7;margin-top:2px}@media (max-width: 767px){.adminDashboard{padding:12px}.adminHeaderTopRow{grid-template-columns:36px 1fr 36px;min-height:36px}.adminHeaderSpacer{width:36px;height:36px}.adminTitle{font-size:24px;height:36px}.adminBackBtn{height:36px;width:36px}.adminHeaderActionsRow{flex-wrap:wrap;gap:8px}.adminRefreshSelect{min-width:120px}.adminRefreshBtn,.adminExportBtn{min-width:auto}}@media (max-width: 360px){.adminHeaderActionsRow{flex-wrap:wrap}.adminRefreshSelect{min-width:100px}.adminMetricsGrid{grid-template-columns:repeat(2,1fr);gap:10px}.adminMetricCard{padding:10px;min-height:80px}.adminMetricValue{font-size:22px}.adminMetricTitle{font-size:10px}.adminMetricSubtitle{font-size:9px}.adminProgressBars{grid-template-columns:1fr}.adminTableContainer{font-size:12px}.adminTable th,.adminTable td{padding:8px}.adminSectionTitle{font-size:16px}.adminSectionIcon{font-size:18px}.adminSectionSubtitle{font-size:12px}.adminSectionHeaderCollapsible{flex-direction:column;align-items:flex-start}.adminToggleBtn{width:100%;justify-content:center}.adminProgressBars{grid-template-columns:1fr;gap:16px}.adminChartsGrid{grid-template-columns:1fr}.adminChartCompact{min-height:120px}.adminChartCompact .adminBarChart{height:120px}}.loginContainer{position:relative;min-height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:24px 20px;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(40px,env(safe-area-inset-bottom));box-sizing:border-box}.loginBackground{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;z-index:0}.loginLogo{position:relative;width:180px;height:auto;margin-bottom:20px;z-index:1;filter:drop-shadow(0 4px 6px var(--overlay-10))}.loginCard{position:relative;width:100%;max-width:400px;background:var(--surface-glass-95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:32px 24px;box-shadow:0 8px 32px var(--overlay-12);z-index:1}.loginTitle{margin:0 0 8px;font-size:28px;font-weight:700;color:var(--color-success-dark);text-align:center}.loginSubtitle{margin:0 0 28px;font-size:15px;color:var(--color-text-muted);text-align:center}.loginForm{display:flex;flex-direction:column;gap:20px}.loginInputGroup{display:flex;flex-direction:column;gap:8px}.loginLabel{font-size:14px;font-weight:600;color:var(--color-success-strong);margin-left:4px}.loginInput{width:100%;padding:14px 16px;border:2px solid var(--color-accent-softest);border-radius:12px;font-size:16px;color:var(--color-text-heading);background:var(--color-bg-surface);box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.loginInput:focus{outline:none;border-color:var(--color-success);box-shadow:0 0 0 3px var(--success-10)}.loginInput:disabled{background:var(--color-bg-disabled);cursor:not-allowed;opacity:.7}.loginInput::placeholder{color:var(--color-text-placeholder)}.loginPasswordWrapper{position:relative;display:flex;align-items:center}.loginPasswordWrapper .loginInput{padding-right:50px}.loginPasswordToggle{position:absolute;right:12px;background:none;border:none;font-size:20px;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .2s ease}.loginPasswordToggle:hover{opacity:1}.loginPasswordToggle:focus{outline:2px solid var(--color-success);outline-offset:2px;border-radius:4px}.loginError{padding:12px 16px;background:var(--danger-10);border:1px solid var(--danger-30);border-radius:12px;color:var(--color-danger);font-size:14px;text-align:center}.loginButton{width:100%;padding:14px;border-radius:12px;border:none;font-size:16px;font-weight:600;cursor:pointer;background-color:var(--color-green-400);color:var(--color-text-inverse);transition:background-color .2s ease,transform .1s ease,box-shadow .2s ease;box-shadow:0 2px 8px var(--brand-30)}.loginButton:hover:not(:disabled){background-color:var(--color-success);transform:translateY(-1px);box-shadow:0 4px 12px var(--brand-40)}.loginButton:active:not(:disabled){transform:translateY(0)}.loginButton:disabled{opacity:.6;cursor:not-allowed;transform:none}.loginButtonSecondary{background-color:var(--color-bg-accent-softest);color:var(--color-success-strong);box-shadow:0 2px 8px var(--success-15)}.loginButtonSecondary:hover:not(:disabled){background-color:var(--color-bg-accent-soft-hover);box-shadow:0 4px 12px var(--success-20)}.loginDivider{display:flex;align-items:center;text-align:center;margin:24px 0;color:var(--color-text-placeholder);font-size:14px}.loginDivider:before,.loginDivider:after{content:"";flex:1;border-bottom:1px solid var(--color-accent-softest)}.loginDivider span{padding:0 16px}.loginFooter{margin-top:24px;text-align:center}.loginFooterText{margin:0;font-size:14px;color:var(--color-text-muted)}.loginLink{background:none;border:none;color:var(--color-success);font-weight:600;cursor:pointer;text-decoration:underline;font-size:14px;padding:0;transition:color .2s ease}.loginLink:hover{color:var(--color-success-strong)}.loginLink:focus{outline:2px solid var(--color-success);outline-offset:2px;border-radius:4px}@media (max-width: 480px){.loginCard{padding:28px 20px}.loginTitle{font-size:24px}.loginLogo{width:160px;margin-bottom:16px}}@media (min-height: 700px){.loginContainer{justify-content:center}}:root{--color-white: #ffffff;--color-black: #000000;--color-neutral-50: #f8fafc;--color-neutral-100: #f1f5f9;--color-neutral-200: #e2e8f0;--color-neutral-300: #cbd5e1;--color-neutral-400: #94a3b8;--color-neutral-500: #64748b;--color-neutral-600: #475569;--color-neutral-700: #334155;--color-neutral-800: #1f2937;--color-neutral-900: #0f172a;--color-green-50: #f3f8ec;--color-green-100: #e6f2d6;--color-green-200: #cfe5a8;--color-green-300: #b5d578;--color-green-400: #79c66c;--color-green-500: #61b329;--color-green-600: #4d672a;--color-green-700: #3a5720;--color-green-800: #2b4218;--color-green-850: #2d3c19;--color-green-900: #1f2f12;--color-green-650: #529922;--color-green-750: #3d7a1a;--color-green-625: #529e22;--color-red-50: #fff1f2;--color-red-100: #ffe4e6;--color-red-200: #fecdd3;--color-red-300: #fda4af;--color-red-400: #fb7185;--color-red-500: #ef4444;--color-red-600: #dc2626;--color-red-700: #b91c1c;--color-yellow-50: #fffbeb;--color-yellow-100: #fef3c7;--color-yellow-200: #fde68a;--color-yellow-300: #fcd34d;--color-yellow-400: #fbbf24;--color-yellow-500: #f59e0b;--color-yellow-600: #d97706;--color-text-heading: #1f3d1f;--color-text-body: #1a1a1a;--color-text-muted: #526b57;--color-text-subtle: #6a7a6e;--color-text-faint: #88a888;--color-text-inverse: var(--color-white);--color-text-muted-2: #6b876b;--color-text-success-soft: #7fbf6e;--color-text-success-alt: #3f6944;--color-text-success-mid: #4d6f4f;--color-text-success-alt-2: #2f7a33;--color-bg-app: #f4f4f4;--color-bg-admin-alt: #e8ede0;--color-bg-surface: var(--color-white);--color-bg-soft: #f7fbf7;--color-bg-soft-hover: #f2f8f2;--color-bg-success-active: #e5f6e5;--color-bg-success-pressed: #e1f5d3;--color-bg-neutral-toggle: #d0d0d0;--color-bg-swipe-danger-pressed: #fadbd8;--color-bg-success-soft: #f2f9f0;--color-bg-success-soft-hover: #d4f0c4;--color-bg-success-softest: #c0e8b0;--color-bg-accent-soft: #e9f7dd;--color-bg-accent-softer: #f4f8f1;--color-bg-accent-mid: #dcedc8;--color-bg-disabled: #f5f5f5;--color-bg-accent-softest: var(--color-accent-softest);--color-bg-accent-soft-hover: #d4ead4;--color-bg-surface-hover: #f9f9f9;--color-bg-map: #e5e5e5;--color-bg-pill: #f0f4f0;--color-bg-ultra-soft: #fcfdfc;--color-bg-field: #f8fdf8;--color-bg-chip: #f1f6f1;--color-bg-softest: #f9fcf9;--color-bg-meta-chip: #eef6ee;--color-bg-profile-top: #dff8cf;--color-bg-profile-mid: #b9e5b3;--color-bg-profile-bottom: #9cd394;--color-bg-route-choice-hover: #f8fbf6;--color-bg-danger-soft: #fff5f5;--color-route-alt: #88a888;--color-border-default: #e3f1e3;--color-border-subtle: #dcefdc;--color-border-strong: rgba(0, 0, 0, .18);--color-border-neutral: #cccccc;--color-border-very-subtle: #f0f0f0;--color-border-handle: #e0e0e0;--color-border-alt: #dfe7df;--color-border-neutral-soft: rgba(224, 224, 224, .8);--color-border-danger-soft: #ffcdd2;--color-border-danger-hover: #ef5350;--color-accent-primary: var(--color-green-600);--color-accent-strong: #0a6f00;--color-accent-soft: var(--color-bg-accent-soft);--color-accent-softest: #e3f3e3;--color-success: var(--color-green-500);--color-success-strong: #2c7a3f;--color-success-dark: #125316;--color-success-deep: #173a22;--color-success-hover: #4a8c20;--color-warning: var(--color-yellow-500);--color-warning-soft: #fff9e6;--color-warning-border-soft: #ffe066;--color-warning-strong: #92400e;--color-warning-text: #78350f;--color-danger: #c0392b;--color-danger-alt: #b85745;--color-danger-strong: #d32f2f;--color-danger-soft: #ffe5e5;--color-danger-bg-soft: #fff0f0;--color-info: #007aff;--color-icon-default: var(--color-text-body);--color-icon-muted: var(--color-text-muted);--color-focus-ring: rgba(77, 103, 42, .35);--color-text-placeholder: #9bb99b;--color-text-disabled: #a0a0a0;--color-text-grey-soft: #8e8e93;--color-text-grey-strong: #1c1c1e;--color-text-mid: #333333;--color-text-muted-alt: #888888;--color-shimmer-base: #b5b5b5;--color-shimmer-shine: #ffffff;--color-shimmer-accent: #f7c01b;--color-transparent: rgba(0, 0, 0, 0);--overlay-0: rgba(0, 0, 0, 0);--overlay-02: rgba(0, 0, 0, .02);--overlay-03: rgba(0, 0, 0, .03);--overlay-04: rgba(0, 0, 0, .04);--overlay-05: rgba(0, 0, 0, .05);--overlay-08: rgba(0, 0, 0, .08);--overlay-10: rgba(0, 0, 0, .1);--overlay-12: rgba(0, 0, 0, .12);--overlay-15: rgba(0, 0, 0, .15);--overlay-16: rgba(0, 0, 0, .16);--overlay-18: rgba(0, 0, 0, .18);--overlay-20: rgba(0, 0, 0, .2);--overlay-24: rgba(0, 0, 0, .24);--overlay-35: rgba(0, 0, 0, .35);--overlay-40: rgba(0, 0, 0, .4);--overlay-60: rgba(0, 0, 0, .6);--danger-08: rgba(192, 57, 43, .08);--danger-14: rgba(192, 57, 43, .14);--danger-25: rgba(192, 57, 43, .25);--surface-glass-15: rgba(255, 255, 255, .15);--surface-glass-50: rgba(255, 255, 255, .5);--surface-glass-60: rgba(255, 255, 255, .6);--surface-glass-80: rgba(255, 255, 255, .8);--surface-glass-30: rgba(255, 255, 255, .3);--surface-glass-85: rgba(255, 255, 255, .85);--surface-glass-92: rgba(255, 255, 255, .92);--surface-glass-95: rgba(255, 255, 255, .95);--surface-glass-96: rgba(255, 255, 255, .96);--surface-glass-98: rgba(255, 255, 255, .98);--surface-glass-90: rgba(255, 255, 255, .9);--success-60: rgba(227, 243, 227, .6);--success-50: rgba(220, 239, 220, .5);--success-40-alt: rgba(220, 239, 220, .4);--success-30-alt: rgba(227, 243, 227, .3);--success-20-alt: rgba(220, 239, 220, .2);--color-grey-soft-100: #f2f2f7;--color-grey-soft-150: #eef1f4;--color-grey-soft-200: #e5e5ea;--color-grey-soft-300: #d1d1d6;--color-grey-soft-350: #eeeeee;--success-05: rgba(97, 179, 41, .05);--success-08: rgba(97, 179, 41, .08);--success-10: rgba(97, 179, 41, .1);--success-12: rgba(97, 179, 41, .12);--success-15: rgba(97, 179, 41, .15);--success-16: rgba(97, 179, 41, .16);--success-20: rgba(97, 179, 41, .2);--success-22: rgba(77, 103, 42, .22);--success-24: rgba(77, 103, 42, .24);--success-25-alt: rgba(77, 103, 42, .25);--success-25: rgba(97, 179, 41, .25);--success-28: rgba(77, 103, 42, .28);--success-30: rgba(77, 103, 42, .3);--success-35: rgba(77, 103, 42, .35);--success-40: rgba(77, 103, 42, .4);--brand-30: rgba(121, 198, 108, .3);--brand-40: rgba(121, 198, 108, .4);--danger-10: rgba(192, 57, 43, .1);--danger-30: rgba(192, 57, 43, .3);--info-30: rgba(0, 122, 255, .3);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .1);--shadow-md: 0 6px 18px rgba(0, 0, 0, .12);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .12);--shadow-xl: 0 18px 45px rgba(0, 0, 0, .16)}html,body,#root{height:100%;width:100%;margin:0;padding:0;overflow:hidden;overscroll-behavior:none;position:fixed;top:0;left:0}*,*:before,*:after{box-sizing:border-box}body{font-family:system-ui,Arial,sans-serif;background-color:var(--color-bg-app);color:var(--color-text-body);-webkit-font-smoothing:antialiased}:root{--app-safe-bottom: env(safe-area-inset-bottom, 0px);--app-safe-top: env(safe-area-inset-top, 0px);--app-browser-offset-bottom: 0px;--app-nav-height: calc(76px + var(--app-safe-bottom));--app-viewport-height: 100vh;--app-content-padding-bottom: var(--app-nav-height)}section{margin-bottom:0}form>div{margin-bottom:10px}label{display:block;font-size:14px;margin-bottom:4px}button{border:1px solid var(--color-accent-primary);background-color:var(--color-bg-surface);color:var(--color-accent-primary);padding:8px 14px;border-radius:20px;font-size:14px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:var(--color-transparent)}button:disabled{opacity:.6;cursor:default}ul{padding-left:20px}.card{background-color:var(--surface-glass-85);border-radius:24px;padding:18px 20px;box-shadow:var(--shadow-lg);width:100%;box-sizing:border-box;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.mapErrorInline{margin-top:6px;font-size:12px;color:var(--color-danger)}.mapGeoErrorInline{margin:0 0 8px;font-size:12px;color:var(--color-danger)}.app-shell{display:flex;justify-content:center;align-items:center;width:100vw;min-height:100vh;height:100vh}.app-inner{width:min(430px,100vw);height:100%;max-height:100vh;background:var(--color-bg-surface);box-shadow:0 0 15px var(--overlay-16);transform:none!important;margin:0 auto;overflow:hidden;position:relative}.appRoot{display:flex;justify-content:center;align-items:stretch;height:100%;width:100%;min-height:0}.appScreen{display:flex;flex-direction:column;width:100%;height:100%;min-height:0}.mainPage{flex:1 1 auto;min-height:0;max-height:calc(100% - var(--app-content-padding-bottom, var(--app-nav-height)));overflow-y:auto;-webkit-overflow-scrolling:touch}.is-browser .mainPage{max-height:calc(100% - var(--app-nav-height) - var(--app-viewport-offset-bottom, 0px))}.app-container{width:100%;max-width:none;margin:0 auto;padding:0 24px;box-sizing:border-box}.appLayout{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden;background-color:var(--color-bg-app);position:relative}.mainContent{flex:1;position:relative;width:100%;overflow:hidden;display:flex;flex-direction:column}.scroll-list-container{position:relative;width:100%;height:100%}.scroll-list{height:100%;overflow-y:auto;padding:4px 2px 16px;display:flex;flex-direction:column;gap:12px}.scroll-list::-webkit-scrollbar{width:4px}.scroll-list::-webkit-scrollbar-track{background:var(--color-transparent)}.scroll-list::-webkit-scrollbar-thumb{background:var(--overlay-16);border-radius:999px}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.top-gradient,.bottom-gradient{position:absolute;left:0;right:0;pointer-events:none;transition:opacity .25s ease}.top-gradient{top:0;height:18px;background:linear-gradient(to bottom,var(--color-white),var(--color-transparent))}.bottom-gradient{bottom:0;height:28px;background:linear-gradient(to top,var(--color-white),var(--color-transparent))}.appNav{width:100%;background:var(--color-bg-surface);border-top:none;padding:8px 0;padding-bottom:calc(8px + var(--app-safe-bottom));box-sizing:border-box;position:fixed;bottom:0;z-index:1100;left:50%;transform:translate(-50%);max-width:min(430px,100vw)}.appNav ul{margin:0;padding:0;list-style:none;display:flex;justify-content:space-around;align-items:center}.appNav li{flex:1;display:flex;justify-content:center}.navBtn{position:relative;width:60px;height:60px;background:none;border:none;border-radius:10px;display:flex;flex-direction:column;justify-content:center;align-items:center;cursor:pointer;padding:4px 0;text-decoration:none}.navBtnActive{background:none}.navBtn .icon{position:absolute;top:8px;width:24px;height:24px;filter:brightness(0) saturate(100%) invert(45%) sepia(10%) saturate(1200%) hue-rotate(55deg) brightness(92%) contrast(88%)}.navBtn .filled{opacity:0}@media (hover: hover) and (pointer: fine){.navBtn:hover .filled{opacity:1}}.navBtnActive .filled{opacity:1}.navLabel{font-size:11px;margin-top:34px;color:var(--color-accent-primary);text-decoration:none}@media (hover: hover) and (pointer: fine){.navBtn:hover .navLabel{font-weight:700}}.navBtnActive .navLabel{font-weight:700}.homePage .mainPage{padding:0;overflow:hidden}.homeContainer{position:relative;width:100%;box-sizing:border-box;height:calc(var(--app-viewport-height, 100vh) - var(--app-nav-height, 76px));display:flex;flex-direction:column;align-items:center;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-top:max(40px,calc(40px + env(safe-area-inset-top)))}.homeLogo{width:200px;height:auto;z-index:2;filter:drop-shadow(0 4px 6px var(--overlay-10));flex-shrink:0}.homeBackground{position:absolute;top:0;right:0;bottom:0;left:0;background-size:120%;background-position:center;background-repeat:no-repeat}.homeContent{width:100%;padding:24px 22px;z-index:2;flex-shrink:0;margin-top:auto}.homeGreeting{margin:0 0 6px;font-size:20px;font-weight:700}.homeQuickStatsRow{width:100%;padding:0 22px;display:flex;gap:12px;margin-top:16px;flex-shrink:0;box-sizing:border-box}.homeQuickStatCard{flex:1;min-width:0;background:#ffffff8c;border:1px solid rgba(255,255,255,.45);border-radius:16px;padding:12px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--color-text-heading);box-shadow:0 6px 18px #00000014;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}button.homeQuickStatCard{cursor:pointer;border:1px solid rgba(255,255,255,.45)}button.homeQuickStatCard:hover{transform:translateY(-1px);box-shadow:0 10px 22px #0000001a}button.homeQuickStatCard:active{transform:translateY(0)}button.homeQuickStatCard:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px}.homeQuickStatCardPlaceholder{opacity:.85}.homeQuickStatIcon{width:28px;height:28px;display:block}.homeQuickStatEmoji{font-size:22px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.homeQuickStatText{font-size:13px;font-weight:600;color:var(--color-success-dark);text-align:center;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.homeGoalRingWrap{width:30px;height:30px;display:flex;align-items:center;justify-content:center}.homeGoalRing{display:block}.homeGoalRingTrack{stroke:#2f7d4238}.homeGoalRingFill{stroke:var(--color-success);stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .3s ease}.homeSubtitle{margin:0 0 18px;font-size:14px;color:var(--color-text-muted)}.verticalButtonGroup{display:flex;flex-direction:column;gap:12px;align-items:center;margin-bottom:0}.cardButton{background:var(--color-transparent);padding:0;border:none;cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--color-text-heading)}.cardButtonCircle{width:96px;height:96px;border-radius:999px;background:linear-gradient(135deg,var(--color-green-400) 0%,var(--color-accent-primary) 100%);color:var(--color-text-inverse);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;box-shadow:0 10px 22px var(--overlay-24);transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.cardButton:hover .cardButtonCircle{transform:translateY(-2px);box-shadow:0 14px 28px var(--overlay-24);filter:brightness(1.03)}.cardButton:active .cardButtonCircle{transform:translateY(0);box-shadow:0 8px 18px var(--overlay-24)}.cardButton:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px}.cardButtonIcon{font-size:28px;line-height:1}.cardButtonLabel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1.05}.cardButtonLabelLine{font-size:11px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;color:var(--color-text-inverse)}.cardButtonSecondary{background-color:var(--color-accent-soft);color:var(--color-success)}.streakCard{margin:0 0 20px;padding:18px;background:linear-gradient(135deg,var(--color-accent-soft) 0%,var(--success-05) 100%);border-radius:16px;border:1px solid var(--success-25);box-shadow:0 2px 10px var(--overlay-12);min-height:100px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.streakCard:focus-visible{outline:2px solid var(--color-success);outline-offset:2px}.streakCard:hover{transform:translateY(-1px);box-shadow:0 4px 14px var(--overlay-16)}.streakInfo{display:flex;align-items:center;gap:10px;margin-bottom:10px}.streakEmoji{font-size:26px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.streakText{font-size:19px;font-weight:700;color:var(--color-success);line-height:1.3}.bestStreakInfo{font-size:13px;color:var(--color-text-muted);opacity:.75;margin-bottom:8px;font-weight:500}.lastWalkInfo{font-size:14px;color:var(--color-text-muted);opacity:.85;margin-bottom:8px;line-height:1.4}.encouragementCopy{font-size:14px;color:var(--color-success);font-weight:500;margin-top:4px;line-height:1.4;font-style:italic}.homeQuote{margin:0 0 24px;font-size:16px;line-height:1.5;font-style:italic;color:var(--color-text-muted);border-left:4px solid var(--color-success);padding-left:16px;background:linear-gradient(to right,var(--color-accent-soft),var(--color-transparent));padding-top:4px;padding-bottom:4px;border-radius:0 8px 8px 0}.streakCardButton{display:block;width:100%;text-align:left;cursor:pointer}.streakCardButton:focus-visible{outline:2px solid var(--color-success);outline-offset:4px}.streakCardButton:active{transform:translateY(1px)}.streaksPage{padding:20px;height:100%;max-height:100%;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.streaksHeader{display:flex;align-items:center;gap:12px}.streaksBackButton{border:none;background:var(--color-transparent);border-radius:0;width:32px;height:32px;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center}.streaksBackButton img{width:20px;height:20px}.streaksBackButton:focus-visible{outline:2px solid var(--color-success);outline-offset:3px}.streaksTitle{margin:0;font-size:20px;font-weight:700;color:var(--color-success-strong)}.streaksHero{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.streakMetric{background:var(--color-bg-soft);border:1px solid var(--color-border-default);border-radius:14px;padding:14px;box-shadow:0 2px 10px var(--overlay-04)}.streakMetricLabel{margin:0 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.streakMetricValue{margin:0;font-size:22px;font-weight:700;color:var(--color-success-strong)}.streakMetricSub{margin:4px 0 0;font-size:13px;color:var(--color-text-muted)}.journeyHero{grid-column:span 2;background:var(--color-transparent);border:none;box-shadow:none;padding:0}@media (max-width: 480px){.journeyHero{grid-column:span 1}}.journeyHero .streakMetricLabel{text-transform:none;letter-spacing:0;font-size:13px}.journeyHero .streakMetricValue{font-size:18px}.journeyHero .streakMetricSub{font-size:13px}.journeyHeader{display:flex;flex-direction:column;gap:2px}.journeyHeaderLabel{margin:0;font-size:12px;color:var(--color-text-muted)}.journeyHeaderTitle{margin:0;font-size:20px;font-weight:700;color:var(--color-success-strong)}.journeyHeaderSub{margin:0;font-size:13px;color:var(--color-text-muted)}.streaksCard{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:14px;padding:16px;box-shadow:0 3px 14px var(--overlay-05)}.streaksCardHeader{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;color:var(--color-success-strong)}.streaksCardHeader h3{margin:0;font-size:16px}.streaksCardHeader span{font-size:13px;color:var(--color-text-muted)}.tabSwitcher{display:flex;gap:8px;background:var(--color-bg-chip);border-radius:8px;padding:4px}.tabButton{padding:6px 14px;border:none;background:var(--color-transparent);border-radius:6px;font-size:13px;font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:all .2s ease}.tabButton:hover{background:var(--success-10)}.tabButton.active{background:var(--color-success);color:var(--color-text-inverse)}.tabButton:focus-visible{outline:2px solid var(--color-success);outline-offset:2px}.timelineDotButton{border:none;background:var(--color-transparent);padding:8px 4px;cursor:pointer;border-radius:10px;transition:background .2s ease,transform .1s ease}.timelineDotButton:hover{background:var(--success-08)}.timelineDotButton:focus-visible{outline:2px solid var(--color-success);outline-offset:3px}.timelineDotButton:active{transform:translateY(1px)}.streaksTimeline{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.timelineDot{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--color-text-muted);font-size:12px}.timelineDot .dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--color-border-alt);background:var(--color-bg-soft)}.timelineDot.active .dot{background:var(--color-success);border-color:var(--color-success);box-shadow:0 0 0 4px var(--success-15)}.timelineDot.today .dot{border-color:var(--color-success-strong)}.milestoneBar{width:100%;height:10px;border-radius:999px;background:var(--color-bg-chip);overflow:hidden}.milestoneBarFill{height:100%;background:linear-gradient(90deg,var(--color-success),var(--color-green-400));border-radius:999px;transition:width .3s ease}.streaksHelperText{margin:10px 0 0;font-size:13px;color:var(--color-text-muted)}.historyGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.historyItem{padding:12px;border:1px solid var(--color-border-default);border-radius:12px;background:var(--color-bg-softest)}.historyLabel{margin:0 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-muted)}.historyValue{margin:0;font-size:18px;font-weight:700;color:var(--color-success-strong)}.historyRange{margin:4px 0 0;font-size:13px;color:var(--color-text-muted)}.monthCalendarContainer{display:flex;flex-direction:column;gap:12px}.monthCalendarHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px}.monthNavButton{border:none;background:var(--color-transparent);border-radius:0;width:36px;height:36px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-success-strong);transition:all .2s ease;flex-shrink:0}.monthNavButton:hover:not(:disabled){background:var(--color-transparent)}.monthNavButton:disabled{opacity:.4;cursor:not-allowed}.monthNavButton:focus-visible{outline:2px solid var(--color-success);outline-offset:2px}.monthNavButton:active:not(:disabled){transform:translateY(1px)}.monthCalendarTitle{margin:0;font-size:15px;font-weight:700;color:var(--color-success-strong);flex:1;text-align:center}.monthCalendar{display:flex;flex-direction:column;gap:8px}.monthWeekHeader{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:4px}.monthDayHeader{text-align:center;font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;padding:4px 0}.monthWeekRow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.monthDayCell{border:none;padding:0;position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;background:var(--color-bg-soft);border:1px solid var(--color-transparent);transition:all .2s ease;cursor:pointer}.monthDayCell.outOfMonth{opacity:.3}.monthDayCell.today{border-color:var(--color-success);background:var(--success-10)}.monthDayNumber{font-size:13px;font-weight:600;color:var(--color-success-strong);line-height:1}.monthDayCell.outOfMonth .monthDayNumber{color:var(--color-text-muted)}.monthWalkedDot{position:absolute;bottom:4px;width:6px;height:6px;border-radius:50%;background:var(--color-success);box-shadow:0 0 0 2px var(--success-20)}.monthDayCell:hover{background:var(--success-08)}.monthDayCell:focus-visible{outline:2px solid var(--color-success);outline-offset:2px}.clickableDay:active{transform:translateY(1px)}.streakModalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-35);display:flex;align-items:flex-end;justify-content:center;padding:12px;z-index:1200}.streakModal{width:100%;max-width:520px;background:var(--color-bg-surface);border-radius:18px 18px 12px 12px;box-shadow:0 12px 30px var(--overlay-15);padding:18px 18px 20px}.streakModalHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.modalLabel{margin:0 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-muted)}.modalTitle{margin:0;font-size:18px;font-weight:700;color:var(--color-success-strong)}.modalSub{margin:4px 0 0;font-size:13px;color:var(--color-text-muted)}.modalCloseButton{border:none;background:var(--color-bg-chip);color:var(--color-success-strong);font-size:18px;border-radius:10px;width:34px;height:34px;cursor:pointer}.modalCloseButton:focus-visible{outline:2px solid var(--color-success);outline-offset:2px}.streakModalBody{max-height:50vh;overflow-y:auto;padding-right:6px}.modalEmpty{margin:0;font-size:14px;color:var(--color-text-muted)}.modalWalkList{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.modalWalkItem{border:1px solid var(--color-border-default);border-radius:12px;padding:10px 12px;background:var(--color-bg-softest);cursor:pointer}.modalWalkTitle{font-weight:700;font-size:14px;margin:0 0 6px;color:var(--color-success-strong)}.modalWalkMeta{display:flex;flex-wrap:wrap;gap:6px}.metaChip{background:var(--color-bg-meta-chip);color:var(--color-success-strong);padding:4px 8px;border-radius:999px;font-size:12px;border:1px solid var(--success-20)}.journeyGoalsList{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-direction:column;gap:10px}.journeyGoalItem{padding:10px 12px;border-radius:10px;border:1px solid var(--color-border-default);background:var(--color-bg-softest)}.journeyGoalHeader{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.journeyGoalTitle{font-size:14px;font-weight:600;color:var(--color-success-strong)}.journeyGoalDelete{border:none;background:var(--color-bg-chip);color:var(--color-text-muted);border-radius:999px;width:22px;height:22px;cursor:pointer;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center}.journeyGoalDelete:focus-visible{outline:2px solid var(--color-success);outline-offset:2px}.journeyGoalMeta{font-size:12px;color:var(--color-text-muted);margin-bottom:6px}.journeyGoalBar{margin-top:2px}.journeyGoalForm{display:flex;flex-direction:column;gap:8px;margin-top:8px}.journeyGoalLabel{font-size:12px;color:var(--color-text-muted);display:flex;flex-direction:column;gap:4px}.journeyGoalInput{border-radius:8px;border:1px solid var(--color-border-alt);padding:6px 8px;font-size:13px}.journeyGoalInput:focus-visible{outline:2px solid var(--color-success);outline-offset:1px}.journeyGoalActions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.journeyGoalAddButton,.journeyGoalSave,.journeyGoalCancel{border-radius:999px;border:none;padding:6px 12px;font-size:13px;cursor:pointer}.journeyGoalAddButton,.journeyGoalSave{background:var(--color-success);color:var(--color-text-inverse);margin-top:8px}.journeyGoalCancel{background:var(--color-bg-chip);color:var(--color-text-muted)}.mapPage{background-image:url(/assets/mappage-DlUNtIcS.png);background-size:cover;background-repeat:no-repeat;background-position:center}.mapPageRoot{position:relative;width:100%;height:100%;overflow:hidden}.mapWrapper{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;z-index:0}.mapContainer{width:100%;height:100%;background-color:var(--color-bg-map)}.mapContainer-walking .leaflet-control-zoom,.save-route-modal-open .leaflet-control-zoom{display:none!important}.activeNavOverlay{position:absolute;top:0;left:0;right:0;transform:none;z-index:1100;max-width:100%;width:100%;box-sizing:border-box;background:var(--surface-glass-96);border-radius:0;box-shadow:none;border-bottom:1px solid var(--overlay-08);padding:12px 20px 14px;padding-top:max(12px,calc(12px + env(safe-area-inset-top)));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.activeNavHeaderRow{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.activeNavBackBtn,.activeNavEndBtn{border:none;background:var(--color-bg-pill);color:var(--color-success-strong);width:32px;height:28px;border-radius:999px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.activeNavEndBtn{background:var(--color-danger-soft);color:var(--color-danger);font-size:11px;width:auto;padding:0 10px}.activeNavTitle{font-size:14px;font-weight:700;color:var(--color-text-heading)}.activeNavBody{margin-top:2px}.activeNavLabel{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-faint);margin-bottom:2px}.activeNavMain{font-size:18px;font-weight:700;color:var(--color-text-heading);margin-bottom:4px;text-align:center}.activeNavSub{font-size:13px;color:var(--color-text-muted);text-align:center}.activeNavSub strong{margin-left:4px}.activeNavActions{margin-top:8px;display:flex;justify-content:flex-end}.route-line{cursor:pointer;transition:stroke-width .2s,stroke .2s;stroke-linecap:round;stroke-linejoin:round}.routeLineActive{stroke-dasharray:2000;stroke-dashoffset:2000;animation:routeDraw 1.5s linear forwards;stroke:var(--color-accent-primary);stroke-width:6;opacity:1}.routeLineAlt{stroke-dasharray:0;stroke-dashoffset:0;stroke:var(--color-text-faint);stroke-width:5;opacity:.6}.routeLineAlt:hover{stroke:var(--color-accent-primary);opacity:.9;stroke-width:6}@keyframes routeDraw{to{stroke-dashoffset:0}}.street-name-label-icon{background:none!important;border:none!important;transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1);will-change:opacity,transform}.street-name-label-icon.hidden{opacity:0!important;transform:scale(.85)!important;pointer-events:none!important;visibility:hidden!important}.street-name-label-icon.visible{opacity:1;transform:scale(1)}.street-name-label{background:linear-gradient(135deg,var(--color-accent-primary) 0%,var(--color-green-850) 100%);color:var(--color-text-inverse);padding:6px 12px;border-radius:16px;font-size:12px;font-weight:700;white-space:nowrap;box-shadow:0 2px 8px var(--success-40),0 0 0 2px var(--surface-glass-80);border:1px solid var(--surface-glass-30);text-shadow:0 1px 2px var(--overlay-20);transform:translate(-50%,-100%);position:relative;pointer-events:none;-webkit-user-select:none;user-select:none;display:inline-block;margin-top:-8px}.route-label-icon{background:none;border:none}.route-label-pill{background-color:var(--color-bg-surface);border:1px solid var(--color-border-neutral);padding:6px 12px;border-radius:20px;font-size:12px;font-weight:700;color:var(--color-text-body);box-shadow:0 2px 6px var(--overlay-15);white-space:nowrap;position:relative;left:-50%;top:-50%;cursor:pointer;transition:all .2s ease}.route-label-pill:hover{transform:scale(1.1);background-color:var(--color-bg-surface-hover)}.route-label-pill.active{background-color:var(--color-accent-primary);color:var(--color-text-inverse);border-color:var(--color-green-850);box-shadow:0 4px 12px var(--success-40);transform:scale(1.1)}.checkpoint-number-inner{width:24px;height:24px;border-radius:50%;background:var(--color-bg-surface);border:2px solid var(--color-accent-primary);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--color-accent-primary);box-shadow:0 2px 5px var(--overlay-20)}.mapCheckpointSection{position:fixed;left:50%;transform:translate(-50%);width:100%;max-width:min(430px,100vw);z-index:1200;bottom:68px;display:flex;flex-direction:column;justify-content:flex-end;pointer-events:none}.mapCheckpointSection.hidden{display:none}.mapCheckpointSheet{background:var(--color-bg-surface);border-radius:24px 24px 0 0;width:100%;margin:0;left:0;right:0;bottom:0;box-shadow:0 -4px 20px var(--overlay-10);pointer-events:auto;height:auto;max-height:75vh;display:flex;flex-direction:column;padding-bottom:0;transition:transform 1.2s cubic-bezier(.32,.72,0,1);will-change:transform;z-index:1001;position:absolute}.mapCheckpointSheet form{margin-bottom:0!important}.mapCheckpointSummaryBar{min-height:60px;padding:12px 16px 0;background:var(--color-bg-surface);border-radius:24px 24px 0 0;position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;border-bottom:1px solid var(--color-transparent)}.mapCheckpointSummaryBar:after{content:"";position:absolute;top:8px;width:40px;height:4px;background-color:var(--color-border-handle);border-radius:10px}.mapCheckpointSummaryText{font-size:16px;font-weight:700;color:var(--color-text-body);margin-top:10px;letter-spacing:-.2px}.mapCheckpointBody{padding:0 24px 24px;overflow-y:auto;height:auto;max-height:50vh;transition:opacity .35s cubic-bezier(.32,.72,0,1) .08s;opacity:1}.walkMetricsSection{position:fixed;left:50%;transform:translate(-50%);width:100%;max-width:min(430px,100vw);bottom:var(--app-nav-height, 76px);padding:0;z-index:1001}.walkMetricsBar{background:var(--color-bg-surface);border-radius:24px 24px 0 0;box-shadow:0 -4px 20px var(--overlay-10);padding:12px 18px 16px;display:flex;justify-content:space-between;gap:16px}.walkMetric{flex:1;text-align:center}.walkMetricLabel{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-faint);margin-bottom:4px}.walkMetricValue{font-size:16px;font-weight:700;color:var(--color-text-heading)}.mapCheckpointSheetCollapsed{transform:translateY(calc(100% - 60px));transition:transform 1.2s cubic-bezier(.32,.72,0,1)}.mapCheckpointSheetCollapsed .mapCheckpointBody{max-height:0!important;padding-top:0!important;padding-bottom:0!important;opacity:0!important;overflow:hidden!important;transition:opacity .35s cubic-bezier(.32,.72,0,1) 0s}.mapCheckpointSheetOpen{transform:translateY(0);transition:transform 1.2s cubic-bezier(.32,.72,0,1)}.location-row-abstract{margin-bottom:8px}.location-pill-abstract{position:relative;padding:0;display:flex;align-items:center;background:var(--color-bg-surface);border:1px solid var(--color-border-very-subtle);border-radius:16px;box-shadow:0 2px 8px var(--overlay-03)}.timeline-input{width:100%;border:none;background:var(--color-transparent);padding:14px 16px;font-size:14px;font-weight:600;color:var(--color-text-heading);outline:none;border-radius:16px}.timeline-input::placeholder{color:var(--color-text-faint);font-weight:500}.drag-handle{display:flex;align-items:center;justify-content:center;padding:0 12px;cursor:grab;color:var(--color-text-disabled);touch-action:none}.drag-handle:active{cursor:grabbing;color:var(--color-accent-primary)}.timeline-dropdown{position:absolute;top:110%;left:0;right:0;background:var(--color-bg-surface);border-radius:12px;box-shadow:0 4px 20px var(--overlay-15);z-index:1000;max-height:220px;overflow-y:auto;border:1px solid var(--color-border-very-subtle)}.dropdown-option{padding:12px 16px;border-bottom:1px solid var(--color-bg-soft);cursor:pointer;display:flex;flex-direction:column}.dropdown-option:hover{background-color:var(--color-bg-surface-hover)}.dropdown-main-text{font-size:13px;font-weight:600;color:var(--color-text-heading)}.dropdown-sub-text{font-size:11px;color:var(--color-text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-option-special{padding:12px 16px;display:flex;align-items:center;gap:10px;color:var(--color-accent-primary);font-weight:600;font-size:13px;cursor:pointer;border-bottom:1px solid var(--color-border-very-subtle);background:var(--color-bg-ultra-soft)}.dropdown-option-special:hover{background:var(--color-bg-accent-softer)}.checkpoint-control-abstract{margin-bottom:12px;background:var(--color-bg-surface);padding:16px;border-radius:20px;border:1px solid var(--color-border-very-subtle);box-shadow:0 4px 12px var(--overlay-03)}.checkpoint-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.checkpoint-header span:first-child{font-size:15px;font-weight:700;color:var(--color-text-heading)}.checkpoint-count-display{font-size:16px;color:var(--color-text-inverse);font-weight:700;background:var(--color-accent-primary);padding:4px 12px;border-radius:12px;min-width:24px;text-align:center;box-shadow:0 2px 6px var(--success-30)}.styled-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:10px;border-radius:999px;background-color:var(--color-accent-primary);background-image:linear-gradient(43deg,var(--color-success-strong) 0%,var(--color-green-400) 55%,var(--color-bg-accent-soft) 100%);outline:none;cursor:pointer;position:relative;margin:4px 0 0;opacity:.9;transition:opacity .2s ease}.styled-slider::-webkit-slider-runnable-track{height:10px;border-radius:999px}.styled-slider::-moz-range-track{height:10px;border-radius:999px;background-color:var(--color-accent-primary);background-image:linear-gradient(43deg,var(--color-success-strong) 0%,var(--color-green-400) 55%,var(--color-bg-accent-soft) 100%)}.styled-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background-color:var(--color-success-strong);background-image:linear-gradient(160deg,var(--color-success-strong) 0%,var(--color-green-400) 100%);border:2px solid var(--surface-glass-95);box-shadow:0 3px 8px var(--overlay-18);margin-top:-5px;transition:transform .12s ease,box-shadow .12s ease}.styled-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background-color:var(--color-success-strong);background-image:linear-gradient(160deg,var(--color-success-strong) 0%,var(--color-green-400) 100%);border:2px solid var(--surface-glass-95);box-shadow:0 3px 8px var(--overlay-18);transition:transform .12s ease,box-shadow .12s ease}.styled-slider:hover::-webkit-slider-thumb,.styled-slider:hover::-moz-range-thumb{box-shadow:0 4px 10px var(--overlay-20)}.styled-slider:hover{opacity:1}.styled-slider::-webkit-slider-thumb:active,.styled-slider::-moz-range-thumb:active{transform:scale(1.06);box-shadow:0 6px 14px var(--overlay-24)}.routeChoices{display:flex;flex-direction:row;overflow-x:auto;gap:14px;padding:6px 4px 16px;margin-bottom:0;cursor:grab;scrollbar-width:none;-ms-overflow-style:none}.routeChoices:active{cursor:grabbing}.routeChoices::-webkit-scrollbar{display:none}.routeChoiceBtn{flex:0 0 auto;background-color:var(--color-bg-surface);border:1.5px solid var(--color-border-neutral-soft);color:var(--color-text-heading);padding:14px 20px;border-radius:999px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 2px 6px var(--overlay-05);transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap;min-height:48px;display:flex;align-items:center;justify-content:center}.routeChoiceBtn:hover{background-color:var(--color-bg-route-choice-hover);border-color:var(--color-accent-primary);transform:translateY(-2px);box-shadow:0 4px 10px var(--success-15)}.routeChoiceBtnActive{background:#6b7f50;color:var(--color-text-inverse);border-color:#6b7f50;box-shadow:0 4px 12px #6b7f5059;transform:scale(1.02)}.routeChoiceBtnActive:hover{background:#5a6b42;transform:scale(1.03);box-shadow:0 6px 16px #6b7f5066}.routeChoiceBtnConfirm{background:#6b7f50;color:var(--color-text-inverse);border-color:#6b7f50;box-shadow:0 6px 18px #6b7f5061;transform:scale(1.02)}.routeChoiceBtnSelected{border-color:var(--color-accent-primary);box-shadow:0 4px 12px var(--success-15)}.action-buttons-abstract{display:flex;gap:12px;margin-top:24px;margin-bottom:8px;position:relative;z-index:1001;pointer-events:auto}.btn-abstract{flex:1;padding:16px 20px;border-radius:16px;font-size:16px;font-weight:700;cursor:pointer;border:none;transition:all .25s cubic-bezier(.4,0,.2,1);min-height:52px;display:flex;align-items:center;justify-content:center;letter-spacing:.2px}.btn-primary{background:#6b7f50;color:var(--color-text-inverse);box-shadow:0 4px 12px #6b7f504d}.btn-primary:hover{background:#5a6b42;transform:translateY(-2px);box-shadow:0 6px 16px #6b7f5066}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px var(--success-30)}.btn-secondary{background:var(--color-bg-surface);color:var(--color-danger-strong);border:2px solid var(--color-border-danger-soft);box-shadow:0 2px 6px var(--danger-10)}.btn-secondary:hover{background:var(--color-bg-danger-soft);border-color:var(--color-border-danger-hover);transform:translateY(-2px);box-shadow:0 4px 10px var(--overlay-15)}.btn-secondary:active{transform:translateY(0);box-shadow:0 2px 6px var(--danger-10)}.mapErrorInline{font-size:13px;color:var(--color-danger);background:var(--color-danger-bg-soft);padding:8px 12px;border-radius:8px;margin-top:10px;display:inline-block}.mapGeoErrorInline{font-size:13px;color:var(--color-danger);background:var(--color-danger-bg-soft);padding:8px 12px;border-radius:8px;margin-bottom:12px;text-align:center}.checkpoint-overlay-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2000;background:var(--overlay-24);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease-out}.checkpoint-detail-card{background:var(--surface-glass-92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--surface-glass-60);width:100%;max-width:340px;border-radius:32px;padding:28px;box-shadow:0 20px 40px var(--overlay-15),0 0 0 1px var(--surface-glass-50) inset;position:relative;display:flex;flex-direction:column;animation:popUp .3s cubic-bezier(.175,.885,.32,1.275)}.cp-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.cp-detail-badge{background:var(--color-bg-accent-soft);color:var(--color-accent-strong);font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:800;padding:6px 12px;border-radius:99px}.cp-detail-desc{font-family:system-ui,sans-serif;color:var(--color-text-muted);font-size:.95rem}.cp-read-aloud-btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;padding:10px 12px;font-size:13px;font-weight:700;color:var(--color-text-muted);background:var(--color-bg-surface);border:1px solid var(--color-border-neutral-soft);border-radius:999px;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-width:0}.cp-read-aloud-btn:hover{background:var(--color-bg-surface-hover);color:var(--color-text-heading);transform:translateY(-1px)}.cp-read-aloud-btn:active{transform:translateY(0);opacity:.9}.cp-read-aloud-icon{width:18px;height:18px;object-fit:contain}.cp-primary-actions-row{display:flex;gap:10px;align-items:center;flex-wrap:nowrap;margin-top:12px;width:100%}.cp-primary-actions-row .cp-read-aloud-btn,.cp-primary-actions-row .cp-skip-btn{flex:1 1 0;justify-content:center;min-width:0}.cp-benefits-list{display:flex;flex-direction:column;gap:5px;padding:0;margin:0}.cp-benefit-item{display:flex;align-items:flex-start;gap:10px;font-size:15px;color:var(--color-text-heading);line-height:1.4}.cp-benefit-icon{width:18px;height:18px;object-fit:contain;flex-shrink:0;margin-top:2px}.cp-close-btn{width:32px;height:32px;background:var(--color-grey-soft-100);border:none;border-radius:50%;color:var(--color-text-grey-soft);font-size:20px;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;padding-bottom:2px}.cp-close-btn:hover{background:var(--color-grey-soft-200);color:var(--color-text-grey-strong)}.checkpoint-too-far-popup{background:var(--surface-glass-92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--surface-glass-60);width:100%;max-width:340px;border-radius:32px;padding:22px;box-shadow:0 20px 40px var(--overlay-15),0 0 0 1px var(--surface-glass-50) inset;position:relative;display:flex;flex-direction:column;animation:popUp .3s cubic-bezier(.175,.885,.32,1.275)}.cp-too-far-title{font-size:24px;font-weight:700;color:var(--color-text-heading);margin:0 0 10px;text-align:center}.cp-too-far-message{font-size:15px;color:var(--color-text-muted);line-height:1.5;margin:0 0 16px;text-align:center}.cp-motivational-quote{background:var(--color-bg-accent-soft);border-radius:16px;padding:14px;margin-bottom:16px;border:1px solid var(--color-border-soft)}.cp-quote-text{font-size:14px;color:var(--color-accent-strong);font-style:italic;text-align:center;margin:0;line-height:1.5}.cp-too-far-close-button{width:100%;padding:14px 24px;font-size:16px;font-weight:600;color:#fff;background:#6b7f50;border:none;border-radius:16px;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px var(--overlay-10)}.cp-too-far-close-button:hover{background:#5a6b42;transform:translateY(-2px);box-shadow:0 6px 16px var(--overlay-15)}.cp-too-far-close-button:active{transform:translateY(0);box-shadow:0 4px 12px var(--overlay-10)}.cp-question-container{background:linear-gradient(135deg,var(--color-bg-soft) 0%,var(--color-bg-accent-soft) 100%);border-radius:24px;padding:30px 20px;text-align:center;margin:10px 0 25px;box-shadow:0 8px 24px var(--success-08);display:flex;flex-direction:column;align-items:center;gap:12px}.cp-question-icon{font-size:48px;margin-bottom:8px;filter:drop-shadow(0 4px 6px var(--overlay-10));animation:floatIcon 3s ease-in-out infinite}.cp-question-text{font-size:1.25rem;font-weight:700;color:var(--color-text-heading);line-height:1.4;margin:0}.cp-detail-title{font-size:24px;font-weight:800;color:var(--color-text-heading);margin:0 0 12px;letter-spacing:-.5px;line-height:1.2}.cp-detail-meta{display:flex;gap:8px;margin-bottom:20px}.cp-meta-item{font-size:12px;font-weight:600;color:var(--color-text-muted);background:var(--color-bg-accent-softer);padding:6px 10px;border-radius:8px}.cp-gif-placeholder{width:100%;height:180px;background:var(--color-grey-soft-100);border-radius:20px;margin-bottom:16px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--overlay-05)}.cp-gif-img{width:100%;height:100%;object-fit:cover}.cp-side-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:var(--color-bg-surface);box-shadow:0 4px 12px var(--overlay-10);color:var(--color-accent-primary);font-size:24px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border-very-subtle);cursor:pointer;z-index:10;transition:transform .2s}.cp-side-btn:active{transform:translateY(-50%) scale(.9)}.cp-side-btn.left{left:-16px}.cp-side-btn.right{right:-16px}.cp-pagination{display:flex;justify-content:center;gap:6px;margin-bottom:16px}.cp-dot{width:8px;height:8px;border-radius:50%;background:var(--color-grey-soft-300);transition:all .3s}.cp-dot.active{background:var(--color-accent-primary);width:24px;border-radius:99px}.cp-complete-block-btn{width:100%;background:var(--color-accent-primary);color:var(--color-text-inverse);border:none;padding:16px 24px;font-size:1.1rem;font-weight:700;border-radius:999px;cursor:pointer;transition:all .2s cubic-bezier(.25,.8,.25,1);box-shadow:0 4px 15px var(--success-35);display:flex;align-items:center;justify-content:center;letter-spacing:.5px}.cp-complete-block-btn:active{transform:scale(.98) translateY(0);box-shadow:0 2px 8px var(--success-30)}.cp-complete-block-btn:hover{background:var(--color-green-625);transform:translateY(-2px);box-shadow:0 8px 20px var(--success-40)}.cp-skip-btn{background:var(--color-bg-surface);color:var(--color-text-muted);border:1px solid var(--color-border-neutral-soft);border-radius:999px;padding:10px 12px;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.cp-skip-btn:hover{background:var(--color-bg-surface-hover);color:var(--color-text-heading);transform:translateY(-1px)}.cp-skip-btn:active{transform:translateY(0);opacity:.9}.cp-reflection-row{display:flex;gap:10px;align-items:flex-start;width:100%}.cp-reflection-row .cp-reflection-input{flex:1;min-width:0}.cp-voice-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:10px;width:44px;height:44px;background:var(--color-grey-soft-100);border:1px solid var(--color-border-strong);border-radius:12px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.cp-voice-btn:hover{background:var(--color-grey-soft-200);border-color:var(--color-success-dark);transform:scale(1.05)}.cp-voice-btn-active{background:rgba(var(--color-success-rgb, 34, 139, 34),.15);border-color:var(--color-success-dark)}.cp-voice-btn-active:hover{background:rgba(var(--color-success-rgb, 34, 139, 34),.25);transform:scale(1.05)}.cp-voice-icon{width:22px;height:22px;pointer-events:none}.cp-speech-error{font-size:13px;color:var(--color-error, #c00);background:#cc000014;padding:8px 12px;border-radius:8px;margin-bottom:12px}@keyframes popUp{0%{transform:scale(.9) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.cp-slides-viewport{width:100%;overflow-x:auto;overflow-y:hidden;display:flex;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}.cp-slides-viewport::-webkit-scrollbar{display:none}.cp-slide{min-width:100%;scroll-snap-align:center;padding:4px;box-sizing:border-box}.cp-side-btn{display:none!important}.activeWalkContainer{text-align:center;padding-bottom:10px;animation:fadeIn .3s ease}.active-walk-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.activeWalkHeader{font-size:24px;color:var(--color-accent-strong);font-weight:700;margin:0}.active-walk-back-btn{width:40px;height:40px;border-radius:50%;background:var(--color-bg-accent-softer);border:1px solid var(--color-bg-accent-soft);color:var(--color-accent-primary);font-size:28px;font-weight:300;display:flex;align-items:center;justify-content:center;cursor:pointer;padding-bottom:10px;transition:all .2s ease}.active-walk-back-btn:hover{background:var(--color-accent-primary);color:var(--color-text-inverse);border-color:var(--color-accent-primary)}.directionCard{background-color:var(--color-bg-accent-soft);padding:20px;border-radius:20px;border:2px solid var(--color-accent-primary);margin-bottom:24px;text-align:left;box-shadow:0 4px 10px var(--success-15)}.directionLabel{font-size:12px;text-transform:uppercase;color:var(--color-text-subtle);font-weight:700;margin-bottom:6px;letter-spacing:.5px}.directionMain{font-size:18px;font-weight:700;color:var(--color-text-heading);line-height:1.4}.directionSub{margin-top:8px;font-size:14px;color:var(--color-text-subtle);display:flex;align-items:center;gap:6px}.activeNavButtons{display:flex;gap:12px;margin-top:20px}.btn-nav-next{flex:2;background:var(--color-text-heading);color:var(--color-text-inverse);border:none;font-size:16px;font-weight:600;padding:14px;border-radius:16px;cursor:pointer}.btn-nav-end{flex:1;background:var(--color-danger-bg-soft);color:var(--color-danger-strong);border:1px solid var(--color-border-danger-soft);font-size:14px;font-weight:600;padding:14px;border-radius:16px;cursor:pointer}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.user-location-puck{background:var(--color-transparent);position:relative;transition:all .1s linear}.voice-toggle-btn{position:absolute;right:20px;bottom:140px;width:50px;height:50px;border-radius:50%;background:var(--color-bg-surface);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:none;box-shadow:0 4px 15px var(--overlay-10);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000;transition:transform .2s ease,background-color .2s ease}.voice-toggle-btn:active{transform:scale(.95)}.voice-toggle-btn.active{background:var(--color-bg-surface);border:2px solid #6b7f50}.voice-toggle-btn img,.voice-toggle-btn svg{width:24px;height:24px;filter:brightness(0) saturate(100%) invert(45%) sepia(10%) saturate(1200%) hue-rotate(55deg) brightness(92%) contrast(88%)}.user-puck-dot{width:20px;height:20px;background-color:var(--color-info);border:3px solid var(--color-bg-surface);border-radius:50%;box-shadow:0 2px 6px var(--overlay-24);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2}.user-puck-heading{width:0;height:0;border-left:15px solid var(--color-transparent);border-right:15px solid var(--color-transparent);border-top:40px solid var(--info-30);border-radius:50% 50% 0 0;position:absolute;top:-24px;left:50%;transform-origin:bottom center;transform:translate(-50%);z-index:1;pointer-events:none}.leaflet-top.leaflet-left{top:10px;left:6px}.leaflet-bar{border:none!important;box-shadow:0 4px 12px var(--overlay-15)!important;border-radius:12px!important;overflow:hidden}.leaflet-bar a{background-color:var(--surface-glass-95)!important;color:var(--color-accent-primary)!important;width:40px!important;height:40px!important;line-height:44px!important;font-size:22px!important;font-weight:400!important;border-bottom:1px solid var(--color-bg-accent-soft)!important;transition:all .2s ease;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important}.leaflet-bar a:first-child{border-top-left-radius:12px!important;border-top-right-radius:12px!important}.leaflet-bar a:last-child{border-bottom-left-radius:12px!important;border-bottom-right-radius:12px!important;border-bottom:none!important}.drag-handle{cursor:grab;padding:0 12px;display:flex;align-items:center;color:var(--color-text-disabled)}.drag-handle svg{opacity:.6}.draggable-item{position:relative;margin-bottom:0}.user-location-btn{position:absolute;right:16px;z-index:1000;width:48px;height:48px;border-radius:12px;background:var(--color-bg-surface);border:none;box-shadow:0 4px 12px var(--overlay-15);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:10px;transition:transform .1s ease;-webkit-user-select:none;user-select:none}.user-location-btn.walking{top:120px}.user-location-btn.not-walking{top:20px}.user-location-btn img{width:100%;height:100%;object-fit:contain;pointer-events:none;filter:brightness(0) saturate(100%) invert(45%) sepia(10%) saturate(1200%) hue-rotate(55deg) brightness(92%) contrast(88%)}.voice-toggle-btn{position:absolute;right:16px;z-index:1000;width:48px;height:48px;border-radius:12px;background:var(--color-bg-surface);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:0 4px 12px var(--overlay-15);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:10px;transition:all .2s ease}.voice-toggle-btn.walking{top:176px}.voice-toggle-btn.not-walking{top:80px}.voice-toggle-btn.enabled{border:2px solid #6b7f50;background:var(--color-bg-surface)}.voice-toggle-btn img{width:100%;height:100%;object-fit:contain;pointer-events:none;filter:brightness(0) saturate(100%) invert(45%) sepia(10%) saturate(1200%) hue-rotate(55deg) brightness(92%) contrast(88%)}.route-selection-container{margin-top:0;margin-bottom:24px;padding:24px 20px;background:linear-gradient(135deg,var(--success-08) 0%,var(--success-12) 100%);border-radius:20px;border:1.5px solid var(--success-25);box-shadow:0 2px 16px var(--overlay-12)}.route-selection-title{font-size:19px;font-weight:700;color:var(--color-text-heading);margin:0 0 20px;text-align:center;letter-spacing:-.3px}.nav-arrow-btn{position:absolute;top:50%;transform:translateY(-50%);background:var(--surface-glass-85);border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--color-text-heading);box-shadow:0 2px 8px var(--overlay-15)}.nav-arrow-btn.left{left:12px}.nav-arrow-btn.right{right:12px}.nav-arrow-btn:disabled{cursor:not-allowed;opacity:.4}.nav-arrow-btn:not(:disabled){cursor:pointer}.step-counter{margin-left:8px;font-size:11px;color:var(--color-text-subtle)}.cp-benefits-title{font-size:18px;margin-bottom:16px;color:var(--color-text-heading)}.cp-gif-emoji{font-size:40px}.cp-reflection-textarea{width:100%;height:100px;margin-top:15px;padding:12px;border-radius:12px;border:1px solid var(--color-border-subtle);background:var(--color-bg-field);font-family:inherit;font-size:14px;line-height:1.4;color:var(--color-text-heading);resize:none;outline:none;box-shadow:inset 0 2px 4px var(--overlay-02)}.cp-pagination-dot{cursor:pointer;padding:4px}.checkpoint-locked-text{font-size:12px;color:var(--color-text-subtle);margin-top:4px;font-style:italic}.checkpoint-range-labels{display:flex;justify-content:space-between;margin-top:8px;font-size:11px;color:var(--color-text-muted-alt)}.theme-selector{margin-top:16px;border-top:1px solid var(--overlay-05);padding-top:12px}.theme-selector-label{font-size:12px;color:var(--color-text-subtle);display:block;margin-bottom:6px;font-weight:600}.theme-selector-select{width:100%;padding:10px;border-radius:8px;border:1px solid var(--color-border-subtle);background:var(--surface-glass-80);font-size:13px;color:var(--color-text-heading);outline:none;cursor:pointer}.theme-selector-container{margin-top:16px;margin-bottom:8px}.themeLabel{font-size:12px;color:var(--color-text-subtle);display:block;margin-bottom:6px;font-weight:600}.themeSelect{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--color-border-handle);background:var(--color-bg-surface);font-size:14px;font-weight:600;color:var(--color-text-heading);outline:none;cursor:pointer;box-shadow:0 2px 8px var(--overlay-03);transition:all .2s ease}.themeSelect:hover{border-color:var(--color-accent-primary);box-shadow:0 2px 10px var(--success-10)}.themeSelect:focus{border-color:var(--color-accent-primary);box-shadow:0 2px 12px var(--success-15)}.routes-container-spacing{margin-top:20px}.reorder-list{list-style:none;padding:0;margin:0}.mapErrorInline{margin-top:20px;text-align:center}.travel-mode-container{position:absolute;top:140px;right:16px;z-index:1000;display:flex;flex-direction:column;gap:12px}.mode-btn{width:48px;height:48px;border-radius:12px;background:var(--surface-glass-85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:none;box-shadow:0 4px 12px var(--overlay-15);cursor:pointer;font-size:22px;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);opacity:.8}.mode-btn:hover{transform:scale(1.05);opacity:1;background:var(--color-bg-surface)}.mode-btn.active{background:var(--color-accent-primary);border:2px solid var(--color-green-850);opacity:1;transform:scale(1.05);box-shadow:0 6px 16px var(--success-40)}.mode-btn img{pointer-events:none}.search-focus-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--color-grey-soft-100);z-index:3000;display:flex;flex-direction:column}.search-focus-header{background:var(--color-bg-surface);padding:16px;padding-top:max(16px,env(safe-area-inset-top));display:flex;align-items:center;gap:12px;box-shadow:0 1px 0 var(--overlay-10)}.search-focus-input-wrapper{flex:1;background:var(--color-grey-soft-150);border-radius:12px;display:flex;align-items:center;padding:8px 12px;height:44px}.search-focus-icon-img{width:16px;height:16px;margin-right:8px;filter:invert(55%) sepia(34%) saturate(942%) hue-rotate(65deg) brightness(96%) contrast(89%)}.search-focus-input{border:none;background:var(--color-transparent);font-size:17px;width:100%;outline:none;color:var(--color-text-mid)}.search-focus-clear{background:var(--color-transparent);border:none;color:var(--color-text-grey-soft);border-radius:0;width:30px;height:100%;font-size:22px;font-weight:400;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.search-focus-cancel{background:none;border:none;color:var(--color-accent-primary);font-size:17px;font-weight:500;cursor:pointer;padding:0 4px}.search-focus-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 16px 320px}.search-result-row{display:flex;align-items:center;background:var(--color-bg-surface);padding:14px 16px;border-radius:12px;margin-bottom:8px;box-shadow:0 1px 3px var(--overlay-05);cursor:pointer}.search-result-row.special{color:var(--color-info)}.result-icon-circle{width:32px;height:32px;background:var(--color-grey-soft-350);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;margin-right:12px;flex-shrink:0}.result-icon-circle.blue{background:var(--color-info)}.result-text-col{display:flex;flex-direction:column;overflow:hidden}.result-title{font-size:16px;font-weight:600;color:var(--color-text-mid);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-subtitle{font-size:13px;color:var(--color-text-muted-alt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.search-empty-state{text-align:center;color:var(--color-text-muted-alt);margin-top:40px}.magic-route-container{position:absolute;top:180px;right:16px;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.magic-menu{background:var(--surface-glass-85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px;border-radius:16px;box-shadow:0 4px 15px var(--overlay-10);display:flex;flex-direction:column;gap:6px;min-width:80px}.magic-menu-title{font-size:11px;font-weight:700;color:var(--color-accent-primary);padding-left:4px;margin-bottom:2px}.magic-time-btn{background:var(--color-bg-accent-soft);border:1px solid var(--color-accent-primary);border-radius:12px;padding:6px 12px;color:var(--color-success-dark);font-weight:600;cursor:pointer;font-size:13px;transition:all .2s ease}.magic-time-btn:hover{background:var(--color-accent-primary);color:var(--color-text-inverse)}.magic-toggle-btn{width:44px;height:44px;border-radius:50%;background:var(--color-bg-surface);border:none;box-shadow:0 2px 8px var(--overlay-15);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease}.magic-toggle-btn:active{transform:scale(.95)}.libPage{position:relative;width:100%;height:100%;max-height:100%;display:flex;flex-direction:column;box-sizing:border-box}.libPageInner{position:relative;z-index:1;padding:16px 16px 24px;padding-top:max(16px,calc(16px + env(safe-area-inset-top)));box-sizing:border-box;flex:1 1 auto;display:flex;flex-direction:column;min-height:0;max-height:100%;overflow:hidden}.libHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;min-height:44px;gap:12px}.libTitle{font-size:22px;font-weight:700;color:var(--color-accent-strong);margin:0;flex:1}.libHeaderRow{display:flex;align-items:center;gap:10px}.libSearchPill{position:relative;display:flex;align-items:center;justify-content:flex-start;height:44px;min-height:44px;max-height:44px;width:46px;border-radius:999px;background:var(--color-bg-surface);overflow:hidden;cursor:pointer;transition:width .35s cubic-bezier(.68,-.55,.27,1.3),border-radius .35s,box-shadow .35s,background-color .35s;flex-shrink:1;box-sizing:border-box}.libSearchPillOpen{width:160px;border-radius:999px;outline-color:var(--color-accent-strong);border-color:var(--color-accent-strong);background:var(--color-bg-accent-soft)}.libSearchIconWrap{width:44px;height:44px;border:var(--color-transparent);outline:none;background:var(--color-transparent);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer}.libSearchIconImg{width:22px;height:22px;transition:transform .3s,filter .3s;filter:brightness(0) saturate(100%) invert(20%) sepia(100%) saturate(3000%) hue-rotate(90deg) brightness(.35) contrast(130%)}.libSearchPillOpen .libSearchIconImg{transform:rotate(90deg);filter:brightness(.5)}.libSearchInputWrap{flex:1;opacity:0;transform:translate(6px);transition:opacity .25s ease,transform .25s ease}.libSearchPillOpen .libSearchInputWrap{opacity:1;transform:translate(0)}.libSearchInput{width:100%;border:none;outline:none;background:var(--color-transparent);font-size:15px;color:var(--color-text-body)}.libSearchInput::placeholder{color:var(--color-text-disabled)}.libTabs{display:flex;justify-content:space-between;gap:8px;margin:10px 0 14px}.libTab{flex:1;padding:8px 0;border-radius:999px;border:1px solid var(--color-success);background:var(--color-bg-surface);font-size:14px;text-align:center;cursor:pointer;color:var(--color-success);transition:background .2s}.libTab:hover{background:var(--color-bg-soft)}.libTabActive{border-color:var(--color-success);background:var(--color-bg-accent-softest);color:var(--color-accent-strong);font-weight:600}.libHeader .libSearchPill{flex-shrink:0}.libFilterBar{display:flex;align-items:center;gap:8px;margin-top:8px;margin-bottom:12px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}.libFilterBar::-webkit-scrollbar{height:4px}.libFilterBar::-webkit-scrollbar-thumb{background:var(--overlay-12);border-radius:999px}.libFilterChip{flex:0 0 auto;padding:6px 14px;border-radius:999px;border:1px solid var(--success-40);background:var(--color-bg-surface);font-size:13px;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,border-color .2s,transform .1s}.libFilterChip:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:2px}.libFilterChip:active{transform:scale(.97)}.libFilterChipActive{background:var(--color-bg-accent-softest);border-color:var(--color-success);color:var(--color-accent-strong);font-weight:600}.libFilterChipIcon{width:14px;height:14px;margin:0;display:block;filter:brightness(0) saturate(100%) invert(85%) sepia(85%) saturate(600%) hue-rotate(0deg) brightness(.9)}.libFilterChip:has(.libFilterChipIcon:only-child){display:flex;align-items:center;justify-content:center;padding:6px;min-width:32px}.libList{flex:1 1 auto;min-height:0;overflow-y:auto;padding-bottom:20px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.libPoseCard{padding:12px 16px;border-radius:24px;background:var(--surface-glass-50);border:1px solid var(--success-40);box-shadow:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-bottom:10px}.libPoseRow{display:flex;align-items:center;gap:12px}.libPoseThumb{width:56px;height:56px;border-radius:18px;background:var(--color-bg-surface);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.libPoseThumb img{width:100%;height:100%;object-fit:cover}.libPoseThumbEmoji{font-size:26px}.libPoseText{flex:1;display:flex;flex-direction:column;justify-content:center}.libPoseName{font-size:15px;font-weight:600;color:var(--color-success-deep)}.libPoseMeta{font-size:13px;color:var(--color-text-subtle);margin-top:2px}.libPoseFavoriteBtn{border:none;background:var(--color-transparent);padding:4px;margin-right:4px;cursor:pointer}.libPoseFavoriteBtn img{width:20px;height:20px;filter:brightness(0) saturate(100%) invert(85%) sepia(85%) saturate(600%) hue-rotate(0deg) brightness(.9)}.libPoseChevron{font-size:18px;color:var(--color-success);display:flex;align-items:center;justify-content:center;padding-left:0;padding-right:2px;position:relative;top:-1px}.libEmptyState{text-align:center;color:var(--color-text-subtle);margin-top:40px;font-size:14px}.libBuilderHeader{display:flex;align-items:center;width:100%;justify-content:space-between}.libBtnText{background:none;border:none;font-weight:700;font-size:15px;cursor:pointer;padding:4px 8px}.libBtnCancel{color:var(--color-danger)}.libBtnSave{color:var(--color-success)}.libBuilderTitle{font-weight:700;color:var(--color-text-heading);font-size:16px}.libDraftBoard{background:var(--surface-glass-95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:16px;border-radius:0 0 24px 24px;margin-bottom:16px;box-shadow:0 4px 20px var(--overlay-05);position:sticky;top:0;z-index:10;margin-left:-16px;margin-right:-16px;width:calc(100% + 32px)}.libDraftInput{width:100%;border:none;border-bottom:2px solid var(--color-bg-accent-soft);font-size:18px;font-weight:700;color:var(--color-text-heading);padding:8px 16px;margin-bottom:12px;background:var(--color-transparent);outline:none;box-sizing:border-box}.libDraftListContainer{height:120px;min-height:120px;max-height:120px;box-sizing:border-box;display:flex;align-items:stretch;width:100%;flex-shrink:0}.libDraftEmpty{padding:20px;text-align:center;color:var(--color-success);border:2px dashed var(--color-success);border-radius:24px;font-size:13px;margin:0;width:100%;min-height:120px;height:100%;max-height:120px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.libDraftList{display:flex;overflow-x:auto;gap:8px;padding:8px 12px;scrollbar-width:none;overflow-y:visible;width:100%;height:100%;min-height:120px;max-height:120px;box-sizing:border-box;align-items:flex-start}.libDraftList::-webkit-scrollbar{display:none}.libDraftItem{position:relative;flex:0 0 68px;display:flex;flex-direction:column;align-items:center;width:68px}.libDraftItemThumb{width:68px;height:68px;background:var(--color-bg-surface);border-radius:10px;border:1px solid var(--color-bg-accent-soft);display:flex;align-items:center;justify-content:center;overflow:hidden}.libDraftItemThumb img{width:100%;height:100%;object-fit:cover}.libDraftItemName{font-size:9px;margin-top:3px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-muted);max-width:68px;line-height:1.2}.libDraftRemoveBtn{position:absolute;top:-5px;right:-5px;width:18px;height:18px;background:var(--color-danger);color:var(--color-text-inverse);border:2px solid var(--color-bg-surface);border-radius:50%;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px var(--danger-30);line-height:1;padding:0}.libDraftBadge{position:absolute;bottom:16px;left:3px;background:var(--overlay-60);color:var(--color-text-inverse);font-size:8px;padding:1px 3px;border-radius:3px;font-weight:600;line-height:1.2}.libSectionTitle{font-size:13px;text-transform:uppercase;color:var(--color-text-subtle);margin:0 0 10px 4px;font-weight:600;letter-spacing:.5px}.libSavedRoutesSection{margin-top:24px}.libSavedRoutesHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px}.libSavedRoutesHeaderLeft{display:flex;align-items:center;gap:12px;flex:1}.libSavedRoutesHeader .libSectionTitle{margin:0}.libSaveRouteBtn{padding:8px 16px;border-radius:999px;background:var(--color-success);color:var(--color-text-inverse);border:none;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:transform .1s,background .2s}.libSaveRouteBtn:hover{background:var(--color-success-hover)}.libSaveRouteBtn:active{transform:scale(.95)}.libToggleSwitch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.libToggleSwitch input{opacity:0;width:0;height:0}.libToggleSlider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-bg-neutral-toggle);transition:.3s;border-radius:24px}.libToggleSlider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:var(--color-bg-surface);transition:.3s;border-radius:50%}.libToggleSwitch input:checked+.libToggleSlider{background-color:var(--color-success)}.libToggleSwitch input:checked+.libToggleSlider:before{transform:translate(20px)}.libToggleSwitch input:focus-visible+.libToggleSlider{outline:2px solid var(--color-accent-strong);outline-offset:2px}.libSavedRoutesList{display:flex;flex-direction:column;gap:10px}.libSavedRouteCard{padding:14px 16px;border-radius:16px;background:var(--surface-glass-50);border:1px solid var(--success-40);margin-bottom:0}.libSavedRouteContent{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.libSavedRouteMain{flex:1;min-width:0}.libSavedRouteName{margin:0 0 6px;font-size:15px;font-weight:600;color:var(--color-success-deep)}.libSavedRouteLocation{margin:0 0 4px;font-size:13px;color:var(--color-text-muted)}.libSavedRouteNote{margin:0 0 6px;font-size:13px;color:var(--color-text-subtle);line-height:1.4}.libSavedRouteDate{margin:0;font-size:11px;color:var(--color-text-muted-alt);text-transform:uppercase;letter-spacing:.3px}.libSavedRouteDeleteBtn{background:var(--color-transparent);border:none;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .2s,transform .1s;flex-shrink:0}.libSavedRouteDeleteBtn:hover{opacity:1}.libSavedRouteDeleteBtn:active{transform:scale(.9)}.libSavedRoutesCard{border-radius:16px;padding:14px 16px;background:linear-gradient(135deg,var(--color-bg-accent-soft) 0%,var(--color-bg-surface) 100%);border:1px dashed var(--success-20)}.libSavedRoutesTitle{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--color-success-deep)}.libSavedRoutesText{margin:0;font-size:13px;color:var(--color-text-muted);line-height:1.4}.libAddButton{height:36px;padding:0 18px;border-radius:999px;background:var(--color-bg-accent-soft);color:var(--color-accent-strong);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;border:1px solid var(--success-20);cursor:pointer;margin-left:12px;transition:all .2s ease;white-space:nowrap}.libAddButton:active{transform:scale(.95)}.libAddButtonActive{background:var(--color-success);color:var(--color-text-inverse);border-color:var(--color-success)}.libCreateNewCard{background:linear-gradient(135deg,var(--color-bg-accent-soft) 0%,var(--color-bg-surface) 100%);border:2px dashed var(--color-success);border-radius:20px;padding:20px;text-align:center;cursor:pointer;margin-bottom:24px;display:flex;flex-direction:column;align-items:center;gap:8px;transition:transform .2s}.libCreateNewCard:active{transform:scale(.98);background:var(--color-bg-success-pressed)}.libCreateIcon{font-size:24px;color:var(--color-success);font-weight:300}.libCreateTitle{font-weight:700;color:var(--color-text-heading);font-size:15px}.libCreateSub{font-size:12px;color:var(--color-text-muted)}.libBackBtn{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.libBackIcon{width:22px;height:22px}.libDetailContent{padding:0 8px 12px}.libDetailDesc{margin:0;font-size:14px;color:var(--color-text-muted);line-height:1.5}.libStartWalkContainer{margin-top:15px;display:flex;gap:10px}.libStartWalkBtn{flex:1;background:var(--color-success);color:var(--color-text-inverse);border:none;padding:12px;border-radius:999px;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px var(--success-30);transition:transform .1s}.libStartWalkBtn:active{transform:scale(.98)}.libPoseDetailInner{display:flex;flex-direction:column;min-height:0}.libPoseDetailHeader{flex-shrink:0}.libPoseDetailList{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:max(24px,env(safe-area-inset-bottom,24px) + 24px);scrollbar-width:thin;scrollbar-color:var(--success-40) transparent}.libPoseDetailList::-webkit-scrollbar{width:6px}.libPoseDetailList::-webkit-scrollbar-track{background:transparent}.libPoseDetailList::-webkit-scrollbar-thumb{background:var(--success-40);border-radius:999px}.libPoseDetailImgWrapper{display:flex;justify-content:center;margin-bottom:20px}.libPoseDetailImg{max-width:100%;border-radius:16px;max-height:300px;object-fit:contain}.libPoseDetailPlaceholder{font-size:80px}.libCardTitle{color:var(--color-success);margin-top:0;margin-bottom:8px;font-size:16px}.libCardText{color:var(--color-text-muted);line-height:1.5;white-space:pre-line;margin:0}.libCoverSection{margin:0 16px 16px}.libCoverLabel{font-size:12px;text-transform:uppercase;color:var(--color-text-subtle);font-weight:700;margin-bottom:10px;display:block;letter-spacing:.5px}.libCoverUploadContainer{width:100%}.libCoverUploadBox{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;border:2px solid var(--success-25);border-radius:24px;background:linear-gradient(135deg,var(--surface-glass-60) 0%,var(--surface-glass-90) 100%);color:var(--color-success);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center;box-shadow:0 4px 16px var(--success-15);position:relative;overflow:hidden}.libCoverUploadBox:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--success-10),var(--success-05));border-radius:24px;opacity:0;transition:opacity .3s ease;z-index:0;pointer-events:none}.libCoverUploadBox:hover{background:linear-gradient(135deg,var(--surface-glass-80) 0%,var(--color-bg-surface) 100%);border-color:var(--color-success);box-shadow:0 6px 24px var(--success-25);transform:translateY(-2px)}.libCoverUploadBox:hover:after{opacity:1}.libCoverUploadBox:active{transform:translateY(0);box-shadow:0 2px 12px var(--success-20)}.libCoverUploadIcon{font-size:32px;margin-bottom:12px;position:relative;z-index:2;filter:drop-shadow(0 2px 4px var(--success-20))}.libCoverUploadText{font-size:14px;font-weight:600;position:relative;z-index:2;letter-spacing:.3px}.libCoverPreviewWrapper{position:relative;width:100%;height:160px;border-radius:24px;overflow:hidden;border:2px solid var(--color-success);box-shadow:0 6px 20px var(--success-25);background:var(--color-bg-accent-softer)}.libCoverPreviewImg{width:100%;height:100%;object-fit:cover}.libCoverChangeBtn{position:absolute;bottom:12px;right:12px;background:var(--surface-glass-95);color:var(--color-success);padding:8px 16px;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .2s ease;border:1px solid var(--success-30);box-shadow:0 2px 8px var(--overlay-15)}.libCoverChangeBtn:hover{background:var(--color-bg-surface);transform:translateY(-1px);box-shadow:0 4px 12px var(--overlay-20)}.libCoverChangeBtn:active{transform:translateY(0)}.libDraftItemTimeBtn{margin-top:2px;background:var(--color-bg-accent-softer);border:1px solid var(--color-border-subtle);border-radius:6px;padding:1px 4px;font-size:9px;font-weight:700;color:var(--color-text-muted);cursor:pointer;width:100%;text-align:center;transition:background .2s;line-height:1.3}.libDraftItemTimeBtn:hover{background:var(--color-bg-accent-soft);color:var(--color-text-heading);border-color:var(--color-success)}.libDraftItemTimeBtn:active{transform:scale(.95)}.libSwipeContainer{position:relative;margin-bottom:12px;border-radius:16px;overflow:hidden}.libSwipeTrashLayer{position:absolute;top:0;bottom:0;right:0;width:100%;background-color:var(--color-danger);border-radius:16px;display:flex;align-items:center;justify-content:flex-end;padding-right:24px;box-sizing:border-box;z-index:0}.libSwipeTrashBtn{background:none;border:none;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-inverse);transition:transform .2s}.libSwipeTrashBtn:active{transform:scale(.9)}.libSwipeContainer{position:relative;margin-bottom:12px}.libSwipePillLayer{position:absolute;top:0;bottom:0;right:0;width:80px;display:flex;align-items:center;justify-content:flex-end;z-index:0}.libSwipeNarrowPillBtn{background-color:var(--color-bg-surface);border:1px solid var(--color-danger);color:var(--color-danger);width:76px;height:100%;border-radius:24px;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px var(--overlay-15);flex-shrink:0;box-sizing:border-box;transition:all .2s ease}.libSwipeNarrowPillBtn:active{background-color:var(--color-bg-swipe-danger-pressed);transform:scale(.95)}.libSwipeNarrowPillBtn img{display:block;pointer-events:none}.libPoseCard{background:var(--color-bg-surface)}.libModalOverlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-40);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;padding-bottom:calc(24px + var(--app-nav-height, 76px))}.libModalCard{background:var(--surface-glass-95);padding:24px;border-radius:24px;width:100%;max-width:320px;text-align:center;box-shadow:0 10px 40px var(--overlay-10);border:1px solid var(--surface-glass-50)}.libModalTitle{font-size:20px;font-weight:700;color:var(--color-text-heading);margin:0 0 12px}.libModalText{font-size:15px;color:var(--color-text-heading);margin:0 0 4px}.libModalWarning{display:block;font-size:13px;color:var(--color-danger);font-weight:500;margin-bottom:24px}.libModalActions{display:flex;gap:12px}.libModalBtn{flex:1;padding:12px;border-radius:99px;font-size:15px;font-weight:600;cursor:pointer;transition:transform .1s,background-color .2s;background:var(--color-bg-surface)}.libModalBtn:active{transform:scale(.96)}.libModalBtn.cancel{background-color:var(--color-bg-success-soft);border:1px solid var(--color-success);color:var(--color-text-heading)}.libModalBtn.delete{background-color:var(--color-bg-danger-soft);border:1px solid var(--color-danger);color:var(--color-danger)}.libModalBtn.save{background-color:var(--color-bg-accent-soft);border:1px solid var(--color-success);color:var(--color-accent-strong)}.libModalBtn.save:hover{background-color:var(--color-bg-success-soft-hover)}.libModalFormGroup{margin-bottom:16px}.libModalLabel{display:block;font-size:13px;font-weight:600;color:var(--color-success-deep);margin-bottom:6px}.libModalRequired{color:var(--color-danger)}.libModalInput,.libModalTextarea{width:100%;padding:10px 12px;border:1px solid var(--success-30);border-radius:8px;font-size:14px;font-family:inherit;color:var(--color-success-deep);background:var(--color-bg-surface);box-sizing:border-box;transition:border-color .2s}.libModalInput:focus,.libModalTextarea:focus{outline:none;border-color:var(--color-success)}.libModalTextarea{resize:vertical;min-height:60px}.libModalHelperText{margin:0 0 16px;font-size:12px;color:var(--color-text-subtle);line-height:1.4}.libList{flex:1 1 auto;min-height:0;overflow-y:auto;padding-bottom:20px;-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:hidden;width:100%}.libList::-webkit-scrollbar{display:none}.libAddBtn{width:32px;height:32px;border-radius:50%;background:var(--color-bg-accent-softest);color:var(--color-accent-strong);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;border:none;cursor:pointer;margin-left:8px;transition:all .2s ease}.libAddBtn:active{transform:scale(.9)}.libAddBtnActive{background:var(--color-success);color:var(--color-text-inverse)}.libPoseCardSelected{background:var(--surface-glass-60);border-color:var(--color-success)}.libBuilderPoseCardWrapper{margin-bottom:14px}.libBuilderPoseCard{background:var(--color-bg-surface);border:1px solid var(--success-15);box-shadow:0 4px 16px var(--overlay-08);border-radius:20px;transition:all .3s cubic-bezier(.4,0,.2,1)}.libBuilderPoseCard:hover{box-shadow:0 6px 24px var(--success-15);transform:translateY(-2px);border-color:var(--success-30)}.libBuilderPoseThumb{border-radius:50%!important;background:linear-gradient(135deg,var(--color-bg-accent-soft) 0%,var(--color-bg-accent-softer) 100%)!important;border:2px solid var(--success-20)!important;box-shadow:0 2px 8px var(--success-15)!important;overflow:hidden}.libBuilderPoseThumb img{border-radius:50%}.libBuilderAddButton{background:linear-gradient(135deg,var(--color-bg-accent-soft) 0%,var(--color-bg-success-soft-hover) 100%)!important;color:var(--color-accent-strong)!important;border:1px solid var(--success-30)!important;box-shadow:0 2px 8px var(--success-20)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.libBuilderAddButton:hover{background:linear-gradient(135deg,var(--color-bg-success-soft-hover) 0%,var(--color-bg-success-softest) 100%)!important;box-shadow:0 4px 12px var(--success-30)!important;transform:translateY(-1px)}.libBuilderAddButton:active{transform:translateY(0) scale(.98);box-shadow:0 2px 6px var(--success-25)!important}.libBuilderAddButton.libAddButtonActive{background:linear-gradient(135deg,var(--color-success) 0%,var(--color-success-hover) 100%)!important;color:var(--color-text-inverse)!important;border-color:var(--color-success)!important;box-shadow:0 4px 16px var(--success-40)!important}.libRoutineSheetContainer{position:fixed;left:0;right:0;bottom:0;z-index:1000;pointer-events:none;display:flex;flex-direction:column;justify-content:flex-end}.libRoutineSheet{background:var(--color-bg-surface);border-radius:24px 24px 0 0;width:100%;height:calc(100vh - 24px);max-height:calc(100vh - 24px);box-shadow:0 -4px 20px var(--overlay-15);display:flex;flex-direction:column;pointer-events:auto;overflow:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1);position:relative}.libRoutineSheetCollapsed{transform:translateY(calc(100% - 60px));height:calc(100vh - 24px)!important;max-height:calc(100vh - 24px)!important}.libRoutineSheetOpen{transform:translateY(0);height:calc(100vh - 24px)!important;max-height:calc(100vh - 24px)!important}.libRoutineSheetHandle{width:100%;padding:6px 0 2px;display:flex;justify-content:center;align-items:center;flex-shrink:0;flex-grow:0;height:24px;min-height:24px;max-height:24px;touch-action:none;user-select:none;-webkit-user-select:none;cursor:pointer;position:relative;transition:background-color .2s ease;box-sizing:border-box}.libRoutineSheetHandle:hover{background-color:var(--overlay-02)}.libRoutineSheetHandle:active{cursor:grabbing;background-color:var(--overlay-05)}.libRoutineSheetHandleBar{width:40px;height:4px;background-color:var(--color-border-handle);border-radius:10px;transition:background-color .2s ease;pointer-events:none}.libRoutineSheetHandle:hover .libRoutineSheetHandleBar{background-color:var(--color-grey-soft-200)}.libRoutineSheetHeader{display:flex;align-items:center;justify-content:space-between;width:100%;padding:4px 20px 12px;border-bottom:1px solid var(--overlay-08);flex-shrink:0;flex-grow:0;height:48px;min-height:48px;max-height:48px;box-sizing:border-box}.libRoutineSheetBody{flex:1 1 auto;overflow:hidden;overflow-x:hidden;padding:16px 16px 0;min-height:0;max-height:100%;height:0;box-sizing:border-box;display:flex;flex-direction:column}.libPoseListScrollContainer{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 16px 24px;min-height:0;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--overlay-20) var(--color-transparent);box-sizing:border-box}.libPoseListScrollContainer::-webkit-scrollbar{width:4px}.libPoseListScrollContainer::-webkit-scrollbar-track{background:var(--color-transparent)}.libPoseListScrollContainer::-webkit-scrollbar-thumb{background:var(--overlay-20);border-radius:2px}.libPoseListScrollContainer::-webkit-scrollbar-thumb:hover{background:var(--overlay-24)}.libRoutineSheetBody .libDraftBoard{padding:16px!important;background:transparent!important;position:relative!important;top:auto!important;z-index:auto!important;border-radius:0!important;box-shadow:none!important;width:100%!important;margin:0 0 8px!important;box-sizing:border-box;flex-shrink:0;overflow:visible!important}.libRoutineSheetBody .libCoverSection{margin:0 0 12px!important;flex-shrink:0}.libRoutineSheetBody .libDraftInput{margin-bottom:12px!important}.libTapToAddRow{display:flex;align-items:center;justify-content:space-between;margin-top:0;margin-bottom:12px;padding:0 4px;gap:12px;flex-shrink:0;flex-grow:0;height:44px;min-height:44px;max-height:44px;box-sizing:border-box}.libRoutinePoseListContainer{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;min-height:0;height:0;padding-bottom:16px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--overlay-20) var(--color-transparent);box-sizing:border-box}.libRoutinePoseListContainer::-webkit-scrollbar{width:4px}.libRoutinePoseListContainer::-webkit-scrollbar-track{background:var(--color-transparent)}.libRoutinePoseListContainer::-webkit-scrollbar-thumb{background:var(--overlay-20);border-radius:2px}.libRoutinePoseListContainer::-webkit-scrollbar-thumb:hover{background:var(--overlay-24)}.libTapToAddLabel{font-size:13px;text-transform:uppercase;color:var(--color-text-subtle);font-weight:700;letter-spacing:.5px;flex-shrink:0}.libTapToAddRow .libSearchPill{flex-shrink:1;margin:0;height:44px;min-height:44px;max-height:44px}.settingsPage{position:relative;padding:max(20px,calc(20px + env(safe-area-inset-top))) 16px 0;height:100%;max-height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:24px}.settingsHeader{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.settingsTitle{font-size:22px;font-weight:700;color:var(--color-success-dark);margin:0}.settingsBackBtn{position:absolute;left:0;top:0;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;cursor:pointer}.settingsBackIcon{width:20px;height:20px;transition:transform .2s ease,opacity .2s ease}.settingsBackBtn:hover .settingsBackIcon{transform:translate(-3px)}.settingsInner{display:flex;flex-direction:column;gap:18px}.settingsSectionTitle{margin:0 0 6px 4px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-success-alt)}.settingsList{background:var(--surface-glass-90);border-radius:18px;padding:4px 0;box-shadow:0 8px 18px var(--overlay-05)}.settingsItem{width:100%;border:none;background:var(--color-transparent);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;box-sizing:border-box;cursor:pointer}.settingsItem+.settingsItem{border-top:1px solid var(--color-border-default)}.settingsItemText{display:flex;flex-direction:column;align-items:flex-start}.settingsItemLabel{font-size:14px;color:var(--color-text-heading);font-weight:500}.settingsItemSub{font-size:12px;color:var(--color-text-muted-2)}.settingsItemChevron{font-size:20px;color:var(--color-text-success-soft)}.settingsItemDanger .settingsItemLabel{color:var(--color-danger)}.settingsItemStatic{cursor:default}.settingsToggle{display:inline-flex;align-items:center;cursor:pointer}.settingsToggle input{display:none}.settingsToggleTrack{width:42px;height:24px;border-radius:999px;background:var(--color-border-subtle);padding:3px;box-sizing:border-box;display:flex;align-items:center;transition:background .2s ease}.settingsToggleThumb{width:18px;height:18px;border-radius:50%;background:var(--color-bg-surface);box-shadow:0 1px 3px var(--overlay-20);transition:transform .2s ease}.settingsToggle input:checked+.settingsToggleTrack{background:var(--color-accent-primary)}.settingsToggle input:checked+.settingsToggleTrack .settingsToggleThumb{transform:translate(18px)}.settingsModalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-35);display:flex;align-items:center;justify-content:center;padding:18px;z-index:9999}.settingsModal{width:min(420px,100%);background:var(--surface-glass-98);border-radius:18px;box-shadow:0 18px 40px var(--overlay-18);padding:16px 16px 14px;border:1px solid var(--surface-glass-90);animation:settingsModalPop .14s ease-out}.settingsModalTitle{margin:0 0 6px;color:var(--color-text-heading);font-size:16px;font-weight:700}.settingsModalBody{margin:0 0 12px;color:var(--color-text-muted-2);font-size:13px;line-height:1.35}.settingsModalActions{display:flex;justify-content:flex-end;gap:10px}.settingsModalBtn{border:1px solid var(--color-border-default);background:var(--color-bg-surface);color:var(--color-text-heading);border-radius:12px;padding:10px 12px;font-size:13px;font-weight:600;cursor:pointer}.settingsModalBtn:hover{background:var(--color-bg-soft)}.settingsModalBtnDanger{border-color:var(--danger-25);background:var(--danger-08);color:var(--color-danger)}.settingsModalBtnDanger:hover{background:var(--danger-14)}@keyframes settingsModalPop{0%{transform:translateY(6px) scale(.985);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.editProfileModal{max-width:480px}.editProfileForm{display:flex;flex-direction:column;gap:18px;margin-top:8px}.editProfileField{display:flex;flex-direction:column;gap:8px}.editProfileFieldHeader{display:flex;align-items:center;justify-content:space-between;gap:8px}.editProfileLabel{font-size:13px;font-weight:600;color:var(--color-text-heading)}.editProfileRequired{color:var(--color-danger)}.editProfileFieldValue{padding:10px 12px;min-height:40px;border:1px solid var(--color-border-default);border-radius:12px;background:var(--color-bg-subtle);color:var(--color-text-heading);font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative}.editProfileFieldValueEditable{padding-right:40px}.editProfileFieldValueText{flex:1;min-width:0}.editProfileFieldValueReadonly{color:var(--color-text-muted-2);background:var(--color-bg-subtle)}.editProfileEditBtn{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;cursor:pointer;transition:opacity .2s ease;flex-shrink:0}.editProfileEditBtn:hover{opacity:.7}.editProfileEditBtn:disabled{opacity:.5;cursor:not-allowed}.editProfileEditIcon{width:16px;height:16px}.editProfileLabelReadonly{color:var(--color-text-muted-2)}.editProfilePlaceholder{color:var(--color-text-muted-2);font-style:italic}.editProfileFieldEdit{display:flex;flex-direction:column;gap:8px}.editProfileInput{width:100%;padding:10px 12px;border:1px solid var(--color-border-default);border-radius:12px;background:var(--color-bg-surface);color:var(--color-text-heading);font-size:14px;font-family:inherit;box-sizing:border-box;transition:border-color .2s ease,background .2s ease}.editProfileInput:focus{outline:none;border-color:var(--color-accent-primary);background:var(--color-bg-soft)}.editProfileInput:disabled{background:var(--color-bg-subtle);color:var(--color-text-muted-2);cursor:not-allowed}.editProfileFieldActions{display:flex;gap:8px;justify-content:flex-end}.editProfileFieldBtn{padding:6px 12px;border:1px solid var(--color-border-default);border-radius:8px;background:var(--color-bg-surface);color:var(--color-text-heading);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.editProfileFieldBtn:hover{background:var(--color-bg-soft)}.editProfileFieldBtn:disabled{opacity:.6;cursor:not-allowed}.editProfileFieldBtnSave{background:var(--color-accent-primary);color:var(--color-bg-surface);border-color:var(--color-accent-primary)}.editProfileFieldBtnSave:hover{background:var(--color-success-dark);border-color:var(--color-success-dark)}.editProfileHelperText{font-size:11px;color:var(--color-text-muted-2);margin:0;line-height:1.3;padding-left:2px}.editProfileError{padding:10px 12px;background:var(--danger-08);border:1px solid var(--danger-25);border-radius:12px;color:var(--color-danger);font-size:13px;margin-bottom:4px}.editProfileSaveBtn{background:var(--color-accent-primary);color:var(--color-bg-surface);border-color:var(--color-accent-primary)}.editProfileSaveBtn:hover{background:var(--color-success-dark);border-color:var(--color-success-dark)}.editProfileSaveBtn:disabled{opacity:.6;cursor:not-allowed}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
