.training-log{--tl-surface:var(--t-surface,#171014);--tl-line:#c98500;--tl-range:#d55181;--tl-band:#b8a2c8;max-width:760px;margin:0 auto;display:grid;gap:14px;color:var(--t-ink,#d5c3c8);min-width:0;overflow-wrap:anywhere}.training-log .training-heading{margin-bottom:4px}.tl-filters{display:flex;flex-wrap:wrap;gap:6px}.tl-clear button,.tl-filters button,.tl-ref-toggle{min-height:40px;padding:0 14px;border:1px solid var(--t-border,#38232b);border-radius:999px;background:transparent;color:var(--t-ink,#d5c3c8);font-size:13px;cursor:pointer}.tl-filters button[aria-pressed=true]{border-color:var(--t-accent-2,#f0a3bf);color:var(--t-ink-strong,#f3e7e8);font-weight:700}.tl-card{padding:16px;display:grid;gap:10px;background:var(--tl-surface);border:1px solid var(--t-border,#38232b);border-radius:16px;min-width:0}.tl-card h2{margin:0;font-size:16px;font-weight:700;color:var(--t-ink-strong,#f3e7e8)}.tl-card h2 small{margin-left:6px;font-size:12px;font-weight:400;color:var(--t-ink-soft,#b7a1a9)}.tl-card p{margin:0;font-size:13.5px;line-height:1.7}.tl-muted{color:var(--t-ink-soft,#b7a1a9)}.tl-days a,.tl-empty a{color:var(--t-accent-2,#f0a3bf);font-weight:700}.tl-headline{font-weight:700;color:var(--t-ink-strong,#f3e7e8);font-variant-numeric:tabular-nums}.tl-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12.5px;color:var(--t-ink,#d5c3c8)}.tl-legend span{display:inline-flex;align-items:center;gap:6px}.tl-key{display:inline-block;flex:none}.tl-key.is-line{width:14px;height:2px;border-radius:1px;background:var(--tl-line)}.tl-key.is-bar{width:6px;height:12px;border-radius:3px;background:var(--tl-range)}.tl-key.is-band{width:14px;height:10px;border-radius:2px;background:color-mix(in srgb,var(--tl-band) 22%,transparent)}.tl-ref-toggle{margin-left:auto;min-height:36px;font-size:12px}.tl-dot{display:inline-block;width:7px;height:7px;border-radius:50%}.tl-dot.is-voice{background:var(--tl-line)}.tl-dot.is-speech{background:var(--tl-range)}.tl-dot.is-body{background:#53bba5}.tl-meal-grid{display:flex;flex-wrap:wrap;gap:8px}.tl-meal-grid>div{display:flex;gap:3px}.tl-meal button,.tl-meal-save{border:1px solid #957c83;border-radius:10px;background:#2a1c22;color:#f3e7e8;padding:9px 12px;cursor:pointer}.tl-meal button[aria-pressed=true]{border-color:#53bba5;color:#a5eadb}.tl-meal .tl-meal-save{justify-self:start;border-color:#53bba5}.tl-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.tl-weekday{text-align:center;font-size:11.5px;color:var(--t-ink-faint,#a68e97)}.tl-cell{min-height:42px;padding:4px;display:grid;justify-items:center;align-content:start;gap:3px;border-radius:8px;background:#1f151a;font-size:12px;color:var(--t-ink-soft,#b7a1a9);font-variant-numeric:tabular-nums}.tl-cell>span{display:flex;gap:3px;min-height:7px}.tl-cell[data-practice]{background:#2a1c22;color:var(--t-ink-strong,#f3e7e8)}.tl-cell.is-today{box-shadow:inset 0 0 0 1px var(--t-accent-2,#f0a3bf)}.tl-cell.is-future{opacity:.35}.tl-chart{position:relative;min-width:0;outline:none;border-radius:10px;touch-action:pan-y}.tl-chart:focus-visible{box-shadow:0 0 0 2px var(--t-accent-2,#f0a3bf)}.tl-chart svg{display:block}.tl-grid{stroke:#2f2228;stroke-width:1}.tl-band{fill:var(--tl-band);fill-opacity:.1}.tl-axis{fill:var(--t-ink-faint,#a68e97);font-size:11px;font-variant-numeric:tabular-nums}.tl-range{fill:var(--tl-range);fill-opacity:.75}.tl-line{fill:none;stroke:var(--tl-line);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.tl-point{fill:var(--tl-line);stroke:var(--tl-surface);stroke-width:2}.tl-end{fill:var(--t-ink-strong,#f3e7e8);font-size:12px;font-weight:700}.tl-crosshair{stroke:var(--t-ink-soft,#b7a1a9);stroke-width:1}.tl-tooltip{position:absolute;top:4px;width:160px;padding:8px 10px;display:grid;gap:3px;border-radius:10px;background:#0f0a0c;border:1px solid var(--t-border,#38232b);box-shadow:0 6px 18px #0008;font-size:12px;color:var(--t-ink-soft,#b7a1a9);pointer-events:none}.tl-tooltip span{display:flex;align-items:center;gap:6px}.tl-tooltip b{color:var(--t-ink-strong,#f3e7e8);font-variant-numeric:tabular-nums}.tl-tip-date{font-weight:700;color:var(--t-ink,#d5c3c8)}.tl-note{font-size:12.5px!important;color:var(--t-ink-soft,#b7a1a9)}.tl-table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.tl-table td,.tl-table th{padding:7px 6px;border-bottom:1px solid #2a1d23;text-align:left;font-weight:400}.tl-table thead th{font-size:11.5px;color:var(--t-ink-faint,#a68e97)}.tl-table tbody th{color:var(--t-ink-strong,#f3e7e8);white-space:nowrap}.tl-days{margin:0;padding:0;list-style:none;display:grid;gap:8px}.tl-days>li{display:grid;gap:2px;padding-bottom:8px;border-bottom:1px solid #2a1d23;font-size:13px}.tl-days ul{margin:0;padding:0;list-style:none;color:var(--t-ink,#d5c3c8)}.tl-clear>div{display:flex;flex-wrap:wrap;gap:8px}.tl-clear button{color:#f0b3cb}.tl-ask{color:#f3d9a4;font-size:12.5px!important}.training-log :is(a,button):focus-visible{outline:2px solid var(--t-accent-2,#f0a3bf);outline-offset:2px}@media (max-width:480px){.tl-card{padding:14px 12px}.tl-table td,.tl-table th{padding:6px 3px;font-size:12px}.tl-ref-toggle{margin-left:0}}