:root{
  --orange:#E8743B;--orange-soft:#FBE6DA;--ink:#2B2620;--ink-soft:#6B6258;
  --cream:#FAF6EF;--card:#FFFFFF;--line:#EBE3D6;--blue:#3E6B89;--blue-soft:#E3EDF2;
  --green:#5C8A5C;--green-soft:#E4EFE2;--sun:#E5A93C;--wet-soft:#EDE7F0;
  --shadow:rgba(43,38,32,.07);--depart-bg:#FFF9F4;--dog-bg:#FFF4E0;
}
[data-theme="dark"]{
  --orange:#F08A55;--orange-soft:#3A2A20;--ink:#ECE6DD;--ink-soft:#A99F92;
  --cream:#17150F;--card:#221F18;--line:#352F25;--blue:#7FB0CE;--blue-soft:#1E2A33;
  --green:#8FBE8F;--green-soft:#1F2A1F;--sun:#E5A93C;--wet-soft:#2A2330;
  --shadow:rgba(0,0,0,.45);--depart-bg:#241E16;--dog-bg:#2A2114;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;}
body{font-family:"Georgia","Times New Roman",serif;background:var(--cream);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased;transition:background .25s,color .25s;}
.wrap{max-width:520px;margin:0 auto;padding:0 0 80px;}

header{background:linear-gradient(160deg,#E8743B 0%,#D85A2A 60%,#C04A20 100%);color:#fff;padding:42px 22px 34px;text-align:center;position:relative;overflow:hidden;}
header::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.12) 0 2px,transparent 2px);background-size:26px 26px;opacity:.5;}
header .kicker{font-family:"Helvetica Neue",Arial,sans-serif;letter-spacing:.32em;text-transform:uppercase;font-size:11px;font-weight:600;opacity:.9;position:relative;}
header h1{font-size:38px;line-height:1.05;margin:10px 0 6px;font-weight:normal;letter-spacing:-.5px;position:relative;}
header .dates{font-family:"Helvetica Neue",Arial,sans-serif;font-size:13px;opacity:.92;position:relative;letter-spacing:.02em;}
header .base{margin-top:14px;display:inline-block;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);border-radius:30px;padding:6px 16px;font-family:"Helvetica Neue",Arial,sans-serif;font-size:12px;position:relative;}

.topbar{position:absolute;top:12px;right:12px;display:flex;gap:8px;z-index:5;}
.topbar a,.topbar button{font-family:"Helvetica Neue",Arial,sans-serif;font-size:12px;color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:5px 11px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:5px;}
.topbar button:active,.topbar a:active{background:rgba(255,255,255,.3);}

.strip{display:flex;background:var(--ink);color:var(--cream);font-family:"Helvetica Neue",Arial,sans-serif;font-size:11px;}
.strip div{flex:1;text-align:center;padding:11px 4px;border-right:1px solid rgba(255,255,255,.12);}
.strip div:last-child{border:none;}
.strip .ico{font-size:17px;display:block;margin-bottom:3px;}

nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--cream) 96%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);display:flex;overflow-x:auto;padding:9px 10px;gap:7px;-ms-overflow-style:none;scrollbar-width:none;}
nav::-webkit-scrollbar{display:none;}
nav a{flex:0 0 auto;font-family:"Helvetica Neue",Arial,sans-serif;font-size:12px;text-decoration:none;color:var(--ink-soft);background:var(--card);border:1px solid var(--line);border-radius:20px;padding:6px 13px;font-weight:600;white-space:nowrap;}
nav a:active{background:var(--orange);color:#fff;border-color:var(--orange);}

.intro{padding:24px 22px 6px;}
.intro p{font-size:15px;color:var(--ink-soft);margin-bottom:12px;}
.intro .rules{background:var(--orange-soft);border-radius:14px;padding:14px 16px;font-family:"Helvetica Neue",Arial,sans-serif;font-size:13px;color:var(--ink);}
.intro .rules div{padding:3px 0;}
.intro .rules b{color:var(--orange);}

.day{background:var(--card);margin:18px 14px;border-radius:18px;overflow:hidden;box-shadow:0 4px 18px var(--shadow);border:1px solid var(--line);}
.day-photo{width:100%;height:160px;object-fit:cover;display:block;background:var(--line);}
.day-head{padding:18px 18px 14px;border-bottom:1px solid var(--line);}
.daynum{font-family:"Helvetica Neue",Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);}
.day-head h2{font-size:25px;font-weight:normal;margin:2px 0 3px;letter-spacing:-.3px;}
.day-date{font-family:"Helvetica Neue",Arial,sans-serif;font-size:12px;color:var(--ink-soft);}

