:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}html,body{overflow-x:hidden}body{position:relative}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{display:flex;justify-content:center;max-width:1280px;width:100%;margin:0 auto;top:0;padding:1rem;text-align:center;box-sizing:border-box}#hub-link{position:absolute;top:10px;right:10px}#left-link{position:absolute;top:10px;left:10px}#content{display:flex;flex-direction:column;row-gap:20px;width:100%;max-width:600px}.item{z-index:5}.item-card{display:flex;justify-content:center;align-items:center;height:100%}.delete-item{height:100%;z-index:10}#input{display:flex;flex-direction:column;row-gap:20px;justify-content:space-between;align-items:center}.category{display:flex;flex-direction:column;row-gap:20px;width:100%;max-width:600px}.item{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s;width:100%}.item:hover{border-color:#646cff}.item:focus,.item:focus-visible{outline:4px auto -webkit-focus-ring-color}.date-header{margin-bottom:0}input,select{font-size:16px}@media(prefers-color-scheme:light){.item{background-color:#f9f9f9}}.flash-green{animation:flash-green .5s ease-out}@keyframes flash-green{0%{background-color:#00ff0080}to{background-color:transparent}}.heatmap-container{padding:1rem;text-align:center}.heatmap-stats{margin-top:1rem;font-size:14px;color:#666}.heatmap-grid{margin-top:2rem;position:relative;display:inline-block}.heatmap-week{display:flex;justify-content:flex-end;gap:4px;margin-bottom:4px}.heatmap-day{width:20px;height:20px;border:1px solid #d1d5da;border-radius:3px;cursor:pointer}.heatmap-day.has-exercise{background-color:#40c463}.heatmap-day.no-exercise{background-color:#151b23}.heatmap-tooltip{position:fixed;background-color:#000000e6;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;pointer-events:none;z-index:1000;white-space:nowrap;transform:translate(10px,-30px)}@media(prefers-color-scheme:light){.heatmap-tooltip{background-color:#000c}}.metronome-container{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px;max-width:400px;margin:0 auto}.metronome-container h2{margin:0}.metronome-inputs{display:flex;flex-direction:column;gap:15px;width:100%}.metronome-input-group{display:flex;justify-content:space-between;align-items:center;gap:10px}.metronome-input-group label{font-weight:500;min-width:120px;text-align:left}.metronome-input-group input{width:100px;padding:8px 12px;font-size:16px;border-radius:6px;border:1px solid #444;background-color:#1a1a1a;color:inherit;text-align:center}.metronome-input-group input:disabled{opacity:.6;cursor:not-allowed}.metronome-button{padding:12px 32px;font-size:18px;font-weight:600;min-width:140px}.metronome-button:hover{border-color:#646cff}.metronome-status{display:flex;flex-direction:column;align-items:center;gap:8px;padding:15px;border-radius:8px;background-color:#1a1a1a;min-width:200px}.beat-indicator{font-size:32px;animation:pulse .2s ease-out}.beat-indicator.warmup{color:#f0a500}.beat-indicator.main{color:#646cff}.beat-count{font-size:24px;font-weight:600}.phase-label{font-size:14px;opacity:.7}@keyframes pulse{0%{transform:scale(1.3)}to{transform:scale(1)}}@media(prefers-color-scheme:light){.metronome-input-group input{background-color:#f9f9f9;border-color:#ccc}.metronome-status{background-color:#f9f9f9}}
