@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/raleway-regular.eot');src:local(''),url('/fonts/raleway-regular.eot?#iefix') format('embedded-opentype'),url('/fonts/raleway-regular.woff2') format('woff2'),url('/fonts/raleway-regular.woff') format('woff'),url('/fonts/raleway-regular.ttf') format('truetype'),url('/fonts/raleway-regular.svg#Raleway') format('svg')}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/nunito-regular.eot');src:local(''),url('/fonts/nunito-regular.eot?#iefix') format('embedded-opentype'),url('/fonts/nunito-regular.woff2') format('woff2'),url('/fonts/nunito-regular.woff') format('woff'),url('/fonts/nunito-regular.ttf') format('truetype'),url('/fonts/nunito-regular.svg#Nunito') format('svg')}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/nunito-700.eot');src:local(''),url('/fonts/nunito-700.eot?#iefix') format('embedded-opentype'),url('/fonts/nunito-700.woff2') format('woff2'),url('/fonts/nunito-700.woff') format('woff'),url('/fonts/nunito-700.ttf') format('truetype'),url('/fonts/nunito-700.svg#Nunito') format('svg')}*,::after,::before{box-sizing:border-box}body,html{height:100%;width:100%;margin:0;padding:0;font-size:100%;font-family:Raleway,Calibri,Helvetica,Arial,sans-serif;color:#222}html{background-color:#f8f9fa}body{background:#f8f9fa}body.dark-mode{color:#e0e0e0;background:#0f1117}html.has-dark-mode{background-color:#0f1117}h1,h2,h3,h4,h5,h6{font-family:Nunito,Calibri,Helvetica,Arial,sans-serif;margin-top:0;margin-bottom:.75rem;font-weight:500;line-height:1.2}h1{font-size:2.2rem}h2{font-size:1.6rem}h3{font-size:1.2rem}p{margin-top:0;margin-bottom:1rem}a{text-decoration:none;color:#1c4ec5}a:focus,a:hover{text-decoration:underline;color:#1e3773}body.dark-mode a{color:#6ba4ff}body.dark-mode a:focus,body.dark-mode a:hover{color:#90c0ff}.container{max-width:1200px;width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.topbar{position:sticky;top:0;z-index:100;width:100%;background:#fff;border-bottom:1px solid #e8e8e8;box-shadow:0 1px 3px rgba(0,0,0,.06)}body.dark-mode .topbar{background:#161822;border-bottom-color:#2a2a3a}.topbar-inner{display:flex;flex-flow:row wrap;justify-content:space-between;align-items:center;padding-top:.75rem;padding-bottom:.75rem}.brand h1{font-size:1.4rem;margin-bottom:0}.brand h1 a{color:inherit;text-decoration:none}.legacy-link{text-decoration:none;color:inherit;cursor:pointer;opacity:.6}.controls-bar{display:flex;align-items:center;gap:.5rem}.control-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;border:1px solid #ccc;border-radius:6px;background:#f5f5f5;color:#555;cursor:pointer;user-select:none;font-family:Nunito,Calibri,Helvetica,Arial,sans-serif;font-size:.85rem;font-weight:500;height:34px;transition:all 150ms ease;line-height:1}.control-btn:hover{background:#e8e8e8;color:#222}.unit-toggle .km-label,.unit-toggle .mi-label{transition:color 150ms ease;font-size:.95rem}.unit-toggle .km-label.active{color:#1e3773;font-weight:700}.unit-toggle .mi-label.active{color:#1e3773;font-weight:700}.unit-toggle .unit-sep{padding:0 3px;color:#aaa;font-weight:300;pointer-events:none}.theme-toggle svg{display:none;width:16px;height:16px}.theme-toggle svg.sun{display:block}.theme-toggle svg.moon{display:none}body.dark-mode .theme-toggle svg.sun{display:none}body.dark-mode .theme-toggle svg.moon{display:block}body.dark-mode .control-btn{border-color:#444;background:#2a2a2a;color:#ccc}body.dark-mode .control-btn:hover{background:#333;color:#fff}body.dark-mode .unit-toggle .unit-sep{color:#777}body.dark-mode .unit-toggle .km-label.active,body.dark-mode .unit-toggle .mi-label.active{color:#fff}main{margin-top:1.5rem;margin-bottom:2rem}.summary-bar{display:flex;gap:1rem;margin-bottom:1.25rem;padding:1rem 1.25rem;background:#fff;border-radius:10px;border:1px solid #e8e8e8;transition:opacity .3s ease,filter .3s ease}.summary-bar.state-loading{filter:blur(2px);opacity:.5;pointer-events:none}.summary-bar.state-error{opacity:.4;pointer-events:none}body.dark-mode .summary-bar{background:#161822;border-color:#2a2a3a}.summary-stat{flex:1;text-align:center;display:flex;flex-direction:column;gap:.15rem}.summary-number{font-family:Nunito,sans-serif;font-size:1.8rem;font-weight:700;color:#1e3773;min-width:3ch;text-align:center;display:inline-block}body.dark-mode .summary-number{color:#5a9aff}.summary-stat.digging .summary-number{color:#e67e22}body.dark-mode .summary-stat.digging .summary-number{color:#f0a050}.summary-stat.completed .summary-number{color:#27ae60}body.dark-mode .summary-stat.completed .summary-number{color:#50d080}.summary-stat.distance .summary-number{color:#8e44ad}body.dark-mode .summary-stat.distance .summary-number{color:#c080e0}.summary-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#888}body.dark-mode .summary-label{color:#888}.filter-bar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1.25rem}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-hint{font-size:.8rem;color:#888}.filter-chip{padding:5px 14px;border:1px solid #ccc;border-radius:20px;background:#fff;color:#555;cursor:pointer;font-size:.85rem;font-family:Nunito,sans-serif;font-weight:500;transition:all 150ms ease;user-select:none}.filter-chip:hover{background:#f0f0f0;border-color:#aaa}.filter-chip:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.filter-chip.active{background:#1e3773;color:#fff;border-color:#1e3773}body.dark-mode .filter-chip{background:#1a1c28;border-color:#3a3a4a;color:#ccc}body.dark-mode .filter-chip:hover{background:#2a2c38;border-color:#5a5a6a}body.dark-mode .filter-chip.active{background:#3a5a9a;border-color:#3a5a9a;color:#fff}.sort-select{padding:6px 10px;border:1px solid #ccc;border-radius:6px;font-size:.85rem;font-family:Nunito,sans-serif;background:#fff;color:#333;outline:0;cursor:pointer}body.dark-mode .sort-select{background:#1a1c28;border-color:#3a3a4a;color:#e0e0e0}.tbms{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-bottom:1.5rem;justify-content:center}.tbms .error-message{grid-column:1/-1;text-align:center;font-size:1.3rem;color:#f44336;font-family:Nunito,sans-serif;padding:3rem 0;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.error-icon{color:#f44336;flex-shrink:0}body.dark-mode .error-icon{color:#ff6b6b}.error-message p{margin:0;font-size:1.1rem}.error-refresh{padding:8px 20px;border:1px solid #ccc;border-radius:8px;background:#fff;color:#333;cursor:pointer;font-size:.9rem;font-family:Nunito,sans-serif;font-weight:600;transition:all .1s ease}.error-refresh:hover:not(:disabled){background:#f0f0f0;border-color:#aaa}.error-refresh:disabled{opacity:.5;cursor:not-allowed;background:#f5f5f5;color:#999;border-color:#ddd}body.dark-mode .error-refresh{background:#1a1c28;border-color:#3a3a4a;color:#ccc}body.dark-mode .error-refresh:hover:not(:disabled){background:#2a2c38;border-color:#5a5a6a}body.dark-mode .error-refresh:disabled{background:#1a1c28;color:#555;border-color:#2a2a3a}.error-cooldown{font-size:.8rem;color:#999;font-family:Nunito,sans-serif}body.dark-mode .error-cooldown{color:#666}.loading{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 0;color:#888;font-family:Nunito,sans-serif}.spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#1e3773;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}body.dark-mode .spinner{border-color:#2a2a3a;border-top-color:#5a9aff}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.skeleton-card{pointer-events:none;border-left-color:transparent!important}.skeleton-badge,.skeleton-line{border-radius:4px;background:linear-gradient(90deg,#e8e8e8 25%,#f5f5f5 50%,#e8e8e8 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}body.dark-mode .skeleton-badge,body.dark-mode .skeleton-line{background:linear-gradient(90deg,#2a2a3a 25%,#3a3a4a 50%,#2a2a3a 75%);background-size:200% 100%}.skeleton-line{height:14px}.skeleton-badge{height:18px;width:60px}.skeleton-w20{width:20%}.skeleton-w30{width:30%}.skeleton-w40{width:40%}.skeleton-w60{width:60%}.skeleton-progress{background:#eee;border-radius:4px;height:8px;overflow:hidden}body.dark-mode .skeleton-progress{background:#2a2a3a}.skeleton-progress .tbm-card-progress-fill{width:60%;background:linear-gradient(90deg,#e8e8e8 25%,#f5f5f5 50%,#e8e8e8 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}body.dark-mode .skeleton-progress .tbm-card-progress-fill{background:linear-gradient(90deg,#2a2a3a 25%,#3a3a4a 50%,#2a2a3a 75%);background-size:200% 100%}@media (max-width:640px){.skeleton-mobile-hidden{display:none}}.tbm-card{background:#fff;border:1px solid #e8e8e8;border-radius:10px;padding:1rem 1.15rem;cursor:pointer;transition:border-color 150ms ease,box-shadow 150ms ease,transform .1s ease;display:flex;flex-direction:column;gap:.6rem}.tbm-card:hover{border-color:#b3d4fc;box-shadow:0 2px 8px rgba(30,55,115,.1);transform:translateY(-1px)}.tbm-card.completed{border-left:4px solid #27ae60}.tbm-card.digging{border-left:4px solid #e67e22}body.dark-mode .tbm-card{background:#161822;border-color:#2a2a3a}body.dark-mode .tbm-card:hover{border-color:#3a5a8a;box-shadow:0 2px 8px rgba(0,0,0,.3)}body.dark-mode .tbm-card.completed{border-left-color:#3a8a4a}body.dark-mode .tbm-card.digging{border-left-color:#c07030}.tbm-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.tbm-card-name{font-family:Nunito,sans-serif;font-size:1.05rem;font-weight:700;color:#222;line-height:1.3}body.dark-mode .tbm-card-name{color:#e0e0e0}.tbm-card-status{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;padding:2px 8px;border-radius:4px;white-space:nowrap;flex-shrink:0}.tbm-card-status.digging{background:#fef3e0;color:#c07020}.tbm-card-status.completed{background:#e0f8e8;color:#208040}body.dark-mode .tbm-card-status.digging{background:#2a2410;color:#f0a050}body.dark-mode .tbm-card-status.completed{background:#1a2a1a;color:#50c070}.tbm-card-location{font-size:.82rem;color:#888}body.dark-mode .tbm-card-location{color:#777}.tbm-card-progress{height:8px;background:#eee;border-radius:4px;overflow:hidden}body.dark-mode .tbm-card-progress{background:#2a2a3a}.tbm-card-progress-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#1e3773,#3a6abf);transition:width .4s ease}.tbm-card.completed .tbm-card-progress-fill{background:linear-gradient(90deg,#27ae60,#50d080)}.tbm-card-showcase{text-align:center;padding:.5rem 0}.tbm-card-showcase-distance{display:block;font-family:Nunito,sans-serif;font-size:1.3rem;font-weight:700;color:#27ae60}body.dark-mode .tbm-card-showcase-distance{color:#50c070}.tbm-card-showcase-duration{display:block;font-size:.82rem;color:#888}body.dark-mode .tbm-card-showcase-duration{color:#777}.tbm-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;color:#666}body.dark-mode .tbm-card-footer{color:#888}.tbm-card-percent{font-family:Nunito,sans-serif;font-weight:700;font-size:1.1rem;color:#1e3773}body.dark-mode .tbm-card-percent{color:#5a9aff}.tbm-card.completed .tbm-card-percent{color:#27ae60}body.dark-mode .tbm-card.completed .tbm-card-percent{color:#50c070}.tbm-card-distance{font-family:Nunito,sans-serif}.tbm-card-last-update{font-size:.78rem;color:#999;text-align:center}body.dark-mode .tbm-card-last-update{color:#666}.detail-overlay{display:none;position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.4);animation:fadeIn 150ms ease}.detail-overlay.open{display:block}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.detail-panel{position:absolute;top:0;right:0;width:680px;max-width:100%;height:100%;background:#fff;box-shadow:-4px 0 20px rgba(0,0,0,.15);display:flex;flex-direction:column;animation:slideIn .2s ease;overflow:hidden}body.dark-mode .detail-panel{background:#12141c}@keyframes slideIn{from{transform:translateX(100%)}to{transform:translateX(0)}}.detail-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid #e8e8e8;flex-shrink:0}body.dark-mode .detail-header{border-bottom-color:#2a2a3a}.detail-close{display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 14px;border:1px solid #ccc;background:#fff;font-size:.85rem;cursor:pointer;color:#555;border-radius:6px;transition:all .1s ease;flex-shrink:0;font-family:Nunito,sans-serif;font-weight:600;line-height:1}.detail-close:hover{background:#f0f0f0;border-color:#e53935;color:#e53935}body.dark-mode .detail-close{background:#1a1c28;border-color:#3a3a4a;color:#ccc}body.dark-mode .detail-close:hover{background:#2a2c38;border-color:#e53935;color:#e53935}.detail-export:hover{background:#f0f0f0;border-color:#7b1fa2;color:#7b1fa2}body.dark-mode .detail-export:hover{background:#2a2c38;border-color:#ab47bc;color:#ab47bc}.detail-close.loading{pointer-events:none;opacity:.7}.detail-title-area{flex:1;min-width:0}.detail-title-area h2{font-size:1.2rem;margin-bottom:.2rem}.detail-status{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;padding:2px 8px;border-radius:4px}.detail-status.digging{background:#fef3e0;color:#c07020}.detail-status.completed{background:#e0f8e8;color:#208040}body.dark-mode .detail-status.digging{background:#2a2410;color:#f0a050}body.dark-mode .detail-status.completed{background:#1a2a1a;color:#50c070}.detail-body{flex:1;overflow-y:auto;padding:1.25rem}.detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.25rem}.detail-panel.completed .detail-stats{grid-template-columns:repeat(3,1fr)}.detail-stat{display:flex;flex-direction:column;gap:.15rem;padding:.75rem;background:#f8f9fa;border-radius:8px;text-align:center}body.dark-mode .detail-stat{background:#1a1c28}.detail-stat-value{font-family:Nunito,sans-serif;font-size:1.15rem;font-weight:700;color:#1e3773}body.dark-mode .detail-stat-value{color:#5a9aff}.detail-stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#888}.detail-progress{margin-bottom:1.25rem}.detail-progress-bar{height:12px;background:#eee;border-radius:6px;overflow:hidden}body.dark-mode .detail-progress-bar{background:#2a2a3a}.detail-progress-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,#1e3773,#3a6abf);transition:width .4s ease}.detail-info{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem}.detail-hr{border:none;border-top:1px solid #e8e8e8;margin:1.25rem 0}body.dark-mode .detail-hr{border-top-color:#2a2a3a}.detail-info-item{display:flex;flex-direction:column;gap:.15rem}.detail-info-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:#888}.detail-info-value{font-family:Nunito,sans-serif;font-size:.95rem;color:#333}body.dark-mode .detail-info-value{color:#c0c0d0}.graph-placeholder{margin-bottom:1.5rem;height:220px;border:2px dashed #d0d0d0;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#aaa}body.dark-mode .graph-placeholder{border-color:#3a3a4a;color:#666}.graph-placeholder-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;font-family:Nunito,sans-serif}.graph-placeholder-content p{margin:0;font-size:.95rem}.graph-placeholder-hint{font-size:.8rem;color:#aaa}body.dark-mode .graph-placeholder-hint{color:#666}.detail-history h3{margin-bottom:.75rem}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.history-header h3{margin-bottom:0}.hist-sort-btn{display:flex;align-items:center;gap:.35rem;padding:5px 12px;border:1px solid #ccc;border-radius:6px;background:#fff;color:#555;cursor:pointer;font-size:.82rem;font-family:Nunito,sans-serif;font-weight:600;transition:all .1s ease;user-select:none}.hist-sort-btn:hover{background:#f0f0f0;border-color:#aaa}body.dark-mode .hist-sort-btn{background:#1a1c28;border-color:#3a3a4a;color:#ccc}body.dark-mode .hist-sort-btn:hover{background:#2a2c38;border-color:#5a5a6a}.history-table-wrapper{border:1px solid #e8e8e8;border-radius:8px}body.dark-mode .history-table-wrapper{border-color:#2a2a3a}table.change-list{width:100%;border-collapse:collapse;font-size:.85rem}table.change-list td{padding:.55rem .75rem;vertical-align:top;border:none;font-family:Nunito,sans-serif;border-bottom:1px solid #f0f0f0}body.dark-mode table.change-list td{border-bottom-color:#1e2030}table.change-list thead td{font-weight:700;border-bottom:2px solid #5a5a5a}body.dark-mode table.change-list thead td{border-bottom-color:#4a4a5a}.history-pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:.75rem;font-family:Nunito,sans-serif;flex-wrap:wrap}.history-pagination button{padding:5px 12px;border:1px solid #ccc;border-radius:6px;background:#fff;color:#555;cursor:pointer;font-size:.82rem;font-family:Nunito,sans-serif;transition:all .1s ease}.history-pagination button:hover:not(:disabled){background:#f0f0f0;border-color:#aaa}.history-pagination button:disabled{opacity:.4;cursor:default}.history-pagination .page-info{font-size:.82rem;color:#888;min-width:80px;text-align:center}body.dark-mode .history-pagination button{background:#1a1c28;border-color:#3a3a4a;color:#ccc}body.dark-mode .history-pagination button:hover:not(:disabled){background:#2a2c38;border-color:#5a5a6a}.help{padding-bottom:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e8e8e8}body.dark-mode .help{border-top-color:#2a2a3a}.help h2{font-size:1.3rem;margin-top:1.5rem}.help h2:first-child{margin-top:0}.help p{color:#555}body.dark-mode .help p{color:#a0a0b8}@media (max-width:992px){.controls-bar{gap:.35rem}.control-btn{padding:4px 8px;font-size:.8rem;height:30px}.tbms{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.summary-bar{padding:.75rem 1rem}.summary-number{font-size:1.4rem}.detail-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.topbar-inner{padding-top:.5rem;padding-bottom:.5rem}.brand h1{font-size:1.1rem}.summary-bar{flex-wrap:wrap;gap:.5rem}.summary-stat{flex:0 1 calc(50% - 0.5rem)}.summary-number{font-size:1.2rem}.filter-bar{flex-direction:column;align-items:stretch}.filter-group{justify-content:center}.tbms{grid-template-columns:1fr}.detail-panel{width:100%}.detail-stats{grid-template-columns:repeat(2,1fr)}.help h2{font-size:1.1rem}.detail-close{border-color:#e53935;color:#e53935}body.dark-mode .detail-close{border-color:#ef5350;color:#ef5350}.legacy-link{display:none}}