@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;700;900&display=swap";:root{color-scheme:light;--bg: #f4f4f4;--bg-soft: rgba(255, 255, 255, .7);--card: rgba(255, 255, 255, .96);--card-strong: #ffffff;--ink: #0f0f0f;--muted: #666666;--line: rgba(0, 0, 0, .1);--accent: #111111;--accent-deep: #000000;--teal: #222222;--navy: #151515;--shadow: 0 10px 24px rgba(0, 0, 0, .05);--radius-xl: 20px;--radius-lg: 16px;--radius-md: 12px}*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--ink);font-family:Manrope,Noto Sans SC,sans-serif;background:var(--bg)}a{color:inherit;text-decoration:none}button{font:inherit}#root{min-height:100vh}.app-shell{position:relative;min-height:100vh}.app-shell:before,.app-shell:after{content:none}.topbar,.page-wrap{position:relative;z-index:1}.topbar{padding:.75rem 1rem 0}.brand-kicker,.eyebrow{margin:0;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--accent-deep)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .85rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.brand-title{font-family:Noto Sans SC,sans-serif;font-size:1rem;font-weight:700;letter-spacing:-.02em}.route-summary{display:flex;align-items:center;gap:.4rem;min-width:0;text-align:right}.route-summary span{font-weight:700;font-size:.95rem}.route-summary small{color:var(--muted);font-size:.85rem}.page-wrap{padding:.9rem 1rem 1rem}.destination-page{display:grid;gap:.9rem;animation:rise-in .5s ease both}.summary-card,.info-panel,.timeline-card,.empty-card{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow)}.summary-card{display:grid;gap:.8rem;padding:1rem;border-radius:var(--radius-lg)}.summary-head h1{margin:0;font-family:Noto Sans SC,sans-serif;font-size:clamp(1.45rem,3vw,2rem);line-height:1.15;letter-spacing:-.03em}.summary-head p{margin:.35rem 0 0;font-size:.95rem;line-height:1.6;color:var(--muted)}.summary-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.summary-meta-inline{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-meta div{padding:.7rem .8rem;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-md);background:#f7f7f7}.summary-meta span{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.15rem}.summary-meta strong{font-size:.95rem}.summary-notes{padding-top:.1rem}.summary-actions{display:flex;flex-wrap:wrap;gap:.55rem}.summary-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:.45rem .8rem;border:1px solid rgba(0,0,0,.12);border-radius:999px;background:#111;color:#fff;font-size:.82rem;font-weight:700;cursor:pointer}.summary-link-ghost{background:#fff;color:var(--ink)}.info-panel{padding:.9rem;border-radius:var(--radius-lg)}.info-panel h2,.summary-notes h2{margin:0 0 .65rem;font-size:.98rem}.info-panel-plain{background:var(--card-strong)}.note-list,.timeline-meta{list-style:none;padding:0;margin:0}.note-list{display:grid;gap:.6rem}.note-list-dense{gap:.5rem}.note-list li{position:relative;padding-left:.9rem;color:var(--muted);line-height:1.5}.note-list li:before{content:"";position:absolute;left:0;top:.65rem;width:.42rem;height:.42rem;border-radius:999px;background:#111}.content-grid{display:grid;gap:.8rem}.day-stack{display:grid;gap:.75rem}.section-heading h2,.day-toggle-copy h3,.empty-card h1{margin:.2rem 0 0;font-size:clamp(1.2rem,2.5vw,1.7rem);line-height:1.1}.section-heading p,.day-toggle-copy p,.empty-card p{color:var(--muted);margin-bottom:0}.day-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow);overflow:hidden}.day-toggle{width:100%;display:block;padding:.9rem 1rem;text-align:left;border:0;background:transparent;color:var(--ink);cursor:pointer;transition:background .18s ease}.day-toggle:hover{background:#00000005}.day-toggle-open{border-bottom:1px solid rgba(0,0,0,.08)}.day-toggle-copy{display:grid;gap:.1rem;min-width:0}.tag,.timeline-meta span{border-radius:999px;border:1px solid rgba(0,0,0,.12);background:#ffffffe6}.day-panel-body{display:grid;gap:.85rem;padding:.85rem 1rem 1rem}.day-panel-intro{display:grid;gap:.5rem}.day-panel-intro p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}.timeline-section,.timeline-tabs{display:grid;gap:.55rem}.timeline-tabs-head{display:grid;gap:.18rem}.timeline-tabs-head h4{margin:0;font-size:.9rem}.timeline-tabs-description,.timeline-tab-summary{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.timeline-tab-list{display:flex;gap:.45rem;overflow-x:auto;padding-bottom:.1rem}.timeline-tab-button{flex:0 0 auto;padding:.42rem .78rem;border:1px solid rgba(0,0,0,.12);border-radius:999px;background:#fff;color:var(--muted);font-size:.8rem;cursor:pointer}.timeline-tab-button-active{color:var(--ink);border-color:#0000002e;background:#f4f4f4}.timeline{display:grid;gap:.2rem;position:relative}.timeline-block{display:grid;gap:.1rem}.timeline-card{display:grid;grid-template-columns:18px 72px minmax(0,1fr);gap:.7rem;padding:.5rem 0 .8rem;border:0;border-radius:0;box-shadow:none;background:transparent;animation:rise-in .55s ease both}.timeline-rail{position:relative}.timeline-rail:before{content:"";position:absolute;left:8px;top:0;bottom:-.8rem;width:1px;background:#0000001f}.timeline-block:last-child .timeline-rail:before{bottom:.2rem}.timeline-dot{position:absolute;left:4px;top:.5rem;width:9px;height:9px;border-radius:999px;background:#111}.timeline-time{display:grid;align-content:start;gap:.25rem;padding-top:.15rem}.timeline-time span{font-size:1rem;font-weight:800}.timeline-time small,.timeline-location{color:var(--muted)}.timeline-main{display:grid;gap:.42rem;padding:.7rem .85rem;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}.timeline-topline{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.timeline-topline h3{margin:0;font-size:1rem}.timeline-location{margin:0;line-height:1.5;font-size:.9rem}.tag{padding:.28rem .55rem;font-size:.74rem;font-weight:800}.tag-arrival{color:#111;background:#0000000d}.tag-transport{color:#111;background:#00000014}.tag-spot{color:#111;background:#0000001f}.tag-food{color:#111;background:#00000029}.timeline-meta{display:flex;flex-wrap:wrap;gap:.4rem}.timeline-meta span{padding:.28rem .55rem;font-size:.76rem;color:var(--muted)}.timeline-note{display:grid;gap:.35rem;padding-top:.05rem}.timeline-note-title{margin:0;font-size:.8rem;font-weight:700;color:var(--ink)}.timeline-note-list{list-style:none;margin:0;padding:0;display:grid;gap:.28rem}.timeline-note-list li{position:relative;margin:0;padding-left:.8rem;font-size:.82rem;line-height:1.5;color:var(--muted)}.timeline-note-list li:before{content:"";position:absolute;left:0;top:.52rem;width:.32rem;height:.32rem;border-radius:999px;background:#111}.timeline-transfer{display:grid;grid-template-columns:18px 72px minmax(0,1fr);gap:.7rem;padding:0 0 .8rem}.timeline-transfer-rail{position:relative}.timeline-transfer-rail:before{content:"";position:absolute;left:8px;top:-.15rem;bottom:-.15rem;width:1px;background:#0000001f}.timeline-transfer-main{padding:.15rem .85rem .25rem}.timeline-transfer-mode,.timeline-transfer-note{margin:0}.timeline-transfer-mode{font-size:.82rem;color:var(--ink);font-weight:600}.timeline-transfer-note{margin-top:.2rem;font-size:.8rem;line-height:1.5;color:var(--muted)}.empty-state{display:grid;place-items:center;min-height:60vh}.checklist-page{display:grid;gap:.9rem;animation:rise-in .5s ease both}.checklist-progress{display:grid;gap:.35rem}.checklist-progress-bar{height:.45rem;border-radius:999px;background:#00000014;overflow:hidden}.checklist-progress-bar span{display:block;height:100%;border-radius:inherit;background:#111}.checklist-stack{display:grid;gap:.8rem}.checklist-section{display:grid;gap:.75rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow)}.checklist-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.checklist-section-copy{display:grid;gap:.2rem}.checklist-section-copy h2{margin:0;font-size:1rem}.checklist-section-copy p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.5}.checklist-section-count{flex:0 0 auto;padding:.28rem .55rem;border:1px solid rgba(0,0,0,.08);border-radius:999px;background:#f7f7f7;font-size:.78rem}.checklist-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.checklist-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.7rem;padding:.7rem .75rem;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-md);background:#fafafa;cursor:pointer}.checklist-item-checked{background:#f2f2f2}.checklist-checkbox{width:1rem;height:1rem;margin:.15rem 0 0;accent-color:#111111}.checklist-item-copy{display:grid;gap:.18rem;min-width:0}.checklist-item-title{font-size:.92rem;font-weight:600;line-height:1.4}.checklist-item-note{color:var(--muted);font-size:.8rem;line-height:1.5}.checklist-item-checked .checklist-item-title{color:var(--muted);text-decoration:line-through}.checklist-item-checked .checklist-item-note{color:#8a8a8a}.checklist-item-quantity{flex:0 0 auto;padding:.22rem .5rem;border:1px solid rgba(0,0,0,.08);border-radius:999px;background:#fff;color:var(--muted);font-size:.76rem;white-space:nowrap}.empty-card{max-width:680px;padding:1.25rem;border-radius:var(--radius-lg)}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(min-width:900px){.topbar{padding:1rem 1.2rem 0}.page-wrap{padding:.9rem 1.2rem 1.2rem}}@media(max-width:899px){.topbar-inner{align-items:flex-start}.route-summary{flex-wrap:wrap}}@media(max-width:680px){.page-wrap,.topbar{padding-left:.75rem;padding-right:.75rem}.summary-meta,.summary-meta-inline{grid-template-columns:1fr}.summary-actions{flex-direction:column;align-items:stretch}.checklist-section-head{display:grid}.checklist-item{grid-template-columns:auto minmax(0,1fr)}.checklist-item-quantity{grid-column:2;justify-self:start}.timeline-card,.timeline-transfer{grid-template-columns:18px 1fr}.timeline-time{grid-column:2;grid-row:1;grid-auto-flow:column;justify-content:space-between;align-items:center;padding:0 0 .25rem}.timeline-main{grid-column:2;grid-row:2}.timeline-transfer-spacer{display:none}.timeline-transfer-main{grid-column:2;padding:0 .15rem .25rem}.timeline-rail:before{bottom:-.5rem}.timeline-block:last-child .timeline-rail:before{bottom:.2rem}}
