@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#20241f;--muted:#697066;--paper:#fff;--bg:#f3f5f0;--line:#dde1d7;--lime:#dfff00;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'DM Sans',Arial,sans-serif;color:var(--ink);font-family:var(--body);font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{transition:background .15s,transform .15s}button:hover{filter:brightness(.96)}button:active{transform:translateY(1px)}:focus-visible{outline:3px solid #588220;outline-offset:3px}[hidden]{display:none!important}.site-header{height:90px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5vw}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-weight:800;letter-spacing:-.5px;text-decoration:none;font-size:20px}.brand-mark{font-family:var(--display);font-weight:800;font-size:24px;display:grid;grid-auto-flow:column;align-items:center;background:var(--lime);height:42px;width:53px;padding:0 9px;transform:rotate(-5deg)}.brand-mark span{font-weight:500}.brand-dot{font-size:12px;align-self:flex-start;margin:8px 0 0 -8px}.header-note{font-size:12px;font-weight:700;letter-spacing:1.6px}main{max-width:1320px;margin:auto;padding:44px 40px 60px}.intro{display:flex;justify-content:space-between;align-items:end;padding-bottom:38px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.7px;margin:0 0 12px}h1{font-family:var(--display);font-size:clamp(64px,7vw,94px);text-transform:uppercase;font-weight:800;line-height:.95;letter-spacing:-1.8px;margin:0}h1 span{color:#78816e}.intro-note{font-size:16px;line-height:1.65;margin:0 5px 4px 0}.workspace{display:grid;grid-template-columns:350px minmax(0,1fr);gap:38px;align-items:start}.controls{background:var(--paper);border:1px solid var(--line);padding:26px 25px 20px;border-radius:4px}.section-heading{display:flex;align-items:center;gap:12px;margin-bottom:25px}.section-heading h2{font-size:18px;letter-spacing:-.4px;margin:0}.step{font-family:var(--display);background:var(--lime);font-size:20px;font-weight:700;padding:3px 7px}.next-section{border-top:1px solid var(--line);padding-top:25px;margin-top:25px;margin-bottom:20px}label{display:block;font-weight:600;font-size:14px;margin:17px 0 8px}input:not([type=checkbox]),select{width:100%;height:45px;background:#fff;border:1px solid #cdd3c8;border-radius:3px;color:var(--ink);padding:0 11px;font-size:15px;min-width:0}select{padding-right:25px}input:focus,select:focus{border-color:#71835b}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-row>div{min-width:0}small{display:block;font-size:12px;color:var(--muted);margin-top:7px;line-height:1.5}.field-note{font-size:13px;line-height:1.6;color:var(--muted);margin:10px 0}.toggle-label{display:flex;gap:10px;align-items:center;font-weight:500;font-size:14px;margin:19px 0}.toggle-label input{accent-color:#20241f;width:18px;height:18px;margin:0}.option-fields{background:var(--bg);padding:0 12px 13px;border-radius:3px}.crew-details{border-top:1px solid var(--line);padding-top:20px;margin-top:24px;font-size:14px}summary{list-style:none;font-weight:600;display:flex;justify-content:space-between;gap:10px;line-height:1.5}summary::-webkit-details-marker{display:none}summary span{font-size:20px}details[open] summary span{transform:rotate(45deg)}.checkpoint{border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:8px}.checkpoint-row{display:grid;grid-template-columns:1fr 36px;gap:8px;align-items:end}.remove-checkpoint{height:45px;background:transparent;border:1px solid var(--line);font-size:20px;border-radius:3px}.text-button{border:0;background:transparent;padding:8px 0;font-size:14px;font-weight:600}.build-button{margin-top:25px;background:var(--lime);border:0;border-radius:3px;width:100%;height:49px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:15px;font-weight:700}.build-button span{font-size:23px}.privacy-note{font-size:12px;line-height:1.6;color:var(--muted);margin:18px 0 0}#error{font-size:14px;color:#a52727;background:#fff2f2;padding:12px;border-radius:3px}.result-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;min-height:42px}.live-label{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:1px;font-weight:700}.live-label span{width:7px;height:7px;background:#7f9827;border-radius:50%}.actions{display:flex;gap:8px}.button{border-radius:3px;min-height:40px;padding:9px 13px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.secondary{background:#fff;border:1px solid #cdd3c8;color:var(--ink)}.dark{background:var(--ink);color:#fff;border:1px solid var(--ink)}.button svg{height:16px;width:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.race-sheet{background:white;border:1px solid #d7ddcf;border-radius:4px;box-shadow:0 4px 0 #e6eadf;padding:29px 32px 0}.sheet-topline{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:1px;font-weight:700;padding-bottom:19px;border-bottom:1px solid var(--ink)}.sheet-title-row{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:27px 0}.sheet-title-row .eyebrow{font-size:10px;margin-bottom:9px;color:var(--muted)}.sheet-title-row h2{font-family:var(--display);font-weight:700;font-size:45px;line-height:1.05;text-transform:uppercase;margin:0;overflow-wrap:anywhere}.sheet-title-row p:last-child{font-size:13px;color:var(--muted);margin:10px 0 0}.race-number{font-family:var(--display);font-size:67px;line-height:1;letter-spacing:-2px;font-weight:800;background:var(--lime);padding:4px 16px 8px;transform:rotate(4deg)}.stats{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:21px 0;gap:15px}.stats>div+div{border-left:1px solid var(--line);padding-left:22px}.stats span{display:block;font-size:10px;letter-spacing:.9px;font-weight:700;color:var(--muted);margin-bottom:5px}.stats strong{font-family:var(--display);font-size:36px;font-weight:600;letter-spacing:-.5px;white-space:nowrap}.split-heading{display:flex;align-items:center;justify-content:space-between;margin:27px 0 13px;gap:12px}h3{font-size:17px;letter-spacing:-.3px;margin:0}.split-heading>span{font-size:12px;color:var(--muted)}table{width:100%;border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums}th{font-size:10px;letter-spacing:.65px;color:var(--muted);font-weight:600;padding:10px 8px;border-bottom:1px solid var(--line)}td{font-size:14px;padding:11px 8px;border-bottom:1px solid #edf0e8}th:first-child,td:first-child{padding-left:0}th:last-child,td:last-child{text-align:right;padding-right:0}.splits td:nth-child(3){font-weight:700}.splits td:nth-child(2){color:var(--muted)}.finish-row{background:var(--lime)}.finish-row td{font-weight:700!important;color:var(--ink)!important;padding-top:13px;padding-bottom:13px}.finish-row td:first-child{padding-left:8px}.finish-row td:last-child{padding-right:8px}.finish-tag{display:block;font-size:9px;letter-spacing:.7px;margin-top:3px}.sheet-footer{border-top:1px solid var(--ink);margin-top:27px;padding:18px 0;display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted);letter-spacing:.6px}.sheet-footer span:first-child{color:var(--ink);font-weight:700}.band-callout{margin-top:25px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.band-callout>div{display:flex;align-items:center;gap:17px}.band-callout h3{font-size:16px}.band-callout p{font-size:13px;color:var(--muted);margin:6px 0 0;line-height:1.5}.band-icon{border:1px dashed #99a28d;transform:rotate(-8deg);font-family:monospace;font-size:9px;padding:5px 9px;line-height:1.4}.result-note{font-size:12px;color:var(--muted);line-height:1.6;margin-top:17px}.site-footer{max-width:1240px;margin:0 auto;padding:24px 0 30px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);font-size:11px;letter-spacing:.8px}.site-footer>span:first-child{font-weight:800;font-size:15px;letter-spacing:-.3px}.site-footer p{color:var(--muted);font-size:12px;letter-spacing:0}#pace-band{display:none}.sheet-extra{margin-top:24px}.sheet-extra h3{margin-bottom:10px}.reminder-list{display:flex;flex-wrap:wrap;gap:7px}.reminder-chip{font-size:12px;background:var(--bg);padding:7px 10px;border:1px solid var(--line);border-radius:3px}.interval-summary{background:var(--bg);padding:12px 15px;margin-top:16px;font-size:13px;line-height:1.7}.crew-table td{overflow-wrap:anywhere}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 20px;box-shadow:0 4px 20px #0002;border-radius:4px;font-size:14px;max-width:90vw;z-index:10}#toast:empty{display:none}dialog{border:1px solid var(--line);border-radius:8px;padding:30px;max-width:480px;width:calc(100% - 32px);color:var(--ink);box-shadow:0 20px 100px #0003}dialog::backdrop{background:#17201477}dialog h2{font-family:var(--display);font-size:32px;margin:10px 0}dialog p{font-size:14px;line-height:1.6}dialog .button{margin-top:16px}.dialog-close{position:absolute;right:12px;top:10px;background:none;border:0;font-size:26px}.noscript{position:fixed;bottom:0;background:var(--lime);padding:20px;width:100%;margin:0}
@media(min-width:1450px){.site-header{padding-left:calc((100vw - 1240px)/2);padding-right:calc((100vw - 1240px)/2)}}
@media(max-width:1050px){main{padding:35px 24px}.workspace{grid-template-columns:310px minmax(0,1fr);gap:24px}.controls{padding:24px 20px}.race-sheet{padding:24px 22px 0}.result-toolbar{align-items:start;flex-direction:column;gap:12px}.stats strong{font-size:30px}.stats>div+div{padding-left:12px}.site-footer{margin:0 24px}.band-callout{flex-wrap:wrap}.sheet-title-row h2{font-size:38px}.race-number{font-size:54px;padding:4px 10px 8px}}
@media(max-width:760px){.site-header{height:72px;padding:0 20px}.header-note{font-size:9px;letter-spacing:1px}.brand{font-size:17px}.brand-mark{width:44px;height:36px;font-size:21px}.intro{padding-bottom:28px}.intro-note{font-size:13px;line-height:1.6;max-width:135px}.intro .eyebrow{font-size:10px}main{padding:28px 18px 35px}h1{font-size:62px}.workspace{grid-template-columns:1fr;gap:30px}.controls{padding:24px}.result-toolbar{flex-direction:row;align-items:center}.live-label{font-size:10px}.button{font-size:12px;padding:9px 11px}.button svg{display:none}.race-sheet{padding:23px 20px 0}.sheet-title-row h2{font-size:38px}.stats strong{font-size:32px}.site-footer{margin:0 18px;flex-wrap:wrap;gap:12px}.site-footer>span:last-child{display:none}.split-heading span{font-size:11px}}
@media(max-width:380px){.intro-note{display:none}h1{font-size:66px}.controls{padding:20px}.result-toolbar{flex-direction:column;align-items:start}.stats{gap:8px}.stats>div+div{padding-left:8px}.stats strong{font-size:27px}.stats span{font-size:9px}td{font-size:12px}th{font-size:9px}.sheet-topline{font-size:9px}}
@media print{
  @page{size:auto;margin:12mm}
  :root{font-family:Arial,sans-serif;color:#000}body{background:white}.site-header,.intro,.controls,.result-toolbar,.band-callout,.result-note,.site-footer,dialog,#toast,.noscript{display:none!important}main{padding:0;max-width:none}.workspace{display:block}.race-sheet{border:0;padding:0;box-shadow:none;border-radius:0}.sheet-topline{font-size:9px;padding-bottom:10px}.sheet-title-row{margin:14px 0}.sheet-title-row h2{font-size:30px}.race-number{display:none}.stats{padding:10px 0}.stats strong{font-size:26px}.stats span{font-size:9px}.split-heading{margin:16px 0 7px}th{font-size:9px;padding:6px 8px}td{font-size:11px;padding:5px 8px}.finish-row td{padding-top:7px;padding-bottom:7px;background:#eee!important}.finish-tag{display:inline;margin-left:6px}.sheet-footer{margin-top:15px;padding:10px 0}.sheet-extra{margin-top:16px}.sheet-extra h3{font-size:14px}.field-note{font-size:10px}.reminder-chip{font-size:10px;padding:4px 7px}.interval-summary{font-size:11px;padding:7px 10px}.sheet-title-row,.stats,.split-heading,.sheet-extra h3,tr{break-inside:avoid}thead{display:table-header-group}h3{break-after:avoid}.sheet-footer{break-inside:avoid}.stats strong{white-space:normal}
  body[data-print="band"] main{display:none}body[data-print="band"] #pace-band{display:block;width:48mm;border:1px dashed black;padding:4mm;text-align:center}.band-brand{font-weight:900;font-size:13px;letter-spacing:1px}#pace-band h2{font-size:12px;margin:3mm 0 2mm;overflow-wrap:anywhere}#pace-band p{font-size:9px;line-height:1.5}#pace-band th{font-size:8px;padding:1mm 0}#pace-band td{font-size:9px;padding:1mm 0}#pace-band td:last-child{font-weight:700}.band-instructions{margin:3mm 0 0}#pace-band tr:last-child{border-top:1px solid black}.band-brand,#pace-band h2,#pace-band p{break-inside:avoid}
}

.goal-fields{border:0;padding:0;margin:17px 0 0;min-width:0}.goal-fields legend{padding:0;font-size:14px;font-weight:600;margin-bottom:8px}.goal-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.goal-inputs label{font-size:13px;font-weight:500;color:var(--muted);margin:0 0 7px}.goal-inputs input{font-variant-numeric:tabular-nums}.clock-note{margin:12px 0 0;font-size:12px}
.calculation-note{font-size:14px;font-weight:600;line-height:1.6;padding:10px 12px;background:#f1f5e9;border-left:3px solid #94a86f;margin:14px 0 0}.calculation-note:empty{display:none}
.header-actions{display:flex;align-items:center;gap:28px}.chaos-toggle{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;cursor:pointer;font-weight:700;border:1px solid #cdd3c8;padding:8px 11px;border-radius:3px;background:#fff}.chaos-toggle input{accent-color:#d01375;width:17px;height:17px;margin:0}.chaos-banner{padding:15px 20px;margin-bottom:26px;display:flex;justify-content:space-between;align-items:center;gap:15px;background:#ffef00;border:3px solid #151515;box-shadow:5px 5px 0 #151515;font-size:14px}.chaos-banner strong{font-family:var(--display);font-size:25px;letter-spacing:.5px}
@media screen{body.chaos{--ink:#191019;--bg:#ffb7e5;--lime:#ffef00;--line:#df83b8;--muted:#654457;background-image:linear-gradient(135deg,#fff0 48%,#f89bd7 48%,#f89bd7 52%,#fff0 52%);background-size:24px 24px}.chaos .site-header{background:#00e8db;border-bottom:3px solid var(--ink)}.chaos .brand-mark{background:#ffef00;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}.chaos h1{font-style:italic;letter-spacing:-1px;text-shadow:3px 3px 0 #ffef00}.chaos h1 span{color:#aa0d70;text-shadow:3px 3px 0 #00e8db}.chaos .controls,.chaos .race-sheet{border:3px solid var(--ink);border-radius:0;box-shadow:7px 7px 0 var(--ink)}.chaos .race-number{background:#ff45b6;border:3px solid var(--ink);box-shadow:4px 4px 0 #00e8db}.chaos .build-button{background:#ffef00;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}.chaos .step{background:#00e8db;border:2px solid var(--ink)}.chaos .calculation-note{border:2px solid var(--ink);background:#00e8db}.chaos .button{border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}.chaos .split-reminder-label{color:var(--ink);background:#ffe272;border-color:#d1ab30}.chaos .finish-row{background:#00e8db}.chaos .sheet-topline{font-weight:800}.chaos .band-callout{border-color:var(--ink)}.chaos .site-footer{border-top:2px solid var(--ink)}}
@media(max-width:760px){.header-actions{gap:0}.header-actions .header-note{display:none}.chaos-toggle{font-size:12px;padding:7px 8px}.chaos-banner{flex-direction:column;align-items:start;padding:12px 14px}.chaos-banner strong{font-size:21px}}
@media print{.chaos-banner{display:none!important}}
.manual-panel{margin-top:22px}.manual-panel h3{font-size:17px}.manual-row{background:#fafbf8;border:1px solid #d8dfd0;padding:12px;margin:12px 0}.manual-row-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.manual-row-heading label{margin:0}.remove-manual{border:0;background:transparent;font-size:23px;line-height:1;padding:2px 6px}.manual-inputs{margin-top:14px}.manual-inputs label{margin-top:0;font-size:12px}.fill-remaining{font-size:12px;margin-top:6px;text-decoration:underline;text-underline-offset:3px}.reminder-add-buttons{display:flex;flex-wrap:wrap;gap:6px 14px}.course-table td:first-child{overflow-wrap:anywhere}.course-table th,.course-table td{padding-left:5px;padding-right:5px}.course-table td{font-size:12px}.course-table td:last-child{white-space:nowrap}
@media screen{.chaos .manual-row{border:2px solid var(--ink);background:#fff7c5}.chaos .manual-panel h3{font-family:var(--display);font-size:26px;text-transform:uppercase}.chaos .remove-manual{background:#ff45b6;border:1px solid var(--ink)}}
.course-marker{margin-top:18px}.course-marker .toggle-label{margin:10px 0}.marker-details{display:block;margin-top:5px;font-size:12px;line-height:1.5;font-weight:400;overflow-wrap:anywhere}.marker-table td:first-child{min-width:150px;white-space:normal}.marker-table td{vertical-align:top}.split-reminder-label,.band-reminder-label{overflow-wrap:anywhere}
@media screen and (max-width:760px){.workspace{grid-template-columns:minmax(0,1fr)}.controls,.result-area{min-width:0}}
@media print{.course-table td{font-size:10px}.marker-table td{font-size:10px}.marker-details{font-size:9px}.marker-table td:first-child{min-width:0}}
.split-reminders{display:grid;gap:5px;margin-top:8px;padding-top:7px;border-top:1px dotted #cdd3c8}.split-reminder{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12px;line-height:1.5;font-weight:500;color:#536043}.split-reminder-label{background:#eef2e7;border:1px solid #dce3d3;border-radius:3px;padding:1px 5px}.split-reminder-time{white-space:nowrap;font-variant-numeric:tabular-nums}.band-reminder-label{display:block;font-weight:700;line-height:1.25}.band-reminder td{background:#f0f2ec}
@media print{.split-reminders{gap:3px;margin-top:5px;padding-top:4px}.split-reminder{font-size:9px;color:#000}.split-reminder-label{background:transparent;padding:0 3px}.band-reminder td{background:transparent;border-top:1px dotted #777}#pace-band td{padding:.5mm 0}#pace-band td:first-child{max-width:24mm}.band-reminder-label{font-size:8px}}
