:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--bg:#f2f8ff;--bg-strong:#dfefff;--surface:#ffffffad;--surface-strong:#fffffff0;--ink:#0b2a5b;--ink-soft:#123a73;--muted:#456a94;--line:#1b6fc42e;--primary:#1b6fc4;--primary-2:#2e86d8;--navy:#0b2a5b;--gold:#d7b770;--shadow:0 18px 45px #0b2a5b1f;--radius-xs:10px;--radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:28px;--content-width:1180px}@media (prefers-color-scheme:dark){:root{--bg:#071b30;--bg-strong:#0d2a46;--surface:#0c192ac2;--surface-strong:#0e2035eb;--ink:#eaf6ff;--ink-soft:#d9ebff;--muted:#a1bbd6;--line:#7cb9ff33;--primary:#74b7ff;--primary-2:#4ca0f0;--navy:#dfeeff;--gold:#f2d68f;--shadow:0 20px 45px #02081275}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;background:var(--bg);color:var(--ink);font-family:Inter,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at top, #ffffffbf, transparent 28%), linear-gradient(180deg, var(--bg) 0%, var(--bg-strong) 100%);min-height:100vh;color:var(--ink);margin:0}img{max-width:100%;display:block}button,a{font:inherit}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline-offset:3px;outline:3px solid #2e86d880}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.event-shell{min-height:100vh;position:relative;overflow:visible}.page-stack>.flex.flex-col{gap:var(--space-1);display:grid}.atmosphere{pointer-events:none;background:radial-gradient(circle at 20% 12%,#4991d529,#0000 18%),radial-gradient(circle at 80% 14%,#7fb4ff1f,#0000 20%),radial-gradient(circle at 50% 100%,#1b6fc41f,#0000 30%);position:absolute;inset:0}.atmosphere:before,.atmosphere:after{content:"";background:linear-gradient(#0000,#113b6e0f);height:28rem;position:absolute;inset:auto 0 0;-webkit-mask-image:radial-gradient(circle at 50% 0,#0000 0 67%,#000 100%);mask-image:radial-gradient(circle at 50% 0,#0000 0 67%,#000 100%)}.atmosphere:after{background:linear-gradient(#ffffff2e,#0000);height:15rem;inset:0 0 auto}.page-shell{z-index:1;width:min(100% - 1.2rem, var(--content-width));padding:var(--space-4) 0 var(--space-12);margin:0 auto;position:relative}.page-stack{gap:var(--space-1);display:grid;position:relative}.topbar{gap:var(--space-4);margin-bottom:var(--space-6);display:grid}.brand-block,.meta-card,.route-card,.day-section,.timeline-item{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px)}.brand-block{padding:clamp(var(--space-5), 4vw, var(--space-8));border-radius:var(--radius-xl);background:linear-gradient(135deg,#ffffff9e,#dcebff61)}.eyebrow{margin:0 0 var(--space-3);color:var(--primary);letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-weight:700}h1,h2,h3{color:var(--ink);text-wrap:balance;margin-top:0}h1{letter-spacing:-.065em;margin-bottom:.5rem;font-family:Space Grotesk,Inter,sans-serif;font-size:clamp(2.5rem,7vw,5rem);font-weight:700;line-height:.96}.tagline{color:var(--muted);margin:0;font-size:clamp(1rem,2vw,1.18rem);font-weight:500}.meta-card{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg)}.meta-card dl{gap:var(--space-3);margin:0;display:grid}.meta-card div{gap:var(--space-1);min-width:0;display:grid}.meta-card dt{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:700}.meta-card dd{color:var(--ink-soft);overflow-wrap:anywhere;word-break:break-word;margin:0;font-weight:600}@media (width>=720px){.meta-card dl{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.meta-card div{align-content:start}}.day-nav{top:calc(env(safe-area-inset-top,0px) + .35rem);z-index:20;gap:var(--space-2);-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:var(--space-2);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(14px)saturate(1.15);background:#f2f8ffb8;border:1px solid #1b6fc41f;align-items:center;margin:0;display:flex;position:sticky;overflow:auto hidden;box-shadow:0 12px 28px #0b2a5b14}.day-nav::-webkit-scrollbar{display:none}.day-nav a{min-width:4.5rem;min-height:2.75rem;color:var(--muted);text-align:center;background:0 0;border:1px solid #0000;border-radius:999px;flex:1 1 0;padding:.75rem .85rem;font-weight:700;line-height:1.2;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}.day-nav a.active,.day-nav a:hover,.day-nav a:focus-visible{color:var(--ink);background:#1e6dc21a;border-color:#1e6dc22e;box-shadow:inset 0 0 0 1px #1b6fc414}#schedule,.day-section>.route-grid-wrap,.day-section>.timeline{gap:var(--space-4);display:grid}.day-section{scroll-margin-top:calc(4.5rem + env(safe-area-inset-top,0px));padding:clamp(var(--space-4), 2vw, var(--space-6));border-radius:var(--radius-xl);margin:0}.page-stack>.day-section+.day-section,.page-stack>.day-section+.day-section+.day-section,.page-stack>.day-section+.day-section+.day-section+.day-section{margin-top:var(--space-1)}.section-heading{margin-bottom:var(--space-4)}.section-heading h2{letter-spacing:-.06em;margin:0;font-family:Space Grotesk,Inter,sans-serif;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.1}.timeline{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.timeline-item{gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:#ffffff61;grid-template-columns:minmax(6.5rem,8.5rem) minmax(0,1fr);align-items:start;display:grid}.timeline-item time{color:var(--primary);font-weight:700;line-height:1.5}.entry-copy{min-width:0}.entry-copy h3{margin:0 0 var(--space-1);font-size:1.08rem}.entry-copy p,.panel-list,.route-stop-list{color:var(--muted);margin:0;line-height:1.6}.break-item{background:#1e6dc20f}.route-carousel{overflow:hidden}.route-grid{--route-columns:3;grid-auto-flow:column;grid-auto-columns:minmax(16rem, calc((100% - var(--space-4) * 2) / 3));gap:var(--space-4);overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:var(--space-1) 0;scrollbar-width:thin;display:grid;overflow-x:auto}.route-card{scroll-snap-align:center;padding:var(--space-4);border-radius:var(--radius-lg);cursor:pointer;background:#ffffff6b;transition:border-color .16s,box-shadow .16s,transform .16s}.route-card.is-selected{border-color:#1b6fc46b;transform:translateY(-2px);box-shadow:0 16px 30px #0b2a5b1f}.route-card:focus-visible{outline-offset:3px;outline:3px solid #2e86d880}@media (width<=719px){.route-grid{grid-auto-columns:minmax(min(18rem,82vw),1fr)}}.route-card__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding-bottom:var(--space-3);margin-bottom:var(--space-3);border-bottom:1px solid var(--line);display:flex}.route-index{font-weight:700}.route-time{color:var(--muted);font-size:.8rem}.route-stop-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.route-stop-list li{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-5);border-radius:var(--space-2);border-left:2px solid #1b6fc466;display:flex;position:relative}.route-stop-list li:before{content:"";background:var(--primary-2);border-radius:50%;width:.5rem;height:.5rem;position:absolute;top:.9rem;left:-.2rem;box-shadow:0 0 0 2px #2e86d817}.route-stop-start{background:#2e86d80d}.route-stop-lunch{background:#d7b77014}.route-stop-label,.route-stop-time{font-size:.92rem}.route-stop-time{color:var(--ink-soft);text-align:right;font-weight:600}.panel-list{gap:var(--space-2);margin-top:var(--space-2);padding-left:0;list-style:none;display:grid}.panel-list li{color:var(--muted);padding-left:1.2rem;position:relative}.panel-list li>span{color:var(--gold);font-weight:700;position:absolute;left:0}@media (width<=640px){.page-shell{width:min(100% - .8rem, var(--content-width))}.brand-block,.meta-card,.day-section,.route-card{border-radius:1.1rem}.route-grid{grid-template-columns:1fr}.timeline-item{gap:var(--space-2);grid-template-columns:1fr}.route-stop-list li{align-items:flex-start;gap:var(--space-1);flex-direction:column;padding-left:1.15rem}.route-stop-time{text-align:left}}
