:root{color-scheme:dark;--paper:oklch(0.0633 0.0132 233.5083);--white:oklch(0.1378 0.0312 239.3136);--ink:oklch(0.8789 0.0569 210.1833);--muted:oklch(0.7168 0.0652 211.3385);--line:oklch(0.8004 0.0941 213.0087 / .3);--accent:oklch(0.7025 0.1266 218.7496);--panel:oklch(0.1378 0.0312 239.3136);--badge:oklch(0.2669 0.0445 225.3072);--flash:oklch(0.3680 0.0832 239.2130);--primary:oklch(0.7025 0.1266 218.7496);--primary-text:oklch(0.2074 0.0625 252.2461)}
:root[data-theme=light]{color-scheme:light;--paper:#f7f5ef;--white:#fffefb;--ink:#223e35;--muted:#6c756c;--line:#dedfd5;--accent:#bd704b;--panel:#eeeee5;--badge:#e9ebdf;--flash:#eee9d8;--primary:#223e35;--primary-text:#fff}
body{background:var(--paper);color:var(--ink)}
.topbar{display:grid;grid-template-columns:1fr auto 1fr;max-width:1200px;margin:auto;padding:0 24px;gap:12px}
.topbar .brand{grid-column:2;border:0;background:transparent;color:var(--ink);padding:12px;font-size:18px;min-height:44px}
.photo-banner{max-width:1200px;margin:auto;background:var(--panel)}
main,.admin-main{max-width:1000px;margin:0 auto;padding:48px 24px;text-align:center}
.section-heading{flex-direction:column;align-items:center;justify-content:center;gap:10px}
.section-heading>p{margin:0}
.timeline-toggle{appearance:none;display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:transparent;color:var(--ink);padding:0;border-radius:0}.timeline-toggle>span{font-family:Georgia,'Times New Roman',serif;font-size:42px;line-height:1}.timeline-toggle small{font-size:11px;color:var(--muted);letter-spacing:.04em}.timeline-toggle:hover{background:transparent}.timeline-toggle[aria-pressed=true]>span{color:var(--accent)}
.toolbar{justify-content:center}.timezone{margin-left:0}
.toolbar select{field-sizing:content;width:auto;min-width:0;max-width:100%;background:var(--white);color:var(--ink);border-radius:4px;text-align:center;text-align-last:center}
.journey-layout{grid-template-columns:minmax(0,1fr);max-width:800px;margin:32px auto 0}
.journey-layout.is-compact .map-panel{grid-row:1}.journey-layout.is-compact #timeline{grid-row:2}
.map-panel{position:static;grid-row:auto;width:100%;background:var(--panel);border-radius:8px;overflow:hidden}
#map{background:var(--panel)}
.day-controls{justify-content:center}
.day-toggle{justify-content:center;position:relative;padding:20px 28px;flex-wrap:wrap}
.day-toggle::before{position:absolute;left:5px}
.day-count{margin-left:0}.day-content{max-width:660px;margin:auto}
.entry,.entry.branch{margin:0 0 18px;padding:18px 16px 24px;border-left:0;border-bottom:1px solid var(--line)}
.entry:before{display:none}.entry-head{justify-content:center}
.entry h3,.row-content strong{overflow-wrap:anywhere}
.entry.branch{border-left:2px solid var(--line)}
.day-resource{margin:0 auto 20px}
.compact-timeline{text-align:left}.compact-day{margin:0 0 30px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--white)}.compact-day-heading{text-align:center;padding:20px;border-bottom:1px solid var(--line)}.compact-day-heading h3{font-family:'Segoe UI',sans-serif;font-size:18px;font-weight:700;margin:0}.compact-day-theme{margin:8px 0 0;color:var(--muted);font-size:13px}.compact-day-heading .day-resource{display:inline-block;margin:14px 4px 0;padding:8px 10px;font-size:11px}.compact-entry{display:grid;grid-template-columns:92px minmax(0,1fr);gap:16px;padding:15px 20px;border-bottom:1px solid var(--line)}.compact-entry:last-child{border-bottom:0}.compact-time{font-size:13px;font-weight:700;color:var(--accent);padding-top:2px;text-align:right;white-space:nowrap}.compact-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.compact-title-line h4{font-size:14px;line-height:1.4;margin:0}.compact-location,.compact-notes,.compact-actual{font-size:12px;line-height:1.5;margin:5px 0 0;color:var(--muted);white-space:pre-wrap}.compact-notes{color:var(--ink)}.compact-actual{font-weight:700;color:var(--accent)}
.compact-entry.compact-branch{margin-left:calc(18px * var(--branch-depth));border-left:3px solid var(--line);background:color-mix(in srgb,var(--panel) 42%,transparent)}.compact-option-heading{margin-left:0;border-left:5px solid var(--accent);background:var(--panel);padding-top:18px;padding-bottom:18px}.compact-option-heading .compact-title-line h4{font-size:15px}.compact-option-heading .compact-time{color:var(--ink)}
.badge{background:var(--badge)}.flash{background:var(--flash)}
.pin.airbnb-pin{display:grid!important;place-items:center;width:30px!important;height:30px!important;border:2px solid var(--white);background:var(--accent);color:var(--paper);font-size:20px;font-weight:800;line-height:1;box-shadow:0 2px 10px #0008}.airbnb-pin span{transform:translateY(-1px)}
#status{color:var(--accent)}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--white);color:var(--ink)}
.leaflet-bar a,.leaflet-bar a:hover{background:var(--white);color:var(--ink);border-color:var(--line)}
.leaflet-container .leaflet-control-attribution{background:var(--white);color:var(--muted)}
.leaflet-control-attribution a{color:var(--accent)}
html:not([data-theme=light]) .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.8) saturate(.6)}
.editor-layout{grid-template-columns:minmax(0,1fr);max-width:800px;margin:auto}
.editor{position:static;grid-row:1;width:100%}
.editor-layout>.editor[hidden]{display:none}
.editor label,.login-panel label{text-align:left}
.desk-toolbar,.list-title,.form-actions{justify-content:center;flex-wrap:wrap}
.admin-row{border-color:var(--line)}
.primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}
button,input:not([type=checkbox]),select,textarea{border-color:var(--line)}
.danger{color:var(--accent);margin-left:0}
.flags{display:flex;justify-content:center;flex-wrap:wrap;gap:16px}
@media(max-width:500px){main,.admin-main{padding:32px 16px}.topbar{padding:0 12px;gap:4px}.day-label{font-size:20px}.day-count{width:100%}.section-heading{align-items:center}.day-controls{flex-wrap:wrap}.entry h3{font-size:21px}.timeline-toggle>span{font-size:34px}.compact-entry{grid-template-columns:72px minmax(0,1fr);gap:11px;padding:14px 12px}.compact-entry.compact-branch{margin-left:10px}.compact-time{font-size:12px}.compact-day-heading{padding:18px 12px}.compact-day-heading h3{font-size:16px}}

html:not([data-theme=light]) body{background:linear-gradient(180deg,oklch(0.089 0.015 239),var(--paper) 40%,oklch(0.055 0.012 231));font-family:'Segoe UI',sans-serif}html:not([data-theme=light]) h1,html:not([data-theme=light]) h2,html:not([data-theme=light]) h3,html:not([data-theme=light]) .day-label{font-family:'Segoe UI',sans-serif}
