:root{color-scheme:light;--paper:#f3f0ea;--ink:#20201e;--muted:#746f68;--line:#d1ccc4;--orange:#fc4c02}*{box-sizing:border-box}html,body{width:100%;max-width:100%;overflow-x:hidden}body{margin:0;background:var(--paper);color:var(--ink);font:16px Arial,Helvetica,sans-serif}main{width:100%;max-width:1320px;margin:auto;padding:32px 48px 48px}nav{display:flex;align-items:center;justify-content:space-between}nav span{font-size:12px;color:var(--muted)}.brand{font-size:22px;font-weight:700;letter-spacing:-.07em;text-decoration:none;color:inherit}header{margin:76px 0 54px}header h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(60px,8.7vw,110px);letter-spacing:-.075em;line-height:.9;font-weight:400;margin:0 0 28px;max-width:720px;text-transform:lowercase}header>p:last-child{color:var(--muted);line-height:1.6;margin:0}.workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:64px;border-top:1px solid var(--ink);padding-top:32px}.preview-column,.editor{min-width:0;width:100%}.preview{width:100%;aspect-ratio:1;display:flex;align-items:center;position:relative;overflow:hidden;background:#303831;border-radius:3px;background-size:cover;background-position:50% 50%;touch-action:pan-y}.preview[data-background=dark]{background-color:#303831;background-image:radial-gradient(ellipse at 20% 0%,#526452,transparent 65%),linear-gradient(150deg,transparent,#192421)}.preview[data-background=light]{background-color:#ded8cd;background-image:radial-gradient(ellipse at 80% 10%,#eee8df,transparent 65%)}.preview[data-background=gradient]{background-color:#272727;background-image:radial-gradient(ellipse at 12% 8%,#77777790,transparent 62%),radial-gradient(ellipse at 90% 85%,#4c4c4c70,transparent 65%),linear-gradient(145deg,#454545,#111);background-size:cover}.preview[data-background=gradient][data-ink=dark]{background-color:#e1e1df;background-image:radial-gradient(ellipse at 12% 8%,#fff,transparent 62%),radial-gradient(ellipse at 90% 85%,#b9b9b950,transparent 65%),linear-gradient(145deg,#ededeb,#c5c5c3)}.preview[data-background=gradient]::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath d='M0 0h160v160H0z' filter='url(%23grain)' opacity='.8'/%3E%3C/svg%3E");background-size:160px 160px;mix-blend-mode:soft-light}.preview[data-background=gradient][data-ink=dark] .preview-tag{color:#5b5b59;text-shadow:none}canvas{display:block;width:100%;height:auto;position:relative}.preview-tag{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#fff;font-size:10px;letter-spacing:.04em;text-shadow:0 1px 3px #000;pointer-events:none}.preview-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:14px}.backgrounds{display:flex;gap:14px}button,.photo-button{font:inherit;cursor:pointer}.preview-tools button,.photo-button,.photo-adjust button{background:none;border:0;color:var(--muted);padding:6px 0;font-size:12px}.preview-tools button[aria-pressed=true],.photo-button{text-decoration:underline;text-underline-offset:4px;color:var(--ink)}.photo-button{position:relative}.photo-button input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;clip-path:inset(50%);white-space:nowrap}.photo-button:focus-within{outline:2px solid var(--line);outline-offset:3px}.preview-note,.help{font-size:12px;line-height:1.6;color:var(--muted)}.preview-note{margin-top:14px}.fields{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr);gap:12px}.editor label:not(.switch){display:block;font-size:12px;color:var(--muted);margin:20px 0 8px}.field-label{display:block;font-size:12px;color:var(--muted);margin:20px 0 8px}.stat-value{display:block;min-height:28px;padding:0;border:0;background:transparent;color:var(--ink);font:400 16px/1.5 Arial,Helvetica,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;user-select:none;-webkit-user-select:none;pointer-events:none}.stat-value:empty::before{content:"—";color:var(--muted)}.fields input,.ride-source input,.ride-source select{min-width:0;width:100%;max-width:100%;border:1px solid var(--line);background:transparent;border-radius:0;font:16px/1.5 Arial,sans-serif;color:var(--ink);padding:10px 12px}.ride-source select{appearance:none}.ride-source{padding-bottom:8px;border-bottom:0}.ride-source label{margin-top:0!important}.ride-source form{margin-top:20px}.ride-link-row{display:flex;gap:8px}.ride-link-row input{flex:1}.ride-link-row button{flex:none;background:transparent;border:1px solid var(--ink);padding:10px 13px;color:var(--ink);font-size:13px;white-space:nowrap}#ride-status{min-height:20px;margin:12px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}#ride-status a{color:inherit;text-underline-offset:3px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:1px solid var(--line);outline-offset:2px}fieldset{border:0;padding:0;margin:28px 0 20px}legend,.ratio-tools>span{font-size:12px;color:var(--muted);margin-bottom:10px}.segmented{display:flex;border:1px solid var(--line);min-width:0}.segmented button{flex:1;min-width:0;background:transparent;border:0;padding:12px 8px;color:var(--ink);font-size:14px}.segmented button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.ratio-tools{margin-top:24px}.ratio-tools>span{display:block}.ratio-tools .segmented{flex-wrap:wrap}.ratio-tools .segmented button{flex:1 1 40%;white-space:nowrap}.photo-adjust{display:grid;grid-template-columns:auto minmax(80px,1fr) auto;gap:12px;align-items:center;margin-top:12px;font-size:12px;color:var(--muted)}.photo-adjust label{margin:0!important}.photo-adjust input{width:100%;min-width:0;accent-color:var(--ink)}.photo-adjust button{white-space:nowrap}.photo-adjust span{grid-column:1/-1}.switch{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer;margin-top:22px}.switch input{width:16px;height:16px;accent-color:var(--ink)}.exports{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}.exports button{background:transparent;border:1px solid var(--ink);padding:15px 20px;color:var(--ink);font-size:14px}.exports .primary{background:var(--ink);color:var(--paper);flex:1}.exports button:disabled{opacity:.5;cursor:wait}#status{font-size:13px;line-height:1.5;min-height:22px;margin:14px 0}.help{margin-top:14px}footer{margin-top:80px;padding-top:22px;border-top:1px solid var(--line);font-size:12px;display:flex;justify-content:space-between;color:var(--muted)}[hidden]{display:none!important}@media(max-width:900px){main{padding:24px}.workspace{grid-template-columns:minmax(0,1fr);gap:36px}.preview-column{max-width:600px;margin:0 auto}header{margin:52px 0 38px}.editor{max-width:600px;margin:0 auto}.fields{gap:8px}.fields input{padding:10px 8px}.exports button{min-height:48px}footer{margin-top:52px}}@media(max-width:420px){main{padding:20px 16px 32px}.workspace{gap:28px;padding-top:24px}.preview-tools{gap:8px}.backgrounds{gap:12px}.fields{grid-template-columns:1fr 1.2fr 1.2fr}.fields input{font-size:15px;padding:9px 6px}.ride-link-row{flex-wrap:wrap}.ride-link-row button{width:100%}.ratio-tools .segmented button{font-size:12px;padding:10px 5px}.photo-adjust{grid-template-columns:1fr auto}.photo-adjust input{grid-column:1/-1;grid-row:2}.photo-adjust span{grid-column:1/-1}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,color .15s}}
.fields input[readonly]{cursor:default;caret-color:transparent;background:color-mix(in srgb,var(--paper) 72%,var(--ink) 4%)}
.ride-source{border-bottom:0}
.workspace{border-top:0;padding-top:0}
.field-label{display:block;font-size:12px;color:var(--muted);margin:20px 0 8px}
.stat-value{display:block;min-height:28px;padding:0;border:0;background:transparent;color:var(--ink);font:400 16px/1.5 Arial,Helvetica,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;user-select:none;-webkit-user-select:none;pointer-events:none}
.stat-value:empty::before{content:"—";color:var(--muted)}
.scale-tools{margin-top:20px}
.scale-tools label{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:10px}
.scale-tools output{color:var(--ink);font-variant-numeric:tabular-nums}
.scale-tools input{display:block;width:100%;margin:0;accent-color:var(--ink);cursor:pointer}
.style-picker{margin:24px 0 28px}
.preview-tag{top:14px;bottom:auto;left:auto;right:14px;text-align:right}
.style-options{display:flex;gap:12px;max-width:600px}
.style-options button{flex:1;min-width:0;padding:12px;background:transparent;color:var(--muted);border:1px solid var(--line);text-align:left;font-size:12px}
.style-options button[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}
.style-swatch{height:48px;display:flex;gap:5px;align-items:end;margin-bottom:12px;position:relative;opacity:.5}
[aria-pressed=true]>.style-swatch{opacity:1}
.style-swatch i{display:block;background:currentColor;height:12px;width:18px}
.swatch-original{flex-direction:column;align-items:start;justify-content:end;gap:4px}
.swatch-original i:first-child{height:24px;width:17px}.swatch-original i:nth-child(2){height:3px;width:12px}.swatch-original i:last-child{height:8px;width:31px}
.swatch-studio{gap:10px;border-bottom:1px solid currentColor;padding-bottom:8px}.swatch-studio i{height:10px;width:19px}.swatch-studio i:last-child{width:27px}
.swatch-stack{height:48px;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.swatch-stack i{height:3px;width:25px}
.swatch-ledger{height:48px;flex-direction:column;justify-content:center;gap:5px}
.swatch-ledger i{height:2px;width:34px}
.swatch-ledger i:nth-child(2){width:26px;margin-left:8px}
.fields-ride{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:520px){.fields-ride{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:8px}}
@media(max-width:420px){.style-options{gap:8px}.style-options button{padding:10px}.swatch-studio{gap:6px}.swatch-studio i{width:14px}.swatch-studio i:last-child{width:19px}}

@font-face{font-family:'Geist Mono';src:url('/fonts/geist/GeistMono-Variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
