@font-face{font-family:Archivo;src:url(/fonts/Archivo-Medium.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Archivo;src:url(/fonts/Archivo-SemiBold.ttf)format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Archivo Expanded;src:url(/fonts/Archivo-Expanded-Black.ttf)format("truetype");font-weight:900;font-display:swap}:root{--ground:#f4f1ea;--panel:#fbfaf6;--ink:#16150f;--ink-soft:#55524a;--edge:#ddd8cb;--accent:#ff4a17;--field:#fff;--mat:#fff;--on-accent:#16150f;--shadow-near:#16150f24;--shadow-far:#16150f17;--radius:2px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--ground:#12120f;--panel:#1a1a16;--ink:#f1eee6;--ink-soft:#a5a096;--edge:#33322c;--accent:#ff6a3d;--field:#100f0d;--mat:#e9e6df;--shadow-near:#0009;--shadow-far:#0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}a{color:var(--ink);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--accent)}body{background:var(--ground);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Archivo,Helvetica Neue,Arial,sans-serif;font-weight:500;line-height:1.5}.page{max-width:1180px;margin:0 auto;padding:32px 20px 64px}.masthead h1{letter-spacing:-.02em;text-transform:uppercase;align-items:center;gap:16px;margin:0 0 12px;font-family:Archivo Expanded,Archivo,sans-serif;font-size:clamp(32px,7vw,56px);font-weight:900;display:flex}.masthead .rule{background:var(--accent);flex:1;height:3px}.masthead p{max-width:62ch;color:var(--ink-soft);margin:0 0 28px}.landing{flex-direction:column;gap:20px;display:flex}.app{grid-template:"top""stage""rail"minmax(0,1fr)"out"/minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.topbar{grid-area:top}.stage{grid-area:stage}.rail{grid-area:rail}.outputs{grid-area:out}.topbar{border-bottom:1px solid var(--edge);background:var(--panel);flex:none;align-items:baseline;gap:16px;padding:12px 20px;display:flex}.topbar-mark{letter-spacing:-.01em;text-transform:uppercase;color:var(--ink);border-bottom:2px solid #0000;padding-bottom:1px;font-family:Archivo Expanded,Archivo,sans-serif;font-size:15px;font-weight:900;text-decoration:none}.topbar-mark:hover,.topbar-mark:focus-visible{color:var(--ink);border-bottom-color:var(--accent)}.topbar-race{min-width:0;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.topbar-note{color:var(--ink-soft);flex:none;font-size:12px}.stage{flex-direction:column;gap:12px;min-width:0;min-height:0;padding:16px 20px;display:flex}.rail{border-top:1px solid var(--edge);background:var(--panel);flex-direction:column;min-height:0;display:flex}.railtabs{border-bottom:1px solid var(--edge);background:var(--ground);flex:none;gap:2px;padding:8px 8px 0;display:flex}.railtab{min-width:0;font:inherit;text-align:left;border-radius:var(--radius) var(--radius) 0 0;cursor:pointer;color:var(--ink-soft);background:0 0;border:1px solid #0000;border-bottom:0;flex-direction:column;flex:1;gap:2px;margin-bottom:-1px;padding:10px 12px;display:flex}.railtab strong{letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:600}.railtab span{letter-spacing:0;color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.railtab:hover:not(.railtab-on){color:var(--ink);background:color-mix(in srgb, var(--ink) 5%, transparent)}.railtab-on{background:var(--panel);border-color:var(--edge);color:var(--ink);box-shadow:inset 0 2px 0 var(--accent)}.railtab-on span{color:var(--ink-soft)}.railscroll{overscroll-behavior:contain;flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px;display:flex;overflow-y:auto}.railfoot{color:var(--ink-soft);flex-wrap:wrap;gap:14px;margin-top:auto;padding-top:8px;font-size:12px;display:flex}@media (width>=940px){.app{grid-template:"top top""stage rail"minmax(0,1fr)"out rail"/minmax(0,1fr) 380px}.stage{padding:20px 24px 12px}.rail{border-top:0;border-left:1px solid var(--edge)}}.panel{background:var(--panel);border:1px solid var(--edge);border-radius:var(--radius);padding:20px}.panel h2{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 14px;font-size:12px;font-weight:600}.lede{color:var(--ink-soft);margin:-6px 0 14px;font-size:14px}.drop{text-align:center;border:2px dashed var(--edge);border-radius:var(--radius);cursor:pointer;flex-direction:column;align-items:center;gap:6px;padding:28px 20px;transition:border-color .15s,background .15s;display:flex}.drop:hover,.drop:focus-visible,.drop-over{border-color:var(--accent);background:var(--field)}.drop strong{font-size:17px}.drop span{color:var(--ink-soft);max-width:44ch;font-size:13px}.url{flex-direction:column;gap:6px;margin-top:16px;display:flex}.url label{color:var(--ink-soft);font-size:13px}.url-row{gap:8px;display:flex}.url-row input{flex:1;min-width:0}.link{color:var(--ink-soft);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin-top:14px;padding:0;font-size:13px;text-decoration:underline}.link:hover{color:var(--accent)}.refused{background:var(--field);border:1px solid var(--accent);border-radius:var(--radius);border-left-width:3px;margin:12px 0 0;padding:10px 12px;font-size:13px}.alternatives{flex-wrap:wrap;gap:6px 18px;display:flex}.legs{margin:0;padding:0;list-style:none}.leg{border-top:1px solid var(--edge);flex-direction:column;gap:8px;padding:12px 0;display:flex}.leg-head{align-items:center;gap:10px;display:flex}.leg-discipline{flex:none;width:8.5rem}.leg-fields{grid-template-columns:repeat(2,6.5rem);justify-content:start;gap:10px 14px;display:grid}.leg-field{flex-direction:column;gap:4px;min-width:0;display:flex}.leg-field-label{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-size:11px;font-weight:600}.legs>li:first-child .leg{border-top:0;padding-top:0}.leg-index{color:var(--accent);font-variant-numeric:tabular-nums;flex:none;font-weight:600}.leg-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.leg-stats{font-variant-numeric:tabular-nums;margin:0}.leg-file,.leg-note{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;overflow:hidden}.leg-note{white-space:normal;color:var(--accent)}.leg-actions{flex:none;gap:4px;margin-left:auto;display:flex}.leg-actions button{border:1px solid var(--edge);border-radius:var(--radius);width:30px;height:30px;color:var(--ink-soft);cursor:pointer;background:0 0;font-size:15px}.leg-actions button:hover{border-color:var(--ink);color:var(--ink)}.transition{border-left:1px dashed var(--edge);align-items:center;gap:10px;margin:0 0 0 16px;padding:10px 0 10px 14px;display:flex}.transition label{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-size:11px;font-weight:600}.leg-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.duration{font-variant-numeric:tabular-nums;text-align:right;width:9ch}.leg-field .duration{width:100%}.duration-wrong{border-color:var(--accent)}.measure{color:var(--ink-soft);align-items:center;gap:6px;font-size:13px;display:flex}.measure-field{font-variant-numeric:tabular-nums;text-align:right;flex:1;min-width:0}.field{border:0;flex-direction:column;gap:6px;margin:0 0 16px;padding:0;display:flex}.field>span,.field legend{color:var(--ink-soft);padding:0;font-size:13px}input[type=text],input[type=url],select{font:inherit;color:var(--ink);background:var(--field);border:1px solid var(--edge);border-radius:var(--radius);box-sizing:border-box;height:40px;padding:9px 10px}input:focus-visible,select:focus-visible,button:focus-visible,.drop:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.templates,.tabs,.formats{flex-wrap:wrap;gap:8px;display:flex}.chip{font:inherit;border:1px solid var(--edge);border-radius:var(--radius);cursor:pointer;color:var(--ink);background:0 0;padding:7px 12px;font-size:13px}.chip:hover{border-color:var(--ink)}.chip-on{background:var(--ink);border-color:var(--ink);color:var(--ground)}.palettes{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;display:grid}.swatch{border-radius:var(--radius);cursor:pointer;font:inherit;text-align:left;border:1px solid;align-items:center;gap:8px;padding:10px;display:flex;position:relative}.swatch span{border-radius:50%;flex:none;width:12px;height:12px}.swatch em{letter-spacing:.04em;font-size:12px;font-style:normal}.swatch-on{box-shadow:0 0 0 2px var(--accent)}.stage-art{background:var(--mat);border:1px solid var(--edge);flex-direction:column;flex:1;gap:10px;min-height:0;padding:16px;display:flex;position:relative}.preview{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.preview svg{width:auto;max-width:100%;height:auto;max-height:100%;box-shadow:0 1px 2px var(--shadow-near), 0 14px 34px var(--shadow-far);display:block}.stage-caption{color:var(--ink-soft);flex-wrap:wrap;flex:none;gap:4px 14px;margin:0;font-size:12px;display:flex}.stage-empty{justify-content:center;align-items:center}.stage-empty p{color:var(--ink-soft);margin:0}.drawing{background:var(--accent);transform-origin:0;height:2px;transition:transform .4s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.drawing-on{transition:transform 1.2s cubic-bezier(.1,.7,.2,1);transform:scaleX(1)}.working{color:var(--accent);letter-spacing:.1em;margin-left:auto}.outputs{flex-direction:column;gap:10px;min-width:0;padding:0 24px 16px;display:flex}.output-note{flex:1;align-self:center;min-width:16ch;margin:0}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button{font:inherit;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);border-radius:var(--radius);cursor:pointer;padding:11px 18px;font-weight:600}.button:hover:not(:disabled){filter:brightness(.94)}.button:disabled{opacity:.55;cursor:default}.button-quiet{color:var(--ink);border-color:var(--edge);background:0 0}.fineprint{color:var(--ink-soft);margin:12px 0 0;font-size:12px}.steps ol{flex-direction:column;gap:6px;margin:14px 0 0;padding-left:20px;display:flex}.error{border:1px solid var(--accent);background:var(--field);border-radius:var(--radius);border-left-width:4px;margin:0 0 20px;padding:12px 14px}.colophon{border-top:1px solid var(--edge);color:var(--ink-soft);max-width:70ch;margin-top:40px;padding-top:16px;font-size:12px}@media (pointer:coarse){.leg-actions button{width:44px;height:44px;font-size:18px}.chip,.swatch{min-height:44px}.chip{padding:10px 14px}.link{padding:6px 0}input[type=text],input[type=url],select{min-height:44px;font-size:16px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}@media (width<=939px){.stage{height:40dvh;padding:12px 14px}.stage-caption,.topbar-note,.output-note{display:none}.outputs{border-top:1px solid var(--edge);background:var(--panel);padding:10px 14px}.formats{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.formats .chip{flex:none}.actions{gap:8px}.actions .button{white-space:nowrap;flex:1;min-width:0;padding:11px 8px;font-size:14px}}.explainer{border-bottom:1px solid var(--edge);align-items:center;gap:28px;margin:0 0 28px;padding-bottom:28px;display:grid}@media (width>=940px){.explainer{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}}.explainer h2{letter-spacing:-.02em;text-wrap:balance;margin:0 0 16px;font-family:Archivo Expanded,Archivo,sans-serif;font-size:clamp(30px,4.4vw,46px);font-weight:900;line-height:1.02}.explainer-copy>p{max-width:52ch;color:var(--ink-soft);margin:0 0 18px}.explainer-steps{counter-reset:step;flex-direction:column;gap:10px;margin:0 0 18px;padding:0;list-style:none;display:flex}.explainer-steps li{counter-increment:step;grid-template-columns:26px 1fr;align-items:baseline;gap:4px 10px;display:grid}.explainer-steps li:before{content:counter(step, decimal-leading-zero);color:var(--accent);font-variant-numeric:tabular-nums;grid-row:span 2;font-size:13px;font-weight:600}.explainer-steps span{color:var(--ink-soft);grid-column:2;font-size:14px}.explainer-note{color:var(--ink-soft);margin:0;font-size:13px}.explainer-art{margin:0}.explainer-art img{border:1px solid var(--edge);width:100%;height:auto;box-shadow:0 1px 2px var(--shadow-near), 0 16px 36px var(--shadow-far);display:block}.explainer-art figcaption{color:var(--ink-soft);margin-top:10px;font-size:12px}.explainer-art .link{margin:0;font-size:12px}.notice{border-left:2px solid var(--accent);padding-left:10px}.strip{grid-column:1/-1;margin-top:8px}.strip h3{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 12px;font-size:12px;font-weight:600}.strip ul{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.strip li{flex-direction:column;gap:8px;display:flex}.strip img{background:var(--mat);border:1px solid var(--edge);width:100%;height:auto;display:block}.strip span{color:var(--ink-soft);font-size:12px}.document{max-width:74ch;margin:0 auto}.document h1{text-transform:uppercase;letter-spacing:-.01em;margin:0 0 20px;font-family:Archivo Expanded,Archivo,sans-serif;font-size:28px;font-weight:900}.document h2{letter-spacing:0;text-transform:none;color:var(--ink);margin:28px 0 8px;font-size:17px;font-weight:600}.document h3{margin:20px 0 6px;font-size:14px;font-weight:600}.document p,.document li{color:var(--ink-soft)}.document p{margin:0 0 12px}.document ul,.document ol{flex-direction:column;gap:5px;margin:0 0 14px;padding-left:20px;display:flex}.document strong{color:var(--ink)}.document code{background:var(--ground);border-radius:2px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.document a{color:var(--ink);text-underline-offset:3px}.table-scroll{margin:0 0 16px;overflow-x:auto}.document table{border-collapse:collapse;min-width:100%;font-size:13px}.document th,.document td{border:1px solid var(--edge);text-align:left;vertical-align:top;color:var(--ink-soft);padding:7px 10px}.document th{color:var(--ink);white-space:nowrap;font-weight:600}.document hr{border:0;border-top:1px solid var(--edge);margin:24px 0}.colophon-links{flex-wrap:wrap;gap:6px 16px;margin-top:10px;display:flex}.colophon-links a{color:var(--ink);text-underline-offset:3px}.rail .panel{background:0 0;border:0;border-radius:0;padding:0}.rail .panel+.panel{border-top:1px solid var(--edge);padding-top:16px}.rail .panel-look h2{display:none}.field-last{margin-bottom:0}.thumbs{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px;display:grid}.thumb{border:1px solid var(--edge);border-radius:var(--radius);background:var(--field);cursor:pointer;font:inherit;flex-direction:column;padding:0;display:flex;overflow:hidden}.thumb:hover:not(:disabled){border-color:var(--ink)}.thumb:disabled{opacity:.4;cursor:default}.thumb img{border-bottom:1px solid var(--edge);width:100%;height:auto;display:block}.thumb em{text-align:left;color:var(--ink-soft);padding:5px 6px;font-size:11px;font-style:normal;line-height:1.3}.thumb-on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.thumb-on em{color:var(--ink);font-weight:600}.showcase{border-top:1px solid var(--edge);flex-direction:column;grid-column:1/-1;gap:14px;padding-top:28px;display:flex}.showcase-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.showcase h3{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:12px;font-weight:600}.showcase-controls{gap:6px;display:flex}.stepper{font:inherit;border:1px solid var(--edge);border-radius:var(--radius);width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;font-size:15px;line-height:1}.stepper:hover{border-color:var(--ink)}.showcase-track{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;grid-auto-columns:42%;grid-auto-flow:column;gap:20px;margin:0;padding:0 0 6px;list-style:none;display:grid;overflow-x:auto}@media (width<=999px){.showcase-track{grid-auto-columns:56%}}.showcase-track::-webkit-scrollbar{display:none}.showcase-track:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.showcase-track>li{scroll-snap-align:start;flex-direction:column;gap:10px;min-width:0;display:flex}.showcase-track img{background:var(--mat);border:1px solid var(--edge);width:100%;height:auto;box-shadow:0 1px 2px var(--shadow-near), 0 12px 28px var(--shadow-far);display:block}.showcase-caption{flex-direction:column;gap:3px;display:flex}.showcase-caption strong{font-size:14px;font-weight:600}.showcase-caption span{color:var(--ink-soft);font-size:13px}.showcase-dots{gap:7px;display:flex}.dot{background:var(--edge);cursor:pointer;border:0;border-radius:0;width:26px;height:4px;padding:0}.dot-on{background:var(--accent)}@media (width<=739px){.showcase-track{grid-auto-columns:78%}}.explainer-cta{flex-wrap:wrap;align-items:center;gap:10px 18px;margin:22px 0 18px;display:flex}.explainer-cta .button{padding:13px 22px;font-size:15px}.explainer-secondary{color:var(--ink-soft);text-underline-offset:3px;font-size:14px;text-decoration:underline}.explainer-secondary:hover{color:var(--accent)}.explainer-art{flex-direction:column;align-items:center;gap:12px;margin:0;display:flex}.explainer-art img{background:var(--mat);border:1px solid var(--edge);width:auto;max-width:100%;max-height:min(64vh,520px);box-shadow:0 1px 2px var(--shadow-near), 0 18px 40px var(--shadow-far);padding:14px;display:block}.explainer-art figcaption{color:var(--ink-soft);text-align:center;font-size:13px}.guide-shot{flex-direction:column;align-items:flex-start;gap:6px;margin:14px 0 0;display:flex}.guide-shot img{background:var(--mat);border:1px solid var(--edge);border-radius:var(--radius);width:auto;max-width:100%;max-height:320px;padding:8px;display:block}.guide-shot figcaption{color:var(--ink-soft);font-size:12px}.strava{border-top:1px solid var(--edge);flex-direction:column;gap:10px;padding-top:16px;display:flex}.strava-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.strava-head .lede{margin:0}.strava-button{border-radius:6px;align-self:flex-start;text-decoration:none;display:inline-flex}.strava-button:hover{filter:brightness(.94)}.strava-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.strava-button img{width:auto;height:48px;display:block}.strava-button-fallback{color:#fff;justify-content:center;align-items:center;min-height:48px;padding:0 18px;font-size:15px;font-weight:600}.strava-button-fallback:hover{color:#fff}.strava-list{flex-direction:column;gap:6px;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.strava-list button{text-align:left;width:100%;font:inherit;background:var(--field);border:1px solid var(--edge);border-radius:var(--radius);cursor:pointer;color:var(--ink);flex-direction:column;gap:3px;padding:9px 11px;display:flex}.strava-list button:hover:not(:disabled){border-color:var(--accent)}.strava-list button:disabled{opacity:.5;cursor:default}.strava-list strong{font-size:14px;font-weight:600}.strava-list span{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:12px}.strava-attribution{letter-spacing:.06em;margin:0}.background-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.colourwell{border:1px solid var(--edge);border-radius:var(--radius);cursor:pointer;align-items:center;gap:10px;padding:5px 10px 5px 5px;display:inline-flex}.colourwell:hover{border-color:var(--ink)}.colourwell input[type=color]{appearance:none;border:1px solid var(--edge);cursor:pointer;background:0 0;border-radius:4px;width:34px;height:34px;padding:0}.colourwell input[type=color]::-webkit-color-swatch-wrapper{padding:0}.colourwell input[type=color]::-webkit-color-swatch{border:none;border-radius:3px}.colourwell input[type=color]::-moz-color-swatch{border:none;border-radius:3px}.colourwell span{letter-spacing:.02em;color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.checkline{cursor:pointer;align-items:center;gap:10px;margin-top:14px;font-size:14px;display:flex}.checkline input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}
