*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--rrd-green-deep: #104538;--rrd-green: #22755a;--rrd-green-mid: #2d9169;--rrd-green-light: #3aa876;--rrd-mint: #6dc9a4;--rrd-mint-bright: #9edfc0;--rrd-sage-soft: #d0e8dc;--rrd-page: #edf3f0;--rrd-surface: #ffffff;--rrd-surface-muted: #f6faf8;--rrd-border: #d0e2d8;--rrd-border-strong: #b5d4c4;--rrd-text: #0f1f18;--rrd-text-muted: #4f6d60;--rrd-text-subtle: #758f82;--rrd-accent-soft: #eaf5ef;--rrd-radius-sm: 10px;--rrd-radius: 16px;--rrd-shadow: 0 4px 6px rgba(16, 52, 40, .04), 0 12px 32px rgba(16, 52, 40, .07);--rrd-shadow-hover: 0 8px 16px rgba(16, 52, 40, .05), 0 20px 48px rgba(16, 52, 40, .1);--rrd-font: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--bg: var(--rrd-page);--surface: var(--rrd-surface);--surface-2: var(--rrd-surface-muted);--border: var(--rrd-border);--text: var(--rrd-text);--text-muted: var(--rrd-text-muted);--accent: var(--rrd-green);--accent-glow: rgba(34, 117, 90, .28);--green: var(--rrd-green-mid);--red: #c53d3d;--radius: var(--rrd-radius-sm)}html,body,#root{height:100%;height:100dvh}body{font-family:var(--rrd-font);background:var(--bg);color:var(--text);line-height:1.55;-webkit-font-smoothing:antialiased;overscroll-behavior:none;touch-action:manipulation}.app{display:flex;flex-direction:column;height:100%;height:100dvh;min-height:0}.header{position:relative;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1);background:#104538f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#fff;overflow:visible}.header--with-route{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.75rem 1rem}.header--with-route .header-brand{justify-self:start;min-width:0}.header--with-route .header-center{justify-self:center;grid-column:2}.header-end{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.header-rrd-brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:#fff;flex-shrink:0;transition:opacity .15s ease}.header-rrd-brand:hover{opacity:.9}.header-rrd-brand__logo{display:block;width:2.75rem;height:2.75rem;flex-shrink:0}.header-rrd-brand__name{font-size:.95rem;font-weight:700;letter-spacing:-.02em;line-height:1.15;white-space:nowrap}.header-rrd-brand__name-light{font-weight:500;color:#ffffffd1}.header--with-route .header-end{justify-self:end;grid-column:3}.header-center{display:flex;align-items:center;justify-content:center;gap:.65rem;min-width:0;max-width:100%;text-align:center}.header-center .route-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(28rem,42vw)}.header-brand{display:flex;align-items:center;gap:14px}.logo{font-size:28px}.header h1{font-size:1.05rem;font-weight:700;letter-spacing:-.03em;color:#fff}.header p{font-size:.76rem;color:#ffffffa6;margin-top:2px}.header-actions-menu{position:relative}.header-actions-menu__toggle{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .9rem;font-size:.82rem;min-height:2.25rem;white-space:nowrap;background:var(--rrd-mint-bright);color:var(--rrd-green-deep)}.header-actions-menu__toggle:not(:disabled):hover{background:#fff;box-shadow:0 4px 16px #0003}.header-actions-menu__chevron{font-size:.7rem;line-height:1;opacity:.85}.header-actions-menu__panel{position:absolute;top:calc(100% + .4rem);right:0;z-index:60;display:flex;flex-direction:column;gap:.35rem;min-width:16rem;padding:.4rem;border:1px solid rgba(255,255,255,.18);border-radius:var(--rrd-radius-sm);background:#104538fa;box-shadow:0 10px 28px #00000047;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-actions-menu__item{width:100%;padding:.55rem .8rem;white-space:nowrap;border:1px solid rgba(255,255,255,.12);border-radius:calc(var(--rrd-radius-sm) - 2px);background:#ffffff14;color:#fff;font-family:inherit;font-size:.82rem;font-weight:600;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease}.header-actions-menu__item:not(:disabled):hover{background:#ffffff29;border-color:#ffffff47}.header-actions-menu__item:disabled{opacity:.5;cursor:not-allowed}.header-settings-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#ffffff1f;color:#fff;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.header-settings-btn:not(:disabled):hover{background:#fff3;border-color:#ffffff4d;transform:translateY(-1px)}.header-settings-btn:disabled{opacity:.5;cursor:not-allowed}.header-settings-btn .settings-gear-btn__icon{width:1.3rem;height:1.3rem}.route-name{font-weight:600;font-size:.88rem;color:#fff}.route-distance{background:#ffffff1f;border:1px solid rgba(255,255,255,.18);padding:.3rem .75rem;border-radius:999px;font-size:.8rem;color:var(--rrd-mint-bright);font-weight:600}.main{position:relative;z-index:1;flex:1;min-height:0;overflow:hidden}.upload-zone{--upload-image-inset-y: 5%;--upload-image-inset-x: 2.5%;position:relative;display:flex;align-items:center;justify-content:center;height:100%;background:#fff;overflow:hidden}.upload-zone:before{content:"";position:absolute;inset:var(--upload-image-inset-y) var(--upload-image-inset-x);z-index:1;background:linear-gradient(180deg,#0c241c2e,#0c241c52 55%,#0c241c6b);pointer-events:none}.upload-hero{position:absolute;inset:var(--upload-image-inset-y) var(--upload-image-inset-x);margin:0}.upload-hero__image{display:block;width:100%;height:100%;object-fit:cover;object-position:center 44%}.upload-content{position:relative;z-index:2;text-align:center;width:min(100%,26rem);padding:2rem 2.1rem 2.25rem;border:1px solid rgba(255,255,255,.65);border-radius:var(--rrd-radius);background:#ffffffed;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 48px #08181247,0 2px #ffffff8c inset;transform:translateY(clamp(1.25rem,5vh,3.5rem));transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.upload-zone:hover .upload-content{border-color:#ffffffe6;box-shadow:0 24px 56px #08181257,0 2px #ffffffa6 inset;transform:translateY(calc(clamp(1.25rem,5vh,3.5rem) - 3px))}.upload-zone__attribution{position:absolute;left:calc(var(--upload-image-inset-x) + max(.85rem,env(safe-area-inset-left)));bottom:calc(var(--upload-image-inset-y) + max(.75rem,env(safe-area-inset-bottom)));z-index:2;margin:0;font-size:.68rem;text-shadow:0 1px 4px rgba(0,0,0,.75)}.upload-zone__attribution a{color:#fffffff2}.upload-icon{display:flex;justify-content:center;margin-bottom:16px;color:#ff2800}.upload-content h2{font-size:20px;margin-bottom:8px}.upload-content p{color:var(--text-muted);font-size:14px;margin-bottom:24px}.upload-btn{display:inline-block;padding:.7rem 1.35rem;background:var(--rrd-green);color:#fff;border-radius:999px;font-weight:600;font-size:.92rem;cursor:pointer;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.upload-btn:hover{transform:translateY(-1px);background:var(--rrd-green-light);box-shadow:0 4px 20px var(--accent-glow)}.error{color:var(--red);margin-top:16px;font-size:14px}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:20px}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen p{color:var(--text-muted);font-size:14px}.editor{display:flex;flex-direction:column;height:100%;position:relative;min-height:0}.editor .map-wrapper{flex:1;min-height:0}.map-wrapper{position:relative;overflow:hidden}.export-progress-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:flex-end;justify-content:flex-end;background:transparent;pointer-events:none;padding:1rem 1.25rem;padding-bottom:max(1rem,env(safe-area-inset-bottom));padding-right:max(1.25rem,env(safe-area-inset-right))}.export-progress-overlay__card{text-align:left;padding:.9rem 1.1rem;background:#000000c7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:var(--rrd-radius);min-width:0;max-width:min(22rem,calc(100% - 2rem));box-shadow:0 8px 28px #0006}.export-progress-overlay__status{margin:0;font-size:.95rem;font-weight:600;color:#fff;line-height:1.4}.export-progress-overlay__bar{margin-top:.75rem;height:6px;border-radius:999px;background:#ffffff26;overflow:hidden}.export-progress-overlay__fill{height:100%;border-radius:inherit;background:var(--rrd-green-mid);transition:width .12s ease}.map-container{width:100%;height:100%}.map-container .maplibregl-ctrl-attrib,.map-container .maplibregl-ctrl-logo{display:none!important}.map-container--exporting{pointer-events:none}.map-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:20px}.logo-overlay-box{position:absolute;top:20px;right:20px;z-index:2;height:18%;width:auto;aspect-ratio:1;box-sizing:border-box;border-radius:12px;background:color-mix(in srgb,var(--logo-box-color, #ff6b35) var(--logo-box-bg-opacity, 25%),transparent);display:grid;place-items:center;overflow:hidden;filter:drop-shadow(0 2px 8px rgba(0,0,0,.55))}.logo-overlay-box__img{width:144%;height:144%;max-width:144%;max-height:144%;object-fit:contain}.overlay-settings-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin-top:2px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:var(--rrd-radius-sm);background:#000000a6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;cursor:pointer;pointer-events:auto;transition:background .15s ease,border-color .15s ease,transform .15s ease}.overlay-settings-btn:not(:disabled):hover{background:#000c;border-color:#ffffff59;transform:translateY(-1px)}.overlay-settings-btn:disabled{opacity:.5;cursor:not-allowed}.settings-gear-btn__icon{display:block;width:1.35rem;height:1.35rem;flex-shrink:0}.title-card{background:#000000a6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:14px 20px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.2);color:#fff;z-index:2}.title-card--top-left{align-self:flex-start}.title-card--bottom{position:absolute;left:50%;bottom:36px;transform:translate(-50%);width:50%;max-width:none;padding:10px 28px 12px;text-align:center}.title-card--bottom h2{font-size:16px;margin:0 0 6px}.title-card h2{font-size:18px;font-weight:700;color:#fff;line-height:1.3}.title-card__meta{display:grid;gap:3px;margin:8px 0 0}.title-card__row{display:grid;grid-template-columns:max-content 1fr;gap:.35rem;align-items:baseline;font-size:13px;line-height:1.4}.title-card__row dt{margin:0;color:#fffc;font-weight:500}.title-card__row dt:after{content:" :"}.title-card__row dd{margin:0;color:var(--title-card-value-color, var(--rrd-mint-bright));font-weight:600}.title-card__meta--bottom{gap:0;margin-top:0}.title-card__grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;column-gap:clamp(1rem,4vw,2.5rem)}.title-card__grid--single{grid-template-columns:1fr}.title-card__col{display:grid;gap:4px}.title-card__col--left{justify-items:start}.title-card__col--center{justify-items:center}.title-card__col--right{justify-items:end}.title-card__item{display:inline-grid;grid-template-columns:max-content max-content;gap:.3rem;align-items:baseline;font-size:12px;line-height:1.35;margin:0;white-space:nowrap}.title-card__item dt{margin:0;color:#fffc;font-weight:500}.title-card__item dt:after{content:" :"}.title-card__item dd{margin:0;color:var(--title-card-value-color, var(--rrd-mint-bright));font-weight:600}.position-options{display:flex;flex-direction:column;gap:.5rem}.position-option{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;border:1px solid var(--rrd-border);border-radius:var(--rrd-radius-sm);background:var(--rrd-surface);color:var(--rrd-text);font-size:.9rem;cursor:pointer}.position-option:has(input:checked){border-color:var(--rrd-green);background:var(--rrd-accent-soft)}.map-basemap-apply{width:100%;margin-top:.85rem}.position-option input{accent-color:var(--rrd-green)}.map-attribution{position:absolute;left:20px;bottom:12px;margin:0;font-size:11px;font-weight:500;color:#ffffffe0;text-shadow:0 1px 4px rgba(0,0,0,.8);z-index:1}.map-attribution a{color:inherit;text-decoration:underline;text-underline-offset:2px;pointer-events:auto}.map-attribution a:hover{color:#fff}.map-overlay__footer{margin-top:auto;display:flex;flex-direction:column;gap:6px}.progress-bar{height:3px;background:#ffffff26;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .1s linear}.settings-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.25rem}.settings-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#0f1f1873;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer}.settings-modal__panel{position:relative;z-index:1;display:flex;flex-direction:column;width:min(100%,24rem);max-height:min(90vh,40rem);background:var(--rrd-surface);border:1px solid var(--rrd-border);border-radius:var(--rrd-radius);box-shadow:var(--rrd-shadow-hover);overflow:hidden}.settings-modal__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 1.25rem 1rem;border-bottom:1px solid var(--rrd-border);background:linear-gradient(180deg,var(--rrd-surface-muted) 0%,var(--rrd-surface) 100%)}.settings-modal__header-main{display:flex;align-items:center;gap:.5rem;min-width:0}.settings-modal__back{flex-shrink:0;width:2rem;height:2rem;border:1px solid var(--rrd-border);border-radius:var(--rrd-radius-sm);background:var(--rrd-surface);color:var(--rrd-text-muted);font-size:1.1rem;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.settings-modal__back:hover{background:var(--rrd-accent-soft);border-color:var(--rrd-border-strong);color:var(--rrd-green-deep)}.settings-modal__eyebrow{margin:0 0 .25rem;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--rrd-text-subtle)}.settings-modal__title{margin:0;font-size:1.15rem;font-weight:700;letter-spacing:-.02em;color:var(--rrd-text)}.settings-modal__close{flex-shrink:0;width:2rem;height:2rem;border:1px solid var(--rrd-border);border-radius:var(--rrd-radius-sm);background:var(--rrd-surface);color:var(--rrd-text-muted);font-size:1.35rem;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.settings-modal__close:hover{background:var(--rrd-accent-soft);border-color:var(--rrd-border-strong);color:var(--rrd-green-deep)}.settings-modal__body{flex:1;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.85rem}.settings-menu{display:flex;flex-direction:column;gap:.5rem}.settings-menu__btn{width:100%;padding:.8rem 1rem;border:1px solid var(--rrd-border);border-radius:var(--rrd-radius-sm);background:var(--rrd-surface);color:var(--rrd-green-deep);font-family:inherit;font-size:.92rem;font-weight:600;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.settings-menu__btn:hover:not(:disabled){background:var(--rrd-accent-soft);border-color:var(--rrd-border-strong);transform:translateY(-1px)}.settings-menu__btn:disabled{opacity:.5;cursor:not-allowed}.settings-menu__btn--muted{color:var(--rrd-text-muted)}.settings-menu__btn--muted:hover:not(:disabled){color:var(--rrd-green-deep)}.about-section__app{margin:0;font-size:1rem;font-weight:700;color:var(--rrd-text)}.about-section__version{margin:.2rem 0 0;font-size:.92rem;font-weight:600;color:var(--rrd-green)}.about-disclaimer{margin-top:1rem;padding:.75rem .85rem;border:1px solid var(--rrd-border);border-radius:var(--rrd-radius-sm);background:var(--rrd-surface)}.about-disclaimer__title{margin:0 0 .35rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--rrd-text-subtle)}.about-disclaimer__text{margin:0;font-size:.84rem;line-height:1.45;color:var(--rrd-text-muted)}.about-disclaimer__text a{color:var(--rrd-green);font-weight:600;text-decoration:underline;text-underline-offset:2px}.about-disclaimer__text a:hover{color:var(--rrd-green-deep)}.about-changelog{display:flex;flex-direction:column;gap:1rem;margin-top:1rem;max-height:min(18rem,40vh);overflow-y:auto;padding-right:.15rem}.about-release__heading{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin:0 0 .45rem;font-size:.88rem;font-weight:700;color:var(--rrd-text)}.about-release__heading time{font-size:.78rem;font-weight:500;color:var(--rrd-text-subtle);white-space:nowrap}.about-release__list{margin:0;padding-left:1.15rem;font-size:.84rem;line-height:1.45;color:var(--rrd-text-muted)}.about-release__list li+li{margin-top:.3rem}.control-section{padding:1rem 1.05rem;background:var(--rrd-surface-muted);border:1px solid var(--rrd-border);border-radius:var(--rrd-radius-sm)}.control-section--actions{background:var(--rrd-surface);border-color:var(--rrd-border-strong);box-shadow:var(--rrd-shadow)}.control-section__label{margin:0 0 .35rem;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--rrd-text-subtle)}.control-section__hint{margin:0 0 .75rem;font-size:.82rem;color:var(--rrd-text-muted)}.preference-toggle{display:flex;align-items:flex-start;gap:.6rem;margin-top:.85rem;font-size:.85rem;line-height:1.4;color:var(--rrd-text);cursor:pointer;-webkit-user-select:none;user-select:none}.preference-toggle input{margin-top:.15rem;flex-shrink:0;accent-color:var(--rrd-green)}.logo-upload-btn{display:block;padding:.75rem 1rem;background:var(--rrd-surface);border:1px dashed var(--rrd-border-strong);border-radius:var(--rrd-radius-sm);font-size:.88rem;font-weight:600;color:var(--rrd-green);text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.logo-upload-btn:hover{border-color:var(--rrd-green-mid);background:var(--rrd-accent-soft);color:var(--rrd-green-deep)}.logo-control{display:flex;align-items:center;gap:12px;padding:.75rem;background:var(--rrd-surface);border-radius:var(--rrd-radius-sm);border:1px solid var(--rrd-border)}.logo-opacity-row{margin-top:.85rem}.logo-control-preview{max-width:80px;max-height:36px;object-fit:contain}.btn-small{padding:6px 10px;font-size:12px}.color-picker{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:transform .15s,border-color .15s}.color-swatch:hover:not(:disabled){transform:scale(1.1)}.color-swatch.active{border-color:var(--rrd-surface);box-shadow:0 0 0 2px var(--rrd-green),0 0 0 4px var(--rrd-accent-soft)}.color-swatch:disabled{opacity:.5;cursor:not-allowed}.color-input-wrap{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;overflow:hidden;border:1px solid var(--border);cursor:pointer}.color-input-wrap input[type=color]{width:36px;height:36px;border:none;padding:0;cursor:pointer;background:none}.duration-row{display:flex;align-items:center;gap:12px}.duration-row input[type=range]{flex:1;accent-color:var(--accent)}.duration-value{font-size:.88rem;font-weight:700;color:var(--rrd-green-deep);min-width:2.5rem;text-align:right}.control-buttons{display:flex;flex-direction:column;gap:.5rem}.export-dialog{z-index:1100}.export-dialog__actions{display:flex;gap:.5rem;margin-top:1.25rem}.export-dialog__actions .btn{flex:1}.btn{padding:.68rem 1rem;border:none;border-radius:var(--rrd-radius-sm);font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .15s ease,opacity .15s ease,background .15s ease,box-shadow .15s ease;font-family:inherit}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn-primary{background:var(--rrd-green);color:#fff}.btn-primary:not(:disabled):hover{background:var(--rrd-green-light);box-shadow:0 4px 16px var(--accent-glow)}.btn-secondary{background:var(--rrd-surface);color:var(--rrd-green-deep);border:1px solid var(--rrd-border-strong)}.btn-secondary:not(:disabled):hover{background:var(--rrd-accent-soft);border-color:var(--rrd-green-mid)}.btn-export-4k{background:var(--rrd-green-deep);color:#fff;border:1px solid rgba(255,255,255,.08)}.btn-export-4k:not(:disabled):hover{background:var(--rrd-green);box-shadow:0 4px 20px #10453847}.btn-ghost{background:transparent;color:var(--rrd-text-muted)}.btn-ghost:not(:disabled):hover{color:var(--rrd-green-deep);background:var(--rrd-accent-soft)}.export-field-label{margin:0 0 .5rem;font-size:.9rem;font-weight:600;color:var(--rrd-text)}.export-directory-btn{width:100%}.export-directory-path{display:block;margin-top:.65rem;min-height:2.75rem;padding:.7rem .8rem;background:var(--rrd-surface);border:1px solid var(--rrd-border-strong);border-radius:var(--rrd-radius-sm)}.export-directory-path__label{display:block;margin-bottom:.25rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--rrd-text-subtle)}.export-directory-path__value{display:block;font-size:.9rem;font-weight:600;line-height:1.4;color:var(--rrd-green-deep);word-break:break-word}.settings-modal__body>.btn-export-4k{width:100%}.export-notice{margin:.75rem 0 0;padding:.7rem .85rem;font-size:.86rem;font-weight:600;line-height:1.45;color:var(--rrd-green-deep);background:var(--rrd-accent-soft);border:1px solid var(--rrd-border-strong);border-radius:var(--rrd-radius-sm)}.export-status{margin-top:.75rem;padding:.65rem .75rem;font-size:.82rem;font-weight:600;color:var(--rrd-green-deep);background:var(--rrd-accent-soft);border:1px solid var(--rrd-border);border-radius:var(--rrd-radius-sm)}.control-section--actions .error{margin-top:.75rem;margin-bottom:0}@media(max-width:900px){.settings-modal{align-items:flex-end;padding:0}.settings-modal__panel{width:100%;max-height:85vh;max-height:85dvh;border-radius:var(--rrd-radius) var(--rrd-radius) 0 0;padding-bottom:env(safe-area-inset-bottom)}}@media(max-width:768px){.header{padding:.65rem .85rem;padding-top:max(.65rem,env(safe-area-inset-top))}.header--with-route{grid-template-columns:1fr auto;grid-template-areas:"brand end" "center center";gap:.45rem .5rem}.header--with-route .header-brand{grid-area:brand}.header--with-route .header-center{grid-area:center;width:100%}.header--with-route .header-end{grid-area:end;justify-self:end}.header-brand{gap:10px}.header-brand p{display:none}.header h1{font-size:.95rem}.logo{font-size:22px}.header-actions-menu__panel{left:0;right:0;min-width:0}.header-center .route-name{max-width:100%;font-size:.9rem}.route-distance{flex-shrink:0;font-size:.75rem;padding:.25rem .55rem}.upload-content{width:100%;padding:1.35rem 1.25rem 1.6rem}.upload-content h2{font-size:1.1rem}.upload-content p{font-size:.85rem}.map-overlay{padding:10px}.map-attribution{left:10px;bottom:8px;font-size:10px}.title-card--top-left{max-width:calc(100% - 52px)}.title-card{padding:10px 12px}.title-card--bottom{width:50%;bottom:30px;padding:8px 12px 10px}.title-card--bottom h2{font-size:.82rem;margin-bottom:4px}.title-card h2{font-size:.9rem}.title-card__grid{column-gap:.75rem}.title-card__item{font-size:.68rem;gap:.2rem}.title-card__row{grid-template-columns:max-content 1fr;font-size:.72rem;gap:.25rem}.logo-overlay-box{top:10px;right:10px;height:14%;border-radius:8px}.export-progress-overlay{padding:.75rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom));padding-right:max(.75rem,env(safe-area-inset-right))}.export-progress-overlay__card{max-width:min(18rem,calc(100% - 1.5rem));padding:.8rem .95rem}.export-progress-overlay__status{font-size:.88rem}.settings-modal__panel{max-height:90dvh}.settings-modal__header,.settings-modal__body{padding-left:1rem;padding-right:1rem}.export-dialog__actions{flex-direction:column-reverse}.export-dialog__actions .btn{width:100%;min-height:2.75rem}.export-menu__mobile-hint{margin:0}}@media(pointer:coarse){.btn,.header-actions-menu__toggle,.header-actions-menu__item,.settings-menu__btn,.header-settings-btn,.upload-btn{min-height:2.75rem}.color-swatch,.color-input-wrap{width:2.25rem;height:2.25rem}.duration-row input[type=range]{min-height:2.75rem}.btn:not(:disabled):hover,.upload-zone:hover .upload-content,.settings-menu__btn:hover:not(:disabled),.header-settings-btn:not(:disabled):hover{transform:none}}
