:root{color-scheme:light dark;--ink:#12324a;--muted:#547187;--paper:#f1fbff;--card:#fff;--teal:#006d77;--teal2:#00a896;--aqua:#82eee0;--sun:#ffd23f;--coral:#ff5268;--blue:#1267e8;--line:#cce9ee;--shadow:0 18px 55px rgba(0,109,119,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.55}a{color:inherit}button{font:inherit}.shell{max-width:1180px;margin:auto;padding:20px 20px 96px}
.hero{min-height:680px;border-radius:32px;background:radial-gradient(circle at 82% 16%,rgba(255,210,63,.72),transparent 23%),radial-gradient(circle at 12% 88%,rgba(255,82,104,.38),transparent 30%),linear-gradient(135deg,#075be8 0%,#00a896 60%,#00c9a7 100%);color:#fff;padding:clamp(24px,5vw,54px);display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:stretch;box-shadow:0 24px 70px rgba(7,91,232,.25);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:370px;height:370px;border:1px solid rgba(255,255,255,.22);border-radius:50%;right:-120px;bottom:-155px;box-shadow:0 0 0 45px rgba(255,255,255,.07),0 0 0 95px rgba(255,255,255,.04)}.hero-copy{display:flex;flex-direction:column;justify-content:space-between;z-index:1}.eyebrow{font-size:.84rem;letter-spacing:.16em;text-transform:uppercase;opacity:.9}h1{font-size:clamp(3.3rem,8vw,7.5rem);line-height:.88;letter-spacing:-.06em;margin:22px 0;text-shadow:0 8px 30px rgba(0,41,113,.18)}.hero-note{font-size:1.1rem;opacity:.95}.route-pill{display:inline-flex;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.38);background:rgba(255,255,255,.17);padding:10px 15px;border-radius:999px;width:max-content;backdrop-filter:blur(10px)}
.focus{align-self:end;background:#fff;color:var(--ink);border-radius:27px;padding:24px;z-index:1;box-shadow:0 16px 45px rgba(0,41,113,.18);border:2px solid rgba(255,255,255,.55)}.focus-label{display:flex;justify-content:space-between;color:var(--muted);font-size:.88rem}.focus h2{font-size:clamp(1.45rem,3vw,2.15rem);line-height:1.18;margin:12px 0 6px}.focus-meta{color:var(--muted)}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:22px}.countdown div{background:linear-gradient(145deg,#e6fbff,#dffaf4);border:1px solid #b9edf0;border-radius:15px;padding:11px;text-align:center}.countdown strong{display:block;font-size:clamp(1.35rem,3vw,2.25rem);line-height:1;color:var(--blue)}.countdown span{font-size:.78rem;color:var(--muted)}
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0 42px}.quick a{text-decoration:none;background:linear-gradient(135deg,#fff,#eefcff);border:1px solid var(--line);border-radius:18px;padding:16px;font-weight:800;color:var(--teal);box-shadow:0 8px 26px rgba(0,109,119,.09)}section{scroll-margin-top:18px;margin-top:50px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.section-head h2{font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.04em;margin:0;color:var(--teal)}.section-head p{margin:0;color:var(--muted)}
.map-card,.panel{background:var(--card);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}.map-card{padding:20px;overflow:hidden}.map-card svg{width:100%;height:auto;display:block}.map-label{font-weight:800;fill:var(--ink)}.map-sub{font-size:12px;fill:var(--muted)}.alert{display:flex;gap:14px;background:#fff4c7;border:1px solid #f5c934;border-radius:20px;padding:18px;margin:18px 0;box-shadow:0 10px 28px rgba(255,210,63,.16)}.alert strong{display:block}.alert p{margin:2px 0 0;color:#6d5311}
.days{display:grid;gap:14px}.day{background:var(--card);border:1px solid var(--line);border-radius:24px;overflow:hidden;transition:.2s}.day.today{outline:3px solid var(--sun);box-shadow:var(--shadow)}.day summary{list-style:none;cursor:pointer;padding:20px;display:grid;grid-template-columns:90px 1fr auto;gap:18px;align-items:center}.day summary::-webkit-details-marker{display:none}.date{font-weight:800;font-size:1.25rem}.date small{display:block;color:var(--muted);font-size:.78rem;font-weight:600}.day-title{font-size:1.16rem;font-weight:800}.day-sub{color:var(--muted);font-size:.92rem}.chev{width:34px;height:34px;border-radius:50%;background:#edf7f6;display:grid;place-items:center}.day[open] .chev{transform:rotate(180deg)}.day-body{padding:0 20px 22px 128px}.timeline{border-left:2px solid var(--line);padding-left:20px;display:grid;gap:16px}.event{position:relative}.event:before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--teal2);left:-26px;top:7px;box-shadow:0 0 0 5px #e5f4f2}.event time{display:inline-block;min-width:54px;color:var(--teal);font-weight:800}.event p{margin:3px 0;color:var(--muted)}
.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;border-radius:999px;padding:10px 15px;background:linear-gradient(135deg,var(--blue),#0c8fe8);color:#fff;font-weight:750;border:0;box-shadow:0 7px 18px rgba(18,103,232,.22)}.btn.alt{background:#dff9f5;color:#007f72;box-shadow:none;border:1px solid #aeece3}.booking-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.booking{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:21px}.booking .tag,.tag{display:inline-flex;border-radius:999px;padding:5px 10px;background:#dff9f5;color:#007f72;font-size:.78rem;font-weight:800;border:1px solid #bcefe7}.booking h3{margin:12px 0 4px;font-size:1.3rem}.booking p{color:var(--muted);margin:5px 0}.flightline{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;margin:17px 0}.flightline .track{height:2px;background:var(--line);position:relative}.flightline .track:after{content:"✈";position:absolute;right:42%;top:-14px;background:var(--card);padding:0 5px;color:var(--coral)}
.activity{display:grid;grid-template-columns:minmax(240px,.8fr) 1.2fr;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:28px}.activity img{width:100%;height:100%;min-height:430px;object-fit:cover}.activity-copy{padding:26px}.activity-copy h3{font-size:1.7rem;margin:10px 0}.mini-time{display:grid;grid-template-columns:70px 1fr;padding:9px 0;border-bottom:1px solid var(--line)}.checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.task{display:flex;gap:13px;background:var(--card);border:1px solid var(--line);padding:17px;border-radius:18px}.task .dot{width:12px;height:12px;border-radius:50%;background:var(--coral);margin-top:7px;flex:none}.task.done .dot{background:var(--teal2)}.task strong{display:block}.task span{color:var(--muted);font-size:.9rem}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.info{background:var(--card);border:1px solid var(--line);border-radius:21px;padding:19px}.info h3{margin:0 0 8px}.info p{color:var(--muted);margin:0}footer{margin:48px 0 12px;text-align:center;color:var(--muted);font-size:.88rem}.mobile-nav{display:none}
.task{cursor:pointer;min-height:60px;touch-action:manipulation}.task input[type="checkbox"]{width:24px;height:24px;flex:0 0 24px;margin:2px 0 0;accent-color:var(--teal2);cursor:pointer}.task .task-copy{min-width:0;font-size:1rem;color:var(--ink);overflow-wrap:anywhere}.task.done .task-copy{opacity:.6;text-decoration:line-through}.task:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:760px){.shell{padding:10px 10px 98px}.hero{min-height:720px;border-radius:24px;grid-template-columns:1fr;padding:23px}.hero-copy{min-height:340px}.focus{align-self:auto;padding:19px}.quick{grid-template-columns:repeat(2,1fr);margin:14px 0 38px}.section-head{align-items:start;flex-direction:column;gap:3px}.booking-grid,.checklist,.info-grid{grid-template-columns:1fr}.activity{grid-template-columns:1fr}.activity img{min-height:260px;max-height:390px}.day summary{grid-template-columns:72px 1fr auto;gap:10px;padding:17px}.day-body{padding:0 17px 20px}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:10px;right:10px;bottom:10px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:18px;padding:7px;z-index:20;box-shadow:0 12px 40px rgba(5,62,66,.2)}.mobile-nav a{text-decoration:none;text-align:center;font-size:.76rem;font-weight:750;padding:7px 2px}.mobile-nav b{display:block;font-size:1rem}.countdown div{padding:10px 5px}.map-card{padding:10px}}
@media(prefers-color-scheme:dark){:root{--ink:#edfaff;--muted:#a6c7d6;--paper:#071f35;--card:#0d3047;--line:#235671;--shadow:none}.focus{background:#0d3047}.countdown div,.quick a,.chev{background:#123e55}.countdown strong{color:#62d9ff}.alert{background:#554516;border-color:#9c7c18}.alert p{color:#ffe9a1}.tag,.booking .tag,.btn.alt{background:#0f4b51;color:#89f2e6;border-color:#24777c}.mobile-nav{background:rgba(13,48,71,.94)}}
