:root{--background-body-color:#f2f0eb;--background-dark-body-color:#151516;--background-card-color:#fffdfa;--background-card-dark-color:#1c1c1e;--background-card-border-color:#fffdfa;--background-card-border-dark-color:rgba(255,255,255,0.03);--text-content-color:#222;--text-content-dark-color:#98989d;--text-highlight-color:#994d61;--text-highlight-dark-color:#c3aacc;--text-info-color:#adaba6;--text-info-dark-color:#5c5c62;--exercise-text-highlight-color:#32d74b}.dark{--background-body-color:var(--background-body-color)}.materialCard{position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease;box-shadow:0 1px 0 rgba(0,0,0,.03),0 12px 30px rgba(0,0,0,.04);background:var(--background-card-color)}.dark .materialCard{background:var(--background-card-dark-color)}.materialCard:before{content:"";position:absolute;inset:0;border-radius:inherit;display:none}.materialCard>*{position:relative;z-index:1}.materialCard:hover{transform:translateY(-1px);box-shadow:0 1px 0 rgba(0,0,0,.05),0 18px 45px rgba(0,0,0,.06)}#map-wrapper{position:relative}#map-wrapper:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;display:none}.dark #map-wrapper:before{display:none}#map-wrapper>*{position:relative;z-index:1}.cardList{width:100%;display:grid;grid-template-columns:1fr;gap:10px}@media (min-width:768px){.cardList{grid-template-columns:repeat(2,1fr)}}.filter-pill{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;user-select:none}.filter-pill:disabled{cursor:not-allowed;opacity:.5}.runCard{background:var(--background-card-color);border-radius:16px;padding:14px 16px;border:1px solid var(--background-card-border-color);display:flex;align-items:center;position:relative;transition:all .2s ease}.dark .runCard{background:var(--background-card-dark-color);border:1px solid var(--background-card-border-dark-color)}.runCard:hover{background:#fff;border-color:#fff}.dark .runCard:hover{background:#232326;border-color:rgba(255,255,255,.08)}.calIconRing,.iconRing{border-radius:50%;display:flex;align-items:center;justify-content:center}.iconRing{width:38px;height:38px;margin-right:14px;background-color:#f0f0f0}.dark .iconRing{background-color:#282829}.iconRing svg{width:20px;height:20px}.calIconRing{width:25px;height:25px;background:transparent!important;border:none!important;box-shadow:none!important}.calIconRing svg{width:18px;height:18px}.goldRing{background:rgba(247,183,29,.18);color:#c89b2a!important;border:1px solid rgba(150,110,20,.12)}.dark .goldRing{background:rgba(255,212,71,.12);color:#ffd447!important;border:1px solid rgba(255,212,71,.2)}.silverRing{background:rgba(148,163,184,.18);color:#506480!important;border:1px solid rgba(71,85,105,.12)}.dark .silverRing{background:rgba(255,255,255,.12);color:#e2e8f0!important;border:1px solid rgba(255,255,255,.2)}.multiDot{position:absolute;top:4px;right:4px;width:4px;height:4px;background:var(--text-info-color);border-radius:50%;opacity:.5}.dark .multiDot{background:var(--text-info-dark-color)}.dateNum{position:relative;z-index:1}.cardContent{flex:1;display:flex;justify-content:space-between;align-items:center}.runName{color:var(--text-info-color);font-size:.85rem;margin-bottom:2px}.dark .runName{color:var(--text-info-dark-color)}.runDistance{font-size:1.4rem;font-weight:800;font-style:italic}.runDistance .distUnit{font-size:.75rem;margin-left:3px;font-style:normal;font-weight:400;color:var(--text-info-color)}.dark .runDistance .distUnit{color:var(--text-info-dark-color)}.runDate{color:var(--text-info-color);font-size:.85rem}.dark .runDate{color:var(--text-info-dark-color)}.runTooltip{position:absolute;bottom:calc(100% + 10px);background:#ffffff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid #eeebe6;border-radius:12px;padding:12px 16px;z-index:100;opacity:0;visibility:hidden;white-space:nowrap;cursor:default}.dark .runTooltip{background:rgba(28,28,30,.95);border:1px solid rgba(255,255,255,.08)}.runCard .runTooltip{left:50%;right:auto;transform:translateX(-50%)}.runCard:hover .runTooltip{opacity:1;visibility:visible}.runCard:focus .runTooltip,.runCard:focus-visible .runTooltip{opacity:1;visibility:visible}.ttList{display:flex;flex-direction:column;gap:6px}.ttItem{justify-content:space-between;gap:32px}.ttItem,.ttNameWrap{display:flex;align-items:center}.ttNameWrap{gap:6px}.ttName{color:var(--text-info-color);font-size:.8rem}.dark .ttName{color:var(--text-info-dark-color)}.ttNum{color:var(--text-content-color);font-size:.85rem;text-align:right}.dark .ttNum{color:var(--text-content-dark-color)}.ttUnitTag{padding:2px 6px;background:#f0eee9;border-radius:4px;color:var(--text-info-color);font-size:.65rem}.dark .ttUnitTag{background:rgba(255,255,255,.04);color:var(--text-info-dark-color)}.ttAchievement{padding-top:10px;border-top:1px solid #f6f3ed;display:flex;flex-direction:column;gap:8px;margin-top:8px}.dark .ttAchievement{border-top:1px solid rgba(255,255,255,.08)}.ttAchieveRow{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--text-content-color)}.dark .ttAchieveRow{color:var(--text-content-dark-color)}.titleTag{padding:2px 6px;background:#f0eee9;border-radius:4px;font-size:.65rem;color:var(--text-info-color)}.dark .titleTag{background:rgba(255,255,255,.04);color:var(--text-info-dark-color)}.globalSection{background:var(--background-card-color);border-radius:16px;border:1px solid var(--background-card-border-color);position:relative;isolation:isolate;overflow:hidden;z-index:1;display:flex;flex-direction:column;align-items:center;padding:16px;box-shadow:0 1px 0 rgba(0,0,0,.025),0 16px 38px rgba(0,0,0,.035);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.globalSection:before{display:none}.globalSection:hover{transform:translateY(-1px);border-color:rgba(45,212,191,.25);box-shadow:0 1px 0 rgba(0,0,0,.03),0 20px 55px rgba(0,0,0,.06)}.dark .globalSection{background:var(--background-card-dark-color);border:1px solid var(--background-card-border-dark-color)}.globalTitle{font-size:.75rem;color:var(--text-info-color);letter-spacing:2px;margin-bottom:8px;z-index:2}.dark .globalTitle{color:var(--text-info-dark-color)}.globalMainStat{display:flex;align-items:baseline;gap:4px;margin-bottom:10px;z-index:2}.globalMainStat .val{font-size:3rem;font-weight:800;font-style:italic;color:var(--exercise-text-highlight-color);line-height:1}.globalMainStat .unit{font-size:.85rem;color:var(--text-info-color)}.dark .globalMainStat .unit{color:var(--text-info-dark-color)}.metricsRow{display:flex;justify-content:space-between;width:100%;z-index:2}.metricBlock{display:flex;flex-direction:column;align-items:center;gap:2px}.metricBlock .metricLabel{font-size:.65rem;color:var(--text-info-color)}.dark .metricBlock .metricLabel{color:var(--text-info-dark-color)}.metricBlock .metricValue{font-size:1rem;color:var(--text-content-color)}.dark .metricBlock .metricValue{color:var(--text-content-dark-color)}.metricBlock .metricValue small{font-size:.65rem;color:var(--text-info-color);margin-left:3px}.dark .metricBlock .metricValue small{color:var(--text-info-dark-color)}.sparkline{position:absolute;top:12px;left:0;width:100%;height:85px;z-index:0;pointer-events:none}.sparklineFill{transform-origin:bottom;opacity:.7}.sparklineLine{stroke:var(--exercise-text-highlight-color);stroke-width:.8;stroke-linecap:round;stroke-linejoin:round;opacity:.1}.calendarSection{background:var(--background-card-color);border-radius:16px;border:1px solid var(--background-card-border-color);padding:16px;position:relative;overflow:visible;isolation:isolate;display:flex;flex-direction:column;flex:1;min-height:0;box-shadow:0 1px 0 rgba(0,0,0,.025),0 16px 38px rgba(0,0,0,.035);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.calendarSection:before{display:none}.calendarSection:hover{transform:translateY(-1px);border-color:rgba(45,212,191,.25);box-shadow:0 1px 0 rgba(0,0,0,.03),0 20px 55px rgba(0,0,0,.06)}.dark .calendarSection{background:var(--background-card-dark-color);border:1px solid var(--background-card-border-dark-color)}.calendarHeader{margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:12px}.calendarTitle{font-size:.75rem;font-weight:700;color:var(--text-info-color);letter-spacing:1.5px}.dark .calendarTitle{color:var(--text-info-dark-color)}.calendarMonthNav{display:flex;align-items:center;gap:8px}.calendarMonthLabel{font-size:.75rem;color:var(--text-info-color)}.dark .calendarMonthLabel{color:var(--text-info-dark-color)}.monthNavBtn{width:28px;height:28px;border-radius:10px;border:1px solid rgba(0,0,0,.07);background:rgba(255,255,255,.38);color:var(--text-content-color);display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.dark .monthNavBtn{border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.18);color:var(--text-content-dark-color)}.monthNavBtn:hover:not(:disabled){transform:translateY(-1px);background:rgba(255,255,255,.6)}.dark .monthNavBtn:hover:not(:disabled){background:rgba(0,0,0,.35)}.monthNavBtn:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(45,212,191,.35)}.monthNavBtn:disabled{opacity:.45;cursor:not-allowed;transform:none}.calendarDowGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendarDowLabel{text-align:center;font-size:11px;color:#7a7a7a}.dark .calendarDowLabel{color:#a7a7ad}.heatmapHeatGrid{margin-top:8px;display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.heatmapCell{position:relative;flex:1;display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:6px;border:1px solid rgba(0,0,0,.06);transition:transform .14s ease,filter .14s ease,box-shadow .14s ease}.dark .heatmapCell{border:1px solid rgba(255,255,255,.14)}.heatmapCell:disabled{opacity:.22;cursor:default}.heatmapCell:not(:disabled):hover{transform:translateY(-1px);filter:saturate(1.04)}.heatmapCell.selected{background:rgba(45,212,191,.08);box-shadow:0 0 0 2px rgba(45,212,191,.35),0 10px 25px rgba(0,0,0,.06);border-color:rgba(45,212,191,.55)}.dark .heatmapCell.selected{background:rgba(45,212,191,.13)}.calHeatmapTooltip{left:50%;right:auto;transform:translateX(-50%) translateY(6px);width:240px;z-index:50}.heatmapCell:not(:disabled):focus-visible .calHeatmapTooltip,.heatmapCell:not(:disabled):hover .calHeatmapTooltip{transform:translateX(-50%) translateY(0)}.runTooltip{transition:opacity .15s ease,visibility .15s ease}.monthlyInsights{display:flex;gap:12px;width:100%;flex-shrink:0}@media (min-width:768px){.monthlyInsights{flex-shrink:0}}.boardContainer{display:flex;flex-direction:column;gap:12px;height:auto;min-height:0}.insightCard{flex:1;padding:16px;background:var(--background-card-color);border-radius:16px;border:1px solid var(--background-card-border-color);position:relative;isolation:isolate;overflow:visible;box-shadow:0 1px 0 rgba(0,0,0,.025),0 14px 35px rgba(0,0,0,.03);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.insightHeader{font-size:.75rem;color:var(--text-info-color);margin-bottom:10px}.dark .insightHeader{color:var(--text-info-dark-color)}.dark .insightCard{background:var(--background-card-dark-color);border:1px solid var(--background-card-border-dark-color)}.insightCard:before{display:none}.insightCard:hover{transform:translateY(-1px);border-color:rgba(45,212,191,.25);box-shadow:0 1px 0 rgba(0,0,0,.03),0 18px 55px rgba(0,0,0,.06)}.punchCard{display:flex;gap:4px;height:15px}.barWrapper{flex:1;position:relative;cursor:pointer}.punchHole{width:100%;height:100%;border-radius:2px;transition:all .2s ease;background-color:color-mix(in srgb,var(--text-info-color),transparent 80%)}.dark .punchHole{background-color:color-mix(in srgb,var(--text-info-dark-color),transparent 80%)}.barWrapper:hover .punchHole{filter:brightness(1.2)}.zoneChart{display:flex;gap:10px;height:15px;align-items:flex-end}.zoneCol{flex:1;display:flex;flex-direction:column;justify-content:flex-end;position:relative;height:100%}.zoneBar{width:100%;border-radius:2px;min-height:2px;background-color:color-mix(in srgb,var(--text-info-color),transparent 80%)}.dark .zoneBar{background-color:color-mix(in srgb,var(--text-info-dark-color),transparent 80%)}.insightLabels{display:flex;justify-content:space-between;margin-top:4px}.insightLabels span{font-size:.55rem;color:var(--text-info-color);opacity:.6}.dark .insightLabels span{color:var(--text-info-dark-color)}.timeLabels{justify-content:space-between}.timeLabels span:first-child{text-align:left}.timeLabels span:nth-child(2){text-align:center;flex:1}.timeLabels span:last-child{text-align:right}.zoneLabels{gap:10px}.zoneLabels span{flex:1;text-align:center;min-width:0}.monthlyInsights .barWrapper .runTooltip,.monthlyInsights .zoneCol .runTooltip{left:50%;right:auto;transform:translateX(-50%);transition:opacity .15s ease,visibility .15s ease,transform .15s ease}.monthlyInsights .barWrapper:hover .runTooltip,.monthlyInsights .zoneCol:hover .runTooltip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.monthlyInsights .barWrapper:first-child .runTooltip,.monthlyInsights .zoneCol:first-child .runTooltip{transform:translateX(-15%) translateY(0)!important}.monthlyInsights .barWrapper:last-child .runTooltip,.monthlyInsights .zoneCol:last-child .runTooltip{transform:translateX(-85%) translateY(0)!important}.monthlyInsights .punchCard .runTooltip .ttItem,.monthlyInsights .zoneChart .runTooltip .ttItem{justify-content:center;gap:12px}.monthlyInsights .punchCard .runTooltip .ttNum,.monthlyInsights .zoneChart .runTooltip .ttNum{text-align:left}.monthlyInsights .punchCard .runTooltip .ttName,.monthlyInsights .zoneChart .runTooltip .ttName{font-size:.75rem;color:var(--text-info-color)!important}.dark .monthlyInsights .punchCard .runTooltip .ttName,.dark .monthlyInsights .zoneChart .runTooltip .ttName{color:var(--text-info-dark-color)!important}.runDetailCard{display:none}@media (min-width:768px){.runDetailCard{display:flex;position:absolute;bottom:10px;left:0;right:0;margin:0 auto;width:max-content;background:var(--background-card-color);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:12px;padding:12px;flex-direction:column;gap:12px;z-index:10;animation:slideUpFade .4s forwards}.dark .runDetailCard{background:var(--background-card-dark-color)}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.runDetailCard .detailName{font-size:.75rem;color:var(--text-info-color);display:flex;justify-content:space-between;gap:20px}.dark .runDetailCard .detailName{color:var(--text-info-dark-color)}.runDetailCard .detailDate{color:var(--text-info-color)}.dark .runDetailCard .detailDate{color:var(--text-info-dark-color)}.runDetailCard .detailStatsRow{display:flex;gap:24px}.runDetailCard .detailStatBlock{display:flex;flex-direction:column;gap:2px}.runDetailCard .statLabel{color:var(--text-info-color);font-size:.65rem}.dark .runDetailCard .statLabel{color:var(--text-info-dark-color)}.runDetailCard .statVal{font-size:.85rem;color:var(--text-content-color)}.dark .runDetailCard .statVal{color:var(--text-content-dark-color)}.runDetailCard .statVal small{font-size:.65rem;color:var(--text-info-color);margin-left:2px}.dark .runDetailCard .statVal small{color:var(--text-info-dark-color)}