.control-field-stack,.text-field-stack{border:0;gap:1rem;min-width:0;margin:0;padding:0;display:grid}.control-field{border:0;gap:.5rem;margin:0;padding:0;display:grid}.control-field-label,.control-field-stack>legend{font-size:var(--text-note);margin-bottom:.5rem;font-weight:600}.text-field{gap:.375rem;display:grid}.text-field-header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.text-field label{font-size:var(--text-ui);font-weight:600}.text-field-count{font-family:var(--font-mono);font-size:var(--text-mono);color:var(--color-muted)}.text-field input,.text-field textarea,.text-field select{border:1px solid var(--color-control-edge);border-radius:var(--radius-control);background:var(--color-tile);width:100%;min-height:3.25rem;color:var(--color-ink);font:inherit;transition:box-shadow var(--dur-ui) ease;padding:0 .875rem;font-size:1rem}.text-field :is(input,textarea)::placeholder{color:var(--color-muted);opacity:1}.text-field textarea{min-height:6rem;padding-block:.75rem}.text-field :is(input,textarea,select):focus-visible{border-color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-ink);outline:none}.text-field-error input{border-color:var(--color-error)}.text-field-error .text-field-count{color:var(--color-error);font-weight:600}.field-hint{font-size:var(--text-small);color:var(--color-muted)}.field-error,.field-warning{font-size:var(--text-small);font-weight:600}.field-error{color:var(--color-error)}.field-warnings{border-radius:var(--radius-thumb);background:var(--color-tile);font-size:var(--text-note);gap:.5rem;margin:0;padding:.875rem 1rem;list-style:none;display:grid}
.param-slider{flex-direction:column;gap:.375rem;display:flex}.param-slider-header{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.param-slider-header label{font-size:var(--text-ui);font-weight:500}.param-slider-value{font-family:var(--font-mono);font-size:var(--text-small)}.param-slider-row{align-items:center;gap:.75rem;display:flex;position:relative}.param-slider-input{width:100%;height:1.75rem;accent-color:var(--color-ink);cursor:pointer;flex:1;margin:0}.param-slider-capped .param-slider-row:after{content:"";top:50%;left:calc(.5rem + var(--cap) * (100% - 1rem));background:repeating-linear-gradient(90deg, var(--color-muted) 0 3px, var(--color-paper) 3px 7px);pointer-events:none;border-radius:2px;height:4px;margin-top:-2px;position:absolute;right:.5rem}.param-slider-range{font-family:var(--font-mono);font-size:var(--text-mono-sm);color:var(--color-muted);justify-content:space-between;display:flex}.param-slider-reset{min-height:2.75rem;color:var(--color-ink);font:inherit;font-size:var(--text-small);cursor:pointer;background:0 0;border:0;font-weight:600;text-decoration:underline}.param-slider-reset:disabled{color:var(--color-muted);cursor:default;text-decoration:none}.readout{border:1px solid var(--color-tile);border-radius:var(--radius-thumb);background:var(--color-tile);padding:1rem}.readout b{font-weight:600;display:block}.readout p{font-size:var(--text-note);color:var(--color-ink-2);margin-top:.375rem}.readout-cap{border-color:var(--color-orange);background:var(--color-orange-tint)}
.stats-count{font-size:var(--text-note);color:var(--color-muted);margin-top:-.5rem}.switches{flex-direction:column;display:flex}.switch{border-top:1px solid var(--color-line);cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;min-height:3.5rem;display:flex;position:relative}.switch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.switch b{font-weight:600}.switch b span{white-space:nowrap;font-family:var(--font-mono);font-size:var(--text-small);color:var(--color-ink-3);margin-left:.625rem;font-weight:400}.switch-ui{background:var(--color-switch-off);border-radius:13px;flex:none;width:2.75rem;height:1.625rem;padding:3px;display:flex}.switch-ui:before{content:"";background:var(--color-paper);border-radius:50%;width:1.25rem;height:1.25rem}.switch:has(:checked) .switch-ui{background:var(--color-ink);justify-content:flex-end}.switch:has(:focus-visible) .switch-ui{outline:2px solid var(--color-ink);outline-offset:3px}.switch:has(:disabled){color:var(--color-muted);cursor:not-allowed}.control-checkbox{cursor:pointer;align-items:center;gap:.75rem;min-height:2.75rem;font-size:.9375rem;display:flex}.control-checkbox input{border:1.5px solid var(--color-ink);background:var(--color-paper);appearance:none;place-items:center;width:1.25rem;height:1.25rem;margin:0;display:grid}.control-checkbox input:before{content:"";background:var(--color-ink);opacity:0;width:.625rem;height:.625rem;transition:opacity var(--dur-micro) ease, scale var(--dur-micro) var(--ease-out);scale:.5}.control-checkbox input:checked:before{opacity:1;scale:1}.control-checkbox input:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px}@media (prefers-reduced-motion:no-preference){.switch-ui{transition:background-color var(--dur-ui) ease}}@media (prefers-reduced-motion:reduce){.control-checkbox input:before{scale:1}}.block:has(>.switches){row-gap:.5rem}
.app-rail .seg{border-radius:var(--radius-control);background:var(--color-tile);border:0;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:.25rem;margin:0;padding:.25rem;display:grid}.app-rail .seg label,.segmented-option{border-radius:var(--radius-small);min-height:2.75rem;font-size:var(--text-note);cursor:pointer;transition:background-color var(--dur-ui) ease, color var(--dur-ui) ease;justify-content:center;align-items:center;gap:.5rem;padding:0 .375rem;font-weight:600;line-height:normal;display:flex;position:relative}.segmented-option{padding:0 .875rem}.app-rail .seg input,.segmented-option input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.app-rail .seg label:has(:checked){background:var(--color-ink);color:var(--color-on-ink)}.segmented-option:has(:checked){background:var(--color-ink);color:var(--color-on-ink)}.app-rail .seg label:has(:focus-visible){z-index:1;outline:2px solid var(--color-ink);outline-offset:2px}.segmented-option:has(:focus-visible){z-index:1;outline:2px solid var(--color-ink);outline-offset:2px}.segmented-option:has([aria-disabled=true]){color:var(--color-muted);cursor:not-allowed}.segmented-option:has([aria-disabled=true]:checked){background:var(--color-line-strong);color:var(--color-muted)}.segmented{border-radius:var(--radius-control);background:var(--color-tile);flex-wrap:wrap;padding:3px;display:flex}.control-field.segmented-field .segmented{justify-self:start}.orient-row{border:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:0;padding:1rem 0;display:flex}.orient-row-text b{font-weight:600;display:block}.orient-row-text span{font-size:var(--text-note);color:var(--color-muted);display:block}.orient-row .segmented-option:has(input[value=portrait],input[value=landscape]):before{content:"";border:1.5px solid;border-radius:2px;width:13px;height:17px}.orient-row .segmented-option:has(input[value=landscape]):before{width:17px;height:13px}.orient-row .segmented:has(>:nth-child(3)){flex:100%;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.orient-row>.field-hint{flex-basis:100%}.folds,.route-tuning{flex-direction:column;display:flex}.route-tuning{gap:.25rem}.fold,.orient-row{border-bottom:1px solid var(--color-line)}:is(.fold,.orient-row):not(:is(.fold,.orient-row)+*){border-top:1px solid var(--color-line)}.fold summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:.75rem;min-height:4rem;padding:1rem 0;list-style:none;display:grid}.fold summary::-webkit-details-marker{display:none}.fold-sign{border-radius:var(--radius-small);background:var(--color-tile);grid-area:1/2/span 2;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.125rem;line-height:1.55;display:flex}.fold-name{font-weight:600;display:block}.fold-value{font-size:var(--text-note);color:var(--color-muted);display:block}.fold-body{flex-direction:column;gap:1.125rem;padding:0 0 1.25rem;display:flex}#routie-link .fold-body{gap:.5rem;padding-bottom:1.125rem}@media (hover:hover) and (pointer:fine){.fold summary:hover .fold-name{text-underline-offset:4px;text-decoration:underline}}@media (prefers-reduced-motion:no-preference){.fold[open]>.fold-body{animation:fold-in var(--dur-fill) var(--ease-out) both}@keyframes fold-in{0%{opacity:0;translate:0 -.5rem}}}
.picks{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;display:grid}.picks.looks{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.pick{font-size:var(--text-note);cursor:pointer;transition:scale var(--dur-press) var(--ease-out);flex-direction:column;gap:.375rem;display:flex;position:relative}.looks .pick{gap:.5rem}.pick input{z-index:1;opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.pick-media{aspect-ratio:4/5;border-radius:var(--radius-control);background:var(--color-well);width:100%;display:block;position:relative;overflow:hidden}.looks .pick-media{border-radius:var(--radius-thumb);box-shadow:0 0 0 2px #0000}.pick-media img{object-fit:cover;width:100%;height:100%;display:block}.looks .pick:has(:checked) .pick-media{box-shadow:0 0 0 2px var(--color-orange)}.pick-check{background:var(--color-orange);width:1.5rem;height:1.5rem;color:var(--color-ink);border-radius:7px;justify-content:center;align-items:center;display:none;position:absolute;top:.5rem;right:.5rem}.pick-check svg{width:.8125rem;height:.8125rem}.pick:has(:checked) .pick-check{display:flex}.pick:has(:focus-visible) .pick-media{outline:2px solid var(--color-ink);outline-offset:3px}.pick-name{font-weight:600;line-height:1.55}.looks .pick-name{font-size:var(--text-ui)}.pick-name span{font-size:var(--text-small);color:var(--color-muted);font-weight:400;display:block}.colors{border:0;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;display:flex}.colors label{border-radius:var(--radius-control);cursor:pointer;width:2.75rem;height:2.75rem;position:relative;overflow:hidden}.colors input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.colors label:has(:checked){outline:2px solid var(--color-ink);outline-offset:3px}.colors label:has(:focus-visible){outline:2px dashed var(--color-ink);outline-offset:3px}
.template-list-field{border:0;margin:0;padding:0}.template-list,.map-style-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.template-list-item,.map-style-tile{font-size:var(--text-small);cursor:pointer;gap:.5rem;font-weight:600;display:grid;position:relative}.template-list-item input,.map-style-tile input{z-index:1;opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.template-list-thumbnail,.map-style-tile-thumb{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-thumb);background:var(--color-well);width:100%;display:block;overflow:hidden}.map-style-tile-thumb img{object-fit:cover;width:100%;height:100%}:is(.template-list-item:has(:checked) .template-list-thumbnail,.map-style-tile:has(:checked) .map-style-tile-thumb){box-shadow:0 0 0 2px var(--color-orange)}:is(.template-list-item:has(:focus-visible),.map-style-tile:has(:focus-visible)){outline:2px solid var(--color-ink);outline-offset:3px}.rail-eyebrow{font-family:var(--font-mono);font-size:var(--text-mono);text-transform:uppercase;color:var(--color-muted);margin:.5rem 0;font-weight:400}
.route-ways{flex-direction:column;gap:1.125rem;display:flex}.dropzone{flex-direction:column;gap:.75rem;display:flex}.dropzone-button{border:2px dashed var(--color-orange);border-radius:var(--radius-card);background:var(--color-orange-tint);width:100%;min-height:10.75rem;color:var(--color-ink);font:inherit;text-align:center;cursor:pointer;transition:background-color var(--dur-ui) ease;flex-direction:column;justify-content:center;align-items:center;gap:.625rem;padding:1.5rem;display:flex}.dropzone-active .dropzone-button{background:var(--color-orange-line)}.dropzone-button:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px}.dropzone-icon{border-radius:var(--radius-thumb);background:var(--color-orange);width:3.25rem;height:3.25rem;color:var(--color-ink);justify-content:center;align-items:center;display:flex}.dropzone-icon svg{width:1.375rem;height:1.375rem}.dropzone-title{font-size:var(--text-button-lg);font-weight:600}.dropzone-hint{font-size:var(--text-note);color:var(--color-ink-3)}.route-card{border-radius:var(--radius-thumb);background:var(--color-tile);align-items:center;gap:.875rem;padding:1rem;display:flex}.route-card-icon{border-radius:var(--radius-control);background:var(--color-orange);width:2.5rem;height:2.5rem;color:var(--color-ink);flex:none;justify-content:center;align-items:center;display:flex}.route-card-icon svg{width:1.125rem;height:1.125rem}.route-card-text{flex:auto;min-width:0}.route-card-text b{overflow-wrap:anywhere;font-weight:600;display:block}.route-card-text span{font-family:var(--font-mono);font-size:var(--text-mono);color:var(--color-ink-3);text-transform:uppercase;display:block}.route-card-replace{border:1px solid var(--color-line-strong);border-radius:var(--radius-small);background:var(--color-paper);min-height:2.75rem;color:var(--color-ink);font:inherit;font-size:var(--text-note);cursor:pointer;transition:scale var(--dur-press) var(--ease-out);padding:0 .875rem;font-weight:600;line-height:normal}.route-notes{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.note{border-radius:var(--radius-thumb);background:var(--color-tile);font-size:var(--text-note);text-wrap:pretty;padding:.875rem 1rem;display:block}.note-error{border:1px solid var(--color-error);background:var(--color-paper)}.note-error b{color:var(--color-error);font-weight:600}.progress{background:var(--color-orange-line);border-radius:2px;width:100%;height:.25rem;overflow:hidden}.progress:before{content:"";background:var(--color-ink);width:40%;height:100%;display:block}#routie-link .text-field label{font-size:var(--text-note)}#routie-link .text-field input{border:1px solid var(--color-control-edge);background:var(--color-paper);min-height:3rem;padding:0 .875rem}.link-help-card{border-radius:var(--radius-thumb);background:var(--color-tile);font-size:var(--text-note);gap:.625rem;margin-top:.75rem;padding:1rem;display:grid}.link-help-title{font-weight:600}.link-help-steps{gap:.25rem;margin:0;padding-left:1.25rem;display:grid}.link-help-card .btn{width:auto;min-height:3rem;font-size:var(--text-ui);justify-self:start}@media (prefers-reduced-motion:no-preference){.progress:before{animation:navrh-progress 1.3s var(--ease-in-out) infinite}@keyframes navrh-progress{0%{translate:-100%}to{translate:250%}}}.note-error .link-btn{margin-top:.25rem}.note-error[data-route-failure]{scroll-margin-block:6rem}
.formats,.frames{border-radius:var(--radius-control);background:var(--color-tile);grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;padding:3px;display:grid}.frames{grid-template-columns:repeat(2,minmax(0,1fr))}.formats label,.frames label{border-radius:var(--radius-small);cursor:pointer;transition:background-color var(--dur-ui) ease, color var(--dur-ui) ease;justify-content:center;align-items:center;font-weight:600;line-height:1.2;display:flex}.formats label{flex-direction:column;min-height:3.5rem;padding:0 .375rem}.formats b{font-size:var(--text-ui);font-weight:600}.formats span{font-size:var(--text-mono);opacity:.8;font-weight:400}.frames label{min-height:3.25rem;line-height:normal;font-size:var(--text-ui);gap:.625rem;padding:0 .75rem}:is(.formats,.frames) label[data-checked]{background:var(--color-ink);color:var(--color-on-ink)}:is(.wall-scope:has(#routie-format-A5:focus-visible) label[for=routie-format-A5],.wall-scope:has(#routie-format-A4:focus-visible) label[for=routie-format-A4],.wall-scope:has(#routie-format-A3:focus-visible) label[for=routie-format-A3],.wall-scope:has(#routie-frame-black:focus-visible) label[for=routie-frame-black],.wall-scope:has(#routie-frame-white:focus-visible) label[for=routie-frame-white]){outline:2px solid var(--color-ink);outline-offset:2px}.panel-size{gap:1rem}.panel-size-note{font-size:var(--text-small);color:var(--color-ink-3)}.proof-figure{gap:.5rem;margin:0;display:grid}.proof-image{border-radius:var(--radius-poster);background:var(--color-well);width:min(100%,14rem);height:auto}.rail-step-nav{justify-content:space-between;gap:1rem;display:flex}.rail-step-nav-end{justify-content:flex-end}.summary-list{gap:.5rem;margin:0;font-size:.875rem;display:grid}.summary-list div{grid-template-columns:8rem 1fr;gap:1rem;display:grid}.summary-list dd{margin:0}@media (min-width:1280px){.panel-size{display:none}}
.stage-status{z-index:3;border-radius:var(--radius-control);background:var(--color-paper);max-width:calc(100% - 2rem);font-size:var(--text-note);align-items:center;gap:.625rem;padding:.625rem .875rem;line-height:1.35;display:flex;position:absolute;bottom:1rem;left:1rem}.app-stage[data-render-state]>.stage-status{opacity:0;animation:stage-pending-in var(--dur-ui) ease .4s forwards}.app-stage[data-render-state]>.stage-status[data-picture=blank]{animation-delay:.12s}.stage-boot{z-index:1;background:var(--stage-ground,var(--color-well));transition:opacity var(--dur-ui) var(--ease-out), visibility 0s linear var(--dur-ui);place-items:center;display:grid;position:absolute;inset:0}@starting-style{.stage-boot{opacity:0}}.stage-boot>.route-wipe{--wipe-ground:var(--stage-ground,var(--color-well));width:6rem;height:3rem}.stage-boot[data-done]{opacity:0;visibility:hidden}.stage-boot[data-done] .route-wipe-cover{animation:none}.loader{background:var(--color-orange);border-radius:3px;flex:none;width:.75rem;height:.75rem}.stage-lost{z-index:5;background:var(--stage-ground,var(--color-well));align-content:center;justify-items:start;gap:.75rem;padding:clamp(1.5rem,4vw,3rem);display:grid;position:absolute;inset:0}.stage-lost b{font-family:var(--font-display);font-size:var(--text-card-title);letter-spacing:-.02em;font-weight:500;line-height:1.2}.stage-empty{color:var(--color-ink-2);text-align:center;place-content:center;justify-items:center;gap:.75rem;display:grid;position:absolute;inset:0}.stage-empty-glyph{width:3rem;height:3rem}.stats-strip{flex-wrap:wrap;gap:.25rem 1rem;margin:0;font-size:.75rem;display:flex;position:absolute;bottom:2.5rem;left:1rem}.stats-strip-item{gap:.375rem;display:flex}.stats-strip-value{margin:0;font-weight:600}
.navrh-layout .app-stage{background:var(--stage-ground);flex:999 35rem;order:-1;min-width:0;min-height:clamp(21.25rem,30vw + 13.75rem,32.5rem);overflow:hidden}.navrh-layout .stage-content{inset:-8% 0 8%}.navrh-layout .stage-content:has(.poster-preview){inset:0}.stage-frame{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.875rem;padding:3.5rem 0 2.75rem;display:flex;position:absolute;inset:0}.stage-frame-box{aspect-ratio:505/330;flex:none;width:min(86%,41.25rem,45.9vw + 9.5625rem);position:relative}.navrh-layout .poster-preview{padding:4.5rem 1rem 3.5rem}.stage-top{z-index:2;pointer-events:none;justify-content:space-between;align-items:center;gap:.5rem;display:flex;position:absolute;top:clamp(.625rem,2vw,1rem);left:clamp(.625rem,2vw,1rem);right:clamp(.625rem,2vw,1rem)}.stage-top>*{pointer-events:auto}.stage-tag{min-width:0;font-size:var(--text-note);color:var(--color-ink-2);align-items:center;gap:.625rem;display:flex}.stage-tag b{border-radius:var(--radius-inner);background:var(--color-paper);color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-mono-sm);text-transform:uppercase;flex:none;padding:.375rem .625rem;font-weight:400;line-height:1.55}.stage-tag[data-loaded] b{background:var(--color-orange)}.stage-tools{flex:none;align-items:center;gap:.375rem;margin-left:auto;display:flex}.stage-hint{border-radius:var(--radius-pill);background:var(--color-paper);min-width:0;font-size:var(--text-small);color:var(--color-ink-3);white-space:nowrap;align-items:center;gap:.375rem;padding:.375rem .625rem;line-height:1.55;display:flex}.stage-hint svg{flex:none;width:1rem;height:1rem}.stage-foot{z-index:2;pointer-events:none;justify-content:space-between;align-items:flex-end;gap:.625rem;display:flex;position:absolute;bottom:clamp(.625rem,2vw,.875rem);left:clamp(.625rem,2vw,1rem);right:clamp(.625rem,2vw,1rem)}.stage-foot>*{pointer-events:auto}.stage-chips{font-family:var(--font-mono);font-size:var(--text-mono-sm);text-transform:uppercase;flex:none;gap:.375rem;margin-left:auto;line-height:1.55;display:flex}.stage-chips span{border-radius:var(--radius-pill);background:var(--color-paper);padding:.375rem .625rem}.stage-chips .stage-chip-top{color:var(--color-orange-ink)}.navrh-layout .stage-status{bottom:4.5rem;left:50%;translate:-50%}@media (max-width:1023px){.stage-tag span{display:none}}@media (min-width:640px) and (max-width:1023px){.navrh-layout .app-stage{flex-direction:column;display:flex}.navrh-layout .stage-frame{flex:1 0 auto;padding-bottom:0;position:relative;inset:auto}.navrh-layout .stage-foot{margin:-.4375rem clamp(.625rem,2vw,1rem) clamp(.625rem,2vw,.875rem);position:relative;inset:auto}}@media (max-width:639px){.stage-hint{display:none}.navrh-layout .app-stage{min-height:max(21.25rem,6.25rem + min(86vw,41.25rem,45.9vw + 9.5625rem)/1.53)}}
