.app-shell{margin-left:auto;margin-right:auto;max-width:1120px;padding:1.75rem 1.25rem 3.5rem}.font-body{font-family:Noto Sans TC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.text-text{color:var(--text)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--bg: #f7faf8;--surface: #ffffff;--surface-soft: #eef7f3;--border: #d9e5df;--text: #17231d;--muted: #68766f;--primary: #157a6e;--primary-dark: #0f5d55;--accent: #d97706;--danger: #b42318;--shadow: 0 14px 35px rgba(24, 43, 35, .08);--radius: 8px;--font-heading: "Noto Sans TC", sans-serif;--font-body: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:linear-gradient(180deg,rgba(21,122,110,.08),transparent 320px),var(--bg);font-family:var(--font-body);line-height:1.6}a{color:inherit}.topbar{position:sticky;top:0;z-index:20;background:#ffffffeb;border-bottom:1px solid var(--border);backdrop-filter:blur(14px)}.topbar-inner{max-width:1120px;margin:0 auto;padding:14px 20px 10px;display:flex;justify-content:space-between;align-items:center;gap:16px}.brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--primary);text-decoration:none;font-family:var(--font-heading);font-size:1.1rem;font-weight:900}.countdown{display:inline-flex;align-items:baseline;gap:5px;color:var(--muted);font-size:.9rem}.countdown strong{color:var(--primary);font-family:var(--font-heading);font-size:1.3rem}.tabs{max-width:1120px;margin:0 auto;padding:0 20px 12px;display:flex;gap:8px;overflow-x:auto}.tabs a{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--muted);text-decoration:none;white-space:nowrap;font-weight:700;font-size:.9rem}.tabs a:hover{border-color:var(--primary);color:var(--primary)}main{max-width:1120px;margin:0 auto;padding:28px 20px 56px}.hero{padding:40px 0 24px}.hero-copy{max-width:760px}.eyebrow{margin:0 0 8px;color:var(--primary);font-weight:900;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,strong{letter-spacing:0}h1,h2{font-family:var(--font-heading)}h1{margin:0;font-size:4.6rem;line-height:1.02}.title-tail{white-space:nowrap}.lead{max-width:680px;margin:18px 0 0;color:var(--muted);font-size:1.06rem}.hero-visual{position:relative;margin:28px 0 0;min-height:300px;overflow:hidden;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.hero-visual img{display:block;width:100%;height:clamp(300px,48vh,520px);-o-object-fit:cover;object-fit:cover}.hero-visual figcaption{position:absolute;left:18px;right:18px;bottom:18px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:var(--radius);background:#ffffffe6;color:var(--primary-dark);backdrop-filter:blur(12px)}.hero-visual span,.hero-visual small{font-weight:900}.hero-visual small{color:var(--muted);font-size:.76rem}.overview-grid,.flight-grid,.two-column{display:grid;gap:14px}.overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:28px}.metric,.panel,.flight-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.metric{padding:18px}.metric span,.flight-kicker,.plain-list strong,.event time{display:block;color:var(--muted);font-size:.8rem;font-weight:900}.metric strong{display:block;margin-top:5px;font-size:1rem}.panel{margin-top:20px;padding:22px}.page-hero{padding:40px 0 10px}.page-hero h1{max-width:860px;font-size:3.6rem}.section-heading{margin-bottom:18px}.section-heading.compact{margin-bottom:12px}.section-heading h2{display:flex;align-items:center;gap:10px;margin:0;color:var(--primary-dark);font-size:1.85rem}.section-heading p{margin:8px 0 0;color:var(--muted)}.flight-grid,.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.flight-card{padding:20px;box-shadow:none}.flight-card.accent{border-color:#d9770657;background:#fffaf2}.flight-title{margin-top:3px;font-family:var(--font-heading);color:var(--primary-dark);font-size:1.5rem;font-weight:900}.route{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;margin:18px 0}.route i{color:var(--primary)}.route span{color:var(--muted);font-family:var(--font-heading);font-weight:900}.route strong{display:block;font-family:var(--font-heading);font-size:2rem}.route small{color:var(--muted)}.note{margin:0;color:var(--muted);font-size:.92rem}.info-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.info-strip div{padding:9px 12px;border-radius:var(--radius);background:var(--surface-soft);color:var(--primary-dark);font-weight:700;font-size:.88rem}.checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check-item{display:flex;align-items:center;gap:10px;min-height:48px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:#fbfdfc;cursor:pointer}.check-item input{width:18px;height:18px;accent-color:var(--primary);flex:0 0 auto}.check-item span{font-weight:700}.plain-list{margin:0;padding:0;list-style:none}.plain-list li+li{margin-top:10px}.logistics-summary{margin-top:4px}.logistics-details{display:grid;gap:8px;margin-top:16px}.logistics-details details{border:1px solid var(--border);border-radius:var(--radius);background:#fbfdfc;overflow:hidden}.logistics-details summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:10px 12px;color:var(--primary-dark);font-weight:900;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.logistics-details summary::-webkit-details-marker{display:none}.logistics-details summary:after{content:"+";display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:var(--surface-soft);color:var(--primary);font-weight:900}.logistics-details details[open] summary{border-bottom:1px solid var(--border)}.logistics-details details[open] summary:after{content:"-"}.logistics-details .plain-list{padding:12px}.logistics-gallery{display:grid;grid-template-columns:1.3fr 1fr;gap:10px;margin:14px 0 18px}.logistics-gallery figure{position:relative;min-height:168px;margin:0;overflow:hidden;border-radius:var(--radius);background:var(--surface-soft)}.logistics-gallery figure:first-child{grid-row:span 2}.logistics-gallery figure:only-child{grid-column:1 / -1;grid-row:auto;min-height:220px;background:transparent}.logistics-gallery img{display:block;width:100%;height:100%;min-height:168px;-o-object-fit:cover;object-fit:cover}.logistics-gallery figure:only-child img{-o-object-fit:contain;object-fit:contain}.logistics-gallery figcaption{position:absolute;left:8px;right:8px;bottom:8px;padding:6px 8px;border-radius:var(--radius);background:#ffffffe6;color:var(--primary-dark);font-size:.78rem;font-weight:900}.source-note{margin:14px 0 0;color:var(--muted);font-size:.82rem}.purchased-plan-list{display:grid;gap:12px}.purchased-plan{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px;border:1px solid rgba(21,122,110,.22);border-radius:var(--radius);background:var(--surface-soft)}.purchased-plan span{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:4px 8px;border-radius:var(--radius);background:var(--surface);color:var(--primary-dark);font-size:.76rem;font-weight:900}.purchased-plan h2{margin:8px 0 0;color:var(--primary-dark);font-size:1.3rem}.purchased-plan p{margin:6px 0 0;color:var(--muted)}.purchased-plan>strong{color:var(--primary-dark);font-size:1.45rem;white-space:nowrap}.insurance-bookings,.amount-groups,.scenario-grid,.source-links,.incident-list{display:grid;gap:12px}.insurance-bookings{grid-template-columns:repeat(2,minmax(0,1fr))}.insurance-bookings article,.scenario-card{border:1px solid var(--border);border-radius:var(--radius);background:#fbfdfc}.insurance-bookings article{display:grid;gap:12px;padding:16px}.insurance-bookings span{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:4px 8px;border-radius:var(--radius);background:var(--surface-soft);color:var(--primary-dark);font-size:.76rem;font-weight:900}.insurance-bookings h2,.scenario-card h2{margin:8px 0 0;font-family:var(--font-heading);color:var(--primary-dark);font-size:1.25rem}.insurance-bookings p,.insurance-bookings small,.scenario-card p,.scenario-card div,.scenario-card li{color:var(--muted)}.insurance-bookings p,.scenario-card p{margin:0}.insurance-bookings small{display:block}.amount-groups{gap:14px}.amount-card{padding:18px;border:1px solid var(--border);border-radius:var(--radius);background:#fbfdfc}.amount-card header h2{margin:0;color:var(--primary-dark);font-size:1.25rem}.amount-card header p{margin:6px 0 0;color:var(--muted)}.amount-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 0}.amount-card dl div{min-width:0;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.amount-card dt{color:var(--muted);font-size:.8rem;font-weight:900}.amount-card dd{margin:4px 0 0;color:var(--text);font-weight:900;overflow-wrap:anywhere}.amount-card small{display:block;margin-top:12px;color:var(--muted)}.scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scenario-card{display:grid;gap:10px;padding:16px}.scenario-card h2{margin-top:0}.scenario-card div{padding-top:10px;border-top:1px solid var(--border)}.scenario-card ol{display:grid;gap:8px;margin:0;padding-left:22px}.scenario-card li::marker{color:var(--primary);font-weight:900}.scenario-card strong{display:inline;color:var(--text)}.source-links{grid-template-columns:repeat(2,minmax(0,1fr))}.source-links a{min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:#fbfdfc;color:var(--primary-dark);text-decoration:none;font-weight:900}.source-links a:hover{border-color:var(--primary)}.incident-card{border:1px solid var(--border);border-radius:var(--radius);background:#fbfdfc;overflow:hidden}.incident-card summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px 14px;align-items:center;padding:16px;cursor:pointer;list-style:none}.incident-card summary::-webkit-details-marker{display:none}.incident-card summary:after{content:"+";display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius);color:var(--primary-dark);background:var(--surface);font-weight:900}.incident-card[open] summary:after{content:"-"}.incident-card summary span{padding:4px 8px;border-radius:var(--radius);background:var(--surface-soft);color:var(--primary-dark);font-size:.75rem;font-weight:900;white-space:nowrap}.incident-card summary strong{color:var(--text);font-size:1.06rem}.incident-card summary small{grid-column:2 / 3;color:var(--muted)}.incident-body{display:grid;gap:14px;padding:0 16px 16px}.claim-block,.incident-documents{padding-top:14px;border-top:1px solid var(--border)}.claim-block h2,.incident-documents h2{margin:0 0 10px;color:var(--primary-dark);font-size:1rem}.claim-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.claim-grid article{min-width:0;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.claim-grid span,.claim-grid strong,.claim-grid p{display:block}.claim-grid span{color:var(--muted);font-size:.78rem;font-weight:900}.claim-grid strong{margin-top:4px;color:var(--text);overflow-wrap:anywhere}.claim-grid p,.incident-documents p,.incident-documents li{color:var(--muted)}.claim-grid p{margin:7px 0 0;font-size:.9rem}.claim-both h2{color:var(--primary-dark)}.claim-choice h2{color:var(--accent)}.claim-u5 h2{color:var(--danger)}.incident-documents{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px}.incident-documents p{margin:0}.incident-documents ul{display:grid;gap:6px;margin:0;padding-left:20px}.incident-documents li::marker{color:var(--primary);font-weight:900}.priority-list,.document-list{display:grid;gap:10px;margin:0;padding-left:22px;color:var(--muted)}.priority-list li::marker,.document-list li::marker{color:var(--primary);font-weight:900}.cancel-list{display:grid;gap:12px}.cancel-card{border:1px solid var(--border);border-radius:var(--radius);background:#fbfdfc;overflow:hidden}.cancel-card summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:center;padding:16px;cursor:pointer;list-style:none}.cancel-card summary::-webkit-details-marker{display:none}.cancel-card summary:after{content:"+";display:grid;grid-row:1 / 4;grid-column:2;place-items:center;width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius);color:var(--primary-dark);background:var(--surface);font-weight:900}.cancel-card[open] summary:after{content:"-"}.cancel-card summary span,.cancel-card summary strong,.cancel-card summary small{display:block;min-width:0}.cancel-card summary span{color:var(--muted);font-size:.78rem;font-weight:900}.cancel-card summary strong{color:var(--text);font-size:1.08rem}.cancel-card summary small{color:var(--primary-dark);font-weight:800}.cancel-body{display:grid;gap:14px;padding:0 16px 16px}.cancel-refund{padding:14px;border:1px solid rgba(21,122,110,.22);border-radius:var(--radius);background:var(--surface-soft)}.cancel-refund span{display:block;color:var(--primary-dark);font-size:.8rem;font-weight:900}.cancel-refund p{margin:6px 0 0;color:var(--text)}.cancel-action-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:14px;padding-top:14px;border-top:1px solid var(--border)}.cancel-action-grid h2{margin:0 0 10px;color:var(--primary-dark);font-size:1rem}.cancel-action-grid ul{display:grid;gap:7px;margin:0;padding-left:20px;color:var(--muted)}.cancel-action-grid li::marker{color:var(--primary);font-weight:900}.cancel-links{display:grid;gap:8px}.cancel-links a{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--primary-dark);text-decoration:none;font-weight:900}.cancel-links a:hover{border-color:var(--primary)}.day-card{border:1px solid var(--border);border-radius:var(--radius);background:#fbfdfc;overflow:hidden}.day-card+.day-card{margin-top:12px}.day-header{width:100%;padding:16px 18px;border:0;background:transparent;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}.day-header span{font-family:var(--font-heading);font-size:1.1rem;font-weight:900}.day-header small{color:var(--muted);font-weight:700}.day-body{padding:0 18px 18px}.day-card.collapsed .day-body{display:none}.day-visual{margin:0 0 4px;overflow:hidden;border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);background:var(--surface-muted)}.day-visual img{width:100%;aspect-ratio:16 / 7;display:block;-o-object-fit:cover;object-fit:cover}.day-visual figcaption{padding:8px 10px;color:var(--muted);font-size:.82rem;font-weight:900}.event{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;padding:14px 0;border-top:1px solid var(--border)}.event strong{color:var(--text)}.event p{margin:4px 0 0;color:var(--muted)}.event.muted{opacity:.82}.expense-tool{display:grid;gap:14px}.expense-inputs{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:10px}label{color:var(--muted);font-size:.82rem;font-weight:900}input,select,button{font:inherit}input,select{width:100%;min-height:44px;margin-top:5px;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}.expense-actions{display:flex;flex-wrap:wrap;gap:10px}button{min-height:44px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;font-weight:900}.primary-btn{padding:0 16px;background:var(--primary);color:#fff}.primary-btn:hover{background:var(--primary-dark)}.ghost-btn{padding:0 14px;background:var(--surface);border-color:var(--border);color:var(--primary-dark)}.ghost-btn.danger{color:var(--danger)}.expense-summary{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.expense-summary span{padding:8px 10px;background:var(--surface-soft);border-radius:var(--radius);color:var(--primary-dark);font-weight:900}.expense-list{margin-top:12px;display:grid;gap:8px}.expense-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:#fbfdfc}.expense-row small{display:block;margin-top:2px;color:var(--muted)}.expense-row button{min-height:34px;width:34px;padding:0;color:var(--danger);background:transparent;border-color:var(--border)}.empty-state{padding:18px;border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted);text-align:center}footer{padding:24px 20px 40px;color:var(--muted);text-align:center}footer p{display:inline-block;min-height:44px;margin:0;padding:10px 12px;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.expense-total-card{margin-top:18px;padding:18px;border-radius:var(--radius);background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff}.expense-total-card span,.expense-total-card small,.expense-total-card strong{display:block}.expense-total-card span{opacity:.82;font-size:.85rem;font-weight:900}.expense-total-card strong{margin-top:4px;font-family:var(--font-heading);font-size:2.25rem}.expense-total-card small{margin-top:2px;opacity:.86;font-weight:700}.expense-rate-note{margin:12px 0 0;color:var(--muted);font-size:.9rem}.known-expense-list{display:grid;gap:10px;margin-top:18px}.known-expense-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:#fbfdfc}.known-expense-item strong,.known-expense-item span,.known-expense-item small,.known-expense-amount strong,.known-expense-amount small{display:block}.known-expense-item span,.known-expense-item small,.known-expense-amount small{color:var(--muted)}.known-expense-amount{text-align:right}.known-expense-missing{margin-top:16px;padding:14px;border-radius:var(--radius);background:#fffaf2;border:1px solid rgba(217,119,6,.28)}.known-expense-missing strong{color:var(--accent)}.known-expense-missing ul{margin:8px 0 0;padding-left:20px;color:var(--muted)}@media (max-width: 820px){.overview-grid,.flight-grid,.two-column,.checklist,.expense-inputs,.insurance-bookings,.amount-card dl,.scenario-grid,.source-links,.purchased-plan,.claim-grid,.incident-documents,.known-expense-item,.cancel-action-grid{grid-template-columns:1fr}.purchased-plan>strong{white-space:normal}.known-expense-amount{text-align:left}.incident-card summary{grid-template-columns:minmax(0,1fr) auto}.incident-card summary span,.incident-card summary small{grid-column:1 / 2}.incident-card summary strong{grid-column:1 / 2}.topbar-inner{align-items:flex-start;flex-direction:column;gap:4px}.tabs{gap:6px}.tabs a{padding:7px 9px;font-size:.86rem}h1{font-size:2rem;line-height:1.12}.page-hero h1{font-size:2rem}.section-heading h2{font-size:1.45rem}.lead{font-size:1rem}.hero-visual{margin-top:22px;min-height:230px}.hero-visual img{height:260px}.hero-visual figcaption{left:10px;right:10px;bottom:10px}.logistics-gallery{grid-template-columns:1fr}.logistics-gallery figure:first-child{grid-row:auto}.logistics-gallery figure,.logistics-gallery img{min-height:210px}.event{grid-template-columns:1fr;gap:6px}.day-header{align-items:flex-start;flex-direction:column;gap:4px}.day-header span{font-size:1.05rem}.route{grid-template-columns:1fr;gap:8px}.route i{transform:rotate(90deg);justify-self:start}.expense-actions button{flex:1 1 120px}}@media (min-width: 821px) and (max-width: 1100px){h1{font-size:3.8rem}.section-heading h2{font-size:1.7rem}}:root{--bg: #f4f6f7;--border: #d8e0e5;--text: #26343e;--muted: #586b77}html{scroll-padding-top:145px}body{background:linear-gradient(180deg,#dfeaf0 0,transparent 560px),var(--bg)}.hero{position:relative;padding-top:48px}.hero h1{line-height:1.2}.title-tail{display:inline-block;margin-left:.18em}.eyebrow{font-size:.8rem;letter-spacing:.13em}.trip-status{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 16px}.trip-status span{padding:6px 10px;border-radius:4px;font-size:.8rem;font-weight:700}.status-confirmed{color:#27533f;background:#e2eee5}.status-pending{color:#805022;background:#f7e9d6}.status-draft{color:#4b5c69;background:#e5ebef}.quick-links{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.quick-links a{display:flex;gap:18px;align-items:center;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--primary);font-weight:700}.quick-links a:hover{background:var(--surface-soft)}.reference-details summary{cursor:pointer;color:var(--muted);padding:10px 0}.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:12px}.reference-grid a{display:grid;gap:6px;padding:14px;background:var(--surface-soft);text-decoration:none;border-radius:var(--radius)}.reference-grid span{font-size:.85rem;color:var(--muted)}.panel,.hero{scroll-margin-top:16px}button,input,select,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #b87844;outline-offset:4px}#expenseMessage{color:var(--primary);font-size:.9rem}@media (max-width: 820px){.reference-grid{grid-template-columns:1fr}.hero{padding-top:20px}.hero h1{font-size:clamp(2rem,7.5vw,3rem)}.title-tail{margin-left:0;display:block}.quick-links a{flex:1 1 140px}}@media print{.topbar{position:static}.tabs,#expenses,.countdown{display:none}.day-card.collapsed .day-body{display:block}.panel{-moz-column-break-inside:avoid;break-inside:avoid;box-shadow:none}body{background:#fff}}[hidden]{display:none!important}.journey-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.journey-heading h2{margin:0 0 8px;color:var(--primary-dark);font-size:2.1rem}.day-picker{display:flex;gap:10px;align-items:flex-end;margin:24px 0 18px}.day-picker label{flex:1;max-width:300px}.day-picker select{display:block;width:100%;min-height:44px}.day-picker button{min-width:44px;min-height:44px}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}.secondary-button{background:#fff;color:var(--primary-dark);border:1px solid var(--border);padding:10px 14px;border-radius:var(--radius);font-weight:700}.today-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.stay-card,.next-card{padding:20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft)}.next-card{background:#f8f3ec}.today-grid h3{margin:8px 0;font-size:1.15rem}.today-grid p{margin:8px 0}.action-link{display:inline-block;padding:10px 0;font-weight:700;color:var(--primary)}.today-timeline{margin-top:22px}.event.upcoming{border-left:3px solid var(--accent);padding-left:14px;background:#fffaf2}.weather-backup{background:var(--surface-soft);border-radius:var(--radius);padding:16px;margin-top:10px}.weather-backup p{margin:6px 0}.weather-backup small{color:var(--muted)}.map-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}.map-toolbar strong{flex:1 1 240px}.map-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(220px,1fr);gap:18px}#journeyMap{height:440px;border:1px solid var(--border);border-radius:var(--radius);z-index:0;background-color:#eaf0f2;background-image:linear-gradient(#d6e1e6 1px,transparent 1px),linear-gradient(90deg,#d6e1e6 1px,transparent 1px);background-size:32px 32px;font-family:var(--font-body)}.journey-pin{background:transparent}.journey-pin span{display:grid;place-items:center;width:32px;height:32px;border:2px solid white;border-radius:50%;color:#fff;background:#315e73;box-shadow:0 2px 8px #26343e55;font-weight:900}.map-stops{list-style:none;padding:0;margin:0;display:grid;align-content:start;gap:8px}.map-stops li{border:1px solid var(--border);border-radius:var(--radius);padding:12px}.map-stops small{display:block;margin:5px 0;color:var(--muted)}.map-stops a{font-size:.85rem;color:var(--primary)}.map-stop-button{background:none;border:0;text-align:left;padding:2px 0;font:inherit;font-weight:700;color:var(--text)}.map-stop-button[aria-current]{color:var(--accent)}.mobile-dock{display:none}@media (max-width:820px){.journey-heading{flex-direction:column;gap:10px}.journey-heading h2{font-size:1.65rem}.journey-panel{margin-top:0}.today-grid,.map-layout{grid-template-columns:1fr}.day-picker{flex-wrap:wrap;gap:8px}.day-picker label{max-width:none;min-width:140px}#actualToday{flex-basis:100%}#journeyMap{height:350px}.mobile-dock{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;z-index:30;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid var(--border);backdrop-filter:blur(12px)}.mobile-dock a{text-align:center;padding:10px 0;color:var(--primary);text-decoration:none;font-size:.9rem;font-weight:700}body{padding-bottom:80px}}@media print{.mobile-dock,.day-picker,.map-toolbar,.leaflet-control-container{display:none}#daily-map{-moz-column-break-inside:auto;break-inside:auto}}