.weather{margin-top:12px;display:flex;align-items:center;gap:10px;border-radius:12px;padding:10px 13px;font-family:"Helvetica Neue",Arial,sans-serif;}
.weather.dry{background:var(--green-soft);}
.weather.mixed{background:var(--blue-soft);}
.weather.wet{background:var(--wet-soft);}
.weather .wico{font-size:26px;}
.weather .wtxt{font-size:12.5px;line-height:1.4;color:var(--ink);}
.weather .wtxt b{display:block;font-size:13px;margin-bottom:1px;}
.temp{margin-left:auto;text-align:right;font-size:12px;color:var(--ink-soft);white-space:nowrap;}
.temp .big{font-size:18px;color:var(--ink);font-weight:700;display:block;}
.wlive{font-family:"Helvetica Neue",Arial,sans-serif;font-size:11px;color:var(--ink-soft);margin:6px 18px 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.wlive .badge{background:var(--cream);border:1px solid var(--line);border-radius:20px;padding:2px 9px;}
.wlive a{color:var(--blue);text-decoration:none;font-weight:600;}

.depart{display:flex;align-items:center;gap:8px;padding:11px 18px;background:var(--depart-bg);border-bottom:1px solid var(--line);font-family:"Helvetica Neue",Arial,sans-serif;font-size:12.5px;color:var(--ink);}
.depart .pin{font-size:15px;}
.depart b{color:var(--orange);}

.stops{padding:6px 0 8px;}
.stop{padding:14px 18px 10px;}
.stop .time{font-family:"Helvetica Neue",Arial,sans-serif;font-size:11px;font-weight:700;color:#fff;background:var(--blue);border-radius:6px;padding:2px 8px;display:inline-block;margin-bottom:6px;}
.stop h3{font-size:18px;font-weight:normal;margin-bottom:4px;}
.stop p{font-size:14px;color:var(--ink-soft);margin-bottom:8px;}
.stop .meta{font-family:"Helvetica Neue",Arial,sans-serif;font-size:11.5px;color:var(--ink-soft);display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px;}
.stop .meta span{background:var(--cream);border:1px solid var(--line);border-radius:20px;padding:3px 9px;}
.stop + .stop{border-top:1px dashed var(--line);margin-top:4px;}
.stop-photo{width:100%;height:150px;object-fit:cover;border-radius:12px;margin-bottom:10px;background:var(--line);}

.spots{margin:4px 0 10px;padding-left:2px;}
.spots .lbl{font-family:"Helvetica Neue",Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px;}
.spots ol{list-style:none;counter-reset:s;}
.spots li{counter-increment:s;font-size:13.5px;color:var(--ink);padding:3px 0 3px 26px;position:relative;}
.spots li::before{content:counter(s);position:absolute;left:0;top:3px;width:18px;height:18px;background:var(--orange);color:#fff;border-radius:50%;font-family:"Helvetica Neue",Arial,sans-serif;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;}

.route{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:8px 0 2px;background:var(--blue);color:#fff;border:none;border-radius:12px;padding:13px;font-family:"Helvetica Neue",Arial,sans-serif;font-size:13.5px;font-weight:700;text-decoration:none;}
.route:active{filter:brightness(.9);}
.route .ar{font-size:15px;}
.maplink{font-family:"Helvetica Neue",Arial,sans-serif;font-size:12px;font-weight:600;text-decoration:none;color:var(--blue);display:inline-block;margin-top:4px;}
.maplink::after{content:" ↗";}

.note{margin:4px 18px 16px;background:var(--blue-soft);border-radius:10px;padding:10px 13px;font-family:"Helvetica Neue",Arial,sans-serif;font-size:12px;color:var(--ink);}
.note b{color:var(--blue);}
.note.dog{background:var(--dog-bg);}
.note.dog b{color:var(--sun);}

.mapsec{margin:26px 14px;}
.mapsec h2{font-size:24px;font-weight:normal;padding:0 4px 10px;}
.mapsec iframe{width:100%;height:320px;border:0;border-radius:16px;border:1px solid var(--line);}
.maplist{font-family:"Helvetica Neue",Arial,sans-serif;font-size:12px;color:var(--ink-soft);padding:10px 6px 0;}

.option{margin:22px 14px;background:var(--card);border:2px dashed var(--orange);border-radius:18px;padding:18px;}
.option .tag{font-family:"Helvetica Neue",Arial,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);}
.option h2{font-size:22px;font-weight:normal;margin:4px 0 8px;}
.option p{font-size:14px;color:var(--ink-soft);margin-bottom:8px;}

footer{text-align:center;padding:30px 22px;color:var(--ink-soft);font-family:"Helvetica Neue",Arial,sans-serif;font-size:11px;}
footer .nl{font-size:20px;letter-spacing:3px;margin-bottom:6px;}
