:root{color-scheme:dark;--bg: #101212;--surface: #171919;--surface-2: #1D2020;--border: #303332;--text: #E7E1D5;--text-2: #928E87;--text-3: #858882;--accent: #C69C5E;--accent-dim: #3B3124;--accent-hover: #D6B37D;--on-accent: #1B1A12;--danger: #C46B5E;--focus-ring: rgba(198,156,94,.2);--shadow: rgba(0,0,0,.4);--radius: 3px;--radius-sm: 2px;--font: "IBM Plex Sans", system-ui, sans-serif;--serif: "Newsreader", Georgia, serif;--mono: "IBM Plex Mono", ui-monospace, monospace}@media(prefers-color-scheme:light){:root{color-scheme:light;--bg: #F5F2EB;--surface: #FFFEFB;--surface-2: #EAE6DC;--border: #CFC9BC;--text: #252721;--text-2: #555B54;--text-3: #5D645D;--accent: #80561F;--accent-dim: #E6D5BA;--accent-hover: #6C4616;--on-accent: #FFFFFF;--danger: #A33E35;--focus-ring: rgba(128,86,31,.22);--shadow: rgba(55,45,30,.18)}}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--text);font:13px/1.45 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h2,h3{font-family:var(--mono);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin:0 0 .7rem}.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 16px;min-height:52px;border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap}.wordmark{margin:0;font-family:var(--serif);font-weight:400;font-size:22px;letter-spacing:.01em;color:var(--text)}.bar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.field,.check{display:flex;align-items:center;gap:.45rem;color:var(--text-2)}.field{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3)}.field select{width:auto;text-transform:none;letter-spacing:0}.check input{accent-color:var(--accent);margin:0}input[type=text],input[type=search],input[type=number],select,textarea{font:12.5px var(--font);color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--focus-ring)}textarea{resize:vertical;min-height:60px}select{cursor:pointer}button,.button-like{font:12.5px var(--font);color:var(--text);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}button:hover:not(:disabled),.button-like:hover{color:var(--text);background:var(--surface-2)}button:active:not(:disabled){opacity:.75}button:disabled{opacity:.35;cursor:default}button:focus-visible,.button-like:focus-within{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--focus-ring)}button.primary:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:500}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}button.link{border:0;background:none;color:var(--accent);text-decoration:underline;text-underline-offset:2px;padding:0}button.link:hover{background:none;color:var(--accent-hover)}button.danger{color:var(--danger)}button.danger:hover:not(:disabled){color:var(--danger);border-color:var(--danger);background:transparent}a{color:var(--accent)}.rv-brand{white-space:nowrap}.rv-brand em{font-style:italic;text-transform:none}.layout{display:grid;grid-template-columns:minmax(280px,360px) 1fr;min-height:calc(100vh - 53px)}.panel{padding:20px 16px;border-right:1px solid var(--border);background:var(--bg);overflow:auto}.panel-group-title{margin:26px 2px 9px;font:500 10px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-2)}.panel-group-title:first-child{margin-top:0}.panel-section{padding:14px;margin-bottom:8px;border:1px solid var(--border);border-radius:5px;background:var(--surface)}.panel-section>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-size:14px;font-weight:600;list-style:none;color:var(--text)}.panel-section>summary::-webkit-details-marker{display:none}.panel-section>summary:after{content:"";width:6px;height:6px;border-right:1.5px solid var(--text-2);border-bottom:1.5px solid var(--text-2);transform:rotate(-45deg);flex:none;margin-right:3px}.panel-section[open]>summary:after{transform:rotate(45deg)}.panel-section>summary h2{display:inline;margin:0;font:inherit;color:inherit;text-transform:none;letter-spacing:0}.panel-section[open]>summary{margin-bottom:16px}.panel-section>summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.panel-section:not([open]){background:transparent}#place-editor{border-color:var(--accent);border-left-width:3px;background:var(--surface)}.selection-heading{display:grid;gap:4px;min-width:0}.selection-kicker{font:500 9px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}#place-editor-title{font-size:17px;overflow-wrap:anywhere}.place-editor-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-top:10px;margin-top:4px;border-top:1px solid var(--border)}.place-editor-actions button{font-size:11px}.panel .places li:first-child{border-top:0}.panel .places li{padding:10px 0;gap:3px}.panel .places span{font-size:11px;line-height:1.5}.panel .save-status{border-top:1px solid var(--border);padding-top:14px}.appearance-group{border:0;padding:0;margin:0;display:grid;gap:10px;min-width:0}.appearance-group+.appearance-group{border-top:1px solid var(--border);padding-top:16px;margin-top:6px}.appearance-group legend{float:left;width:100%;padding:0;margin:0 0 2px;font:500 10px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-2)}.hint{color:var(--text-2);font-size:12px}.drop{border:1px dashed var(--border);border-radius:var(--radius);padding:1rem;text-align:center;display:grid;gap:.6rem;justify-items:center;background:var(--bg);color:var(--text-2)}.drop p{margin:0}.drop.over{border-color:var(--accent);background:var(--accent-dim)}.mapping{width:100%;border-collapse:collapse}.mapping th{text-align:left;font-weight:500;padding:.25rem .5rem .25rem 0;white-space:nowrap}.mapping td{padding:.25rem 0}.mapping select{width:100%}#mapping-review{margin-top:12px;font-size:12px}#mapping-done{margin-top:12px}#skipped-box{margin-bottom:.75rem;color:var(--danger)}.import-report{margin-bottom:.6rem;font-size:12px}.import-report ul{margin:.4rem 0 0;padding-left:1.1rem;color:var(--danger)}#skipped-box ul{margin:.4rem 0 0;padding-left:1.1rem;font-size:12px}.places{list-style:none;margin:0;padding:0}.places li{padding:.45rem 0;border-top:1px solid var(--border);display:grid}.places strong,.places b{font-weight:500}.places span{color:var(--text-2);font-size:12px}.stage{padding:20px;display:flex;flex-direction:column;align-items:center;min-width:0}.map-wrap{position:relative;width:100%;max-width:1100px}.map{width:100%;touch-action:none}.map-tools{position:absolute;top:.5rem;right:.5rem;display:flex;gap:2px;padding:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 2px 8px var(--shadow)}.map-tools button{padding:3px 9px;min-width:2rem;border-color:transparent;color:var(--text)}.map:not(.drawing) svg{cursor:grab}.map.panning,.map.panning svg{cursor:grabbing}.map svg{width:100%;height:auto;display:block;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 18px var(--shadow)}.map-timeline svg{width:100%;height:auto;display:block;margin-top:-1px;border:1px solid var(--border);border-top:0;border-radius:0 0 var(--radius) var(--radius)}.map-caption{margin:8px 2px 0;font:400 16px/1.4 var(--serif);color:var(--text)}.map-caption b{font-weight:600}.timebar{width:100%;max-width:1100px;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.7rem}.timebar input[type=range]{flex:1 1 200px;accent-color:var(--accent)}.timebar input[type=number]{width:6.5rem}.timebar .hint{margin:0}.border-item.out-of-time,.places li.out-of-time{opacity:.55}.places li[data-time]:not([data-time=""]):after{content:attr(data-time);color:var(--text-3);font-size:11px}.empty{color:var(--text-2);text-align:center;margin-top:20vh}.credit{font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:var(--text-3)}.site-credit{color:var(--text-3);font-size:11px;margin:4px 0 12px}.site-credit a{color:inherit;text-underline-offset:3px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}.section-head h2{margin:0}.border-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.border-item{width:100%;text-align:left;display:grid;gap:.1rem;color:var(--text);background:var(--bg);padding:7px 10px}.border-item span{color:var(--text-2);font-size:12px}.border-item.selected{border-color:var(--accent);background:var(--accent-dim);box-shadow:inset 3px 0 0 var(--accent)}.border-editor{display:grid;gap:.7rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.border-editor label:not(.check){display:grid;gap:4px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3)}.border-editor label:not(.check)>*{text-transform:none;letter-spacing:0}.border-editor .hint{margin:-.35rem 0 0}.border-editor input[type=text],.border-editor textarea,.border-editor select{width:100%}.pair{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.editor-actions{display:flex;justify-content:space-between}.save-status{margin-top:1.5rem;font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:var(--text-3)}.draw-bar{width:100%;max-width:1100px;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.7rem;padding:7px 10px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-dim);color:var(--text)}.draw-buttons{display:flex;gap:.4rem}.draw-buttons button:not(.primary):not(:disabled){background:var(--surface);border-color:var(--accent)}@media(pointer:coarse){.map-tools button,.draw-buttons button{min-width:44px;min-height:44px;touch-action:manipulation}}.map.drawing svg{cursor:crosshair}.map:not(.drawing) [data-border-id]{cursor:pointer}@media(min-width:761px){body{display:flex;flex-direction:column;height:100vh;height:100dvh}.bar{flex:none}.layout{flex:1;min-height:0}.panel{overflow-y:auto;overscroll-behavior:contain}.stage{overflow-y:auto}}@media(max-width:760px){.layout{grid-template-columns:1fr}.panel{border-right:0;border-bottom:1px solid var(--border)}.stage{padding:16px}}[data-vertex]{cursor:grab;touch-action:none}[data-insert-after]{cursor:copy;touch-action:none}.hint.warning{color:var(--danger)}.map.dragging,.map.dragging [data-vertex]{cursor:grabbing}.gaz-form{display:flex;gap:.4rem}.gaz-form input{flex:1;min-width:0}.gaz-list li{grid-template-columns:1fr auto;column-gap:.6rem;align-items:center}.gaz-list li>div{display:grid;min-width:0}.segment-editor{display:grid;gap:.55rem;border-left:2px solid var(--border);padding-left:.7rem}.segment-editor .hint{margin:0}.map [data-segment]{cursor:pointer}.coast-actions{display:flex;gap:.4rem;flex-wrap:wrap}.project-actions{display:flex;gap:6px;padding-right:12px;border-right:1px solid var(--border)}.appearance summary{cursor:pointer;font-weight:500}#appearance-controls{display:grid;gap:10px}#appearance-controls label{display:flex;align-items:center;justify-content:space-between;gap:12px}#appearance-controls input[type=color]{width:44px;height:28px;padding:2px;border:1px solid var(--border);background:var(--surface)}#appearance-controls input[type=range],#appearance-controls select{width:130px}#appearance-controls input[type=range]{accent-color:var(--accent);margin-left:auto}#appearance-controls input[type=checkbox]{accent-color:var(--accent)}#appearance-controls output{min-width:38px;text-align:right;font-variant-numeric:tabular-nums}.view-scale{margin:8px 0 0;text-align:center;color:var(--text-2);font-size:12px;font-variant-numeric:tabular-nums}.welcome{width:100%;max-width:1100px;padding:12px 10px 28px}.layout>.welcome{padding:28px 16px 20px}.welcome h2{font:400 clamp(28px,3.4vw,46px)/1.08 var(--serif);color:var(--text);text-transform:none;letter-spacing:-.025em;margin:0 0 16px}.welcome>p{max-width:650px;font-size:15px;color:var(--text-2);line-height:1.6}.welcome-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 12px}.welcome-actions button{padding:9px 16px}.welcome .welcome-note{font-size:12px;margin-bottom:0}#about{width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:28px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 12px 60px var(--shadow)}#about::backdrop{background:#00000073}.about-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}#about h2{font:400 30px/1.2 var(--serif);color:var(--text);text-transform:none;letter-spacing:0;margin:0}#about h3{font:500 16px/1.3 var(--font);color:var(--text);text-transform:none;letter-spacing:0;margin:24px 0 8px}#about p{color:var(--text-2);line-height:1.65;font-size:14px;margin:8px 0}#about .about-lead{font:400 21px/1.4 var(--serif);color:var(--text);margin:22px 0}.research-invitation{width:100%;max-width:1100px;display:flex;align-items:flex-start;gap:20px;padding:18px 20px;margin-bottom:18px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent)}.research-invitation h2{font:400 23px/1.2 var(--serif);color:var(--text);text-transform:none;letter-spacing:0;margin:0}.research-invitation p{max-width:680px;color:var(--text-2);margin:8px 0 12px}.research-invitation>button{margin-left:auto}.research-link{display:inline-block;text-underline-offset:3px;font-weight:500}.about-research{padding:16px 18px;margin:22px 0;border-left:3px solid var(--accent);background:var(--bg)}#about .about-research h3{margin-top:0}@media(max-width:520px){.research-invitation{flex-wrap:wrap}}.export-control{position:relative}.examples-link{font-size:12.5px;white-space:nowrap;text-underline-offset:3px}.export-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:20;width:min(320px,calc(100vw - 32px));padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 28px var(--shadow)}.export-panel label{display:grid;gap:6px;margin-bottom:14px}.export-panel select{width:100%}.export-panel .hint{margin:0 0 14px}.export-panel>button{width:100%}.export-panel{max-height:calc(100dvh - 90px);overflow-y:auto}#export-sequence-info{margin-bottom:14px}#export-cancel{margin-top:8px}.map-year{position:absolute;top:12px;left:12px;padding:5px 12px;background:var(--surface);color:var(--text);border:1px solid var(--border);font:400 25px/1.2 var(--serif);pointer-events:none}.timeline{width:100%;max-width:1100px;margin-top:12px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.timeline-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.timeline-heading h2{margin:0;color:var(--text);font:600 14px var(--font);letter-spacing:0;text-transform:none}.timeline .timebar{flex-wrap:nowrap}.timeline .timebar input[type=range]{flex:1;min-width:50px}.timeline .timebar input[type=number]{width:6rem}.timeline .timebar button{padding:5px 10px}.time-changes{margin-top:8px;font-size:13px}.time-sequence{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.time-sequence summary{cursor:pointer;font-weight:500}.sequence-fields,.sequence-playback{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-top:12px}.sequence-fields .sequence-fields{margin-top:0}.sequence-fields label,.sequence-playback label:not(.check){display:grid;gap:4px}.sequence-fields input[type=number]{width:100px}.sequence-story-field{flex-basis:100%}.sequence-story-field textarea{width:100%;font:inherit;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);resize:vertical}#sequence-custom{width:min(400px,100%)}.sequence-frames{display:flex;gap:6px;overflow-x:auto;padding-bottom:5px}.sequence-frames button{flex-shrink:0}.sequence-frames button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.place-controls{display:grid;gap:10px}.place-controls label{display:flex;justify-content:space-between;align-items:center;gap:12px}.place-controls .place-field{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;gap:5px}.place-field input,.place-field textarea{width:100%;min-width:0}.place-controls .hint{margin:-5px 0 0}.place-controls .help-details .hint{margin-top:10px}.help-details{color:var(--text-2);font-size:12px;margin-top:12px}.help-details>summary{cursor:pointer}.help-details[open]>summary{margin-bottom:12px}.help-details .hint{line-height:1.5}.advanced-fields{display:grid;gap:12px}.appearance-basics{display:grid;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.appearance-basics>label:not(.check){display:flex;align-items:center;justify-content:space-between;gap:10px}.appearance-basics .hint{margin:-4px 0 0}#place-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}#place-list li>div{display:grid;min-width:0}#place-list li[data-time]:not([data-time=""]):after{grid-column:1 / -1}.place-remove{border-color:transparent;font-size:18px;padding:0 6px;line-height:24px}.undo-notice{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:8px 0;font-size:12px}.undo-notice span{overflow-wrap:anywhere}@media(max-width:760px){.timeline .timebar{flex-wrap:wrap}.timeline .timebar input[type=number]{order:1;margin-left:auto}.timeline .timebar input[type=range]{order:2;flex-basis:100%}}.place-controls input[type=color]{width:44px;height:30px;padding:2px}.place-select{background:transparent;border-color:transparent;padding:2px 4px;text-align:left;color:var(--text);font-weight:600}.place-select[aria-pressed=true]{background:var(--accent-dim);border-color:var(--accent)}#map [data-place-id]{cursor:pointer}#map [data-map-label][data-place-id]{cursor:grab}#map.moving-label,#map.moving-label [data-map-label]{cursor:grabbing}#map.choosing-route [data-map-label]{cursor:pointer}#map [data-map-dot].selected-place,#map [data-map-dot]:focus{outline:1px dashed var(--accent);outline-offset:4px}.route-editor{display:grid;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}#route-create{margin-bottom:10px}.route-editor>label:not(.check),.route-editor .pair label{display:grid;gap:4px;min-width:0}.route-editor input[type=text],.route-editor select{width:100%;min-width:0}.route-editor .hint{margin:0}.route-stops-heading,.route-color-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.route-stops-heading button{font-size:11px}#route-pick[aria-pressed=true]{background:var(--accent-dim);border-color:var(--accent);color:var(--text)}.route-stops{list-style:none;margin:0;padding:0;display:grid;gap:6px}.route-stops li{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,auto);gap:3px;align-items:center}.route-stops span{overflow-wrap:anywhere}.route-stops button{padding:3px 6px}.route-stops .warning{color:var(--danger)}.route-color-row label{display:flex;gap:12px;align-items:center}.route-color-row input{width:44px;height:30px;padding:2px}#map [data-route-id]{cursor:pointer}#map [data-route-id]:focus{outline:1px dashed var(--accent)}#map.choosing-route [data-place-id]{cursor:crosshair}
