:root{--bg:#0b0e13;--surface:#141920;--surface-raised:#1c232d;--border:#2a323d;--text:#e8edf4;--text-dim:#94a1b2;--accent:#ff6b35;--accent-dim:#c14e24;--success:#3fb950;--warning:#d29922;--radius:14px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}.shell{max-width:640px;margin:0 auto;padding:1.25rem 1rem calc(3rem + env(safe-area-inset-bottom))}.masthead{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.masthead h1{margin:0;font-size:1.6rem;letter-spacing:-.02em}.masthead .date{margin:.15rem 0 0;color:var(--text-dim);font-size:.95rem}.streak{flex-shrink:0;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .9rem;min-width:5.5rem}.streak .count{display:block;font-size:1.8rem;font-weight:700;line-height:1;color:var(--accent)}.streak .label{display:block;font-size:.7rem;letter-spacing:.06em;margin-top:.25rem}.section-label,.streak .label{text-transform:uppercase;color:var(--text-dim)}.section-label{font-size:.75rem;letter-spacing:.08em;margin:2rem 0 .75rem}.source-grid{display:grid;grid-gap:.75rem;gap:.75rem}.source-card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.15rem;text-decoration:none;color:inherit;transition:border-color .15s,transform .1s}.source-card:active{transform:scale(.985);border-color:var(--accent)}.source-card .top{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.source-card h2{margin:0;font-size:1.15rem}.source-card .duration{font-size:.8rem;color:var(--text-dim);white-space:nowrap}.source-card p{margin:.35rem 0 0;color:var(--text-dim);font-size:.9rem}.source-card.primary{border-color:var(--accent-dim);background:linear-gradient(180deg,#1d1712,var(--surface))}.back-link{display:inline-block;color:var(--text-dim);text-decoration:none;font-size:.9rem;margin-bottom:1rem}.back-link:active{color:var(--text)}.wod-header h1{margin:0 0 .25rem;font-size:1.75rem;letter-spacing:-.02em}.wod-meta{color:var(--text-dim);font-size:.9rem;margin:0 0 1.5rem}.block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.15rem;margin-bottom:.85rem}.block h3{margin:0 0 .75rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.segment{display:flex;gap:.75rem;padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.04)}.segment:last-child{border-bottom:none}.segment .label{flex-shrink:0;font-weight:600;min-width:5.5rem}.segment .detail{flex:1 1}.segment .note{display:block;color:var(--text-dim);font-size:.85rem;margin-top:.2rem}.block-note{margin:.85rem 0 0;padding-top:.75rem;border-top:1px solid var(--border);color:var(--text-dim);font-size:.87rem}.warning-banner{background:#2a1f00;border:1px solid var(--warning);border-radius:var(--radius);padding:.9rem 1rem;margin-bottom:1rem;font-size:.9rem}.source-link{display:inline-block;margin-top:.5rem;color:var(--accent);font-size:.9rem}.timer{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;text-align:center;margin:1.5rem 0}.timer .clock{font-size:3.2rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1;margin-bottom:1rem}.timer-buttons{display:flex;gap:.6rem;justify-content:center}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface-raised);color:var(--text);font-size:1rem;font-weight:600;font-family:inherit;padding:.85rem 1.4rem;border-radius:var(--radius);cursor:pointer;min-height:52px;transition:transform .1s}.btn:active{transform:scale(.97)}.btn.accent{background:var(--accent);border-color:var(--accent);color:#14100c}.btn.full{width:100%}.btn:disabled{opacity:.55;cursor:default}.log-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.15rem;margin-top:1rem}.field{margin-bottom:1rem}.field label{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:.4rem}.field input,.field textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text);font-family:inherit;font-size:1.05rem;padding:.8rem .9rem;min-height:52px}.field textarea{min-height:88px;resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent)}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}.form-message{margin-top:.85rem;padding:.8rem .9rem;border-radius:10px;font-size:.92rem}.form-message.ok{background:rgba(63,185,80,.12);border:1px solid var(--success)}.form-message.err{background:rgba(248,81,73,.12);border:1px solid #f85149}.history{list-style:none;margin:0;padding:0}.history li{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border);font-size:.92rem}.history li:last-child{border-bottom:none}.history .when{color:var(--text-dim);white-space:nowrap;flex-shrink:0}.history .what{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-note{color:var(--text-dim);font-size:.9rem;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);padding:1rem}.empty-note code{background:var(--bg);padding:.15rem .4rem;border-radius:5px;font-size:.85em}