:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-system:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--header-height:52px;--bg:#f7f8f7;--surface:#fff;--surface-muted:#eef0f2;--heading:#2c3e50;--heading-strong:#1e2b38;--paragraph:#4d5b68;--marker:#8395a5;--text:#37474f;--rule-hierarchy:#e4e9ee;--rule-heading:#d9e0e7;--rule-indent:#e8ecef;--accent:#0e9f6e;--accent-strong:#047857;--accent-contrast:#fff;--accent-soft:#0e9f6e1a;--link:#047857;--link-hover:#065f46;--track:#e6e9ec;--scrim:#0f17208c;--chart-1:#0e9f6e;--chart-2:#3b82f6;--chart-3:#f59e0b;--chart-4:#8b5cf6;--chart-5:#ef4444;--chart-6:#06b6d4;--chart-7:#84cc16;--chart-8:#ec4899;--chart-9:#14b8a6;--chart-10:#f97316}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1116;--surface:#161b22;--surface-muted:#1c232c;--heading:#dbe4ee;--heading-strong:#f0f6fc;--paragraph:#b4bfca;--marker:#6e7d8d;--text:#c3ccd6;--rule-hierarchy:#273039;--rule-heading:#313b46;--rule-indent:#2c3742;--accent:#2fbf8f;--accent-strong:#34d399;--accent-contrast:#06281c;--accent-soft:#34d3991f;--link:#34d399;--link-hover:#6ee7b7;--track:#232b34;--scrim:#0009;--chart-1:#34d399;--chart-2:#60a5fa;--chart-3:#fbbf24;--chart-4:#a78bfa;--chart-5:#f87171;--chart-6:#22d3ee;--chart-7:#a3e635;--chart-8:#f472b6;--chart-9:#2dd4bf;--chart-10:#fb923c}body,html{max-width:100vw;overflow-x:hidden!important}html{scrollbar-gutter:stable}body{background-color:var(--bg);color:var(--text);font-family:var(--font-system);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.6}a{color:var(--link);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--link) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--link) 40%, transparent)}a:hover{color:var(--link-hover);text-decoration-color:currentColor}::selection{background:color-mix(in srgb, var(--accent) 28%, transparent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.page{padding:0 2rem 4rem}@media (width<=640px){.page{padding:0 1rem 3rem}}.page-title{text-align:center;letter-spacing:-.02em;color:var(--heading-strong);margin:2.75rem 0 2rem;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700}.page-title:after{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-strong));border-radius:999px;width:3rem;height:3px;margin:.75rem auto 0;display:block}.site-header{z-index:200;height:var(--header-height);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--rule-heading);justify-content:space-between;align-items:center;padding:0 1.25rem;display:flex;position:sticky;top:0}.site-brand{color:var(--heading-strong);letter-spacing:.02em;font-weight:700;text-decoration:none}.site-brand:hover{color:var(--accent)}.theme-toggle{border:1px solid var(--rule-heading);background:var(--surface-muted);width:36px;height:36px;color:var(--paragraph);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:border-color .15s,color .15s,background-color .15s;display:inline-flex}.theme-toggle:hover{color:var(--heading-strong);border-color:var(--accent);background:var(--accent-soft)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.loading-overlay{background:var(--bg);width:100%;height:100%;color:var(--heading-strong);z-index:9999;font-size:1.5rem;font-family:var(--font-system);justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.loading-spinner{border:3px solid var(--track);border-top:3px solid var(--accent);border-radius:50%;width:30px;height:30px;margin-right:15px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.outline-error{font-family:var(--font-system);color:#721c1c;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;margin:1rem;padding:1rem}.line{line-height:1.6;font-family:var(--font-system);word-wrap:break-word;overflow-wrap:break-word;border-radius:6px;align-items:flex-start;margin-bottom:.5rem;display:flex;position:relative}@media (hover:hover){.line:hover{background:var(--accent-soft)}}.line:before{content:"";z-index:1;border-left:1px solid var(--rule-hierarchy);width:0;position:absolute;top:0;bottom:0;left:0}.line-marker{z-index:2;font-variant-numeric:tabular-nums;flex-shrink:0;min-width:1.5rem;margin-right:.5rem;position:relative}.line-content{white-space:pre-wrap;z-index:2;flex:1;position:relative}.heading{color:var(--heading);font-weight:700}.heading:before{border-color:var(--rule-heading)!important}.bullet .line-marker{color:var(--marker);font-weight:500}.paragraph .line-content{color:var(--paragraph);font-size:.95rem;line-height:1.5}[class^=indent-level-],[class*=\ indent-level-]{border-left:2px solid var(--rule-indent)}.heading.level-0{margin-top:1.2rem;margin-bottom:.8rem}.heading.level-0 .line-content{font-size:1.5rem}.heading.level-1{margin-top:1rem;margin-bottom:.6rem}.heading.level-1 .line-content{font-size:1.3rem}.heading.level-2{margin-top:.8rem;margin-bottom:.5rem}.heading.level-2 .line-content{font-size:1.15rem;font-weight:600}.heading.level-3{margin-top:.6rem}.heading.level-3 .line-content{font-size:1.05rem;font-style:italic;font-weight:600}.heading.level-4,.heading.level-5{margin-top:.5rem}.heading.level-4 .line-content,.heading.level-5 .line-content{color:var(--heading-strong);font-size:1rem;font-weight:600}.heading.level-deep{margin-top:.4rem}.heading.level-deep .line-content{color:var(--heading-strong);font-size:.9rem;font-style:italic;font-weight:600}.level-0 .line-content{font-size:1.4rem}.level-1 .line-content{font-size:1.2rem}.no-marker{padding-left:0;display:block}#controls{top:var(--header-height);z-index:100;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--rule-heading);font-family:var(--font-system);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex;position:sticky;box-shadow:0 4px 14px #0f172014}.control-heading{letter-spacing:.02em;color:var(--heading);white-space:nowrap;margin-right:16px;font-size:.95rem;font-weight:600}.switch-wrapper{background:var(--surface);border:1px solid var(--rule-heading);color:var(--text);border-radius:999px;align-items:center;gap:8px;padding:5px 12px 5px 8px;font-size:.9rem;transition:border-color .2s,background-color .2s;display:flex;box-shadow:0 1px 3px #0f17200f}.switch-wrapper:hover{border-color:var(--accent);background:var(--accent-soft)}.switch-label{width:34px;height:19px;display:inline-block;position:relative}.switch-label input{opacity:0;width:0;height:0}.slider{cursor:pointer;background:var(--track);border-radius:999px;transition:all .4s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;border-radius:50%;width:15px;height:15px;transition:all .4s;position:absolute;bottom:2px;left:2px}.switch-label input:checked+.slider{background:var(--accent)}.switch-label input:focus-visible+.slider{outline:2px solid var(--accent);outline-offset:2px}.switch-label input:checked+.slider:before{transform:translate(15px)}#controls .switch-wrapper{flex:none}input[type=checkbox]:disabled+.slider{opacity:.45;cursor:not-allowed}#scroll-controls{top:calc(var(--header-height) + 76px);background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(10px);border:1px solid var(--rule-heading);z-index:9999;border-radius:14px;flex-direction:column;gap:8px;padding:10px 14px;transition:opacity .3s;display:flex;position:fixed;right:12px;box-shadow:0 6px 24px #0f172024}#scroll-controls button{cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:8px;padding:4px;font-size:22px;line-height:1}#scroll-controls button:hover{background:var(--accent-soft)}#scroll-controls button img{vertical-align:middle;width:20px;height:20px;display:inline-block}#speedRange{accent-color:var(--accent);width:90px}.scroll-controls-buttons{align-items:center;gap:10px;display:flex}.scroll-progress-inline{align-items:center;gap:10px;width:100%;display:flex}.progress-bar-inline{background:var(--track);border:none;border-radius:999px;flex:1;height:6px;overflow:hidden}.progress-fill-inline{background:linear-gradient(90deg, var(--accent), var(--accent-strong));border-radius:999px;width:0%;height:100%;transition:width .1s ease-out}.progress-info{align-items:center;gap:12px;max-width:150px;display:flex}.progress-text-inline{color:var(--heading-strong);font-variant-numeric:tabular-nums;text-align:right;min-width:30px;font-size:12px;font-weight:600}.estimated-time{color:var(--text);background:var(--surface-muted);border:1px solid var(--rule-heading);text-align:center;white-space:nowrap;border-radius:999px;min-width:64px;padding:4px 6px;font-size:11px;font-weight:500}.eta-calculating{color:var(--paragraph)}.eta-low{color:var(--text)}.eta-high{background:color-mix(in srgb, #f59e0b 18%, var(--surface-muted));color:#b45309}@media (prefers-color-scheme:dark){.eta-high{color:#fbbf24}}.eta-done{background:var(--accent-soft);color:var(--accent-strong)}@media (width<=768px){#scroll-controls{top:calc(var(--header-height) + 118px)}.scroll-progress-inline{gap:6px}.progress-bar-inline{height:4px}.progress-text-inline{min-width:30px;font-size:11px}.estimated-time{min-width:70px;padding:2px 6px;font-size:10px}}.not-found{text-align:center}.not-found-hint a{font-family:var(--font-system)}.home-group{margin:0 0 .5rem}.home-group-label{letter-spacing:.08em;text-transform:uppercase;color:var(--marker);margin:1.75rem 0 .75rem;font-size:.75rem;font-weight:600}.home-cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.home-card{background:var(--surface);border:1px solid var(--rule-heading);color:var(--heading-strong);font-variant-numeric:tabular-nums;border-radius:12px;padding:14px 16px;font-weight:600;text-decoration:none;transition:border-color .15s,background-color .15s,transform .15s,box-shadow .15s;display:block}.home-card:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px);box-shadow:0 4px 12px #0f17201a}.home-card:active{transform:translateY(0)}@media (width<=640px){.home-cards{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.penalty-widget{top:calc(var(--header-height) + 12px);z-index:150;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;right:12px}.penalty-pill{background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(10px);border:1px solid var(--rule-heading);min-height:40px;color:var(--heading-strong);cursor:pointer;border-radius:14px;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:600;transition:border-color .15s;display:inline-flex;box-shadow:0 6px 24px #0f172024}.penalty-pill:hover{border-color:var(--accent)}.penalty-pill-mask{color:var(--marker);letter-spacing:1px}.penalty-panel{box-sizing:border-box;background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(10px);border:1px solid var(--rule-heading);border-radius:14px;flex-direction:column;gap:10px;width:240px;padding:12px;display:flex;box-shadow:0 6px 24px #0f172024}.penalty-score-toggle{box-sizing:border-box;background:var(--surface-muted);border:1px solid var(--rule-heading);width:100%;min-height:40px;color:var(--heading-strong);font-variant-numeric:tabular-nums;text-align:left;cursor:pointer;border-radius:8px;padding:6px 10px;font-size:15px;font-weight:700;transition:border-color .15s;display:block}.penalty-score-toggle:hover{border-color:var(--accent)}.penalty-field{color:var(--paragraph);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.penalty-field input{box-sizing:border-box;border:1px solid var(--rule-heading);background:var(--surface-muted);min-height:40px;color:var(--text);font-variant-numeric:tabular-nums;border-radius:8px;padding:0 10px;font-size:14px;font-weight:400}.penalty-actions{gap:8px;display:flex}.penalty-actions button{cursor:pointer;border:1px solid #0000;border-radius:8px;flex:1;min-height:40px;font-size:13px;font-weight:600;transition:background-color .15s,color .15s}.penalty-actions button:disabled{opacity:.5;cursor:not-allowed}.penalty-add{background:color-mix(in srgb, #ef4444 14%, var(--surface));color:#b91c1c;border-color:#ef444452}.penalty-add:hover:not(:disabled){background:color-mix(in srgb, #ef4444 24%, var(--surface))}@media (prefers-color-scheme:dark){.penalty-add{color:#f87171}}.penalty-donate{background:var(--accent);color:var(--accent-contrast)}.penalty-donate:hover:not(:disabled){background:var(--accent-strong)}@media (width<=640px){.penalty-panel{width:220px}}.analytics-pills{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0 0 1.5rem;display:flex}.analytics-pill{border:1px solid var(--rule-heading);font:inherit;color:var(--paragraph);background:var(--surface-muted);cursor:pointer;border-radius:999px;padding:.3rem 1rem;font-size:.9rem;transition:background-color .15s,color .15s}.analytics-pill:hover{color:var(--heading-strong)}.analytics-pill[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:600}.analytics-pill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.analytics-kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:0 0 1.75rem;display:grid}.analytics-card{background:var(--surface);border:1px solid var(--rule-heading);border-radius:12px;min-width:0;padding:16px}.analytics-card .card-label{color:var(--marker);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4rem;font-size:.72rem;font-weight:600;display:block}.analytics-card .card-value{color:var(--heading-strong);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700;line-height:1.3}.analytics-card .card-detail{color:var(--marker);margin-top:.3rem;font-size:.8rem}.analytics-tooltip{background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(10px);border:1px solid var(--rule-heading);min-width:190px;color:var(--heading-strong);border-radius:10px;padding:10px 12px;font-size:12px}.analytics-tooltip-scroll{max-height:260px;overflow-y:auto}.analytics-tooltip-label{color:var(--heading-strong);margin-bottom:6px;font-weight:600}.analytics-tooltip-row{color:var(--paragraph);align-items:center;gap:6px;padding:1px 0;display:flex}.analytics-tooltip-footer{border-top:1px solid var(--rule-heading);color:var(--heading-strong);margin-top:4px;padding-top:4px;font-weight:600}.analytics-tooltip-name{overflow-wrap:anywhere;flex:1}.analytics-tooltip-value{font-variant-numeric:tabular-nums}.analytics-other-row>td{padding:.35rem .5rem .5rem}.analytics-other-details summary{cursor:pointer;color:var(--marker);font-size:.85rem;font-weight:600;list-style-position:inside}.analytics-other-details summary:hover{color:var(--heading-strong)}.analytics-other-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.15rem 1.25rem;margin:.5rem 0 0;padding:0 0 0 .25rem;list-style:none;display:grid}.analytics-other-list li{color:var(--paragraph);overflow-wrap:anywhere;justify-content:space-between;gap:.75rem;font-size:.85rem;display:flex}.analytics-other-list .num{color:var(--text);white-space:nowrap}.analytics-chart .recharts-legend-wrapper{font-size:.78rem;line-height:1.6}.analytics-chart .recharts-legend-item{white-space:nowrap;margin-right:6px!important}.analytics-section{margin:0 0 2rem}.analytics-section h2{color:var(--heading-strong);margin:0 0 .75rem;font-size:1.05rem;font-weight:600}.analytics-chart{width:100%;height:300px}.analytics-mix{grid-template-columns:minmax(260px,2fr) 3fr;align-items:center;gap:1.5rem;display:grid}.analytics-donut{height:260px;position:relative}.analytics-donut .donut-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.analytics-donut .donut-center .card-value{color:var(--heading-strong);font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:700}.analytics-donut .donut-center .card-label{color:var(--marker);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:600}.analytics-table{border-collapse:collapse;width:100%;font-size:.9rem}.analytics-table th{text-align:left;color:var(--marker);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--rule-heading);padding:.4rem .5rem;font-size:.72rem;font-weight:600}.analytics-table td{border-bottom:1px solid var(--rule-hierarchy);color:var(--paragraph);padding:.45rem .5rem}.analytics-table .num{text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}.analytics-table th.num{text-align:right}.category-swatch{vertical-align:baseline;border-radius:3px;width:10px;height:10px;margin-right:.5rem;display:inline-block}.analytics-insights{grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 2rem;display:grid}.analytics-insight{background:var(--surface);border:1px solid var(--rule-heading);border-left:3px solid var(--accent);color:var(--marker);border-radius:12px;padding:14px 16px;font-size:.85rem;line-height:1.55}.analytics-insight strong{color:var(--heading-strong);font-variant-numeric:tabular-nums;font-weight:600}.heatmap{flex-direction:column;gap:1.5rem;margin-bottom:.5rem;display:flex}.heatmap-year-label{color:var(--heading-strong);margin:0 0 .5rem;font-size:.95rem;font-weight:600}.heatmap-scroll{padding-bottom:.25rem;overflow-x:auto}.heatmap-months{color:var(--marker);white-space:nowrap;grid-auto-columns:14px;grid-auto-flow:column;gap:2px;margin-left:2.2rem;font-size:.62rem;display:grid}.heatmap-months span{grid-row:1;overflow:visible}.heatmap-body{align-items:flex-start;gap:.5rem;display:flex}.heatmap-weekdays{color:var(--marker);grid-template-rows:repeat(7,14px);gap:2px;width:1.7rem;font-size:.62rem;line-height:14px;display:grid}.heatmap-grid{grid-template-rows:repeat(7,14px);grid-auto-columns:14px;grid-auto-flow:column;gap:2px;display:grid}.heatmap-cell{border-radius:3px;width:14px;height:14px}.heatmap-cell.hm-l0{background:var(--surface-muted)}.heatmap-cell.hm-l1{background:color-mix(in srgb, var(--accent) 30%, transparent)}.heatmap-cell.hm-l2{background:color-mix(in srgb, var(--accent) 55%, transparent)}.heatmap-cell.hm-l3{background:color-mix(in srgb, var(--accent) 80%, transparent)}.heatmap-cell.hm-l4{background:var(--accent)}@media (width<=768px){.analytics-kpis{grid-template-columns:repeat(2,1fr)}.analytics-mix{grid-template-columns:1fr}.analytics-table{font-size:.85rem}.analytics-insights{grid-template-columns:1fr}}
