.ridemaps{color-scheme:dark;--bg:#0f1412;--surface:#161d19;--surface-2:#1d2622;--text:#ece9e1;--muted:#9aa69e;--line:#26302b;--accent:#e8793b;--accent-contrast:#1a1208;--accent-soft:#3a2416;--cool:#6fb7b0;--cool-soft:#6fb7b024;--scrim:#0f1412d6;--danger:#e06c5a;--font-sans:var(--font-plex-sans,system-ui, -apple-system, "Segoe UI", sans-serif);--font-mono:var(--font-plex-mono,ui-monospace, "Cascadia Mono", Consolas, monospace);--step--1:.875rem;--step-0:1rem;--step-1:1.25rem;--label:.75rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--gutter:16px;--r-s:4px;--r-m:8px;--ease:.18s ease-out;--header-h:56px;--panel-w:380px;background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-sans);font-size:var(--step-0);-webkit-font-smoothing:antialiased;flex-direction:column;line-height:1.5;display:flex}.ridemaps[data-theme=light]{color-scheme:light;--bg:#f3f4ef;--surface:#fff;--surface-2:#e9ebe4;--text:#171c19;--muted:#58635d;--line:#d6dbd4;--accent:#ad431a;--accent-contrast:#fff;--accent-soft:#f6e4da;--cool:#2f7f78;--cool-soft:#2f7f781f;--scrim:#f3f4efe0;--danger:#b83a2a}body:has(>.ridemaps){background:#0f1412;margin:0}body:has(>.ridemaps[data-theme=light]){background:#f3f4ef}@media (width>=768px){.ridemaps{--gutter:24px}}.ridemaps *,.ridemaps :before,.ridemaps :after{box-sizing:border-box}.ridemaps a{color:var(--accent);text-underline-offset:.15em;text-decoration-thickness:1px}.ridemaps :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.ridemaps h1,.ridemaps h2{letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.2}.ridemaps p{margin:0 0 .75em}.ridemaps .sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.ridemaps *,.ridemaps :before,.ridemaps :after{transition-duration:0s!important;animation-duration:0s!important}}.ridemaps .eyebrow,.ridemaps .chip,.ridemaps .meta,.ridemaps label,.ridemaps .label,.ridemaps .seg button{font-family:var(--font-mono);font-size:var(--label);letter-spacing:.08em;text-transform:uppercase;line-height:1.4}.ridemaps .eyebrow{color:var(--muted)}.ridemaps .eyebrow b{color:var(--accent);font-weight:400}.ridemaps .chip{border-radius:var(--r-s);color:var(--accent);background:var(--accent-soft);white-space:nowrap;padding:.15rem .5rem;display:inline-block}.ridemaps .meta{color:var(--muted)}.ridemaps .c-header{z-index:20;justify-content:space-between;align-items:center;gap:var(--s-4);min-height:var(--header-h);padding:var(--s-2) var(--gutter);background:var(--scrim);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.ridemaps .brand{align-items:center;gap:var(--s-3);font-size:var(--step--1);flex-wrap:wrap;display:flex}.ridemaps .brand a{color:var(--muted);font-weight:500;text-decoration:none}.ridemaps .brand a:hover{color:var(--accent)}.ridemaps .brand .sep{color:var(--line)}.ridemaps .brand strong{color:var(--text);font-weight:600}.ridemaps .c-header nav{gap:var(--s-4);display:flex}.ridemaps .c-header nav a{color:var(--text);font-weight:500;font-size:var(--step--1);white-space:nowrap;align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.ridemaps .c-header nav a:hover{color:var(--accent)}@media (width<=599px){.ridemaps .brand>a:not(.app-name),.ridemaps .brand .sep{display:none}}.ridemaps .c-footer{padding:var(--s-5) 0 0;color:var(--muted);font-family:var(--font-mono);font-size:var(--label);letter-spacing:.08em;text-transform:uppercase;gap:var(--s-2);display:grid}.ridemaps .c-footer a{color:var(--muted)}.ridemaps .c-footer button{color:var(--muted);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;min-height:44px;padding:0;text-decoration:underline}.ridemaps{height:100dvh}.ridemaps .c-main{flex:1 1 0;grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-height:0;padding:0;display:grid}.ridemaps .c-preview{background:var(--bg);min-height:0;position:relative;overflow:hidden}.ridemaps .c-panel{padding:0 var(--gutter) var(--s-6);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-top:1px solid var(--line);min-width:0;min-height:0;position:relative;overflow-y:auto;box-shadow:0 -8px 18px #00000047}@media (width<=899px) and (orientation:landscape) and (height<=560px){.ridemaps .c-main{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ridemaps .c-panel{border-top:0;border-left:1px solid var(--line);box-shadow:none}}.ridemaps .c-split,.ridemaps .button.panel-toggle{display:none}@media (width>=900px){.ridemaps .c-main{grid-template-columns:var(--panel-w) 9px 1fr;grid-template-rows:minmax(0,1fr)}.ridemaps .c-preview{order:3}.ridemaps .c-panel{box-shadow:none;border-top:0;order:1}.ridemaps .c-split{cursor:col-resize;touch-action:none;background:linear-gradient(to right, transparent 4px, var(--line) 4px 5px, transparent 5px);order:2;display:block}.ridemaps .c-split:hover,.ridemaps .c-split.dragging,.ridemaps .c-split:focus-visible{background:linear-gradient(to right, transparent 3px, var(--accent) 3px 6px, transparent 6px);outline:none}.ridemaps.panel-hidden .c-main{grid-template-columns:0 9px 1fr}.ridemaps.panel-hidden .c-panel{visibility:hidden;padding:0;overflow:hidden}.ridemaps .button.panel-toggle{top:var(--s-3);left:var(--s-3);z-index:2;display:inline-flex;position:absolute}.ridemaps .c-preview .preview-notice{left:calc(var(--s-3) + 110px)}}.ridemaps .side-seg button{min-height:36px;padding:0 var(--s-3);font-size:var(--step--1)}.ridemaps .stage{touch-action:none;position:absolute;inset:0}.ridemaps .stage canvas{outline:none;display:block;width:100%!important;height:100%!important}.ridemaps .stage.dragging{outline:2px dashed var(--accent);outline-offset:-8px}.ridemaps .c-preview:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% 60%, transparent 0 29%, var(--cool-soft) 29% 30%, transparent 30% 44%, var(--cool-soft) 44% 45%, transparent 45% 59%, var(--cool-soft) 59% 60%, transparent 60%);opacity:.5;position:absolute;inset:0}.ridemaps .stage-ui{left:var(--s-3);right:var(--s-3);bottom:var(--s-3);align-items:center;gap:var(--s-3);pointer-events:none;flex-wrap:wrap;display:flex;position:absolute}.ridemaps .stage-ui>*{pointer-events:auto}.ridemaps .status{font-family:var(--font-mono);font-size:var(--label);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-left:auto}.ridemaps .status.busy{color:var(--accent)}.ridemaps .status.busy:before{content:"";border:2px solid var(--accent);vertical-align:-1px;border-right-color:#0000;border-radius:50%;width:10px;height:10px;margin-right:.5em;animation:.8s linear infinite rm-spin;display:inline-block}@keyframes rm-spin{to{transform:rotate(360deg)}}.ridemaps .preview-notice{top:var(--s-3);left:var(--s-3);right:var(--s-3);max-width:520px;padding:var(--s-2) var(--s-3);background:var(--scrim);border:1px solid var(--line);border-radius:var(--r-s);font-size:var(--step--1);position:absolute}.ridemaps .preview-notice[hidden]{display:none}.ridemaps .build-stats{left:var(--s-3);max-width:calc(100% - 2 * var(--s-3));bottom:calc(var(--s-3) + var(--stage-ui-h,44px) + var(--s-2));padding:var(--s-1) var(--s-2);border-radius:var(--r-s);background:var(--scrim);font-family:var(--font-mono);font-size:var(--label);letter-spacing:.04em;color:var(--muted);pointer-events:none;position:absolute}.ridemaps .build-stats:empty{display:none}.ridemaps .seg{border:1px solid var(--line);border-radius:var(--r-s);background:var(--surface);display:inline-flex;overflow:hidden}.ridemaps .seg button{min-width:44px;min-height:44px;padding:0 var(--s-3);border:0;border-right:1px solid var(--line);color:var(--text);cursor:pointer;background:0 0}.ridemaps .seg button:last-child{border-right:0}.ridemaps .seg button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.ridemaps .seg button:disabled{color:var(--muted);cursor:default}.ridemaps .separate-prints .seg{margin:var(--s-1) 0 0}.ridemaps .button{min-height:44px;padding:0 var(--s-4);border:1px solid var(--line);border-radius:var(--r-s);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;transition:background var(--ease), color var(--ease);justify-content:center;align-items:center;gap:.4em;font-weight:500;display:inline-flex}.ridemaps .button:hover{border-color:var(--accent);color:var(--accent)}.ridemaps .button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.ridemaps .button.primary:hover{background:var(--accent);color:var(--accent-contrast);filter:brightness(1.08)}.ridemaps .button.small{min-height:36px;padding:0 var(--s-3);font-size:var(--step--1)}.ridemaps .button:disabled,.ridemaps .button[aria-pressed=true]:disabled{opacity:.5;cursor:default;border-color:var(--line);color:var(--text);filter:none}.ridemaps .button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.ridemaps .actions{gap:var(--s-3);margin:var(--s-3) 0;flex-wrap:wrap;display:flex}.ridemaps .sec{padding:var(--s-3) 0;border-bottom:1px solid var(--line)}.ridemaps .sec-toggle{align-items:center;gap:var(--s-3);width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:flex}.ridemaps .sec-toggle .eyebrow{flex:none}.ridemaps .sec-toggle:hover .eyebrow{color:var(--text)}.ridemaps .sec-sum{text-overflow:ellipsis;white-space:nowrap;text-align:right;min-width:0;color:var(--muted);font-family:var(--font-sans);font-size:var(--step--1);letter-spacing:0;flex:1;font-weight:400;overflow:hidden}.ridemaps .sec-toggle:after{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);flex:none;width:8px;height:8px;margin:0 4px 4px 0;transition:transform .15s;transform:rotate(45deg)}.ridemaps .sec-toggle[aria-expanded=false]:after{margin:0 4px 0 0;transform:rotate(-45deg)}.ridemaps .sec-body{padding:var(--s-2) 0 var(--s-3)}.ridemaps .sec-body[hidden]{display:none}.ridemaps details.more>summary{align-items:center;gap:var(--s-2);cursor:pointer;min-height:36px;color:var(--muted);font-family:var(--font-mono);font-size:var(--label);letter-spacing:.08em;text-transform:uppercase;list-style:none;display:inline-flex}.ridemaps details.more>summary::-webkit-details-marker{display:none}.ridemaps details.more>summary:before{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;transition:transform .15s;transform:rotate(-45deg)}.ridemaps details.more[open]>summary:before{transform:rotate(45deg)}.ridemaps details.more>summary:hover{color:var(--text)}.ridemaps .more-body{gap:var(--s-2);display:grid}.ridemaps .job details.more{padding-left:28px}.ridemaps .job .more-body .range-field{padding-left:0}.ridemaps fieldset.field{border:0;min-width:0;margin:0;padding:0}.ridemaps fieldset.field>legend{margin-bottom:var(--s-1);color:var(--muted);padding:0}.ridemaps .checks{gap:0 var(--s-5);flex-wrap:wrap;display:flex}.ridemaps .fields{gap:var(--s-4);display:grid}.ridemaps .field{gap:var(--s-2);display:grid}.ridemaps .field .label,.ridemaps .field>label{color:var(--muted)}.ridemaps .row{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.ridemaps .input{width:100%;min-height:44px;padding:0 var(--s-3);border:1px solid var(--line);border-radius:var(--r-s);background:var(--surface);color:var(--text);font:inherit}.ridemaps .check{align-items:center;gap:var(--s-2);min-height:44px;color:var(--text);text-transform:none;letter-spacing:0;font-family:var(--font-sans);font-size:var(--step-0);cursor:pointer;display:flex}.ridemaps .check input{width:20px;height:20px;accent-color:var(--accent);margin:0}.ridemaps .check-row{gap:var(--s-1);display:grid}.ridemaps .range-field label{justify-content:space-between;gap:var(--s-3);display:flex}.ridemaps .range-field output{color:var(--text);text-transform:none;letter-spacing:0;font-family:var(--font-sans)}.ridemaps input[type=range]{width:100%;min-height:44px;accent-color:var(--accent);margin:0}.ridemaps input[type=range]:disabled{opacity:.5}.ridemaps .file-btn{min-height:44px;padding:0 var(--s-4);border:1px dashed var(--line);border-radius:var(--r-s);color:var(--text);font-family:var(--font-sans);font-size:var(--step-0);text-transform:none;letter-spacing:0;cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.ridemaps .file-btn:hover{border-color:var(--accent);color:var(--accent)}.ridemaps .file-btn:has(:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.ridemaps .help{color:var(--muted);font-size:var(--step--1)}.ridemaps .fine{color:var(--muted);font-size:var(--step--1);margin:var(--s-1) 0 0}.ridemaps .fine b{color:var(--text);font-weight:500}.ridemaps .error{color:var(--danger);font-size:var(--step--1)}.ridemaps .rides-on-map{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.ridemaps .rides-on-map .button{justify-self:start}.ridemaps .ride-summary{gap:var(--s-1);padding:var(--s-3);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r-s);background:var(--surface);display:grid}.ridemaps .credits{text-transform:none;letter-spacing:0;max-width:60ch;font-family:var(--font-sans)}.ridemaps h3.label{margin:var(--s-2) 0 0;color:var(--muted);font-weight:400}.ridemaps h3.label.split{justify-content:space-between;gap:var(--s-3);margin-top:0;display:flex}.ridemaps .jobs{border:1px solid var(--line);border-radius:var(--r-s);background:var(--surface);display:grid}.ridemaps .job{gap:var(--s-2);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line);display:grid}.ridemaps .job:last-child{border-bottom:0}.ridemaps .job-head{justify-content:space-between;align-items:center;gap:var(--s-3);flex-wrap:wrap;min-height:44px;display:flex}.ridemaps .job-name{padding-left:28px}.ridemaps .pick{align-items:center;gap:var(--s-2);display:inline-flex}.ridemaps .pick .dot{border:1px solid #00000059;border-radius:50%;flex:none;width:20px;height:20px;box-shadow:inset 0 0 0 1px #ffffff2e}.ridemaps .pick select{width:auto;min-width:10.5rem}.ridemaps .job .range-field,.ridemaps .job #trees-status{padding-left:28px}.ridemaps .job #trees-status{gap:var(--s-2);justify-items:start;display:grid}.ridemaps .ends{color:var(--muted);font-size:var(--step--1);margin-top:calc(-1 * var(--s-1));justify-content:space-between;display:flex}.ridemaps .fine.warn{color:var(--danger)}.ridemaps .busy-line:before{content:"";border:2px solid var(--accent);vertical-align:-1px;border-right-color:#0000;border-radius:50%;width:10px;height:10px;margin-right:.5em;animation:.8s linear infinite rm-spin;display:inline-block}.ridemaps .estimate{padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-s);background:var(--surface)}.ridemaps .estimate h3.label{margin:0 0 var(--s-2)}.ridemaps .estimate dl{margin:0 0 var(--s-2);gap:var(--s-1);display:grid}.ridemaps .estimate dl>div{gap:var(--s-2);font-size:var(--step--1);grid-template-columns:9.5rem 1fr;display:grid}.ridemaps .estimate dt{color:var(--muted)}.ridemaps .estimate dd{margin:0}@media (width<=479px){.ridemaps .stage-ui{gap:var(--s-2)}.ridemaps .stage-ui .button.small,.ridemaps .side-seg button{padding:0 var(--s-2)}}.ridemaps .engrave-lines{gap:var(--s-3);display:grid}.ridemaps .frame-colours{gap:var(--s-1);padding-left:28px;display:grid}.ridemaps .frame-colours .job-name{padding-left:0}.ridemaps .job .check-row,.ridemaps #sec-extras .check-row>.fine{padding-left:28px}@media (width<=899px){.ridemaps{--header-h:44px}.ridemaps .c-header{min-height:var(--header-h);padding-top:var(--s-1);padding-bottom:var(--s-1);background:var(--bg);-webkit-backdrop-filter:none}.ridemaps .c-header nav a{min-height:36px}.ridemaps .stage-ui{left:var(--s-2);right:var(--s-2);bottom:var(--s-2);gap:var(--s-1)}.ridemaps .stage-ui .button.small,.ridemaps .stage-ui .side-seg button{letter-spacing:.04em;min-width:0;min-height:30px;padding:0 6px;font-size:.6875rem}.ridemaps .stage-ui .status{text-align:right;flex-basis:100%;order:-1;margin:0}.ridemaps .stage-ui .status:empty{display:none}.ridemaps .build-stats{left:var(--s-2);max-width:calc(100% - 2 * var(--s-2));bottom:calc(var(--s-2) + var(--stage-ui-h,32px) + var(--s-1));white-space:nowrap;text-overflow:ellipsis;font-size:.625rem;overflow:hidden}.ridemaps .sec{padding:var(--s-1) 0}.ridemaps .sec-toggle{min-height:40px}.ridemaps .sec-body{padding:0 0 var(--s-2)}.ridemaps .fields{gap:var(--s-3)}.ridemaps .field{gap:var(--s-1)}.ridemaps .input{min-height:38px}.ridemaps .seg button{min-width:36px;min-height:36px;padding:0 var(--s-2)}.ridemaps .button{min-height:38px;padding:0 var(--s-3)}.ridemaps .button.small{min-height:32px}.ridemaps .check{min-height:36px;font-size:var(--step--1)}.ridemaps .check input{width:18px;height:18px}.ridemaps input[type=range]{min-height:30px}.ridemaps .fine,.ridemaps .help{font-size:.8125rem;line-height:1.4}.ridemaps .job{gap:var(--s-1);padding:var(--s-1) var(--s-2)}.ridemaps .job-head{gap:var(--s-2);min-height:38px}.ridemaps .pick select{min-width:8.5rem}.ridemaps details.more>summary{min-height:30px}.ridemaps .ride-summary{padding:var(--s-2)}.ridemaps .file-btn{min-height:38px}.ridemaps .estimate{padding:var(--s-2)}.ridemaps .stage-ui .wide{display:none}}
