.runlog{--runlog-bg:var(--brand-cream);--runlog-card:var(--brand-card);--runlog-ink:var(--brand-espresso);--runlog-muted:var(--brand-taupe-text);--runlog-amber:var(--brand-amber);--runlog-amber-deep:var(--brand-amber-text);--runlog-coral:var(--brand-coral-text);--runlog-sage:var(--brand-sage);--runlog-line:var(--brand-line);background:radial-gradient(circle at top right, #f5b0412e, transparent 28%), var(--runlog-bg);min-height:100vh;color:var(--runlog-ink);font-family:var(--font-inter), ui-sans-serif, system-ui, sans-serif}.runlog-shell{max-width:720px;margin:0 auto;padding:28px 20px 80px}.runlog-brand{margin-bottom:20px}.runlog-header-logo{margin-bottom:10px}.runlog-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.runlog h1{letter-spacing:-.02em;margin:0;font-size:2rem;line-height:1.1}.runlog-meta{color:var(--runlog-muted);margin:8px 0 0;font-size:.95rem}.runlog-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:16px;display:grid}.runlog-stat{border:1px solid var(--runlog-line);background:var(--runlog-card);border-radius:16px;padding:16px}.runlog-stat-warn{background:#fff8f4;border-color:#ff6a4a59}.runlog-stat-value{font-size:1.5rem;font-weight:700;display:block}.runlog-stat-label{color:var(--runlog-muted);margin-top:4px;font-size:.8rem;display:block}.runlog-progress{background:#f3e7d8;border-radius:999px;height:8px;margin-bottom:28px;overflow:hidden}.runlog-progress-bar{border-radius:inherit;background:linear-gradient(90deg, var(--runlog-amber), var(--runlog-sage));height:100%;transition:width .25s}.runlog-sessions h2,.runlog-race-day h2,.runlog-setup h2{margin:0 0 12px;font-size:1.2rem}.runlog-week{margin-bottom:20px}.runlog-week h3{letter-spacing:.04em;text-transform:uppercase;color:var(--runlog-muted);margin:0 0 10px;font-size:.85rem;font-weight:600}.runlog-week ul{margin:0;padding:0;list-style:none}.runlog-week li{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.runlog-rhythm{border:1px solid var(--runlog-line);background:var(--runlog-card);border-radius:14px;margin-bottom:16px;padding:14px 16px}.runlog-rhythm h2{letter-spacing:.04em;text-transform:uppercase;color:var(--runlog-muted);margin:0 0 6px;font-size:.85rem;font-weight:700}.runlog-rhythm p{margin:0;font-size:.92rem;line-height:1.45}.runlog-rhythm-behind{background:#fff8f4;border-color:#ff6a4a59}.runlog-rhythm-ahead{background:#f7fbf6;border-color:#6ba36859}.runlog-session-metrics{flex:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-left:30px;display:grid}.runlog-session-metrics label{color:var(--runlog-muted);flex-direction:column;gap:4px;font-size:.72rem;font-weight:600;display:flex}.runlog-session-metrics input{border:1px solid var(--runlog-line);width:100%;font:inherit;color:var(--runlog-ink);background:#fff;border-radius:10px;padding:8px 10px}.runlog-session{border:1px solid var(--runlog-line);background:var(--runlog-card);cursor:pointer;border-radius:14px;flex:1;align-items:center;gap:12px;min-width:0;padding:14px 16px;display:flex}.runlog-week li.done .runlog-session{background:#f7fbf6;border-color:#6ba36859}.runlog-week li.today .runlog-session{border-color:var(--runlog-amber);box-shadow:0 0 0 1px #f5b04140}.runlog-week li.overdue .runlog-session{border-color:#ff6a4a59}.runlog-session input{width:18px;height:18px;accent-color:var(--runlog-sage)}.runlog-session-text{flex-direction:column;gap:2px;display:flex}.runlog-session-text strong{font-size:.95rem}.runlog-session-text span{color:var(--runlog-muted);font-size:.8rem}.runlog-race-day{border:1px solid var(--runlog-line);background:linear-gradient(135deg,#fffaf3,#fff6ed);border-radius:16px;margin-top:28px;padding:18px}.runlog-race-day p{color:var(--runlog-muted);margin:0 0 12px}.runlog-memory-btn{margin-top:4px}.runlog-setup{border:1px solid var(--runlog-line);background:var(--runlog-card);border-radius:20px;padding:24px}.runlog-setup-intro{color:var(--runlog-muted);margin:0 0 20px;line-height:1.5}.runlog-setup label,.runlog-setup legend{letter-spacing:.04em;text-transform:uppercase;color:var(--runlog-muted);margin-bottom:6px;font-size:.8rem;font-weight:600;display:block}.runlog-setup fieldset{border:0;margin:18px 0 0;padding:0}.runlog-setup input[type=text],.runlog-setup input[type=date]{border:1px solid var(--runlog-line);width:100%;color:var(--runlog-ink);font:inherit;background:#fff;border-radius:12px;margin-bottom:14px;padding:12px 14px}.runlog-setup input:focus{border-color:var(--runlog-amber);outline:2px solid #f5b04159}.runlog-date-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.runlog-date-error{color:var(--accent,var(--runlog-coral,#b84228));margin:-4px 0 12px;font-size:.82rem}.runlog-day-grid{flex-wrap:wrap;gap:8px;display:flex}.runlog-day-chip{border:1px solid var(--runlog-line);cursor:pointer;text-transform:uppercase;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:.85rem;font-weight:600;display:inline-flex}.runlog-day-chip:has(input:checked){border-color:var(--runlog-amber);background:#fff8eb}.runlog-day-chip input{accent-color:var(--runlog-amber-deep)}.runlog-setup-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.runlog-btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:12px;padding:12px 18px;font-size:.9rem;font-weight:600}.runlog-btn.primary{background:var(--runlog-amber);color:var(--runlog-ink)}.runlog-btn.primary:hover{background:var(--runlog-amber-deep)}.runlog-btn.secondary{border-color:var(--runlog-line);color:var(--runlog-ink);background:#fff}.runlog-btn.small{padding:8px 12px;font-size:.8rem}.runlog-reset{color:var(--runlog-muted);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:28px;font-size:.85rem;text-decoration:underline}.runlog-reset:hover{color:var(--runlog-coral)}.runlog-send{color:var(--runlog-amber);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:8px;font-size:1rem;font-weight:700;line-height:1}.runlog-send:hover:not(:disabled){color:var(--runlog-coral)}.runlog-send:disabled{color:var(--runlog-sage);cursor:default}.runlog-toast{z-index:50;border:1px solid var(--runlog-line);background:var(--runlog-card);border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;max-width:min(92vw,360px);padding:12px 14px;font-size:.92rem;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 8px 24px #2b10171f}.runlog-toast-link{color:var(--runlog-coral);font-weight:600;text-decoration:none}.runlog-toast-link:hover{text-decoration:underline}@media (max-width:640px){.runlog-date-row{grid-template-columns:1fr}.runlog-header{flex-direction:column}}
