:root { --ink:#173a32; --deep:#0e2c26; --cream:#f5f2e9; --coral:#e87658; --line:#d8d5ca; --muted:#69746e; --paper:#fffdfa; --lime:#dce9a5; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:"DM Sans",sans-serif; }
button,input,textarea { font:inherit; }
.app-shell { min-height:100vh; max-width:1440px; margin:auto; padding:0 3.2vw; }
.topbar { height:84px; display:flex; align-items:center; border-bottom:1px solid var(--line); gap:14px; }
.brand { color:var(--ink); text-decoration:none; font-family:Fraunces,serif; font-size:28px; font-weight:700; letter-spacing:-1.5px; }
.brand span { color:var(--coral); }
.how-link{color:var(--muted);font:600 12px "DM Sans",sans-serif;text-decoration:none}.how-link:hover{color:var(--ink)}
.draft-state { margin-left:auto; color:var(--muted); font-size:12px; display:flex; align-items:center; gap:8px; }.draft-state i{width:7px;height:7px;border-radius:50%;background:#78aa8c;box-shadow:0 0 0 4px #dce9da;}
.guide-switcher{display:flex;align-items:center;gap:6px}.guide-selector{position:relative}.guide-picker{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:178px;max-width:220px;height:37px;border:1px solid #cbc8bc;border-radius:5px;background:#fff;color:var(--ink);padding:0 10px 0 12px;font:600 11px "DM Sans",sans-serif;text-align:left;box-shadow:0 2px 6px #18352f0d;cursor:pointer}.guide-picker-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guide-picker-chevron{color:var(--coral);font-size:16px;line-height:1;transition:transform .16s}.guide-selector.is-open .guide-picker{border-color:var(--ink);box-shadow:0 3px 10px #18352f1b}.guide-selector.is-open .guide-picker-chevron{transform:rotate(180deg)}.guide-picker-menu{position:absolute;z-index:1100;top:calc(100% + 7px);left:0;width:max-content;min-width:100%;max-width:260px;display:none;gap:5px;padding:6px;border:1px solid #cbc8bc;border-radius:6px;background:#fff;box-shadow:0 10px 24px #18352f20}.guide-selector.is-open .guide-picker-menu{display:grid}.guide-picker-option{width:100%;min-width:190px;border:1px solid transparent;border-radius:4px;background:#fff;color:var(--ink);padding:10px 11px;text-align:left;font:500 12px "DM Sans",sans-serif;cursor:pointer}.guide-picker-option:hover,.guide-picker-option:focus-visible{border-color:var(--line);background:#f7f5ef;outline:0}.guide-picker-option.is-current{background:#edf3d4;border-color:#dce9a5;font-weight:700}.guide-switcher>button{height:37px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);padding:0 10px;font:600 11px "DM Sans",sans-serif;cursor:pointer}.guide-switcher>button:hover{border-color:var(--ink);background:var(--paper)}.guide-switcher>.delete-guide{color:#ad4e39;border-color:#e7c8bf}.guide-switcher>.delete-guide:hover{background:#fff0eb;border-color:#d98470}.guide-switcher>button:disabled,.guide-picker:disabled{opacity:.45;cursor:not-allowed}.guide-picker:focus-visible,.guide-switcher>button:focus-visible{outline:2px solid var(--coral);outline-offset:2px}
.preview-button{border:1px solid var(--ink);border-radius:999px;background:#fff;color:var(--ink);padding:9px 13px;font-size:12px;font-weight:600;cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s}.preview-button:hover{background:#f1f5d6;transform:translateY(-1px)}.preview-button.is-active{border-color:var(--coral);background:var(--coral);color:#fff}.preview-button.is-active:hover{background:#d9624a}.share-button,.publish { border:0; background:var(--ink); color:#fff; padding:13px 18px; border-radius:999px; cursor:pointer; font-weight:600; box-shadow:0 5px 14px #12352b22;transition:transform .2s,background .2s;}.share-button:hover,.publish:hover{transform:translateY(-2px);background:var(--deep)}.share-button span,.publish span{margin-left:12px;color:var(--lime);}
.guide-header { padding:66px 0 48px; max-width:980px; display:flex; justify-content:space-between; gap:32px; }.guide-copy{max-width:740px}.editable-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 17px;color:#b6b2a8}.editable-eyebrow input{width:auto;max-width:250px;border:0;border-bottom:1px solid transparent;outline:0;background:transparent;color:var(--coral);padding:2px 0;font:500 11px "DM Mono",monospace;letter-spacing:.12em;text-transform:uppercase}.editable-eyebrow input:first-child{width:92px}.editable-eyebrow input:focus{border-bottom-color:var(--coral)}.editable-eyebrow span{font:500 11px "DM Mono",monospace}
#guide-title { display:block;width:100%;background:none;border:0;padding:0;color:var(--ink);font:600 clamp(38px,5.5vw,72px)/1.01 Fraunces,serif;letter-spacing:-.055em;outline-color:var(--coral); }
#guide-summary { display:block;width:100%;resize:none;height:61px;margin-top:20px;border:0;background:none;color:var(--muted);font-size:18px;line-height:1.5;outline-color:var(--coral); }
.meta-row{display:flex;align-items:center;gap:10px;margin-top:24px;color:var(--muted);font-size:12px;}.route-pill{background:var(--lime);color:var(--deep);padding:6px 9px;border-radius:999px;font-weight:600}.guide-mode{display:inline-flex;margin-top:17px;padding:3px;border:1px solid var(--line);border-radius:999px;background:#eeece4}.guide-mode button{border:0;border-radius:999px;background:transparent;color:var(--muted);padding:7px 11px;font:600 11px "DM Sans",sans-serif;cursor:pointer}.guide-mode button.is-selected{background:var(--paper);box-shadow:0 1px 4px #173a321c;color:var(--ink)}.guide-orbit{width:130px;height:130px;flex:0 0 auto;align-self:center;border-radius:50%;border:1px dashed #b8bfb0;display:grid;place-items:center;position:relative;color:var(--muted);font:9px/1.35 "DM Mono",monospace;text-align:center;letter-spacing:.08em;transform:rotate(12deg);cursor:text}.guide-orbit input{width:84px;border:0;border-bottom:1px solid transparent;outline:0;background:transparent;color:var(--muted);font:500 9px/1.35 "DM Mono",monospace;letter-spacing:.08em;text-align:center;text-transform:uppercase}.guide-orbit input:focus{border-bottom-color:var(--coral)}.guide-orbit i{position:absolute;right:7px;top:13px;color:var(--coral);font-size:22px;font-style:normal}
.workspace { display:grid;grid-template-columns:400px minmax(0,1fr);min-height:480px;border:1px solid var(--line);border-radius:9px;overflow:hidden;box-shadow:0 12px 30px #18352f0d;background:var(--paper); }
.stops-panel { padding:24px 23px; position:relative; overflow-y:auto; }.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.mini-label{font:500 10px "DM Mono",monospace;color:var(--coral);letter-spacing:.1em;margin:0 0 4px}.panel-heading h2{font:600 21px Fraunces,serif;margin:0}.panel-heading h2 span{font:500 11px "DM Mono",monospace;color:var(--muted);margin-left:5px}.round-button{height:32px;width:32px;border:1px solid var(--line);background:var(--paper);border-radius:50%;cursor:pointer;color:var(--ink);font-size:17px;transition:background .2s}.round-button:hover{background:var(--lime)}
.search-form { display:flex;border:1px solid var(--line);border-radius:6px;background:white;height:47px;transition:border .2s,box-shadow .2s; }.search-form:focus-within{border-color:var(--coral);box-shadow:0 0 0 3px #e8765818}.search-form input{border:0;min-width:0;flex:1;padding:0 13px;outline:0;font-size:14px}.search-form button{width:45px;border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:25px;line-height:1;}.search-hint{margin:10px 0 12px;color:var(--muted);font-size:11px;}
.search-results { display:grid;gap:6px;margin-bottom:17px; }.result{width:100%;border:1px solid transparent;border-radius:5px;background:#f7f5ef;text-align:left;padding:10px;cursor:pointer;display:grid;gap:3px;transition:transform .16s,border .16s,background .16s;}.result:hover{border-color:var(--coral);background:#fff;transform:translateX(2px)}.result strong{font-size:13px}.result span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.result.error{font-size:12px;color:#9d4435;background:#fff0eb;}
.stops-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line);}.stop{padding:14px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:28px 1fr auto;gap:9px;align-items:start;cursor:pointer;transition:padding .16s}.stop:hover,.stop.is-active{padding-left:6px}.stop.is-active{background:linear-gradient(90deg,#f1f5d6 0%,transparent 88%);}.stop-index{display:flex;flex-direction:column;align-items:center;gap:9px}.stop-number{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#f4efe6;font:500 10px "DM Mono",monospace;color:var(--coral);}.stop-content{min-width:0}.stop strong{display:block;font-size:14px}.stop p{font-size:12px;color:var(--muted);margin:4px 0 0;line-height:1.35}.note-label{display:block;margin:11px 0 4px;color:var(--coral);font:500 9px "DM Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.stop-note{width:100%;min-height:48px;resize:vertical;border:1px solid transparent;border-radius:4px;background:#f5f2eb;color:var(--ink);padding:7px 8px;font:12px/1.35 "DM Sans",sans-serif;outline:0;transition:border .2s,background .2s}.stop-note::placeholder{color:#9ba09a}.stop-note:focus{background:#fff;border-color:var(--coral)}.directions-link{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#edf3d4;color:var(--ink);text-decoration:none;box-shadow:0 2px 5px #18352f17;transition:background .16s,color .16s,transform .16s}.directions-link:hover{background:var(--ink);color:#fff;transform:translateY(-1px)}.directions-link svg{width:15px;height:15px;fill:currentColor}.stop-actions{display:flex;gap:2px}.stop-actions button{width:23px;height:23px;border:0;border-radius:4px;background:transparent;color:#7f8981;cursor:pointer;font-size:15px;line-height:1;opacity:0;transition:opacity .16s,background .16s}.stop:hover .stop-actions button,.stop.is-active .stop-actions button{opacity:1}.stop-actions button:hover:not(:disabled){background:var(--lime);color:var(--deep)}.stop-actions button:disabled{opacity:.25;cursor:default}.stop-actions .remove-stop:hover{background:#ffe8df;color:#ad4e39}.text-button{color:var(--coral);background:none;border:0;padding:18px 0 0;cursor:pointer;font-size:13px;font-weight:600;}
.map-panel{position:relative;min-height:480px;border-left:1px solid var(--line)}#map{height:100%;width:100%;min-height:480px;filter:saturate(.72) contrast(.96);transition:filter .3s}.vivid-map{filter:saturate(1.25) contrast(1.03)!important}.map-toolbar{position:absolute;z-index:500;top:14px;right:14px;display:flex;gap:7px}.map-toolbar button{border:1px solid #dfddd5;background:#fffdfaf2;border-radius:999px;padding:8px 10px;color:var(--ink);font:500 11px "DM Mono",monospace;cursor:pointer;box-shadow:0 3px 12px #18352f15}.map-toolbar button.selected{background:var(--ink);color:#fff}.style-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--coral);margin-right:5px}.map-overlay{position:absolute;bottom:13px;left:14px;z-index:500;background:rgba(255,253,250,.9);border-radius:4px;padding:7px 9px;display:flex;gap:12px;font:10px "DM Mono",monospace;color:var(--muted);}.wayfind-pin{background:var(--coral);width:27px!important;height:27px!important;border:2px solid #fff;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);box-shadow:0 3px 8px #173a3266;display:grid!important;place-items:center}.wayfind-pin span{transform:rotate(45deg);font:500 10px "DM Mono",monospace;color:#fff}.wayfind-pin.active{background:var(--ink);transform:rotate(-45deg) scale(1.2)}.wayfind-pin.list-pin{border-radius:50%;transform:none;background:var(--coral)}.wayfind-pin.list-pin span{transform:none;font-size:10px;line-height:1}.wayfind-pin.list-pin.active{transform:scale(1.2)}
/* Critical Leaflet positioning is local so tiles still lay out when CDN CSS is delayed. */
.leaflet-container{position:relative;overflow:hidden;background:#e6e7e1;outline:0}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{position:absolute;left:0;top:0}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-control{position:relative;z-index:800;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-bottom{bottom:0}.leaflet-right{right:0}.leaflet-control-zoom{margin:0 12px 12px 0}.leaflet-control-zoom a{display:block;width:29px;height:29px;line-height:28px;text-align:center;text-decoration:none;background:#fff;color:var(--ink);border-bottom:1px solid #ddd}.leaflet-control-zoom a:first-child{border-radius:4px 4px 0 0}.leaflet-control-zoom a:last-child{border-radius:0 0 4px 4px;border-bottom:0}.leaflet-control-attribution{background:#fffdfaeb;padding:2px 5px;font-size:10px}.leaflet-control-attribution a{color:var(--ink)}
footer{display:flex;justify-content:space-between;padding:18px 0 25px;color:var(--muted);font:11px "DM Mono",monospace;}dialog{border:0;border-radius:12px;max-width:410px;padding:35px;background:var(--paper);box-shadow:0 20px 60px #1b30292e;color:var(--ink)}dialog::backdrop{background:#17332b66;backdrop-filter:blur(3px)}dialog h2{font:600 31px/1.08 Fraunces,serif;margin:0 0 14px;letter-spacing:-.04em}dialog p:not(.eyebrow){color:var(--muted);line-height:1.5;font-size:14px}.close{float:right;border:0;background:none;color:var(--ink);cursor:pointer;font-size:25px;line-height:1}.publish{width:100%;margin-top:13px}.social-card{border:1px solid var(--line);border-radius:8px;padding:10px;display:flex;gap:10px;align-items:center;background:#fff}.social-image{width:43px;height:43px;border-radius:5px;display:grid;place-items:center;background:var(--coral);color:var(--lime);font-size:22px}.social-card b{font-size:12px;display:block}.social-card span{display:block;margin-top:3px;color:var(--muted);font:10px "DM Mono",monospace}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
footer{display:flex;justify-content:space-between;padding:18px 0 25px;color:var(--muted);font:11px "DM Mono",monospace;}dialog{border:0;border-radius:12px;max-width:410px;padding:35px;background:var(--paper);box-shadow:0 20px 60px #1b30292e;color:var(--ink)}dialog::backdrop{background:#17332b66;backdrop-filter:blur(3px)}dialog h2{font:600 31px/1.08 Fraunces,serif;margin:0 0 14px;letter-spacing:-.04em}dialog p:not(.eyebrow){color:var(--muted);line-height:1.5;font-size:14px}.close{float:right;border:0;background:none;color:var(--ink);cursor:pointer;font-size:25px;line-height:1}.publish{width:100%;margin-top:13px}.social-card{border:1px solid var(--line);border-radius:8px;padding:10px;display:flex;gap:10px;align-items:center;background:#fff}.social-image{width:43px;height:43px;border-radius:5px;display:grid;place-items:center;background:var(--coral);color:var(--lime);font-size:22px}.social-card b{font-size:12px;display:block}.social-card span{display:block;margin-top:3px;color:var(--muted);font:10px "DM Mono",monospace}.share-edit-toggle{display:flex;gap:10px;align-items:flex-start;margin-top:15px;padding:11px;border:1px solid var(--line);border-radius:7px;background:#faf8f1;cursor:pointer}.share-edit-toggle input{accent-color:var(--ink);margin-top:3px}.share-edit-toggle b{display:block;font-size:12px}.share-edit-toggle small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.35}.published-link{display:flex;gap:7px;margin-top:12px}.published-link input{min-width:0;flex:1;height:38px;border:1px solid var(--line);border-radius:5px;background:#fff;padding:0 9px;color:var(--ink);font-size:11px}.published-link button{display:grid;place-items:center;width:38px;border:1px solid var(--ink);border-radius:5px;background:var(--ink);color:#fff;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}.published-link button:hover{transform:translateY(-1px);background:var(--deep)}.published-link button svg{width:17px;height:17px;fill:currentColor}.published-link button.is-copied{background:#78aa8c;border-color:#78aa8c;color:#fff}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:760px){.app-shell{padding:0 16px}.topbar{height:auto;min-height:68px;padding:10px 0;flex-wrap:wrap}.draft-state,.guide-orbit{display:none}.preview-button{padding:9px 7px;font-size:12px}.guide-switcher{order:4;width:100%}.guide-selector{flex:1;min-width:0}.guide-picker{width:100%;max-width:none}.guide-picker-menu{width:100%;max-width:none}.guide-picker-option{min-width:0}.guide-header{padding:42px 0 34px}.editable-eyebrow{gap:8px}.editable-eyebrow input{max-width:145px}#guide-title{font-size:42px}.workspace{grid-template-columns:1fr}.map-panel{height:330px;min-height:0;border-left:0;border-top:1px solid var(--line);order:-1}#map{height:330px;min-height:0}.stops-panel{min-height:430px}.map-overlay{display:none}.share-button{margin-left:auto;padding:10px 12px;font-size:13px}.map-toolbar{top:10px;right:10px}.map-toolbar button:first-child{display:none}}

.item-fields,.schedule-fields{display:grid;gap:8px;margin-top:12px}.item-fields{grid-template-columns:1fr}.schedule-fields{grid-template-columns:1.1fr .9fr;margin-top:8px}.item-fields label,.schedule-fields label{display:grid;gap:5px;color:var(--muted);font:500 9px "DM Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.item-fields label span,.schedule-fields label span{padding-left:2px}.item-fields select,.item-time,.item-date,.stop-link{min-width:0;height:35px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);padding:0 27px 0 10px;font:500 12px "DM Sans",sans-serif;text-transform:none;letter-spacing:0;box-shadow:0 1px 2px #18352f08;transition:border .16s,box-shadow .16s}.item-fields select,.item-time{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--coral) 50%),linear-gradient(135deg,var(--coral) 50%,transparent 50%);background-position:calc(100% - 13px) 14px,calc(100% - 9px) 14px;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.item-date,.stop-link{padding-right:8px}.item-fields select:focus,.item-time:focus,.item-date:focus,.stop-link:focus{outline:0;border-color:var(--coral);box-shadow:0 0 0 3px #e876581a}.stop-title{display:block;width:100%;border:0;border-bottom:1px solid transparent;outline:0;background:transparent;color:var(--ink);padding:0 0 2px;font:600 14px "DM Sans",sans-serif}.stop-title:focus{border-bottom-color:var(--coral)}.wayfind-pin.category-restaurant,.wayfind-pin.category-cafe{background:#d9624a}.wayfind-pin.category-bar{background:#7b5fa0}.wayfind-pin.category-sightseeing,.wayfind-pin.category-museum{background:#4c8e9b}.wayfind-pin.category-shopping{background:#c29b32}.wayfind-pin.category-park{background:#51926f}.wayfind-pin.category-event,.wayfind-pin.event-pin{background:#d06087}.wayfind-pin.event-pin{box-shadow:0 0 0 4px #d0608730,0 3px 8px #173a3266}

.timeline-list{border-top:0;padding:5px 0 8px}.timeline-stop{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:0;padding:0;border:0;background:none;cursor:default}.timeline-stop:hover,.timeline-stop.is-active{padding-left:0}.timeline-rail{position:relative;display:block;min-height:100%;border-right:1px solid var(--line)}.timeline-stop:last-child .timeline-rail{border-color:transparent}.timeline-dot{position:absolute;width:11px;height:11px;right:-6px;top:20px;border:2px solid var(--paper);border-radius:50%;background:var(--coral);box-shadow:0 0 0 1px #e2ded3}.timeline-card{display:grid;grid-template-columns:65px minmax(0,1fr) 25px;gap:10px;width:100%;margin:7px 0 7px 13px;padding:13px 11px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);text-align:left;cursor:pointer;transition:background .16s,border .16s,transform .16s}.timeline-card:hover{background:#f6f3ea;border-color:var(--line);transform:translateX(2px)}.timeline-stop.is-active .timeline-card{background:#f1f5d6;border-color:#dae3b1}.timeline-time{padding-top:2px;color:var(--coral);font:500 10px/1.25 "DM Mono",monospace;letter-spacing:.02em}.timeline-copy{display:grid;gap:4px;min-width:0}.timeline-copy strong{font-size:14px;line-height:1.25}.timeline-meta{color:var(--muted);font:10px "DM Mono",monospace;text-transform:capitalize}.timeline-note{color:#6d7771;font-size:11px;line-height:1.35}.timeline-number{align-self:start;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#f4efe6;color:var(--coral);font:500 9px "DM Mono",monospace}.timeline-stop.is-active .timeline-number{background:var(--ink);color:#fff}@media(max-width:760px){.timeline-card{grid-template-columns:57px minmax(0,1fr) 23px;margin-left:11px;padding:12px 8px}.timeline-time{font-size:9px}}

.timeline-date-divider{margin:16px 0 5px;padding:0 0 7px;border-bottom:1px solid var(--line);color:var(--ink);font:600 10px "DM Mono",monospace;letter-spacing:.06em;text-transform:uppercase}.timeline-date-divider:first-child{margin-top:2px}

.timeline-without-time .timeline-card{grid-template-columns:minmax(0,1fr) 25px}

@media(min-width:761px){.workspace{height:clamp(480px,62vh,620px)}.stops-panel{min-height:0}.map-panel,#map{min-height:0}}

.route-lines-toggle{display:flex;align-items:center;gap:6px;border:1px solid #dfddd5;border-radius:999px;background:#fffdfaf2;padding:8px 10px;color:var(--ink);font:500 11px "DM Mono",monospace;box-shadow:0 3px 12px #18352f15;cursor:pointer;white-space:nowrap}.route-lines-toggle input{appearance:none;width:13px;height:13px;margin:0;border:1px solid #9ba39b;border-radius:3px;background:#fff;display:grid;place-content:center}.route-lines-toggle input::after{content:"";width:6px;height:3px;border:solid #fff;border-width:0 0 2px 2px;transform:rotate(-45deg) scale(0);transition:transform .12s}.route-lines-toggle input:checked{border-color:var(--ink);background:var(--ink)}.route-lines-toggle input:checked::after{transform:rotate(-45deg) scale(1)}.route-lines-toggle input:focus-visible{outline:2px solid var(--coral);outline-offset:2px}@media(max-width:760px){.route-lines-toggle{padding:7px 9px}.route-lines-toggle span{display:none}}

@media(max-width:760px){.map-toolbar #map-style{display:none}}

.guide-settings{margin:0 0 15px;border:1px solid var(--line);border-radius:7px;background:#faf8f1}.guide-settings summary{display:flex;align-items:center;gap:7px;padding:10px 11px;color:var(--ink);font:600 11px "DM Mono",monospace;letter-spacing:.04em;cursor:pointer;list-style:none}.guide-settings summary::-webkit-details-marker{display:none}.guide-settings summary::after{content:"+";margin-left:auto;color:var(--coral);font-size:16px;line-height:1}.guide-settings[open] summary{border-bottom:1px solid var(--line)}.guide-settings[open] summary::after{content:"−"}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:11px}.settings-toggle,.settings-schedule label,.settings-day-count{color:var(--muted);font-size:11px}.settings-toggle{display:flex;align-items:center;gap:7px}.settings-toggle input,.settings-schedule input{accent-color:var(--ink)}.settings-schedule{grid-column:1/-1;display:grid;gap:7px;margin:3px 0 0;padding:9px 0 0;border:0;border-top:1px solid var(--line)}.settings-schedule legend{padding:0;color:var(--coral);font:500 9px "DM Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.settings-schedule label{display:flex;align-items:center;gap:7px}.settings-schedule:disabled{opacity:.45}.settings-day-count{display:grid;gap:5px;grid-column:1/-1;color:var(--coral);font:500 9px "DM Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.settings-day-count select,.item-day{height:35px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);padding:0 27px 0 10px;font:500 12px "DM Sans",sans-serif;letter-spacing:0;text-transform:none}.schedule-fields.has-one{grid-template-columns:1fr}@media(max-width:760px){.settings-grid{grid-template-columns:1fr}.settings-schedule,.settings-day-count{grid-column:auto}}

.schedule-day-row{display:flex;align-items:center;gap:11px;white-space:nowrap}.settings-schedule .settings-day-count{display:flex;align-items:center;gap:6px;color:var(--muted);font:11px "DM Sans",sans-serif;letter-spacing:0;text-transform:none}.settings-schedule .settings-day-count select{width:72px;height:28px;padding:0 6px;font-size:11px}@media(max-width:760px){.schedule-day-row{gap:8px}.settings-schedule .settings-day-count select{width:66px}}

.auth-button{border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);padding:9px 12px;font:600 12px "DM Sans",sans-serif;cursor:pointer}.auth-button:hover{border-color:var(--ink);background:var(--paper)}.auth-dialog{max-width:430px}.auth-form{display:grid;gap:12px;margin-top:20px}.auth-form label{display:grid;gap:5px;color:var(--muted);font:500 10px "DM Mono",monospace;letter-spacing:.05em;text-transform:uppercase}.auth-form input{height:42px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:0 10px;color:var(--ink);font:14px "DM Sans",sans-serif;text-transform:none;letter-spacing:0}.auth-form input:focus{outline:0;border-color:var(--coral);box-shadow:0 0 0 3px #e876581a}.auth-name span{font-size:8px}.auth-error{min-height:16px;margin:0;color:#ad4e39;font-size:12px}.auth-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:8px}.auth-actions .publish{margin:0}.auth-secondary{border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font-weight:600;cursor:pointer}@media(max-width:760px){.auth-button{padding:8px 10px;font-size:11px}}
.reader-mode .guide-header::after{content:"VIEW ONLY";display:inline-block;margin-top:13px;padding:6px 8px;border-radius:4px;background:#f0eee7;color:var(--muted);font:500 10px "DM Mono",monospace;letter-spacing:.08em}.reader-mode #location-search,.reader-mode .search-hint,.reader-mode .guide-settings,.reader-mode #add-demo,.reader-mode .panel-heading .round-button,.reader-mode .stop-actions{display:none}.reader-mode .guide-header input,.reader-mode .guide-header textarea{cursor:default}.reader-mode .guide-mode{opacity:.72}.reader-mode .stops-panel{overflow-y:auto}.reader-stop strong{display:block;font-size:14px}.reader-stop .reader-meta{display:block;margin-top:8px;color:var(--coral);font:500 10px "DM Mono",monospace;letter-spacing:.04em;text-transform:capitalize}.reader-stop .reader-note{margin-top:9px;color:#6d7771;font-size:12px;line-height:1.45}.reader-mode .directions-link{margin-top:10px}
.reader-place-link,.timeline-link{display:inline-block;margin-top:9px;color:var(--coral);font:600 11px "DM Sans",sans-serif;text-decoration:none}.reader-place-link:hover,.timeline-link:hover{text-decoration:underline}.timeline-link{grid-column:2;margin:0 0 8px 13px}
.guide-settings-panel{max-width:400px;margin:-22px 0 18px}.guide-settings{margin:0}.reader-mode .guide-settings-panel{display:none}@media(max-width:760px){.guide-settings-panel{max-width:none;margin:-12px 0 16px}}
.guide-actions{display:flex;align-items:center;gap:9px}.guide-actions .share-button{padding:10px 14px}.guide-settings-panel .guide-mode{margin-top:12px}.guide-settings-panel{max-width:400px}
@media(max-width:760px){.guide-actions{order:5;width:100%;justify-content:space-between;padding-top:10px;border-top:1px solid var(--line)}.guide-actions .preview-button,.guide-actions .share-button{flex:1;min-height:40px;text-align:center}.guide-actions .share-button{margin-left:0}.guide-settings-panel .guide-mode{margin-top:10px}}
.leaflet-tooltip{border:1px solid #e1ded4;border-radius:5px;background:#fffdf9;color:var(--ink);box-shadow:0 5px 15px #173a3224;padding:7px 9px;font:600 12px/1.25 "DM Sans",sans-serif;letter-spacing:.01em}.leaflet-tooltip-top:before{border-top-color:#fffdf9}.leaflet-tooltip-bottom:before{border-bottom-color:#fffdf9}.leaflet-tooltip-left:before{border-left-color:#fffdf9}.leaflet-tooltip-right:before{border-right-color:#fffdf9}
.leaflet-bottom.leaflet-right .leaflet-control-zoom{position:absolute;right:0;bottom:0;margin:0 12px 28px 0}
