:root{--bg: #f6f5f2;--surface: #ffffff;--surface-2: #f1efea;--text: #17171a;--muted: #6b6a70;--border: #e5e2db;--accent: #ff5a1f;--accent-soft: #fff0e9;--accent-text: #c2410c;--danger: #dc2626;--shadow: 0 1px 2px rgb(0 0 0 / .04), 0 8px 24px rgb(0 0 0 / .05);--zone-E: #16a34a;--zone-M: #2563eb;--zone-T: #d97706;--zone-I: #dc2626;--zone-R: #7c3aed;color-scheme:light dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-feature-settings:"cv11","ss01";line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}@media(prefers-color-scheme:dark){:root{--bg: #0f0f11;--surface: #18181b;--surface-2: #222226;--text: #f4f4f5;--muted: #9d9da6;--border: #2c2c31;--accent: #ff6a33;--accent-soft: #2a1a12;--accent-text: #ff9a70;--shadow: none;--zone-E: #4ade80;--zone-M: #60a5fa;--zone-T: #fbbf24;--zone-I: #f87171;--zone-R: #a78bfa}}*{box-sizing:border-box}body{margin:0;background:var(--bg);min-width:320px}button{font:inherit;color:inherit;cursor:pointer}input{font:inherit;color:inherit}.page{max-width:1040px;margin:0 auto;padding:0 16px 48px}.header{display:flex;align-items:center;justify-content:space-between;padding:18px 0}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#ff7a3d,#f2470f);color:#fff;box-shadow:0 2px 8px #f2470f59}.brand-accent{color:var(--accent)}.hero{padding:24px 0 20px}.hero h1{margin:0;font-size:clamp(28px,5vw,40px);letter-spacing:-.03em;line-height:1.1}.lede{margin:10px 0 0;color:var(--muted);max-width:560px}.card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:20px;box-shadow:var(--shadow);min-width:0}.card h2{margin:0;font-size:17px;letter-spacing:-.01em}.card h3{margin:22px 0 10px;font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;align-items:start}@media(max-width:760px){.grid{grid-template-columns:1fr}}.segmented{display:inline-flex;background:var(--surface-2);border-radius:10px;padding:3px;gap:2px}.segmented button{border:0;background:transparent;padding:6px 14px;border-radius:8px;font-size:14px;font-weight:500;color:var(--muted);transition:background .15s,color .15s}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001f}.solve-row{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}.label{font-size:14px;font-weight:600;color:var(--muted)}.fields{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px}@media(max-width:760px){.fields{grid-template-columns:1fr}}.field{min-width:0}.field-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;margin-bottom:6px}.hint{font-weight:400;color:var(--muted)}.badge{font-size:11px;font-weight:600;padding:1px 7px;border-radius:99px;background:var(--accent);color:#fff}.input-wrap{position:relative;display:flex;align-items:center;background:var(--surface-2);border:1.5px solid transparent;border-radius:12px;transition:border-color .15s,background .15s}.input-wrap:focus-within{border-color:var(--accent);background:var(--surface)}.input-wrap.invalid{border-color:var(--danger)}.field.solved .input-wrap{background:var(--accent-soft);border-color:var(--accent)}.input{flex:1;min-width:0;border:0;outline:0;background:transparent;padding:12px 14px}.input.big{font-size:26px;font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.field.solved .input{color:var(--accent-text)}.suffix{padding-right:14px;color:var(--muted);font-weight:500}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chip{border:1px solid var(--border);background:transparent;border-radius:99px;padding:3px 11px;font-size:13px;font-weight:500}.chip:hover{border-color:var(--accent)}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:20px;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden}@media(max-width:560px){.summary{grid-template-columns:1fr 1fr}}.stat{background:var(--surface);padding:12px 14px}.stat-label{font-size:12px;color:var(--muted);font-weight:500}.stat-value{font-size:20px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.stat-sub{font-size:12px;color:var(--muted)}.slider-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.slider-row input{flex:1;accent-color:var(--accent)}.table-scroll{max-height:460px;overflow-y:auto;margin:0 -4px;padding:0 4px}.table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:14px}.table th{position:sticky;top:0;background:var(--surface);text-align:left;font-size:12px;font-weight:600;color:var(--muted);padding:6px 8px;border-bottom:1px solid var(--border)}.table td{padding:7px 8px;border-bottom:1px solid var(--border)}.table tr:last-child td{border-bottom:0}.table .strong{font-weight:600}.table tr.highlight td{background:var(--accent-soft);color:var(--accent-text)}.vdot{font-size:13px;font-weight:650;padding:3px 10px;border-radius:99px;background:var(--accent-soft);color:var(--accent-text)}.zones{list-style:none;margin:0;padding:0;display:grid;gap:8px}.zone{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--surface-2)}.zone-tag{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:8px;font-weight:700;font-size:14px;color:#fff;background:var(--zone-color)}.zone-E{--zone-color: var(--zone-E)}.zone-M{--zone-color: var(--zone-M)}.zone-T{--zone-color: var(--zone-T)}.zone-I{--zone-color: var(--zone-I)}.zone-R{--zone-color: var(--zone-R)}.zone-text{flex:1;min-width:0}.zone-name{font-weight:600;font-size:14px}.zone-pace{font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.muted{color:var(--muted)}.small{font-size:12px}.empty{color:var(--muted);margin:16px 0 0}.footer{margin-top:32px;font-size:12px;color:var(--muted);text-align:center}
