:root{
  --navy:#10263a;--terracotta:#9b3c32;--paper:#f2ead9;--paper2:#f7f1e5;--ink:#152331;--muted:#6c716b;--line:#c7b99f;--gold:#a78849;--panel:#121820;--ui:#f4f5f7;--shadow:0 26px 70px rgba(10,17,25,.2);
}
*{box-sizing:border-box} html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#eceff2;color:#1b2430}
body{background:linear-gradient(135deg,#edf0f2,#dfe4e8)}
button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.topbar{height:78px;padding:0 26px;display:flex;align-items:center;justify-content:space-between;background:#0d1520;color:#fff;position:sticky;top:0;z-index:40;box-shadow:0 1px 0 rgba(255,255,255,.08)}
.topbar>div:first-child{display:flex;align-items:center;gap:14px}.brand-mark{width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;font-family:"Arial Narrow",sans-serif;font-weight:800;letter-spacing:1px}.topbar h1{font-size:18px;margin:0 0 2px}.topbar p{margin:0;color:#9ea9b5;font-size:12px}.top-actions{display:flex;gap:8px}.button{border:0;border-radius:9px;padding:10px 14px;font-weight:700;cursor:pointer;background:#fff}.button.ghost{background:transparent;color:#dfe7ef;border:1px solid #344253}.button.primary{background:#d4a75a;color:#16202b}.button.full{width:100%;background:#152331;color:#fff;margin-top:8px}
.workspace{display:grid;grid-template-columns:370px minmax(700px,1fr);min-height:calc(100vh - 78px)}.controls{background:#f6f7f8;border-right:1px solid #d7dce0;padding:18px;overflow:auto;height:calc(100vh - 78px);position:sticky;top:78px}.control-card{background:#fff;border:1px solid #dfe3e7;border-radius:14px;padding:15px;margin-bottom:12px;box-shadow:0 4px 18px rgba(29,42,55,.04)}.eyebrow{font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:1.7px;color:#65717c;margin-bottom:12px}.drop-zone{border:1.5px dashed #a8b2ba;border-radius:12px;padding:18px;display:flex;flex-direction:column;align-items:center;background:#fafbfc;cursor:pointer}.drop-zone.drag{border-color:#9b7440;background:#fffaf0}.drop-zone input{display:none}.drop-title{font-weight:800}.drop-copy{font-size:12px;color:#7a858e;margin-top:3px}.ride-source{font-size:12px;font-weight:700;margin-top:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-row{display:flex;gap:10px;color:#5d6872}.metric-row.compact{font-size:11px;margin-top:5px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-grid .span-2{grid-column:1/-1}.field-grid label,.range-row{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#7b858e;font-weight:800}.field-grid input,.story-editor input,.story-editor textarea,.story-editor select{width:100%;border:1px solid #d8dde1;border-radius:7px;background:#fff;padding:8px 9px;margin-top:4px;color:#202a34;outline:none}.field-grid input:focus,.story-editor input:focus,.story-editor textarea:focus,.story-editor select:focus{border-color:#8a7452;box-shadow:0 0 0 3px rgba(167,136,73,.1)}.colours{margin-top:12px}.colours input{height:37px;padding:4px}.toggle-row{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#4f5962;margin-top:11px}.upload-image{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;margin-top:11px;border-top:1px solid #edf0f2;padding-top:11px}.upload-image input{width:145px;font-size:10px}.range-row{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:10px;margin-top:12px}.segmented{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d9dee2;border-radius:9px;padding:3px;background:#f5f6f7}.segment{border:0;background:transparent;padding:8px 6px;border-radius:7px;font-size:11px;font-weight:700;cursor:pointer}.segment.active{background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.08)}.hint{font-size:11px;line-height:1.45;color:#737d86;margin:-3px 0 10px}.story-editor{border-top:1px solid #edf0f2;padding:11px 0}.story-editor:first-child{border-top:0;padding-top:0}.story-head{display:grid;grid-template-columns:34px 1fr 82px;gap:7px;align-items:center;margin-bottom:6px}.story-num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:white;font-size:10px;font-weight:800}.story-editor textarea{height:50px;resize:vertical;line-height:1.3}.story-editor .row{display:grid;grid-template-columns:100px 1fr;gap:7px}.story-editor .distance-wrap{display:flex;gap:5px}.story-editor .distance-wrap input{min-width:0}.story-editor .km-label{align-self:center;font-size:10px;color:#89929a}.preview-area{padding:18px 22px 42px;overflow:auto}.preview-toolbar{max-width:1050px;margin:0 auto 12px;display:flex;justify-content:space-between;align-items:center;color:#53606b;font-size:12px}.preview-toolbar strong{display:block;color:#1a2630;font-size:13px}.preview-toolbar span{display:block;margin-top:2px}.quality-pill{background:#fff;border:1px solid #dde2e6;border-radius:999px;padding:7px 11px;font-size:10px;text-transform:uppercase;letter-spacing:.7px;font-weight:800}.quality-pill span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#4a9a68;margin:0 5px 0 0}.poster-wrap{max-width:1050px;margin:0 auto;display:flex;justify-content:center}.poster{width:min(100%,720px);aspect-ratio:297/420;background:var(--paper);border:1px solid #c8b99c;box-shadow:var(--shadow);position:relative;display:grid;grid-template-columns:minmax(0,1fr) 170px;overflow:hidden;color:var(--ink);isolation:isolate}.poster:before{content:"";position:absolute;inset:8px;border:1px solid rgba(139,105,60,.55);pointer-events:none;z-index:20}.poster:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:19;opacity:.18;background-image:radial-gradient(rgba(75,56,35,.28) .45px,transparent .6px);background-size:4px 4px;mix-blend-mode:multiply}.poster-main{display:grid;grid-template-rows:170px minmax(0,1fr) 150px 48px;min-width:0;border-right:1px solid #c8b99c}.poster-header{padding:22px 30px 8px;text-align:center;position:relative;z-index:10;background:linear-gradient(to bottom,rgba(247,241,229,.98),rgba(242,234,217,.94))}.edition-line{display:flex;align-items:center;justify-content:center;gap:12px;color:#a17d39;font-size:10px;letter-spacing:1.4px}.edition-line span{width:45px;border-top:1px solid #bba77e}.poster-header h2{font-family:"Arial Narrow","Helvetica Neue Condensed",Impact,sans-serif;font-stretch:condensed;font-size:58px;line-height:.94;letter-spacing:4px;margin:10px 0 8px;font-weight:900}.poster-rider{font-family:"Arial Narrow",sans-serif;font-size:17px;font-weight:800;letter-spacing:5px}.poster-meta{font-size:9px;font-weight:800;letter-spacing:1.7px;margin-top:6px}.poster-meta i{font-style:normal;margin:0 8px}.hero-map{position:relative;overflow:hidden;background:#e4e0d2}.tile-layer{position:absolute;inset:0;overflow:hidden;background:linear-gradient(135deg,#d9e4e3,#eee8d7)}.tile-layer img{position:absolute;width:256px;height:256px;filter:saturate(.52) sepia(.18) brightness(1.05) contrast(.88);opacity:.96}.tile-layer.offline:after{content:"Map tiles need an internet connection · exact GPX route remains available";position:absolute;inset:0;display:grid;place-items:center;color:#7b817d;font-size:12px;letter-spacing:.8px;background:linear-gradient(135deg,#dce5e2,#e9e3d4)}.route-svg{position:absolute;inset:0;width:100%;height:100%;z-index:4;overflow:visible}.map-wash{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(to bottom,rgba(242,234,217,.08) 0%,rgba(242,234,217,.12) 45%,rgba(242,234,217,.60) 74%,rgba(242,234,217,.98) 100%)}.scenic-art{position:absolute;left:0;bottom:-1px;width:100%;height:48%;object-fit:cover;object-position:center 52%;z-index:5;filter:saturate(.82) sepia(.08) contrast(.96);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.15) 15%,black 46%,black 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.15) 15%,black 46%,black 100%)}.map-legend{position:absolute;z-index:8;left:16px;bottom:50%;transform:translateY(50%);background:rgba(247,241,229,.89);border:1px solid rgba(140,123,93,.5);padding:8px 10px;font-size:7px;font-weight:800;letter-spacing:.7px;line-height:1.7;box-shadow:0 2px 9px rgba(0,0,0,.04)}.map-legend div{display:flex;align-items:center;gap:7px}.legend-line{width:22px;border-top:2px solid var(--navy);display:inline-block}.legend-line.return{border-color:var(--terracotta)}.legend-dot{width:6px;height:6px;border:1px solid #20344a;border-radius:50%;background:var(--paper);display:inline-block}.map-attribution{position:absolute;z-index:8;left:10px;bottom:5px;font-size:5.5px;color:rgba(37,51,57,.62);letter-spacing:.4px}.map-scale{position:absolute;z-index:7;right:15px;top:10px;font-size:7px;font-weight:800;letter-spacing:.8px;border-top:2px solid #182a3c;padding-top:3px;width:86px;text-align:center}.bottom-band{display:grid;grid-template-columns:1.28fr 1fr;border-top:1px solid #c8b99c;background:rgba(247,241,229,.88);z-index:10}.elevation-block{padding:12px 12px 7px;border-right:1px solid #c8b99c}.mini-heading{font-size:7px;font-weight:800;letter-spacing:1px;margin-bottom:4px}.elevation-block svg{width:100%;height:102px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr)}.stat{display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:1px solid rgba(199,185,159,.65);text-align:center}.stat:first-child{border-left:0}.stat-icon{font-size:20px;line-height:1;margin-bottom:6px}.stat strong{font-family:"Arial Narrow",Impact,sans-serif;font-size:23px;letter-spacing:1px}.stat span{font-size:6.5px;letter-spacing:1px;font-weight:800;margin-top:4px}.poster-footer{display:flex;align-items:center;justify-content:center;gap:13px;font-size:8px;letter-spacing:1.5px}.poster-footer span{width:40px;border-top:1px solid #9f937e}.poster-footer b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80%}.story-column{padding:20px 12px 12px;background:rgba(247,241,229,.88);display:flex;flex-direction:column;position:relative;z-index:10}.story-column h3{font-family:"Arial Narrow",sans-serif;font-size:12px;letter-spacing:1.3px;margin:0 0 7px;text-align:left}.story-list{display:flex;flex-direction:column;flex:1}.poster-story{display:grid;grid-template-columns:24px 1fr 34px;gap:8px;padding:10px 0;border-top:1px dashed rgba(115,103,83,.35);min-height:112px}.poster-story:first-child{border-top:0}.poster-story .badge{width:23px;height:23px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:8px;font-weight:800}.poster-story .km{font-size:7px;color:#a37f3d;font-weight:800;letter-spacing:.8px}.poster-story h4{font-family:"Arial Narrow",sans-serif;font-size:11px;letter-spacing:.4px;margin:4px 0 4px}.poster-story p{font-size:8px;line-height:1.4;margin:0;color:#38434c}.story-icon{width:32px;height:32px;align-self:center}.story-icon svg{width:100%;height:100%;stroke:#4d514e;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.qr-module{display:grid;grid-template-columns:25px 1fr 50px;gap:7px;align-items:center;border:1px solid rgba(143,124,91,.45);padding:8px 7px;margin-top:8px}.phone-icon{font-size:25px}.qr-module b{font-size:6.5px;line-height:1.3;display:block}.qr-module small{font-size:5.8px;line-height:1.35;display:block;margin-top:3px}.fake-qr{width:47px;height:47px;background:repeating-conic-gradient(#111 0 25%,#fff 0 50%) 50%/9px 9px;border:3px solid white;box-shadow:0 0 0 1px #222}.marker-group text{font-family:Inter,sans-serif;font-weight:800;font-size:12px;fill:#fff;text-anchor:middle;dominant-baseline:middle}.marker-group circle.badge{fill:var(--navy);stroke:var(--paper);stroke-width:2}.marker-group circle.anchor{fill:var(--terracotta);stroke:var(--paper);stroke-width:1.5}.route-out{fill:none;stroke:var(--navy);stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 0 rgba(255,255,255,.8))}.route-ret{fill:none;stroke:var(--terracotta);stroke-width:3.1;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 0 rgba(255,255,255,.8))}.elev-fill{fill:rgba(111,118,91,.34)}.elev-line{fill:none;stroke:#4d5144;stroke-width:1.4}.elev-grid{stroke:rgba(95,91,77,.18);stroke-width:.7}.elev-label{font-size:7px;fill:#6d6e65;font-family:Inter,sans-serif}
.poster.minimal{--paper:#f6f3ed;--paper2:#f8f6f1;--line:#d7d1c8;--gold:#5e6c71}.poster.minimal:after{opacity:.07}.poster.minimal .scenic-art{filter:saturate(.62) contrast(.98) brightness(1.02)}.poster.minimal .poster-header h2{letter-spacing:2px}.poster.minimal .story-column{background:#f7f5f0}
@media(max-width:1050px){.workspace{grid-template-columns:320px minmax(620px,1fr)}.poster{width:680px}.topbar{padding:0 16px}.top-actions .ghost{display:none}}
@media(max-width:760px){.topbar{position:relative}.workspace{display:block}.controls{height:auto;position:relative;top:0;border-right:0}.preview-area{padding:14px 8px}.poster-wrap{overflow:auto;justify-content:flex-start}.poster{min-width:680px}.preview-toolbar{padding:0 8px}.top-actions{gap:5px}.button{padding:9px 10px;font-size:11px}}
@media print{body{background:#fff}.topbar,.controls,.preview-toolbar{display:none!important}.workspace,.preview-area,.poster-wrap{display:block!important;padding:0!important;margin:0!important}.workspace{min-height:0}.poster{width:297mm;height:420mm;box-shadow:none;border:0;margin:0;aspect-ratio:auto}.poster:before{inset:3mm}.preview-area{overflow:visible}.poster-wrap{max-width:none}.poster-main{grid-template-rows:40mm 1fr 34mm 12mm}.story-column{padding:5mm 3.2mm 3mm}@page{size:A3 portrait;margin:0}}


/* v0.2 — dynamic Story Moments + consistent editorial icon system */
.story-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #edf0f2;padding-top:11px;margin-top:2px}.story-add{padding:8px 12px;font-size:11px;flex:1}.story-add:disabled{opacity:.42;cursor:not-allowed}.story-count{font-size:10px;font-weight:800;color:#7b858e;letter-spacing:.6px;white-space:nowrap}.story-head{grid-template-columns:34px minmax(0,1fr) 30px}.story-remove{width:30px;height:30px;border:1px solid #dde2e6;border-radius:7px;background:#fff;color:#7a838b;font-size:20px;line-height:1;cursor:pointer}.story-remove:hover{border-color:#c79083;color:#9b3c32;background:#fff8f6}.story-distance-row{display:flex;justify-content:flex-end;margin:-1px 0 6px}.story-distance-row label{display:flex;align-items:center;gap:6px;color:#7b858e;font-size:10px;text-transform:uppercase;letter-spacing:.7px;font-weight:800}.story-distance-row .distance-wrap{display:flex;align-items:center;gap:4px;width:105px}.story-distance-row input{margin-top:0}.story-field{position:relative}.story-field .char-count{position:absolute;right:7px;bottom:5px;font-size:8px;color:#9aa2a8;background:rgba(255,255,255,.9);padding-left:4px;pointer-events:none}.story-field input{padding-right:46px}.story-field textarea{padding-right:46px;padding-bottom:16px}.story-list[data-count="1"] .poster-story{flex:0 0 155px}.story-list[data-count="2"] .poster-story{flex:0 0 145px}.story-list[data-count="3"] .poster-story{flex:0 0 132px}.story-list[data-count="4"] .poster-story,.story-list[data-count="5"] .poster-story,.story-list[data-count="6"] .poster-story{flex:1;min-height:0}.story-list[data-count="6"] .poster-story{padding:7px 0}.story-list[data-count="6"] .poster-story p{font-size:7.4px;line-height:1.3}.story-list[data-count="6"] .story-icon{width:28px;height:28px}.story-icon svg{stroke-width:1.55;vector-effect:non-scaling-stroke}.poster.no-stories{grid-template-columns:1fr}.poster.no-stories .story-column{display:none}.poster.no-stories .poster-main{border-right:0}.poster-story h4,.poster-story p{overflow-wrap:anywhere}.poster-story p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}


/* v0.3 visual refinement */
:root{--marker:#173f8f}
.artwork-subheading{margin-top:14px;padding-top:12px;border-top:1px solid #edf0f2;font-size:10px;text-transform:uppercase;letter-spacing:.9px;color:#7b858e;font-weight:800}
.scenic-presets{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.scenic-preset{padding:0;border:1px solid #d8dde1;border-radius:9px;background:#fff;overflow:hidden;cursor:pointer;text-align:left;color:#34404a}.scenic-preset img{width:100%;height:58px;object-fit:cover;display:block;filter:saturate(.78) sepia(.1)}.scenic-preset .thumb-warm{filter:saturate(.86) sepia(.28) contrast(.94)}.scenic-preset .thumb-ink{filter:grayscale(.75) sepia(.25) saturate(.5) contrast(1.03)}.scenic-preset span{display:block;padding:6px 7px;font-size:9px;font-weight:800;letter-spacing:.25px}.scenic-preset.active{border-color:#9d7740;box-shadow:0 0 0 2px rgba(167,136,73,.12)}
.select-row{display:grid;grid-template-columns:112px 1fr;gap:8px;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#7b858e;font-weight:800;margin-top:10px}.select-row select{border:1px solid #d8dde1;border-radius:7px;background:#fff;padding:7px;color:#303b44;min-width:0}
.poster-main{grid-template-rows:152px minmax(0,1fr) 156px 44px}.poster-header{padding:18px 30px 6px}.poster-header h2{font-family:"Avenir Next Condensed","Arial Narrow","Helvetica Neue Condensed",Impact,sans-serif;font-size:54px;margin:8px 0 6px;letter-spacing:3.4px}.poster-rider{font-family:"Avenir Next Condensed","Arial Narrow",sans-serif;font-size:16px}.poster-meta{margin-top:5px}.hero-map{background:#e4e0d2}.route-svg{overflow:visible}
.marker-group text{font-family:"Avenir Next Condensed",Inter,sans-serif;font-size:11.5px;fill:#fff;paint-order:stroke;stroke:rgba(0,0,0,.04);stroke-width:.3}.marker-group circle.badge{fill:var(--marker);stroke:var(--paper);stroke-width:2.2;vector-effect:non-scaling-stroke}.marker-group circle.anchor{fill:var(--marker);stroke:none}.marker-group circle.anchor-halo{fill:var(--paper);stroke:var(--marker);stroke-width:1;vector-effect:non-scaling-stroke}.marker-group .marker-leader{stroke:var(--marker);stroke-width:1.2;vector-effect:non-scaling-stroke}.route-out,.route-ret{vector-effect:non-scaling-stroke}
.story-num,.poster-story .badge{background:var(--marker)}
.poster-story{grid-template-columns:24px 1fr 42px;gap:8px}.poster-story .story-copy{min-width:0}.poster-story p{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;max-height:none!important;font-size:7.8px;line-height:1.35;overflow-wrap:anywhere}.story-list[data-count="6"] .poster-story p{font-size:7px;line-height:1.28}.story-list[data-count="6"] .poster-story h4{font-size:10px}.story-icon{width:38px;height:38px;align-self:center;border:1px solid rgba(104,94,76,.34);border-radius:50%;padding:6px;background:rgba(255,252,245,.62);display:grid;place-items:center;color:#4e554f}.story-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.story-icon-finish{color:#8d6935}.story-icon-weather{color:#53677a}.story-icon-climb{color:#59634e}.story-icon-mechanical{color:#6c584c}.story-icon-breakthrough{color:#9b7440}
.bottom-band{grid-template-columns:1.32fr 1fr;background:linear-gradient(180deg,rgba(250,246,237,.94),rgba(242,234,217,.98));border-top:1px solid #b9aa8e;box-shadow:inset 0 3px 0 rgba(167,136,73,.08)}.elevation-block{padding:12px 14px 8px}.mini-heading{color:#80683d;letter-spacing:1.4px}.stats-grid{gap:0}.stat{position:relative;padding:10px 4px 8px;border-left:1px solid rgba(170,150,116,.42)}.stat:after{content:"";position:absolute;top:10px;left:50%;width:22px;border-top:1px solid rgba(167,136,73,.48);transform:translateX(-50%)}.stat-icon{width:31px;height:31px;border:1px solid rgba(145,121,79,.45);border-radius:50%;display:grid;place-items:center;margin:7px 0 7px;background:rgba(255,252,245,.55);color:#253746}.stat-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.stat strong{font-family:"Avenir Next Condensed","Arial Narrow",Impact,sans-serif;font-size:24px;line-height:.9;letter-spacing:.2px;color:#172a3b}.stat span{font-size:6.1px;line-height:1.25;letter-spacing:1.25px;color:#80683d;margin-top:6px;max-width:62px}.elev-fill{fill:rgba(123,126,95,.25)}.elev-line{stroke:#505545;stroke-width:1.25}.elev-grid{stroke:rgba(139,123,93,.16)}
@media print{.poster-main{grid-template-rows:152px minmax(0,1fr) 156px 44px}.story-icon{background:transparent}}
.legend-dot{background:var(--marker);border-color:var(--paper);box-shadow:0 0 0 1px var(--marker)}
@media print{
  .poster-main{grid-template-rows:63mm 1fr 64mm 18mm}
  .story-icon{background:transparent}
}

/* v0.4 — route logic, units, dynamic header, scenic library and editorial story timeline */
.settings-label{margin-top:13px;margin-bottom:7px;font-size:10px;text-transform:uppercase;letter-spacing:.9px;color:#7b858e;font-weight:800}.units-segmented{max-width:220px}.route-settings{margin-top:12px;padding-top:11px;border-top:1px solid #edf0f2}.route-mode-row{grid-template-columns:105px 1fr;margin-top:0}.route-mode-hint{font-size:9px;line-height:1.4;color:#89929a;margin:7px 0 3px;padding:7px 8px;background:#f8f9fa;border-radius:7px}.manual-split-row{margin-top:8px}.manual-split-value{text-align:right;font-size:9px;color:#6f7982;font-weight:800;margin-top:2px}.scenic-library{grid-template-columns:repeat(2,minmax(0,1fr));max-height:292px;overflow:auto;padding-right:2px}.scenic-library .scenic-preset img{height:64px}.scenic-library .scenic-preset span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.poster-main{grid-template-rows:auto minmax(0,1fr) 156px 44px}.poster-header{min-height:0;padding:17px 30px 9px}.poster-header h2{font-size:51px;line-height:.91;margin:7px 0 5px;letter-spacing:3.1px;overflow-wrap:normal;word-break:normal}.poster-header[data-title-size="long"] h2{font-size:45px;letter-spacing:2.4px}.poster-header[data-title-size="xlong"] h2{font-size:39px;line-height:.94;letter-spacing:1.8px}.poster-rider{font-size:15px;letter-spacing:4.3px}.poster-meta{margin-top:4px;line-height:1.35;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:0}.hero-map{min-height:0}.map-scale{top:10px;right:16px;width:82px}.map-scale span{white-space:nowrap}.map-legend{bottom:auto;top:54%;transform:none}.scenic-treatment-overlay{position:absolute;left:0;right:0;bottom:0;height:58%;z-index:6;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.28) 18%,#000 54%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.28) 18%,#000 54%,#000 100%)}.scenic-treatment-overlay[data-treatment="heritage"]{background:linear-gradient(180deg,rgba(226,209,171,.05),rgba(135,103,61,.22)),radial-gradient(circle at 50% 100%,transparent 46%,rgba(65,49,31,.16) 100%);mix-blend-mode:multiply}.scenic-treatment-overlay[data-treatment="warm"]{background:linear-gradient(180deg,rgba(224,179,104,.08),rgba(126,78,39,.27));mix-blend-mode:soft-light}.scenic-treatment-overlay[data-treatment="editorial"]{background:linear-gradient(180deg,rgba(244,241,229,.04),rgba(48,67,66,.11));mix-blend-mode:multiply}.scenic-treatment-overlay[data-treatment="ink"]{background:repeating-linear-gradient(0deg,rgba(76,65,49,.035) 0 1px,transparent 1px 4px),linear-gradient(180deg,rgba(238,228,207,.12),rgba(99,83,61,.17));mix-blend-mode:multiply}.scenic-treatment-overlay[data-treatment="painterly"]{background:radial-gradient(circle at 50% 60%,rgba(255,248,231,.10),rgba(93,82,61,.16)),linear-gradient(180deg,transparent,rgba(212,183,125,.12));mix-blend-mode:soft-light}.poster[data-treatment="ink"]:after{opacity:.24}.poster[data-treatment="painterly"]:after{opacity:.13}.route-svg{z-index:7}.map-wash{z-index:3}.scenic-art{z-index:5;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.08) 10%,rgba(0,0,0,.55) 37%,#000 62%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.08) 10%,rgba(0,0,0,.55) 37%,#000 62%,#000 100%)}.map-legend,.map-scale{z-index:9}.map-attribution{z-index:9}.marker-group circle.badge,.marker-group circle.anchor,.marker-group circle.anchor-halo{vector-effect:non-scaling-stroke}.marker-group circle.badge{fill:var(--marker);stroke-width:2.1}.marker-group circle.anchor-halo{fill:rgba(248,243,232,.96);stroke:var(--marker);stroke-width:1.2}.marker-group circle.anchor{fill:var(--marker)}.marker-group .marker-leader{stroke:var(--marker);stroke-width:1.35}.marker-group text{font-family:"Avenir Next Condensed","Arial Narrow",Inter,sans-serif;font-size:12px;font-weight:900}.route-out{stroke-width:3.6}.route-ret{stroke-width:3.25}.story-column{padding:15px 11px 10px;background:linear-gradient(180deg,rgba(249,245,235,.98),rgba(244,237,222,.96));display:flex;flex-direction:column}.story-column-head{padding:2px 2px 10px;border-bottom:1px solid rgba(153,132,96,.35)}.story-column-head>span{display:block;color:#9b7641;font-size:6.4px;letter-spacing:1.65px;font-weight:900;margin-bottom:4px}.story-column-head h3{font-family:"Avenir Next Condensed","Arial Narrow",sans-serif;font-size:13px;line-height:1.02;letter-spacing:.6px;margin:0;color:#172838}.story-column-head small{display:block;font-size:5.6px;letter-spacing:1px;color:#7b7160;font-weight:800;margin-top:5px}.story-list{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;padding:4px 0 2px 0}.story-list:before{content:"";position:absolute;left:12px;top:14px;bottom:16px;border-left:1px solid rgba(117,103,77,.35)}.poster-story{position:relative;z-index:1;display:grid;grid-template-columns:26px minmax(0,1fr) 35px;gap:7px;align-items:center;flex:1;min-height:0;padding:7px 0;border-bottom:1px dashed rgba(132,113,82,.28)}.poster-story:last-child{border-bottom:0}.timeline-badge{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--marker);color:#fff;border:2px solid var(--paper2);box-shadow:0 0 0 1px rgba(94,82,61,.22);font-family:"Avenir Next Condensed",Inter,sans-serif;font-size:9px;font-weight:900}.story-copy{min-width:0}.story-meta{display:flex;align-items:center;gap:5px;margin-bottom:3px}.story-meta span{font-size:6.2px;font-weight:900;letter-spacing:.9px;color:#9b7641;white-space:nowrap}.story-meta em{font-style:normal;font-size:5.2px;letter-spacing:.55px;text-transform:uppercase;color:#8a8b82;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poster-story h4{font-family:"Avenir Next Condensed","Arial Narrow",sans-serif;font-size:10.8px;line-height:1.03;letter-spacing:.45px;margin:0 0 4px;color:#152838}.poster-story p{font-size:7.15px!important;line-height:1.34!important;margin:0;color:#455057;overflow-wrap:anywhere}.story-list[data-count="1"] .poster-story,.story-list[data-count="2"] .poster-story,.story-list[data-count="3"] .poster-story{flex:0 0 auto;min-height:108px}.story-list[data-count="6"] .poster-story{padding:5px 0}.story-list[data-count="6"] .poster-story p{font-size:6.6px!important;line-height:1.28!important}.story-list[data-count="6"] .poster-story h4{font-size:10px}.story-icon{width:33px;height:33px;border:1px solid rgba(132,113,82,.34);border-radius:50%;padding:6px;background:rgba(255,252,244,.62);display:grid;place-items:center;color:#46535a}.story-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.story-icon-start{color:#607044}.story-icon-finish{color:#94703b}.story-icon-weather{color:#536a79}.story-icon-climb{color:#667053}.story-icon-refuel{color:#76583d}.story-icon-landmark{color:#5f6672}.story-icon-tough{color:#75595a}.story-icon-breakthrough{color:#9a7441}.story-icon-night{color:#596477}.bottom-band{grid-template-columns:1.25fr 1fr;background:linear-gradient(180deg,rgba(250,246,237,.96),rgba(239,231,214,.98));border-top:1px solid #b9aa8e}.stats-grid{background:rgba(255,253,247,.24)}.stat{padding:7px 4px 8px}.stat small{font-size:5.4px;letter-spacing:1.15px;color:#a17d44;font-weight:900;margin-bottom:3px}.stat:after{top:22px;width:18px}.stat-icon{width:27px;height:27px;margin:7px 0 6px;background:rgba(255,252,245,.38)}.stat-icon svg{width:15px;height:15px}.stat strong{font-size:23px;letter-spacing:.1px}.stat span{font-size:5.7px;letter-spacing:1.15px;color:#7b6845;margin-top:5px}.elevation-block{padding-top:10px}.mini-heading{font-size:6.5px}.elevation-block svg{height:108px}.poster-footer{font-size:7.2px}.poster.no-stories .story-column{display:none}.poster.no-stories{grid-template-columns:1fr}.poster.no-stories .poster-main{border-right:0}@media print{.poster-main{grid-template-rows:auto 1fr 64mm 18mm}.story-column{padding:5mm 3.2mm 3mm}.scenic-treatment-overlay{display:block}.poster-story p{font-size:7px!important}.story-icon{background:transparent}}


/* v0.5 — premium scenic masters, deterministic treatments, richer blend controls, clearer moments */
.range-with-value{grid-template-columns:120px minmax(0,1fr) 38px}.range-with-value output{font-size:9px;font-weight:900;color:#59646d;text-align:right;letter-spacing:.2px}.blend-controls{margin-top:12px;padding:11px 10px 9px;border:1px solid #e3e5e6;border-radius:10px;background:#faf9f6}.blend-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:4px}.blend-heading span{font-size:10px;font-weight:900;letter-spacing:.9px;text-transform:uppercase;color:#5f6972}.blend-heading small{font-size:8px;color:#8b918f;text-align:right}.blend-controls .range-row{margin-top:8px}.scenic-preset{position:relative}.scenic-preset small{display:none}.scenic-preset.premium small{display:block;position:absolute;right:5px;top:5px;background:rgba(15,27,38,.82);color:#fff;border-radius:999px;padding:2px 5px;font-size:6.5px;letter-spacing:.7px;text-transform:uppercase}.scenic-library .scenic-preset img{height:78px;object-fit:cover}.scenic-art{height:100%;object-fit:cover;object-position:center 57%;bottom:0;-webkit-mask-image:none;mask-image:none;transition:opacity .12s ease}.scenic-art-base{z-index:5}.scenic-art-treated{z-index:5;pointer-events:none}.scenic-treatment-overlay{z-index:6;height:100%;bottom:0;-webkit-mask-image:none;mask-image:none}.map-wash{background:linear-gradient(to bottom,rgba(242,234,217,.05) 0%,rgba(242,234,217,.10) 45%,rgba(242,234,217,.34) 72%,rgba(242,234,217,.58) 100%)}
.map-legend{left:16px;top:18px;bottom:auto;transform:none;padding:7px 9px;background:rgba(247,241,229,.93);box-shadow:0 3px 10px rgba(29,37,43,.07)}
.marker-group circle.badge{stroke:rgba(250,246,236,.98);stroke-width:2.6;filter:drop-shadow(0 1px 1px rgba(16,26,34,.18))}.marker-group text{font-size:12.5px;font-weight:950;letter-spacing:-.1px;dominant-baseline:middle;text-anchor:middle;fill:#fff}.marker-group .marker-leader{stroke-width:1.55}.timeline-badge{width:28px;height:28px;font-size:10.5px;border-width:2.5px;box-shadow:0 0 0 1px rgba(73,70,56,.35),0 2px 4px rgba(30,34,30,.08)}.story-list:before{left:14px}.poster-story{grid-template-columns:30px minmax(0,1fr) 36px;gap:7px}.story-meta{display:block;margin-bottom:1px}.story-meta span{font-size:6.4px;letter-spacing:1px}.story-type{font-size:5.4px;line-height:1.12;letter-spacing:.72px;text-transform:uppercase;color:#7d837e;font-weight:900;margin:1px 0 3px;white-space:normal;overflow:visible;text-overflow:clip}.poster-story h4{margin-top:0}.story-icon{width:34px;height:34px}.story-list[data-count="6"] .story-type{font-size:4.9px;line-height:1.08;margin-bottom:2px}.story-list[data-count="6"] .poster-story{padding:4px 0}.story-list[data-count="6"] .timeline-badge{width:26px;height:26px;font-size:9.7px}.story-list[data-count="6"] .poster-story{grid-template-columns:28px minmax(0,1fr) 34px}.story-list[data-count="6"] .story-icon{width:32px;height:32px;padding:6px}
@media print{.map-legend{top:5mm;left:4mm}.scenic-art{object-position:center 57%}.timeline-badge{box-shadow:none}}

/* v0.6 — elevation layouts + connected ride import */
.import-divider{display:flex;align-items:center;gap:8px;margin:13px 0 9px;color:#89929a;font-size:8px;text-transform:uppercase;letter-spacing:1.1px;font-weight:800}.import-divider:before,.import-divider:after{content:"";height:1px;background:#e5e8ea;flex:1}.provider-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.provider-button{appearance:none;border:1px solid #dce1e4;background:#fafbfb;border-radius:9px;padding:9px 10px;text-align:left;cursor:pointer;color:#24313c;min-height:50px}.provider-button b{display:block;font-size:10px;letter-spacing:.65px}.provider-button small{display:block;font-size:8px;color:#7d878f;margin-top:3px;line-height:1.25}.provider-button:hover:not(:disabled){border-color:#aeb8bf;background:#fff}.provider-button:disabled{opacity:.54;cursor:not-allowed}.provider-button.strava{border-color:rgba(252,76,2,.28)}.provider-button.strava b{color:#d94300}.provider-button.connected{border-color:#98b39e;background:#f7fbf8}.provider-button.connected:before{content:"●";float:right;color:#4a9a68;font-size:8px}.provider-setup{margin-top:9px;padding:10px;border:1px solid #e7dcc8;border-radius:9px;background:#fffaf1;color:#535d63;font-size:9px;line-height:1.45}.provider-setup b{color:#283641}.provider-setup ol{padding-left:17px;margin:7px 0 0}.provider-setup code{font-size:8px;background:#f0ece4;padding:1px 3px;border-radius:3px}.activity-browser{margin-top:10px;border:1px solid #dce1e4;border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 8px 22px rgba(26,38,49,.08)}.activity-browser-head{display:flex;justify-content:space-between;align-items:center;padding:10px 11px;border-bottom:1px solid #edf0f2;background:#fafbfb}.activity-browser-head b{font-size:10px}.activity-browser-head small{display:block;font-size:8px;color:#7c858c;margin-top:2px}.activity-browser-head button{border:0;background:transparent;font-size:20px;color:#69747c;cursor:pointer}.activity-browser-list{max-height:260px;overflow:auto}.activity-row{width:100%;border:0;border-bottom:1px solid #edf0f2;background:#fff;padding:9px 11px;text-align:left;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:8px;color:#24313c}.activity-row:hover{background:#faf7f0}.activity-row:last-child{border-bottom:0}.activity-row b{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-row small{display:block;color:#7d878f;font-size:7.6px;margin-top:3px}.activity-row .activity-metric{font-size:8px;font-weight:800;color:#61707a;white-space:nowrap;align-self:center}.activity-browser-foot{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#fafbfb}.button.mini{padding:6px 8px;font-size:8px}.text-button{border:0;background:transparent;color:#8a4e42;font-size:8px;font-weight:800;cursor:pointer}.imported-photo{display:grid;grid-template-columns:58px 1fr;gap:9px;margin-top:9px;padding:8px;border:1px solid #e1e4e6;border-radius:9px;background:#fafafa}.imported-photo img{width:58px;height:50px;object-fit:cover;border-radius:6px}.imported-photo b{display:block;font-size:9px}.imported-photo small{display:block;font-size:7.7px;color:#78828a;line-height:1.3;margin:2px 0 5px}
.segmented.triple{grid-template-columns:repeat(3,1fr)}.elevation-hint{margin:6px 0 0}.hero-elevation{display:none;position:absolute;left:14px;right:14px;bottom:2px;height:82px;z-index:9;pointer-events:none;padding:21px 8px 2px;background:linear-gradient(to top,rgba(244,237,222,.90) 0%,rgba(244,237,222,.52) 35%,rgba(244,237,222,.12) 70%,transparent 100%)}.hero-elevation svg{width:100%;height:58px;overflow:visible}.hero-elevation .elev-fill{fill:rgba(54,63,55,.16)}.hero-elevation .elev-line{stroke:#303b38;stroke-width:1.35}.hero-elevation .elev-grid{stroke:rgba(86,88,73,.10)}.hero-elevation-label{position:absolute;left:9px;bottom:5px;font-size:5px;letter-spacing:1.2px;color:rgba(55,63,59,.68);font-weight:900}.poster[data-elevation="integrated"] .hero-elevation{display:block}.poster[data-elevation="integrated"] .bottom-band,.poster[data-elevation="hidden"] .bottom-band{grid-template-columns:1fr}.poster[data-elevation="integrated"] .elevation-block,.poster[data-elevation="hidden"] .elevation-block{display:none}.poster[data-elevation="integrated"] .poster-main,.poster[data-elevation="hidden"] .poster-main{grid-template-rows:auto minmax(0,1fr) 104px 44px}.poster[data-elevation="integrated"] .stats-grid,.poster[data-elevation="hidden"] .stats-grid{grid-template-columns:repeat(3,1fr);padding:4px 12px}.poster[data-elevation="integrated"] .stat,.poster[data-elevation="hidden"] .stat{display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto auto;column-gap:7px;align-content:center;justify-items:start;text-align:left;padding:7px 12px}.poster[data-elevation="integrated"] .stat:after,.poster[data-elevation="hidden"] .stat:after{display:none}.poster[data-elevation="integrated"] .stat-icon,.poster[data-elevation="hidden"] .stat-icon{grid-column:1;grid-row:1/4;margin:0;width:32px;height:32px;align-self:center}.poster[data-elevation="integrated"] .stat small,.poster[data-elevation="hidden"] .stat small{grid-column:2;margin:0 0 2px;font-size:5.6px}.poster[data-elevation="integrated"] .stat strong,.poster[data-elevation="hidden"] .stat strong{grid-column:2;font-size:22px}.poster[data-elevation="integrated"] .stat span,.poster[data-elevation="hidden"] .stat span{grid-column:2;margin-top:2px;max-width:none;font-size:5.2px}.poster[data-elevation="hidden"] .hero-elevation{display:none}
@media print{.poster[data-elevation="integrated"] .poster-main,.poster[data-elevation="hidden"] .poster-main{grid-template-rows:auto 1fr 42mm 18mm}.hero-elevation{left:5mm;right:5mm;height:29mm}}
.hero-elevation .elev-label{display:none}
.activity-loading,.activity-error{padding:13px 11px;font-size:9px;color:#78828a;line-height:1.4}.activity-error{color:#9b4e43;background:#fff8f6}

/* v0.7 — smart framing, route-derived metadata, map styles, elevation prominence, orientation + brand */
.brand-mark{overflow:hidden;padding:0;background:#f8f3e9;border-color:rgba(255,255,255,.3)}
.brand-mark img{width:100%;height:100%;display:block;object-fit:cover}
.orientation-segmented{max-width:220px}.map-style-row{margin-top:13px;border-top:1px solid #edf0f2;padding-top:12px}.map-style-hint{margin:6px 0 2px}.elevation-prominence-row{margin-top:9px}

/* Map background families. Tile source changes in JS; these filters complete the art direction. */
.poster[data-map-style="classic"] .tile-layer img{filter:saturate(.50) sepia(.14) brightness(1.06) contrast(.88);opacity:.96}
.poster[data-map-style="minimal"] .tile-layer img{filter:saturate(.28) sepia(.10) brightness(1.11) contrast(.82);opacity:.91}
.poster[data-map-style="road"] .tile-layer img{filter:saturate(.58) sepia(.08) brightness(1.04) contrast(.91);opacity:.93}
.poster[data-map-style="topo"] .tile-layer img{filter:saturate(.48) sepia(.13) brightness(1.06) contrast(.91);opacity:.94}
.poster[data-map-style="vintage"] .tile-layer img{filter:grayscale(.24) sepia(.42) saturate(.58) brightness(1.08) contrast(.84);opacity:.91}
.poster[data-map-style="vintage"] .map-wash{background:linear-gradient(to bottom,rgba(233,218,187,.12),rgba(238,224,195,.20) 50%,rgba(242,234,217,.63) 78%,rgba(242,234,217,.98) 100%);mix-blend-mode:multiply}
.poster[data-map-style="dark"] .tile-layer{background:#17222a}.poster[data-map-style="dark"] .tile-layer img{filter:saturate(.45) brightness(.80) contrast(1.04);opacity:.90}
.poster[data-map-style="dark"] .map-wash{background:linear-gradient(to bottom,rgba(13,27,37,.04),rgba(13,27,37,.10) 46%,rgba(242,234,217,.42) 72%,rgba(242,234,217,.96) 100%)}
.poster[data-map-style="dark"] .route-out,.poster[data-map-style="dark"] .route-ret{filter:drop-shadow(0 0 1.5px rgba(255,255,255,.86))}
.poster[data-map-style="dark"] .map-scale{color:#fff;border-color:#fff;text-shadow:0 1px 3px #000}.poster[data-map-style="dark"] .map-attribution{color:rgba(255,255,255,.72)}

/* Integrated elevation: default is intentionally visible, with prominence controlled by CSS variables from JS. */
.hero-elevation{height:var(--elev-height,101px);padding:25px 9px 5px;background:linear-gradient(to top,rgba(244,237,222,var(--elev-bg-alpha,.86)) 0%,rgba(244,237,222,.62) 38%,rgba(244,237,222,.18) 72%,transparent 100%)}
.hero-elevation svg{height:calc(var(--elev-height,101px) - 34px)}
.hero-elevation .elev-fill{fill:rgba(34,46,43,var(--elev-fill-opacity,.28))}
.hero-elevation .elev-line{stroke:#243633;stroke-width:var(--elev-line-w,2.4px);filter:drop-shadow(0 1px 0 rgba(250,246,236,.78))}
.hero-elevation .elev-grid{stroke:rgba(66,74,65,.17)}
.hero-elevation-label{font-size:5.4px;color:rgba(34,48,44,.82)}

/* Portrait remains the editorial default. */
.poster[data-orientation="portrait"]{width:min(100%,720px);aspect-ratio:297/420;grid-template-columns:minmax(0,1fr) 170px}

/* Landscape is a separate composition, not a stretched portrait. */
.poster[data-orientation="landscape"]{width:min(100%,1000px);aspect-ratio:420/297;grid-template-columns:minmax(0,1fr) 210px}
.poster[data-orientation="landscape"] .poster-main{grid-template-rows:auto minmax(0,1fr) 102px 36px}
.poster[data-orientation="landscape"] .poster-header{padding:14px 34px 8px}
.poster[data-orientation="landscape"] .edition-line{font-size:8px}.poster[data-orientation="landscape"] .poster-header h2{font-size:43px;line-height:.91;margin:5px 0 4px;letter-spacing:2.6px}.poster[data-orientation="landscape"] .poster-header[data-title-size="long"] h2{font-size:38px}.poster[data-orientation="landscape"] .poster-header[data-title-size="xlong"] h2{font-size:33px}
.poster[data-orientation="landscape"] .poster-rider{font-size:12px;letter-spacing:3.6px}.poster[data-orientation="landscape"] .poster-meta{font-size:7.5px;margin-top:3px}
.poster[data-orientation="landscape"] .story-column{padding:13px 12px 9px}.poster[data-orientation="landscape"] .story-column-head{padding-bottom:7px}.poster[data-orientation="landscape"] .story-column-head h3{font-size:12px}.poster[data-orientation="landscape"] .story-list{padding-top:2px}.poster[data-orientation="landscape"] .poster-story{min-height:0;padding:4px 0;grid-template-columns:28px minmax(0,1fr) 31px;gap:6px}.poster[data-orientation="landscape"] .timeline-badge{width:25px;height:25px;font-size:9.5px}.poster[data-orientation="landscape"] .story-icon{width:30px;height:30px;padding:5px}.poster[data-orientation="landscape"] .poster-story h4{font-size:9.5px;margin-bottom:2px}.poster[data-orientation="landscape"] .poster-story p{font-size:6.25px!important;line-height:1.2!important}.poster[data-orientation="landscape"] .story-type{font-size:4.8px;margin-bottom:1px}.poster[data-orientation="landscape"] .story-meta span{font-size:5.6px}.poster[data-orientation="landscape"] .qr-module{padding:5px;margin-top:4px}
.poster[data-orientation="landscape"][data-elevation="integrated"] .poster-main,.poster[data-orientation="landscape"][data-elevation="hidden"] .poster-main{grid-template-rows:auto minmax(0,1fr) 88px 36px}
.poster[data-orientation="landscape"] .stats-grid{padding:2px 10px!important}.poster[data-orientation="landscape"] .stat{padding:4px 9px!important}.poster[data-orientation="landscape"] .stat strong{font-size:20px!important}.poster[data-orientation="landscape"] .stat-icon{width:29px!important;height:29px!important}.poster[data-orientation="landscape"] .poster-footer{font-size:6.5px}
.poster[data-orientation="landscape"] .scenic-art{object-position:center 60%}
.poster[data-orientation="landscape"] .map-legend{top:14px;left:15px}.poster[data-orientation="landscape"] .map-scale{top:9px;right:16px}

@media print{
  .poster[data-orientation="portrait"]{width:297mm;height:420mm;aspect-ratio:auto;max-width:none;box-shadow:none}
  .poster[data-orientation="landscape"]{width:420mm;height:297mm;aspect-ratio:auto;max-width:none;box-shadow:none}
  .poster[data-orientation="portrait"] .poster-main{grid-template-rows:auto 1fr 42mm 18mm}
  .poster[data-orientation="landscape"] .poster-main{grid-template-rows:auto 1fr 35mm 14mm}
  .poster[data-orientation="landscape"][data-elevation="integrated"] .poster-main,.poster[data-orientation="landscape"][data-elevation="hidden"] .poster-main{grid-template-rows:auto 1fr 30mm 14mm}
  .poster[data-orientation="landscape"] .story-column{padding:4mm 3mm 2.5mm}
  .poster[data-orientation="landscape"] .poster-story p{font-size:6.6px!important}
}

/* v0.8 — vector cartography, story reordering, intelligent photo composition */
.vector-map{position:absolute;inset:0;z-index:1;background:#e7e4da}.vector-map .maplibregl-canvas{outline:0}.vector-map .maplibregl-control-container{display:none}.tile-layer{z-index:1}.route-svg{z-index:4}.map-wash{z-index:3}
.poster[data-map-style="heritage"] .vector-map{filter:saturate(.58) sepia(.16) brightness(1.055) contrast(.90)}
.poster[data-map-style="minimal"] .vector-map{filter:saturate(.28) sepia(.08) brightness(1.10) contrast(.87)}
.poster[data-map-style="road"] .vector-map{filter:saturate(.72) sepia(.04) brightness(1.02) contrast(.96)}
.poster[data-map-style="terrain"] .vector-map{filter:saturate(.78) sepia(.08) brightness(1.01) contrast(.96)}
.poster[data-map-style="dark"] .vector-map{filter:saturate(.60) brightness(.84) contrast(1.06)}
.poster[data-map-style="dark"] .map-wash{background:linear-gradient(to bottom,rgba(13,27,37,.02),rgba(13,27,37,.08) 48%,rgba(242,234,217,.40) 72%,rgba(242,234,217,.96) 100%)}
.story-head{grid-template-columns:27px 34px 1fr 34px}.story-drag{width:27px;height:30px;border:1px solid #d8dde1;border-radius:7px;background:#f6f7f8;color:#77828b;font-size:15px;font-weight:900;cursor:grab;letter-spacing:-3px;padding:0}.story-drag:active{cursor:grabbing}.story-editor.dragging{opacity:.45}.story-editor.drag-over{box-shadow:inset 0 2px 0 #a78849;background:#fffbf2}.story-actions{gap:7px;flex-wrap:wrap}.button.ghost-light{background:#f6f7f8;border:1px solid #d9dee2;color:#52606a}.button.ghost-light.mini{padding:7px 8px;font-size:8px}.story-count{margin-left:auto}
.image-validation{margin:9px 0 4px;padding:9px 10px;border-radius:9px;background:#f5f8f7;border:1px solid #d8e3df;color:#51625b;font-size:9px;line-height:1.35}.image-validation b,.image-validation span,.image-validation em{display:block}.image-validation span{margin-top:2px}.image-validation em{font-style:normal;color:#9a5a43;margin-top:3px;font-weight:700}.image-validation[data-quality="low-resolution"]{background:#fff8f2;border-color:#ecd8c9}.photo-layout-row{margin-top:9px}.focal-controls{padding:0 2px 4px}.focal-controls .range-row{margin-top:8px}
.landscape-tagline{display:none;margin-top:5px;font-size:6.2px;font-weight:800;letter-spacing:1.15px;color:#8b7449;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.poster[data-orientation="landscape"] .landscape-tagline{display:block}.poster[data-orientation="landscape"] .poster-footer{display:none}.poster[data-orientation="landscape"] .poster-main{grid-template-rows:auto minmax(0,1fr) 102px!important}.poster[data-orientation="landscape"][data-elevation="integrated"] .poster-main,.poster[data-orientation="landscape"][data-elevation="hidden"] .poster-main{grid-template-rows:auto minmax(0,1fr) 88px!important}
/* Photo composition modes. */
.poster[data-art-layout="split"][data-orientation="landscape"] .scenic-art{left:auto;right:0;top:0;bottom:0;width:46%;height:100%!important;clip-path:none!important;-webkit-mask-image:none!important;mask-image:none!important;object-fit:cover;z-index:5}.poster[data-art-layout="split"][data-orientation="landscape"] .scenic-treatment-overlay{left:auto;right:0;top:0;width:46%;height:100%!important;clip-path:none!important;-webkit-mask-image:none!important;mask-image:none!important}.poster[data-art-layout="split"][data-orientation="landscape"] .map-wash{background:linear-gradient(to right,rgba(242,234,217,.04) 0%,rgba(242,234,217,.10) 50%,rgba(242,234,217,.92) 55%,transparent 58%)}.poster[data-art-layout="split"][data-orientation="landscape"] .hero-elevation{right:47%}
.poster[data-art-layout="framed"] .scenic-art{left:12%;right:12%;width:76%;height:43%!important;bottom:4%;clip-path:none!important;-webkit-mask-image:none!important;mask-image:none!important;border:5px solid rgba(244,237,222,.82);box-shadow:0 8px 18px rgba(30,36,34,.16);object-fit:cover}.poster[data-art-layout="framed"] .scenic-treatment-overlay{left:12%;right:12%;width:76%;height:43%!important;bottom:4%;top:auto;clip-path:none!important;-webkit-mask-image:none!important;mask-image:none!important}.poster[data-art-layout="full"] .scenic-art{inset:0;width:100%;height:100%!important;clip-path:none!important;-webkit-mask-image:none!important;mask-image:none!important;object-fit:cover}.poster[data-art-layout="full"] .scenic-treatment-overlay{inset:0;height:100%!important;clip-path:none!important;-webkit-mask-image:none!important;mask-image:none!important}.poster[data-art-layout="full"] .map-wash{background:linear-gradient(to bottom,rgba(242,234,217,.68),rgba(242,234,217,.16) 62%,rgba(242,234,217,.02))}
.scenic-library{max-height:410px;overflow:auto;padding-right:2px}.scenic-preset small{font-size:5.8px;letter-spacing:.5px;color:#a17d39;text-transform:uppercase;font-weight:900}
@media print{.poster[data-orientation="landscape"] .poster-main{grid-template-rows:auto 1fr 35mm!important}.poster[data-orientation="landscape"][data-elevation="integrated"] .poster-main,.poster[data-orientation="landscape"][data-elevation="hidden"] .poster-main{grid-template-rows:auto 1fr 30mm!important}}


/* v0.9 — premium simple flow, advanced disclosure, landscape data-band hardening */
.simple-design-hint{margin:8px 1px 12px}.route-artwork-card>.artwork-subheading{margin-top:4px}.scenic-library-primary{max-height:none;overflow:visible}.span-scenic{grid-column:1/-1}.scenic-more{border:1px solid #e1e5e8;border-radius:9px;background:#fafbfb;margin-top:2px}.scenic-more>summary{list-style:none;cursor:pointer;padding:9px 10px;font-size:10px;font-weight:800;color:#59656e;display:flex;align-items:center;justify-content:space-between}.scenic-more>summary::-webkit-details-marker{display:none}.scenic-more>summary:after{content:"+";font-size:15px;font-weight:500;color:#8b754e}.scenic-more[open]>summary:after{content:"−"}.scenic-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0 8px 8px}.scenic-more-grid .scenic-preset{min-width:0}
.advanced-settings{margin-top:14px;border:1px solid #dfe3e6;border-radius:11px;background:#f8f9fa;overflow:hidden}.advanced-settings>summary{list-style:none;cursor:pointer;padding:12px 13px;display:flex;align-items:center;justify-content:space-between;color:#31404b}.advanced-settings>summary::-webkit-details-marker{display:none}.advanced-settings>summary span{display:flex;flex-direction:column;gap:2px}.advanced-settings>summary b{font-size:11px}.advanced-settings>summary small{font-size:9px;font-weight:500;color:#78838c}.advanced-settings>summary i{font-style:normal;font-size:18px;color:#8b754e;transition:transform .18s ease}.advanced-settings[open]>summary i{transform:rotate(180deg)}.advanced-settings-body{border-top:1px solid #e1e5e8;padding:12px}.advanced-intro{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border-radius:8px;background:#fff8ea;color:#6c5c3e;font-size:9px;margin-bottom:12px}.advanced-group{padding:12px 0;border-top:1px solid #e2e6e9}.advanced-group:first-of-type{border-top:0;padding-top:0}.advanced-heading{font-size:9px;letter-spacing:1.2px;text-transform:uppercase;font-weight:900;color:#8b744a;margin-bottom:10px}.advanced-extras{padding-bottom:2px}.advanced-settings .map-style-row{margin-top:11px}.advanced-settings .colours{margin-bottom:0}.advanced-settings .blend-controls{margin-top:11px}

/* Landscape has a dedicated data band. Panel elevation no longer inherits portrait dimensions. */
.poster[data-orientation="landscape"] .poster-main{grid-template-rows:auto minmax(0,1fr) 126px!important}.poster[data-orientation="landscape"][data-elevation="panel"] .bottom-band{grid-template-columns:minmax(0,42%) minmax(0,58%);min-height:0;overflow:hidden}.poster[data-orientation="landscape"][data-elevation="panel"] .elevation-block{padding:8px 10px 5px;min-width:0;overflow:hidden}.poster[data-orientation="landscape"][data-elevation="panel"] .elevation-block svg{height:92px;display:block;overflow:hidden}.poster[data-orientation="landscape"][data-elevation="panel"] .mini-heading{font-size:6px;margin-bottom:1px}.poster[data-orientation="landscape"][data-elevation="panel"] .stats-grid{padding:0!important;min-width:0;overflow:hidden}.poster[data-orientation="landscape"][data-elevation="panel"] .stat{min-width:0;padding:6px 5px!important}.poster[data-orientation="landscape"][data-elevation="panel"] .stat small{font-size:5px!important;margin-bottom:1px}.poster[data-orientation="landscape"][data-elevation="panel"] .stat-icon{width:25px!important;height:25px!important;margin:4px 0!important}.poster[data-orientation="landscape"][data-elevation="panel"] .stat strong{font-size:18px!important;line-height:1!important;max-width:100%;overflow:hidden;text-overflow:ellipsis}.poster[data-orientation="landscape"][data-elevation="panel"] .stat span{font-size:5px!important;margin-top:3px!important}.poster[data-orientation="landscape"][data-elevation="integrated"] .poster-main,.poster[data-orientation="landscape"][data-elevation="hidden"] .poster-main{grid-template-rows:auto minmax(0,1fr) 88px!important}.poster[data-orientation="landscape"] .bottom-band{overflow:hidden}

/* 1–2 story posters should read as deliberate editorial layouts rather than leave a dead column. */
.story-list[data-count="1"],.story-list[data-count="2"]{justify-content:space-evenly}.story-list[data-count="1"] .poster-story,.story-list[data-count="2"] .poster-story{flex:0 1 auto;min-height:0;border-bottom:0;padding:18px 0}.story-list[data-count="1"] .poster-story{max-height:48%}.story-list[data-count="2"] .poster-story{max-height:43%}.story-list[data-count="1"] .timeline-badge,.story-list[data-count="2"] .timeline-badge{width:28px;height:28px;font-size:10px}.story-list[data-count="1"] .story-icon,.story-list[data-count="2"] .story-icon{width:38px;height:38px}.story-list[data-count="1"] .poster-story h4,.story-list[data-count="2"] .poster-story h4{font-size:12px}.story-list[data-count="1"] .poster-story p,.story-list[data-count="2"] .poster-story p{font-size:7.6px!important;line-height:1.36!important}.poster[data-orientation="landscape"] .story-list[data-count="1"] .poster-story,.poster[data-orientation="landscape"] .story-list[data-count="2"] .poster-story{padding:11px 0}.poster[data-orientation="landscape"] .story-list[data-count="1"] .poster-story h4,.poster[data-orientation="landscape"] .story-list[data-count="2"] .poster-story h4{font-size:10.5px}.poster[data-orientation="landscape"] .story-list[data-count="1"] .poster-story p,.poster[data-orientation="landscape"] .story-list[data-count="2"] .poster-story p{font-size:6.7px!important;line-height:1.28!important}

/* Better visual feedback for story drag reordering. */
.story-drag{position:relative}.story-drag:after{content:"Drag";position:absolute;left:50%;top:-20px;transform:translateX(-50%);font-size:7px;letter-spacing:.3px;background:#172838;color:#fff;padding:3px 5px;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .15s}.story-drag:hover:after{opacity:1}

@media print{
  .advanced-settings,.controls{display:none!important}
  .poster[data-orientation="landscape"] .poster-main{grid-template-rows:auto 1fr 42mm!important}
  .poster[data-orientation="landscape"][data-elevation="integrated"] .poster-main,.poster[data-orientation="landscape"][data-elevation="hidden"] .poster-main{grid-template-rows:auto 1fr 30mm!important}
  .poster[data-orientation="landscape"][data-elevation="panel"] .elevation-block svg{height:31mm}
}

/* v0.10 — Strava-only import, searchable history, QR visibility + photo hardening */
.provider-grid.single-provider{grid-template-columns:1fr}.provider-grid.single-provider .provider-button{min-height:54px}.provider-button.strava b{color:#FC5200;text-transform:none;font-size:11px}.strava-source-link{display:inline-block;margin-top:5px;color:#FC5200;font-size:8px;font-weight:800;text-decoration:underline}.strava-source-link[hidden]{display:none!important}.strava-disclosure{margin-top:8px;border:1px solid #e3e6e8;border-radius:9px;background:#fafbfb;padding:8px 10px;color:#68747d}.strava-disclosure summary{cursor:pointer;font-size:8.5px;font-weight:800;color:#40505c}.strava-disclosure p{font-size:7.6px;line-height:1.45;margin:7px 0 0}.strava-disclosure code{font-size:7.2px;background:#f0ece4;padding:1px 3px;border-radius:3px}.strava-disclaimer{font-weight:700;color:#758089}.activity-search{display:grid;grid-template-columns:minmax(0,1fr) 112px auto;gap:7px;align-items:end;padding:9px 10px 6px;border-bottom:1px solid #edf0f2;background:#fff}.activity-search label span{display:block;font-size:7px;letter-spacing:.75px;text-transform:uppercase;font-weight:800;color:#77828a;margin-bottom:4px}.activity-search input{width:100%;border:1px solid #d9dfe3;border-radius:7px;background:#fff;padding:7px 8px;font-size:9px;color:#24313c}.activity-search-status{padding:0 10px 6px;background:#fff;color:#7b858d;font-size:7.3px;min-height:12px}.activity-browser-list.expanded{max-height:520px}.activity-browser-foot.multi{gap:8px}.activity-browser-foot.multi>div{display:flex;gap:6px;align-items:center}.activity-browser-foot.multi .button{white-space:nowrap}.imported-photo[hidden]{display:none!important}.imported-photo img[hidden]{display:none!important}.qr-module[hidden]{display:none!important}

/* v0.11 — commercial product presets, Strava consent hardening, premium route + collision-aware markers */
.strava-consent-card{margin-top:8px;padding:10px 11px;border:1px solid #e0e4e7;border-radius:10px;background:#fafbfb;color:#596772}.strava-consent-card>b{display:block;font-size:9.5px;color:#283845;margin-bottom:5px}.strava-consent-card p{font-size:7.7px;line-height:1.42;margin:5px 0}.strava-consent-card code{font-size:7.2px;background:#f0ece4;padding:1px 3px;border-radius:3px}.strava-policy-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:7px}.strava-policy-links a{font-size:7.4px;font-weight:800;color:#d84a08;text-decoration:underline}.strava-disclaimer.compact{font-size:7px;line-height:1.35;color:#899197;margin:6px 2px 0}.provider-button.strava{min-height:48px;border-color:#f1c5ae;background:#fff}.provider-button.strava:hover{border-color:#fc5200;background:#fff9f5}.provider-button.strava b{font-size:11px;color:#fc5200}.provider-button.strava.connected{border-color:#afcfb5;background:#f7fbf7}.provider-button.strava.connected b{color:#355d40}.text-button.danger{color:#9e3b2f}

.product-presets{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.product-preset{position:relative;border:1px solid #dce1e4;border-radius:11px;background:#fff;padding:0;overflow:hidden;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.product-preset:hover{border-color:#b9a47d;transform:translateY(-1px)}.product-preset.active{border-color:#9b7a42;box-shadow:0 0 0 2px rgba(155,122,66,.13),0 5px 14px rgba(47,43,34,.08)}.product-thumb{height:74px;display:block;background-image:linear-gradient(180deg,rgba(247,241,229,.05),rgba(19,39,48,.10)),var(--thumb);background-size:cover;background-position:center;position:relative;overflow:hidden}.product-thumb:after{content:"";position:absolute;left:14%;right:14%;top:48%;height:3px;background:#234b55;border-radius:999px;transform:rotate(-8deg);box-shadow:18px -7px 0 -1px #234b55,-15px 7px 0 -1px #234b55;opacity:.92}.classic-route-thumb{background:linear-gradient(145deg,#f0eadf,#dce4e2);position:relative}.classic-route-thumb:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(25deg,transparent 0 19px,rgba(113,126,119,.15) 20px 21px),repeating-linear-gradient(110deg,transparent 0 26px,rgba(133,117,88,.11) 27px 28px)}.classic-route-thumb:after{left:18%;right:18%;top:50%;height:4px;background:#234b55;transform:rotate(-12deg);box-shadow:20px -9px 0 -1px #234b55,-17px 9px 0 -1px #234b55}.product-copy{display:block;padding:8px 9px 9px;min-height:50px}.product-copy b{display:block;font-size:10px;color:#25333d;margin-bottom:2px}.product-copy small{display:block;font-size:7.4px;line-height:1.3;color:#758089}.product-badge{position:absolute;z-index:2;top:6px;right:6px;border-radius:999px;background:#9b7a42;color:#fff;padding:3px 6px;font-size:5.8px;font-weight:900;letter-spacing:.6px;text-transform:uppercase}.optional-label{font-size:7px;letter-spacing:.7px;background:#eef1f2;color:#7c858c;border-radius:999px;padding:3px 6px;margin-left:5px;vertical-align:middle}

/* Product presets control complexity: only show controls that make sense to the chosen product. */
body[data-product="classic-route"] .route-artwork-card>.artwork-subheading,body[data-product="classic-route"] .route-artwork-card>#scenicPresets,body[data-product="classic-route"] .route-artwork-card>.upload-image,body[data-product="classic-route"] .route-artwork-card>#imageValidation,body[data-product="classic-route"] .story-editor-card,body[data-product="scenic-ride"] .story-editor-card{display:none}.poster[data-product="classic-route"],.poster[data-product="scenic-ride"]{grid-template-columns:1fr}.poster[data-product="classic-route"] .story-column,.poster[data-product="scenic-ride"] .story-column{display:none}.poster[data-product="classic-route"] .poster-main,.poster[data-product="scenic-ride"] .poster-main{border-right:0}.poster[data-product="classic-route"] .scenic-art,.poster[data-product="classic-route"] .scenic-treatment-overlay{display:none!important}.poster[data-product="classic-route"] .map-wash{background:linear-gradient(to bottom,rgba(242,234,217,.04),rgba(242,234,217,.12))}.poster[data-product="photo-story"] .scenic-art{filter:none}.poster[data-product="photo-story"] .upload-image{border-color:#b89b6a}

/* Route palette: deep petrol + muted terracotta with a restrained warm halo. */
.route-out{filter:drop-shadow(0 0 1.4px rgba(249,243,230,.98));stroke-width:3.7}.route-ret{filter:drop-shadow(0 0 1.4px rgba(249,243,230,.98));stroke-width:3.35}.marker-group .marker-leader{fill:none;stroke:var(--marker);stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.marker-group circle.badge{filter:drop-shadow(0 1px 1.2px rgba(36,42,39,.18))}

@media(max-width:390px){.product-presets{grid-template-columns:1fr}}
/* Plain-text Strava connection control: not a modified Strava logo asset. */
.provider-button.strava b{color:#25333d}.provider-button.strava:hover b{color:#25333d}
.poster[data-product="classic-route"] #routeMarkers,.poster[data-product="scenic-ride"] #routeMarkers{display:none}
.developer-tools{margin-top:9px;border-top:1px solid #edf0f2;padding-top:8px}.developer-tools summary{cursor:pointer;font-size:8px;font-weight:800;color:#7f8991}.developer-tools .button{margin-top:8px}.developer-tools small{display:block;font-size:7px;line-height:1.35;color:#8a9298;margin-top:5px}

/* v0.11.1 — first-step design gallery, guided help, contextual photo composition */
.design-start-page{position:fixed;inset:0;z-index:500;background:linear-gradient(135deg,#0c1823 0%,#132432 55%,#21313a 100%);overflow:auto;color:#fff}.design-start-page[hidden]{display:none!important}.design-start-inner{max-width:1180px;margin:0 auto;padding:44px 34px 54px}.design-start-brand{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:900;letter-spacing:.2px}.design-start-brand img{width:42px;height:42px;border-radius:10px}.design-start-copy{max-width:720px;margin:48px auto 30px;text-align:center}.design-start-copy .eyebrow{color:#d6b46f}.design-start-copy h2{font-size:46px;line-height:1.02;letter-spacing:-1px;margin:8px 0 12px}.design-start-copy p{font-size:15px;line-height:1.55;color:#c6d0d7;margin:0 auto;max-width:680px}.design-start-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.design-start-card{position:relative;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:16px;overflow:hidden;background:#fff;text-align:left;cursor:pointer;box-shadow:0 20px 45px rgba(0,0,0,.22);transition:transform .18s,border-color .18s,box-shadow .18s}.design-start-card:hover{transform:translateY(-5px);border-color:#d5b06d;box-shadow:0 26px 55px rgba(0,0,0,.31)}.design-start-card.featured{box-shadow:0 0 0 2px rgba(214,180,111,.6),0 24px 55px rgba(0,0,0,.28)}.design-start-image{display:block;height:250px;background-image:linear-gradient(180deg,rgba(11,25,35,.02),rgba(11,25,35,.22)),var(--start-image);background-size:cover;background-position:center;position:relative}.classic-route-start{background:linear-gradient(145deg,#e7e0d2,#cddad7);position:relative}.classic-route-start:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(20deg,transparent 0 30px,rgba(93,108,102,.18) 31px 32px),repeating-linear-gradient(112deg,transparent 0 39px,rgba(121,102,69,.14) 40px 41px)}.classic-route-start:after{content:"";position:absolute;left:18%;right:18%;top:53%;height:6px;border-radius:99px;background:#234b55;transform:rotate(-11deg);box-shadow:38px -17px 0 -2px #234b55,-31px 18px 0 -2px #234b55}.design-start-card-copy{display:block;padding:18px 18px 20px;color:#152634;min-height:150px}.design-start-card-copy b{display:block;font-size:20px;margin-bottom:7px}.design-start-card-copy small{display:block;font-size:12px;line-height:1.5;color:#68757e;min-height:54px}.design-start-card-copy strong{display:block;margin-top:15px;font-size:11px;letter-spacing:.4px;color:#8b6b34;text-transform:uppercase}.design-start-badge{position:absolute;top:12px;right:12px;z-index:2;padding:5px 8px;border-radius:999px;background:#d6b46f;color:#14222e;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.8px}.design-start-foot{text-align:center;color:#aebac2;font-size:11px;margin:25px 0 0}.design-start-foot button{border:0;background:transparent;color:#e5c77e;font:inherit;font-weight:900;cursor:pointer;text-decoration:underline}.selected-design-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 11px;margin:0 0 9px;border:1px solid #e0e3e5;border-radius:10px;background:#faf8f3}.selected-design-bar small{display:block;font-size:6.5px;letter-spacing:1.1px;color:#9b7a42;font-weight:900}.selected-design-bar b{display:block;font-size:11px;color:#26343d;margin-top:1px}.selected-design-bar button{border:0;background:transparent;color:#82653a;font-size:8px;font-weight:900;cursor:pointer;text-decoration:underline}.order-mode .selected-design-bar button,.order-mode #changeDesignBtn{display:none}.journey-selected #productPresets,.journey-selected #productPresetHint{display:none}.top-actions .subtle{opacity:.82}

.photo-quick{margin:10px 0 3px;padding:11px;border:1px solid #dce2e3;border-radius:11px;background:#fbfaf7}.photo-quick[hidden]{display:none!important}.photo-quick-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.photo-quick-head b{display:block;font-size:10px;color:#283841}.photo-quick-head small{display:block;margin-top:3px;font-size:7.5px;line-height:1.35;color:#748087}.recommend-chip{font-size:6px;letter-spacing:.7px;text-transform:uppercase;font-weight:900;background:#566016;color:#fff;padding:4px 6px;border-radius:999px;white-space:nowrap}.photo-layout-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:9px}.photo-layout-cards button{border:1px solid #e0e3e4;border-radius:8px;background:#fff;padding:7px 4px 6px;cursor:pointer;color:#33434d;text-align:center}.photo-layout-cards button.active{border-color:#9b7a42;box-shadow:0 0 0 2px rgba(155,122,66,.12);background:#fffaf1}.photo-layout-cards b{display:block;font-size:7.5px;margin-top:4px}.photo-layout-cards small{display:block;font-size:5.9px;line-height:1.2;color:#7d878e;margin-top:2px}.layout-icon{display:block;height:28px;border-radius:4px;background:#edf0ed;position:relative;overflow:hidden}.blend-icon:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#dce5e2 0 48%,#d4aa67 75%,#8d784f 100%)}.split-icon:before{content:"";position:absolute;inset:0;background:linear-gradient(to right,#dce5e2 0 48%,#faf6ec 48% 52%,#9e7d55 52%)}.framed-icon:before{content:"";position:absolute;left:23%;right:23%;top:12%;bottom:12%;background:#9e7d55;border:3px solid #f8f2e6;box-shadow:0 0 0 1px #c5b99e}.full-icon:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#c59b61,#526b60)}.auto-icon:before{content:"✦";position:absolute;inset:0;display:grid;place-items:center;font-size:17px;color:#8b6d36}.focal-picker-wrap{margin-top:10px;padding-top:10px;border-top:1px solid #e7e8e7;display:grid;grid-template-columns:1fr 106px;gap:9px;align-items:center}.focal-picker-wrap b{display:block;font-size:8.5px}.focal-picker-wrap small{display:block;font-size:6.6px;color:#7c858b;line-height:1.35;margin-top:2px}.focal-picker{height:70px;border-radius:7px;overflow:hidden;position:relative;cursor:crosshair;background:#ece8df}.focal-picker img{width:100%;height:100%;object-fit:cover;display:block}.focal-picker span{position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid #fff;background:#d6a74f;box-shadow:0 1px 5px rgba(0,0,0,.45);transform:translate(-50%,-50%);left:50%;top:55%;pointer-events:none}.focal-picker:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);border-radius:7px;pointer-events:none}

.tour-layer{position:fixed;inset:0;z-index:800;pointer-events:none}.tour-layer[hidden]{display:none!important}.tour-dim{position:absolute;inset:0;background:rgba(4,13,20,.68);pointer-events:auto}.tour-focus{position:fixed;border:2px solid #e0b967;border-radius:12px;box-shadow:0 0 0 9999px rgba(4,13,20,.68),0 0 0 5px rgba(224,185,103,.16);z-index:1;transition:all .2s ease;pointer-events:none}.tour-card{position:fixed;width:330px;max-width:calc(100vw - 30px);background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.35);z-index:2;padding:18px;pointer-events:auto;color:#263640}.tour-kicker{font-size:7px;letter-spacing:1px;text-transform:uppercase;font-weight:900;color:#9b7a42}.tour-card h3{font-size:18px;margin:5px 0 7px}.tour-card p{font-size:11px;line-height:1.5;color:#6e7a82;margin:0}.tour-actions{display:flex;justify-content:space-between;align-items:center;margin-top:15px}.tour-actions>div{display:flex;gap:6px}.tour-actions .button{font-size:8px;padding:7px 10px}.tour-highlight{position:relative;z-index:801!important}

@media(max-width:900px){.design-start-grid{grid-template-columns:1fr 1fr}.design-start-image{height:210px}.design-start-copy h2{font-size:38px}}@media(max-width:560px){.design-start-inner{padding:26px 16px 36px}.design-start-copy{margin-top:30px}.design-start-copy h2{font-size:32px}.design-start-grid{grid-template-columns:1fr}.photo-layout-cards{grid-template-columns:repeat(3,1fr)}.focal-picker-wrap{grid-template-columns:1fr}}
\n\n/* v0.11.2 — compact Strava journey, premium cartography and preview zoom */\n.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}\n.strava-connect-compact{text-align:center;padding:6px 0 2px}.strava-connect-image-button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;padding:0;cursor:pointer;border-radius:4px}.strava-connect-image-button img{display:block;width:193px;height:48px;max-width:100%}.strava-connect-image-button:focus-visible{outline:3px solid rgba(252,82,0,.28);outline-offset:4px}.strava-connect-compact>p{font-size:7.4px;line-height:1.4;color:#7c878e;margin:5px auto 0;max-width:270px}.strava-connect-compact>p a{color:#d84a08;font-weight:800}.compact-disclosure{margin:7px auto 0;max-width:292px;text-align:left}.compact-disclosure summary{font-size:7.2px}.compact-disclosure p{font-size:7px!important}.strava-connected-compact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center;border:1px solid #dfe6df;border-radius:10px;background:#f8fbf8;padding:9px 10px}.strava-connected-compact[hidden]{display:none!important}.strava-connected-compact>div{min-width:0}.strava-connected-compact small{display:inline;font-size:7px;color:#718079}.strava-connected-compact b{display:block;font-size:10px;color:#2f4338;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.connected-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4a9a68;margin-right:5px}.strava-connected-compact .text-button{grid-column:1/-1;justify-self:start;font-size:7px;padding:0}.compact-action{padding:8px 11px;font-size:9px}.selected-ride-summary{display:grid;grid-template-columns:27px minmax(0,1fr) auto;gap:8px;align-items:start;border:1px solid #d8e3d9;background:linear-gradient(180deg,#fbfdfb,#f4f8f4);border-radius:11px;padding:10px;margin-bottom:9px}.selected-ride-summary[hidden]{display:none!important}.selected-ride-tick{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#496e54;color:#fff;font-size:13px;font-weight:900}.selected-ride-copy{min-width:0}.selected-ride-copy>small{display:block;font-size:6px;letter-spacing:1px;font-weight:900;color:#6e8c73}.selected-ride-copy>b{display:block;font-size:11px;color:#26372f;margin:2px 0 1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-ride-summary .ride-source{font-size:7px;margin-top:2px;color:#758079}.selected-ride-summary .metric-row{font-size:7px;margin-top:3px}.selected-ride-summary .strava-source-link{font-size:6.7px;margin-top:3px}.strava-chooser.ride-complete>.strava-connect-compact,.strava-chooser.ride-complete>.strava-connected-compact{display:none}.gpx-testing{border-top:1px solid #edf0f2;margin-top:8px;padding-top:8px}.gpx-testing summary{cursor:pointer;color:#89929a;font-size:7px;font-weight:800}.compact-drop{margin-top:8px;padding:11px}.compact-drop .drop-title{font-size:9px}.compact-drop .drop-copy{font-size:7px}.activity-browser{margin-top:8px}.activity-browser-head{padding-top:9px}\n\n.preview-toolbar-actions{display:flex;align-items:center;gap:9px}.preview-zoom{display:flex;align-items:center;gap:3px;border:1px solid #dce1e4;background:#fff;border-radius:9px;padding:3px;box-shadow:0 2px 8px rgba(25,36,45,.04)}.preview-zoom button,.preview-zoom select{height:28px;border:0;background:transparent;color:#34434e;font-size:9px;font-weight:800;border-radius:6px;cursor:pointer}.preview-zoom button{min-width:29px}.preview-zoom button:hover,.preview-zoom button.active{background:#f0eadf;color:#765f39}.preview-zoom select{padding:0 4px;outline:none}.poster-viewport{max-width:1050px;margin:0 auto;overflow:auto;padding:4px 4px 24px;min-height:400px}.poster-wrap{max-width:none;margin:0 auto;display:block;position:relative}.poster-wrap .poster{position:absolute;left:0;top:0;margin:0}.poster{will-change:transform}.poster[data-map-style="heritage"] .map-wash{background:linear-gradient(to bottom,rgba(239,231,215,.02),rgba(239,231,215,.06) 54%,rgba(242,234,217,.55) 79%,rgba(242,234,217,.98) 100%)}.poster[data-map-style="minimal"] .map-wash{background:linear-gradient(to bottom,rgba(248,245,238,.03),rgba(248,245,238,.08) 58%,rgba(246,240,226,.54) 80%,rgba(242,234,217,.98) 100%)}\n@media(max-width:980px){.preview-toolbar{align-items:flex-start;gap:8px}.preview-toolbar-actions{flex-direction:column;align-items:flex-end}.quality-pill{display:none}}\n@media print{.poster-viewport,.poster-wrap{width:auto!important;height:auto!important;max-width:none!important;overflow:visible!important;padding:0!important}.poster-wrap .poster{position:relative!important;transform:none!important;left:auto!important;top:auto!important;max-width:none!important;width:297mm!important;height:420mm!important}.poster-wrap .poster[data-orientation="landscape"]{width:420mm!important;height:297mm!important}.preview-zoom{display:none!important}}\n
/* v0.11.3 — ride source choice, popular ride library and time controls */
.strava-chooser.ride-complete>.ride-source-divider,
.strava-chooser.ride-complete>.ride-source-options{display:none!important}
.ride-source-divider{display:flex;align-items:center;gap:9px;margin:12px 0 9px;color:#9aa3aa;font-size:7px;font-weight:900;letter-spacing:1.15px}.ride-source-divider:before,.ride-source-divider:after{content:"";height:1px;background:#e8ecef;flex:1}.ride-source-divider span{padding:0 3px}
.ride-source-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ride-source-option{appearance:none;width:100%;min-height:68px;border:1px solid #dce2e6;border-radius:11px;background:linear-gradient(180deg,#fff,#fafbfc);padding:10px;display:flex;align-items:center;gap:9px;text-align:left;color:#24313b;cursor:pointer;box-shadow:0 2px 9px rgba(25,37,48,.035);transition:border-color .15s,box-shadow .15s,transform .15s}.ride-source-option:hover{border-color:#bea36f;box-shadow:0 6px 16px rgba(35,45,53,.08);transform:translateY(-1px)}.ride-source-option input{display:none}.source-option-icon{width:29px;height:29px;flex:0 0 29px;border-radius:9px;display:grid;place-items:center;background:#f2ecdf;color:#806638;font-size:16px;font-weight:900}.ride-source-option b{display:block;font-size:9px;margin-bottom:2px}.ride-source-option small{display:block;font-size:6.7px;line-height:1.35;color:#7b858d;font-weight:600}
.popular-rides-panel{margin-top:10px;border:1px solid #dde3e7;border-radius:11px;background:#fbfcfc;overflow:hidden}.popular-rides-panel[hidden]{display:none!important}.popular-search{display:grid;grid-template-columns:55px 1fr;align-items:center;gap:8px;padding:9px 10px;border-bottom:1px solid #e8ecef;font-size:7px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;color:#7a858e}.popular-search input{width:100%;border:1px solid #d7dde1;border-radius:7px;background:#fff;padding:8px 9px;font-size:9px;text-transform:none;letter-spacing:0;outline:none}.popular-search input:focus{border-color:#a88a54;box-shadow:0 0 0 3px rgba(167,136,73,.1)}.popular-rides-list{max-height:390px;overflow:auto;padding:5px}.popular-ride-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border-radius:9px;border:1px solid transparent}.popular-ride-card+ .popular-ride-card{border-top-color:#edf0f2;border-radius:0}.popular-ride-card:hover{background:#fff7ea;border-color:#ead9b9;border-radius:9px}.popular-route-mini{width:54px;height:42px;border-radius:7px;background:#f3eee3;border:1px solid #e0d4bc;display:grid;place-items:center;overflow:hidden}.popular-route-mini svg{width:48px;height:34px}.popular-route-mini path{fill:none;stroke:#234b55;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.popular-ride-copy{min-width:0}.popular-ride-copy small{display:block;font-size:5.7px;line-height:1.25;color:#8d7853;text-transform:uppercase;letter-spacing:.65px;font-weight:900}.popular-ride-copy b{display:block;font-size:9.2px;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.popular-ride-copy span,.popular-ride-copy em,.popular-ride-copy a{display:block;font-size:6.3px;line-height:1.3;color:#747e86}.popular-ride-copy em{font-style:normal;color:#5f765f;font-weight:800}.popular-ride-copy a{color:#9a7132;margin-top:1px;text-decoration:underline}.button.mini{font-size:7px;padding:7px 9px;border-radius:7px}.popular-rides-note{margin:0;padding:8px 10px;background:#f4efe4;border-top:1px solid #e3d8c3;color:#756b5d;font-size:6.3px;line-height:1.4}
.time-editor{margin-top:12px;border-top:1px solid #edf0f2;padding-top:10px}.time-editor>.settings-label{margin-top:0}.time-editor-row{display:grid;grid-template-columns:1.3fr .9fr;gap:8px}.time-editor-row label{font-size:7px;text-transform:uppercase;letter-spacing:.75px;color:#7b858e;font-weight:900}.time-editor-row select,.time-editor-row input{width:100%;height:34px;margin-top:4px;border:1px solid #d8dde1;border-radius:7px;background:#fff;padding:0 8px;color:#26313b;font-size:9px;outline:none}.time-editor-row select:focus,.time-editor-row input:focus{border-color:#8a7452;box-shadow:0 0 0 3px rgba(167,136,73,.1)}.time-editor>small{display:block;margin-top:5px;color:#7d878e;font-size:6.6px;line-height:1.4}.time-editor input.invalid{border-color:#bd594c;background:#fff7f5;box-shadow:0 0 0 3px rgba(189,89,76,.08)}
@media(max-width:430px){.ride-source-options{grid-template-columns:1fr}.popular-ride-card{grid-template-columns:46px minmax(0,1fr)}.popular-ride-card>.button{grid-column:2;justify-self:start}.time-editor-row{grid-template-columns:1fr}}


/* v0.11.5 — intelligent composition + premium cartography */
.map-style-title{margin-top:14px}.map-style-gallery{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:5px 0 8px}.map-style-card{border:1px solid #d9dee1;background:#fff;border-radius:9px;padding:5px;text-align:left;cursor:pointer;color:#26343e;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.map-style-card:hover{border-color:#bca57e;transform:translateY(-1px)}.map-style-card.active{border-color:#9d7841;box-shadow:0 0 0 2px rgba(157,120,65,.10)}.map-style-card:focus-visible{outline:3px solid rgba(157,120,65,.18);outline-offset:2px}.map-style-card b,.map-style-card small{display:block}.map-style-card b{font-size:8px;margin:5px 2px 1px}.map-style-card small{font-size:6.4px;color:#859098;margin:0 2px 2px}.map-style-preview{height:42px;border-radius:6px;display:block;position:relative;overflow:hidden;border:1px solid rgba(95,93,84,.12);background-color:#eee7da;background-image:linear-gradient(24deg,transparent 39%,rgba(100,106,97,.12) 40%,transparent 41%),linear-gradient(-20deg,transparent 55%,rgba(105,99,85,.10) 56%,transparent 57%),radial-gradient(circle at 72% 30%,rgba(181,193,185,.32),transparent 18%)}.map-style-preview:before,.map-style-preview:after{content:"";position:absolute;inset:0;pointer-events:none}.map-style-preview:before{background:linear-gradient(105deg,transparent 26%,rgba(104,99,87,.10) 27% 28%,transparent 29% 54%,rgba(104,99,87,.11) 55% 56%,transparent 57%)}.map-style-preview svg{position:absolute;inset:0;width:100%;height:100%;z-index:2}.map-style-preview path{fill:none;stroke:#234b55;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke;filter:drop-shadow(0 0 1px rgba(255,250,239,.95))}.map-style-card.dark .map-style-preview{background-color:#16242b;background-image:linear-gradient(25deg,transparent 40%,rgba(205,216,211,.10) 41%,transparent 42%),radial-gradient(circle at 72% 32%,rgba(70,107,104,.28),transparent 22%)}.map-style-card.dark .map-style-preview:before{background:linear-gradient(105deg,transparent 26%,rgba(224,225,210,.10) 27% 28%,transparent 29% 54%,rgba(224,225,210,.08) 55% 56%,transparent 57%)}.map-style-card.dark .map-style-preview path{stroke:#e5b86d;filter:drop-shadow(0 0 1px rgba(255,248,224,.7))}.map-style-card.minimal .map-style-preview{background:#f7f4ec;background-image:linear-gradient(24deg,transparent 43%,rgba(118,120,114,.08) 44%,transparent 45%)}.map-style-card.minimal .map-style-preview path{stroke:#263f49}.map-style-card.terrain .map-style-preview{background-color:#e5e5d6;background-image:radial-gradient(ellipse at 26% 72%,rgba(115,133,107,.26),transparent 30%),radial-gradient(ellipse at 76% 24%,rgba(177,155,110,.20),transparent 28%),linear-gradient(25deg,transparent 44%,rgba(104,114,96,.12) 45%,transparent 46%)}.map-style-card.terrain .map-style-preview path{stroke:#254c50}

.composition-toolbar{max-width:1050px;margin:-2px auto 10px;background:rgba(255,255,255,.94);border:1px solid #dbe1e4;border-radius:10px;padding:7px 9px;box-shadow:0 2px 10px rgba(28,40,49,.04);color:#53616b}.composition-toolbar[hidden]{display:none!important}.composition-primary{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.composition-primary>span{font-size:7px;text-transform:uppercase;letter-spacing:1px;font-weight:900;color:#7c878f;margin-right:2px}.composition-toolbar button{height:26px;border:1px solid transparent;border-radius:6px;background:transparent;padding:0 8px;color:#42515b;font-size:7.5px;font-weight:800;cursor:pointer}.composition-toolbar button:hover{background:#f4f1e9}.composition-toolbar button:focus-visible{outline:2px solid rgba(157,120,65,.24);outline-offset:1px}.composition-auto{background:#f3ecde!important;border-color:#d9c6a5!important;color:#765c32!important}.composition-layers{display:flex;border:1px solid #dce1e4;border-radius:7px;padding:2px;background:#f6f8f9}.composition-layers button{height:22px}.composition-layers button.active{background:#fff;box-shadow:0 1px 4px rgba(22,35,44,.10);color:#213541}.composition-scale{display:flex;align-items:center;border:1px solid #dce1e4;border-radius:7px;overflow:hidden;height:26px}.composition-scale button{width:25px;padding:0;border-radius:0}.composition-scale output{min-width:38px;text-align:center;font-size:7px;font-weight:900;color:#5d6971}.composition-reset{margin-left:auto!important;color:#7c878f!important}.composition-hint{font-size:6.8px;color:#89939a;margin-top:4px;padding-left:1px}.hero-map[data-arrange-layer]{outline:none}.hero-map[data-arrange-layer="route"]{cursor:grab}.hero-map[data-arrange-layer="artwork"]{cursor:grab}.hero-map[data-arrange-layer="elevation"]{cursor:grab}.hero-map.composition-dragging{cursor:grabbing!important;user-select:none}.hero-map:focus-visible{box-shadow:inset 0 0 0 2px rgba(157,120,65,.65)}

.route-casing{fill:none;stroke:rgba(252,248,238,.96);stroke-width:7.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px rgba(23,34,39,.12))}.route-out,.route-ret{stroke-linecap:round;stroke-linejoin:round}.poster[data-map-style="dark"] .route-casing{stroke:rgba(243,231,204,.88);filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}.poster[data-map-style="dark"]{--navy:#e5b86d}.poster[data-map-style="dark"] .map-scale{color:#eee5d4;border-color:#eee5d4}.poster[data-map-style="dark"] .map-attribution{color:rgba(238,232,218,.58)}.poster[data-map-style="minimal"] .route-casing{stroke:rgba(255,253,247,.99)}.poster[data-map-style="terrain"] .route-casing{stroke:rgba(248,244,226,.95)}

.scenic-art{will-change:transform;transition:transform .12s ease}.composition-dragging .scenic-art{transition:none}.hero-elevation{left:calc(14px + var(--elev-shift-x,0%));right:calc(14px - var(--elev-shift-x,0%));bottom:calc(2px - var(--elev-shift-y,0%));transform:scale(var(--elev-scale,1));transform-origin:center bottom;will-change:left,right,bottom,transform}.poster[data-art-layout="split"][data-orientation="landscape"] .hero-elevation{right:calc(47% - var(--elev-shift-x,0%))}
@media print{.hero-elevation{left:calc(5mm + var(--elev-shift-x,0%));right:calc(5mm - var(--elev-shift-x,0%));bottom:calc(0mm - var(--elev-shift-y,0%))}.composition-toolbar{display:none!important}}
@media(max-width:980px){.composition-primary{gap:4px}.composition-reset{margin-left:0!important}.composition-hint{display:none}}


/* v0.11.6 — composition reliability, refined markers and premium relief */
.composition-toolbar{max-width:1050px;margin:0 auto 12px;padding:11px 12px 10px;border-radius:12px;background:rgba(255,255,255,.97);box-shadow:0 4px 16px rgba(28,40,49,.06)}
.composition-primary{gap:8px}
.composition-title{font-size:9px!important;letter-spacing:1.25px!important;min-width:58px}
.composition-toolbar button{height:32px;padding:0 11px;border-radius:8px;font-size:9.5px;line-height:1}
.composition-auto{font-size:9.5px!important}
.composition-layers{padding:3px;border-radius:9px}
.composition-layers button{height:28px;min-width:72px}
.composition-layers button:first-child{min-width:88px}
.composition-scale{height:32px;border-radius:9px}
.composition-scale button{width:31px}
.composition-scale output{min-width:50px;font-size:9px}
.composition-nudge{display:grid;grid-template-columns:repeat(4,32px);gap:3px}
.composition-nudge button{width:32px;padding:0;border:1px solid #dce1e4;background:#fff;font-size:15px;font-weight:700}
.composition-nudge button:hover{background:#f4f1e9;border-color:#d2c3a9}
.composition-reset{font-size:9px!important}
.composition-hint{margin-top:7px;padding-left:66px;font-size:8.8px;line-height:1.4;color:#717d85}
.hero-map[data-arrange-layer]{touch-action:none}
.hero-map.composition-dragging{cursor:grabbing!important;user-select:none}

.marker-group circle.badge{stroke-width:1.5}
.marker-group circle.anchor-halo{stroke-width:1}
.marker-group .marker-leader{stroke-width:1}
.marker-group text{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:8.6px;font-weight:700;letter-spacing:.55px;dominant-baseline:middle;text-anchor:middle;fill:#fff}
.route-casing{stroke-width:6.2}
.route-out{stroke-width:3.15}
.route-ret{stroke-width:2.95}

.map-wash::after{content:"";position:absolute;inset:0;background-image:url("assets/map_paper_texture.png");background-size:256px 256px;opacity:.10;mix-blend-mode:multiply;pointer-events:none}
.poster[data-map-style="dark"] .map-wash::after{opacity:.045;mix-blend-mode:soft-light}
.poster[data-map-style="minimal"] .map-wash::after{opacity:.045}
.poster[data-map-style="terrain"] .map-wash::after{opacity:.08}

.scenic-art{will-change:transform,object-position;backface-visibility:hidden}
.composition-dragging .scenic-art{transition:none!important}

.scenic-preset.studio small{display:block;position:absolute;right:5px;top:5px;background:rgba(23,37,43,.82);color:#fff;border-radius:999px;padding:2px 5px;font-size:6.2px;letter-spacing:.65px;text-transform:uppercase}
.scenic-more-grid .scenic-preset img{height:74px;object-fit:cover}

@media(max-width:1100px){.composition-primary{gap:6px}.composition-toolbar button{font-size:9px}.composition-nudge{grid-template-columns:repeat(4,29px)}.composition-nudge button{width:29px}}
@media(max-width:980px){.composition-hint{display:block;padding-left:0}}

/* v0.11.7 */
.map-source-title{margin-top:14px}
.map-provider-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:7px}
.map-provider-card{min-height:46px;padding:8px 9px;border:1px solid #d9dfe2;background:#fff;border-radius:9px;text-align:left;color:#25323a;cursor:pointer}
.map-provider-card b{display:block;font-size:9.5px}
.map-provider-card small{display:block;margin-top:3px;font-size:7.2px;color:#738089}
.map-provider-card.active{border-color:#c99b47;box-shadow:inset 0 0 0 1px rgba(201,155,71,.28);background:#fcf8ee}
.map-provider-card.unavailable{opacity:.58}
.map-provider-hint{margin-top:7px;line-height:1.45}


/* v0.11.14 — right-side arrange panel, stronger auto-fit, refined markers + stats */

.preview-stage-shell{max-width:1050px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:18px;align-items:start}
.preview-stage-shell .poster-viewport{max-width:none;margin:0;padding-top:4px}
.preview-stage-shell .composition-toolbar{max-width:none;margin:0;position:sticky;top:18px;align-self:start}
.preview-stage-shell .composition-primary{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.preview-stage-shell .composition-title{margin-bottom:0}
.preview-stage-shell .composition-layers{display:grid;grid-template-columns:1fr;gap:6px;width:100%}
.preview-stage-shell .composition-layers button{width:100%;justify-content:center}
.preview-stage-shell .composition-nudge{grid-template-columns:repeat(2,1fr);width:100%}
.preview-stage-shell .composition-nudge button{width:100%;height:34px}
.preview-stage-shell .composition-scale{justify-content:space-between;width:100%}
.preview-stage-shell .composition-reset,.preview-stage-shell .composition-auto{width:100%;justify-content:center}
.preview-stage-shell .composition-hint{margin-top:10px;font-size:10px;line-height:1.45}
.story-list .timeline-badge,.poster-story .timeline-badge{width:22px;height:22px;border-radius:50%;background:rgba(23,63,75,.96);color:#fff;display:grid;place-items:center;font-family:Inter,system-ui,sans-serif;font-size:7.6px;font-weight:700;letter-spacing:.1px;box-shadow:0 1px 0 rgba(255,255,255,.32) inset}
.poster-story{grid-template-columns:22px 1fr 32px;gap:9px;padding:11px 0;min-height:110px}
.poster-story h4{letter-spacing:.55px}
.marker-group text{font-weight:700;font-size:11px;letter-spacing:.15px}
.bottom-band{grid-template-columns:1.18fr 1fr;align-items:stretch;background:linear-gradient(180deg,rgba(247,241,229,.92),rgba(244,237,223,.95))}
.elevation-block{padding:13px 14px 8px}
.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:linear-gradient(180deg,rgba(247,241,229,.88),rgba(243,236,223,.98))}
.stat{padding:13px 10px 10px;border-left:1px solid rgba(199,185,159,.72);gap:2px;position:relative}
.stat:before{content:'';width:28px;height:28px;border-radius:999px;border:1px solid rgba(160,132,82,.35);background:rgba(255,255,255,.36);display:block;position:absolute;top:11px;left:50%;transform:translateX(-50%)}
.stat-icon{font-size:15px;line-height:1;position:relative;z-index:1;margin:0 0 6px}
.stat strong{font-family:"Arial Narrow","Helvetica Neue Condensed",Impact,sans-serif;font-size:25px;line-height:1;letter-spacing:.4px;margin-top:1px}
.stat span{font-size:5.9px;letter-spacing:1.15px;font-weight:800;margin-top:5px;color:#675e51}
.map-scale{right:16px;top:12px}
@media(max-width:1180px){.preview-stage-shell{grid-template-columns:minmax(0,1fr)}.preview-stage-shell .composition-toolbar{position:relative;top:auto;order:-1}}
@media(max-width:760px){.preview-stage-shell{display:block}.preview-stage-shell .composition-toolbar{margin-bottom:12px}}
@media print{.preview-stage-shell{display:block!important;max-width:none!important}.preview-stage-shell .composition-toolbar{display:none!important}.preview-stage-shell .poster-viewport{max-width:none!important}}


/* v0.11.14 — 8–10 moment compact editorial treatment */
.story-list[data-count="8"] .poster-story,.story-list[data-count="9"] .poster-story,.story-list[data-count="10"] .poster-story{padding:2.5px 0;grid-template-columns:19px minmax(0,1fr) 25px;gap:4px;min-height:0}
.story-list[data-count="8"] .timeline-badge,.story-list[data-count="9"] .timeline-badge,.story-list[data-count="10"] .timeline-badge{width:18px;height:18px;font-size:6.2px;font-weight:650;border-width:1px}
.story-list[data-count="8"] .story-icon,.story-list[data-count="9"] .story-icon,.story-list[data-count="10"] .story-icon{width:24px;height:24px;padding:4px}
.story-list[data-count="8"] .story-meta,.story-list[data-count="9"] .story-meta,.story-list[data-count="10"] .story-meta{margin-bottom:0}
.story-list[data-count="8"] .story-meta span,.story-list[data-count="9"] .story-meta span,.story-list[data-count="10"] .story-meta span{font-size:4.8px;letter-spacing:.65px}
.story-list[data-count="8"] .story-type,.story-list[data-count="9"] .story-type,.story-list[data-count="10"] .story-type{font-size:4.05px;line-height:1.05;margin:0 0 1px;letter-spacing:.48px}
.story-list[data-count="8"] .poster-story h4,.story-list[data-count="9"] .poster-story h4,.story-list[data-count="10"] .poster-story h4{font-size:8.25px;line-height:1;margin:0 0 2px;letter-spacing:.28px}
.story-list[data-count="8"] .poster-story p,.story-list[data-count="9"] .poster-story p,.story-list[data-count="10"] .poster-story p{font-size:5.55px!important;line-height:1.12!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.poster[data-orientation="landscape"] .story-list[data-count="8"] .poster-story,.poster[data-orientation="landscape"] .story-list[data-count="9"] .poster-story,.poster[data-orientation="landscape"] .story-list[data-count="10"] .poster-story{padding:1.5px 0;grid-template-columns:17px minmax(0,1fr) 21px;gap:3px}
.poster[data-orientation="landscape"] .story-list[data-count="8"] .timeline-badge,.poster[data-orientation="landscape"] .story-list[data-count="9"] .timeline-badge,.poster[data-orientation="landscape"] .story-list[data-count="10"] .timeline-badge{width:16px;height:16px;font-size:5.5px}
.poster[data-orientation="landscape"] .story-list[data-count="8"] .story-icon,.poster[data-orientation="landscape"] .story-list[data-count="9"] .story-icon,.poster[data-orientation="landscape"] .story-list[data-count="10"] .story-icon{width:20px;height:20px;padding:3px}
.poster[data-orientation="landscape"] .story-list[data-count="8"] .poster-story h4,.poster[data-orientation="landscape"] .story-list[data-count="9"] .poster-story h4,.poster[data-orientation="landscape"] .story-list[data-count="10"] .poster-story h4{font-size:7px}
.poster[data-orientation="landscape"] .story-list[data-count="8"] .poster-story p,.poster[data-orientation="landscape"] .story-list[data-count="9"] .poster-story p,.poster[data-orientation="landscape"] .story-list[data-count="10"] .poster-story p{font-size:4.7px!important;line-height:1.08!important}


/* v0.11.15 — map startup recovery, marker persistence, premium footer stats */
.stats-grid .stat::before{content:none!important;display:none!important}
.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;background:linear-gradient(180deg,rgba(248,243,233,.94),rgba(243,236,223,.98))}
.stats-grid .stat{display:grid;grid-template-columns:20px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:8px;align-content:center;align-items:center;justify-content:stretch;text-align:left;padding:11px 12px 10px;border-left:1px solid rgba(179,160,128,.42);min-width:0}
.stats-grid .stat:first-child{border-left:0}
.stats-grid .stat small{grid-column:1/-1;grid-row:1;font-size:5.2px;line-height:1;letter-spacing:1.35px;font-weight:800;color:#98753c;margin:0 0 7px;text-align:left}
.stats-grid .stat-icon{grid-column:1;grid-row:2/4;width:17px;height:17px;margin:1px 0 0;display:grid;place-items:center;align-self:start;color:#85755c}
.stats-grid .stat-icon svg{width:17px;height:17px;fill:none;stroke:#85755c;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.stats-grid .stat strong{grid-column:2;grid-row:2;font-family:"Arial Narrow","Helvetica Neue Condensed",Impact,sans-serif;font-size:23px;line-height:.96;letter-spacing:.15px;margin:0;color:#173542;font-variant-numeric:tabular-nums;white-space:nowrap}
.stats-grid .stat span{grid-column:2;grid-row:3;font-size:5.35px;line-height:1.15;letter-spacing:1.05px;font-weight:800;margin:4px 0 0;color:#6d6354;white-space:nowrap}
.story-column{padding:20px 18px 12px 13px}
.poster-story{grid-template-columns:22px minmax(0,1fr) 29px;gap:7px;padding-right:2px}
.story-icon{width:27px;height:27px;justify-self:center;align-self:center;margin-right:3px}
.story-icon svg{stroke-width:1.25}
.story-list[data-count="8"] .poster-story,.story-list[data-count="9"] .poster-story,.story-list[data-count="10"] .poster-story{grid-template-columns:18px minmax(0,1fr) 23px;padding-right:2px}
.story-list[data-count="8"] .story-icon,.story-list[data-count="9"] .story-icon,.story-list[data-count="10"] .story-icon{width:22px;height:22px;margin-right:2px}


/* v0.11.17 — scenic collision guard, persistent route markers, premium stats, legend toggle */
.poster[data-orientation="portrait"][data-art-layout="blend"] .scenic-art,.poster[data-orientation="portrait"][data-art-layout="auto"] .scenic-art{height:44%}
.poster[data-orientation="portrait"][data-art-layout="blend"] .scenic-treatment-overlay,.poster[data-orientation="portrait"][data-art-layout="auto"] .scenic-treatment-overlay{height:44%}
.map-legend[hidden]{display:none!important}
.poster[data-elevation="integrated"] .stats-grid,.poster[data-elevation="hidden"] .stats-grid{padding:0 14px;gap:0;background:linear-gradient(180deg,rgba(250,246,238,.98),rgba(244,237,224,.99))}
.poster[data-elevation="integrated"] .stats-grid .stat,.poster[data-elevation="hidden"] .stats-grid .stat{position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto;place-items:center;align-content:center;text-align:center;padding:12px 14px 10px;border-left:1px solid rgba(153,130,94,.30);min-width:0}
.poster[data-elevation="integrated"] .stats-grid .stat:first-child,.poster[data-elevation="hidden"] .stats-grid .stat:first-child{border-left:0}
.poster[data-elevation="integrated"] .stats-grid .stat small,.poster[data-elevation="hidden"] .stats-grid .stat small{grid-column:1;grid-row:1;margin:0 0 5px;font-size:5.6px;line-height:1;letter-spacing:1.55px;font-weight:800;color:#9a763d;text-align:center}
.poster[data-elevation="integrated"] .stats-grid .stat-icon,.poster[data-elevation="hidden"] .stats-grid .stat-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:19px;height:19px;margin:0;color:#8a7c67;opacity:.72}
.poster[data-elevation="integrated"] .stats-grid .stat-icon svg,.poster[data-elevation="hidden"] .stats-grid .stat-icon svg{width:19px;height:19px;stroke-width:1.15}
.poster[data-elevation="integrated"] .stats-grid .stat strong,.poster[data-elevation="hidden"] .stats-grid .stat strong{grid-column:1;grid-row:2;margin:0;font-family:"Arial Narrow","Helvetica Neue Condensed",Impact,sans-serif;font-size:29px;line-height:.92;letter-spacing:.35px;color:#173542;font-variant-numeric:tabular-nums;white-space:nowrap}
.poster[data-elevation="integrated"] .stats-grid .stat span,.poster[data-elevation="hidden"] .stats-grid .stat span{grid-column:1;grid-row:3;margin:6px 0 0;font-size:5.6px;line-height:1;letter-spacing:1.25px;font-weight:800;color:#655d51;white-space:nowrap}
.poster[data-orientation="landscape"][data-elevation="integrated"] .stats-grid .stat strong,.poster[data-orientation="landscape"][data-elevation="hidden"] .stats-grid .stat strong{font-size:24px}


/* v0.11.17 — strict scenic clearance, orientation reflow, premium stat modules */
.poster[data-elevation="integrated"] .stats-grid,
.poster[data-elevation="hidden"] .stats-grid{
  padding:0 10px;
  gap:0;
  background:linear-gradient(180deg,rgba(250,247,240,.99),rgba(243,236,223,.99));
}
.poster[data-elevation="integrated"] .stats-grid .stat,
.poster[data-elevation="hidden"] .stats-grid .stat{
  display:grid;
  grid-template-columns:auto auto;
  grid-template-rows:auto auto auto;
  justify-content:center;
  align-content:center;
  align-items:center;
  column-gap:5px;
  row-gap:0;
  padding:10px 8px 9px;
  border-left:1px solid rgba(142,119,82,.24);
  text-align:center;
  min-width:0;
}
.poster[data-elevation="integrated"] .stats-grid .stat:first-child,
.poster[data-elevation="hidden"] .stats-grid .stat:first-child{border-left:0}
.poster[data-elevation="integrated"] .stats-grid .stat-icon,
.poster[data-elevation="hidden"] .stats-grid .stat-icon{
  position:static;
  transform:none;
  grid-column:1;
  grid-row:1;
  width:13px;
  height:13px;
  margin:0;
  color:#8d795b;
  opacity:.78;
  align-self:center;
  justify-self:end;
}
.poster[data-elevation="integrated"] .stats-grid .stat-icon svg,
.poster[data-elevation="hidden"] .stats-grid .stat-icon svg{width:13px;height:13px;stroke-width:1.15}
.poster[data-elevation="integrated"] .stats-grid .stat small,
.poster[data-elevation="hidden"] .stats-grid .stat small{
  grid-column:2;
  grid-row:1;
  margin:0;
  font-size:5.4px;
  line-height:1;
  letter-spacing:1.45px;
  font-weight:850;
  color:#9a763d;
  text-align:left;
  justify-self:start;
}
.poster[data-elevation="integrated"] .stats-grid .stat strong,
.poster[data-elevation="hidden"] .stats-grid .stat strong{
  grid-column:1/-1;
  grid-row:2;
  margin:5px 0 0;
  font-family:"Arial Narrow","Helvetica Neue Condensed",Impact,sans-serif;
  font-size:30px;
  line-height:.9;
  letter-spacing:.25px;
  color:#173542;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  justify-self:center;
}
.poster[data-elevation="integrated"] .stats-grid .stat span,
.poster[data-elevation="hidden"] .stats-grid .stat span{
  grid-column:1/-1;
  grid-row:3;
  margin:6px 0 0;
  font-size:5.15px;
  line-height:1;
  letter-spacing:1.25px;
  font-weight:800;
  color:#6b6255;
  white-space:nowrap;
  justify-self:center;
}
.poster[data-orientation="landscape"][data-elevation="integrated"] .stats-grid .stat,
.poster[data-orientation="landscape"][data-elevation="hidden"] .stats-grid .stat{padding:7px 6px 6px}
.poster[data-orientation="landscape"][data-elevation="integrated"] .stats-grid .stat strong,
.poster[data-orientation="landscape"][data-elevation="hidden"] .stats-grid .stat strong{font-size:25px}
.poster[data-orientation="landscape"][data-elevation="integrated"] .stats-grid .stat small,
.poster[data-orientation="landscape"][data-elevation="hidden"] .stats-grid .stat small{font-size:4.9px}
.poster[data-orientation="landscape"][data-elevation="integrated"] .stats-grid .stat span,
.poster[data-orientation="landscape"][data-elevation="hidden"] .stats-grid .stat span{font-size:4.8px;margin-top:4px}


/* v0.11.18 — deterministic route frame + rider stats design lab */
.vector-map.awaiting-route-fit{opacity:0!important}
.vector-map{transition:opacity .12s ease}

/* Default: Editorial — typography first, no decorative pictograms. */
.poster[data-stats-style="editorial"] .stats-grid .stat-icon{display:none!important}
.poster[data-stats-style="editorial"] .stats-grid .stat{
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  text-align:center!important;padding:10px 12px 9px!important;gap:0!important;
}
.poster[data-stats-style="editorial"] .stats-grid .stat small{
  margin:0 0 7px!important;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important;
  font-size:5.6px!important;line-height:1!important;letter-spacing:1.55px!important;font-weight:700!important;color:#9b773e!important;
}
.poster[data-stats-style="editorial"] .stats-grid .stat strong{
  margin:0!important;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important;
  font-size:28px!important;line-height:.94!important;letter-spacing:-.65px!important;font-weight:750!important;color:#173542!important;
  font-variant-numeric:tabular-nums lining-nums!important;
}
.poster[data-stats-style="editorial"] .stats-grid .stat span{
  margin:7px 0 0!important;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important;
  font-size:5.3px!important;line-height:1!important;letter-spacing:1.25px!important;font-weight:650!important;color:#6a6257!important;
}
.poster[data-orientation="landscape"][data-stats-style="editorial"] .stats-grid .stat{padding:6px 8px 5px!important}
.poster[data-orientation="landscape"][data-stats-style="editorial"] .stats-grid .stat small{font-size:5px!important;margin-bottom:5px!important}
.poster[data-orientation="landscape"][data-stats-style="editorial"] .stats-grid .stat strong{font-size:25px!important;letter-spacing:-.5px!important}
.poster[data-orientation="landscape"][data-stats-style="editorial"] .stats-grid .stat span{font-size:4.9px!important;margin-top:5px!important}

/* Pictogram: keep the icon, but subordinate it to the value. */
.poster[data-stats-style="pictogram"] .stats-grid .stat-icon{width:13px!important;height:13px!important;opacity:.62!important}
.poster[data-stats-style="pictogram"] .stats-grid .stat-icon svg{width:13px!important;height:13px!important}
.poster[data-stats-style="pictogram"] .stats-grid .stat strong{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important;font-weight:750!important;letter-spacing:-.45px!important}

/* Technical: precise and deliberately data-led. */
.poster[data-stats-style="technical"] .stats-grid .stat-icon{display:none!important}
.poster[data-stats-style="technical"] .stats-grid .stat strong{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace!important;
  font-weight:700!important;letter-spacing:-.75px!important;font-variant-numeric:tabular-nums!important;
}
.poster[data-stats-style="technical"] .stats-grid .stat small,
.poster[data-stats-style="technical"] .stats-grid .stat span{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace!important}


/* v0.11.19 — route visibility fail-safe + adaptive panel-mode rider stats */
/* A fit that needs another refinement pass must never result in a blank map. */
.vector-map.awaiting-route-fit{opacity:1!important}

/* Panel mode has materially less horizontal room than Integrated/Hidden. Instead
   of squeezing three equal stat columns into the remaining half of the footer,
   use one hero measure (ride time) above two supporting measures. */
.poster[data-elevation="panel"] .bottom-band{
  grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr);
  align-items:stretch;
}
.poster[data-elevation="panel"] .stats-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:minmax(0,1.08fr) minmax(0,.92fr)!important;
  grid-template-areas:"time time" "distance climbing"!important;
  padding:0!important;
  gap:0!important;
  background:linear-gradient(180deg,rgba(250,247,240,.99),rgba(243,236,223,.99))!important;
  min-width:0;
}
.poster[data-elevation="panel"] .stats-grid .stat:nth-child(1){grid-area:distance}
.poster[data-elevation="panel"] .stats-grid .stat:nth-child(2){grid-area:time}
.poster[data-elevation="panel"] .stats-grid .stat:nth-child(3){grid-area:climbing}
.poster[data-elevation="panel"] .stats-grid .stat{
  min-width:0!important;
  border-left:0!important;
  border-top:1px solid rgba(145,121,84,.22)!important;
  padding:7px 8px 6px!important;
}
.poster[data-elevation="panel"] .stats-grid .stat:nth-child(2){
  border-top:0!important;
  border-bottom:1px solid rgba(145,121,84,.22)!important;
  padding:9px 9px 7px!important;
}
.poster[data-elevation="panel"] .stats-grid .stat:nth-child(3){
  border-left:1px solid rgba(145,121,84,.22)!important;
}

/* Editorial panel layout: typography first, with the hero time given enough room. */
.poster[data-elevation="panel"][data-stats-style="editorial"] .stats-grid .stat{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.poster[data-elevation="panel"][data-stats-style="editorial"] .stats-grid .stat-icon{display:none!important}
.poster[data-elevation="panel"][data-stats-style="editorial"] .stats-grid .stat small{
  margin:0 0 4px!important;
  font-size:4.55px!important;
  letter-spacing:1.22px!important;
  line-height:1!important;
  font-weight:700!important;
}
.poster[data-elevation="panel"][data-stats-style="editorial"] .stats-grid .stat strong{
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important;
  font-size:18.5px!important;
  line-height:.98!important;
  letter-spacing:-.35px!important;
  font-weight:720!important;
  white-space:nowrap!important;
}
.poster[data-elevation="panel"][data-stats-style="editorial"] .stats-grid .stat span{
  margin:4px 0 0!important;
  font-size:4.25px!important;
  letter-spacing:.95px!important;
  line-height:1!important;
  font-weight:650!important;
}
.poster[data-elevation="panel"][data-stats-style="editorial"] .stats-grid .stat:nth-child(2) small{
  font-size:5.05px!important;
  letter-spacing:1.4px!important;
  margin-bottom:5px!important;
}
.poster[data-elevation="panel"][data-stats-style="editorial"] .stats-grid .stat:nth-child(2) strong{
  font-size:26px!important;
  letter-spacing:-.65px!important;
}
.poster[data-elevation="panel"][data-stats-style="editorial"] .stats-grid .stat:nth-child(2) span{
  font-size:4.65px!important;
  margin-top:5px!important;
}

/* Landscape panel mode gets a touch more density without collapsing the values. */
.poster[data-orientation="landscape"][data-elevation="panel"] .bottom-band{
  grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);
}
.poster[data-orientation="landscape"][data-elevation="panel"][data-stats-style="editorial"] .stats-grid .stat strong{
  font-size:16px!important;
}
.poster[data-orientation="landscape"][data-elevation="panel"][data-stats-style="editorial"] .stats-grid .stat:nth-child(2) strong{
  font-size:22px!important;
}
.poster[data-orientation="landscape"][data-elevation="panel"][data-stats-style="editorial"] .stats-grid .stat small{
  font-size:4.1px!important;
}
.poster[data-orientation="landscape"][data-elevation="panel"][data-stats-style="editorial"] .stats-grid .stat span{
  font-size:3.95px!important;
}


/* v0.11.20 — deterministic projected route frame + mask-only scenic blend */
.poster[data-art-layout="blend"] .scenic-art,
.poster[data-art-layout="auto"] .scenic-art,
.poster[data-art-layout="blend"] .scenic-treatment-overlay,
.poster[data-art-layout="auto"] .scenic-treatment-overlay{
  clip-path:none!important;
  -webkit-clip-path:none!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-size:100% 100%!important;
  mask-size:100% 100%!important;
}
/* Avoid sub-pixel raster seams at the map/artwork blend boundary. */
.scenic-art,.scenic-treatment-overlay{backface-visibility:hidden;-webkit-backface-visibility:hidden}


/* v0.11.21 — deterministic auto-arrangement + collision-safe map furniture */
.map-legend{
  left:14px!important;top:12px!important;bottom:auto!important;transform:none!important;
  max-width:132px;padding:7px 9px!important;
  background:rgba(248,243,232,.975)!important;
  border:1px solid rgba(139,116,78,.52)!important;
  border-radius:3px;
  box-shadow:0 3px 12px rgba(35,42,45,.10)!important;
  backdrop-filter:blur(2px);
}
.map-legend div{white-space:nowrap}
.map-scale{
  position:absolute!important;right:14px!important;top:12px!important;
  width:88px!important;min-height:31px;box-sizing:border-box;
  padding:13px 8px 5px!important;
  border:1px solid rgba(139,116,78,.52)!important;
  border-radius:3px;
  background:rgba(248,243,232,.975)!important;
  box-shadow:0 3px 12px rgba(35,42,45,.10);
  text-align:center;line-height:1;color:#20313b;
}
.map-scale:before{
  content:"";position:absolute;left:10px;right:10px;top:7px;
  border-top:2px solid currentColor;
}
.poster[data-map-style="dark"] .map-legend,.poster[data-map-style="dark"] .map-scale{
  background:rgba(24,35,39,.94)!important;border-color:rgba(238,229,207,.48)!important;color:#f0e7d5;
}
.poster[data-map-style="dark"] .map-legend{color:#f0e7d5}
@media print{
  .map-legend{left:4mm!important;top:4mm!important;backdrop-filter:none}
  .map-scale{right:4mm!important;top:4mm!important;box-shadow:none}
}


/* v0.11.22 — story density adapts to the number of moments */
.story-list{display:grid!important;grid-template-rows:repeat(var(--story-count,7),minmax(0,1fr));align-content:stretch;min-height:0}
.story-list .poster-story{min-height:0!important;height:auto;align-items:center;box-sizing:border-box}
.story-list[data-density="sparse"] .poster-story{padding:10px 0;grid-template-columns:23px minmax(0,1fr) 30px;gap:7px}
.story-list[data-density="sparse"] .timeline-badge{width:22px;height:22px;font-size:7.5px}
.story-list[data-density="sparse"] .story-icon{width:28px;height:28px;padding:4px}
.story-list[data-density="sparse"] .poster-story h4{font-size:10.5px;line-height:1.05;margin:2px 0}
.story-list[data-density="sparse"] .poster-story p{font-size:6.8px!important;line-height:1.25!important;margin:0}
.story-list[data-density="balanced"] .poster-story{padding:5px 0;grid-template-columns:21px minmax(0,1fr) 27px;gap:5px}
.story-list[data-density="balanced"] .timeline-badge{width:20px;height:20px;font-size:6.8px}
.story-list[data-density="balanced"] .story-icon{width:25px;height:25px;padding:4px}
.story-list[data-density="balanced"] .poster-story h4{font-size:9.2px;line-height:1.02;margin:1px 0 2px}
.story-list[data-density="balanced"] .poster-story p{font-size:5.9px!important;line-height:1.16!important;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.story-list[data-density="compact"] .poster-story{padding:2px 0!important;grid-template-columns:18px minmax(0,1fr) 23px!important;gap:4px!important}
.story-list[data-density="compact"] .poster-story p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.poster[data-orientation="landscape"] .story-list[data-density="sparse"] .poster-story{padding:5px 0}
.poster[data-orientation="landscape"] .story-list[data-density="sparse"] .poster-story h4{font-size:9px}
.poster[data-orientation="landscape"] .story-list[data-density="sparse"] .poster-story p{font-size:5.8px!important}
.poster[data-orientation="landscape"] .story-list[data-density="balanced"] .poster-story{padding:2px 0}
.poster[data-orientation="landscape"] .story-list[data-density="balanced"] .poster-story h4{font-size:7.8px}
.poster[data-orientation="landscape"] .story-list[data-density="balanced"] .poster-story p{font-size:5px!important;line-height:1.1!important}


/* v0.11.23 — landscape preview uses the complete editor workspace */
@media (min-width:761px){
  html,body,.app-shell{height:100%;min-height:0}
  body{overflow:hidden}
  .app-shell{display:grid;grid-template-rows:78px minmax(0,1fr)}
  .topbar{position:relative;top:auto;height:78px}
  .workspace{height:100%;min-height:0;overflow:hidden;grid-template-columns:370px minmax(0,1fr)}
  .controls{height:100%;min-height:0;position:relative;top:auto;overflow-y:auto;overflow-x:hidden}
  .preview-area{height:100%;min-height:0;overflow:hidden;padding:18px 22px 18px;display:grid;grid-template-rows:auto minmax(0,1fr)}
  .preview-toolbar{width:100%;max-width:none;margin:0 0 12px;min-width:0}
  .preview-stage-shell{width:100%;max-width:none;height:100%;min-height:0;margin:0;grid-template-columns:minmax(0,1fr) 232px;gap:18px;align-items:stretch}
  .preview-stage-shell .poster-viewport{width:100%;height:100%;min-height:0;max-width:none;margin:0;padding:4px 4px 8px;display:block}
  .poster-viewport[data-orientation="landscape"]{overflow:hidden}
  .poster-viewport[data-orientation="portrait"]{overflow:auto}
  .preview-stage-shell .composition-toolbar{height:max-content;max-height:100%;overflow:auto;position:sticky;top:0}
}
@media (min-width:761px) and (max-width:1050px){
  .workspace{grid-template-columns:320px minmax(0,1fr)}
}
@media (min-width:761px) and (max-width:1180px){
  /* Keep Arrange beside the preview on desktop-sized editors. The previous
     breakpoint moved it above the poster and wasted valuable landscape width. */
  .preview-stage-shell{grid-template-columns:minmax(0,1fr) 210px}
  .preview-stage-shell .composition-toolbar{position:sticky;top:0;order:initial}
}
