:root{--ink:#101512;--ink-soft:#526057;--paper:#f4f0e6;--panel:#fffaf0;--line:#10151224;--green:#1f6f54;--red:#c4412f;--gold:#d79d32;--blue:#1b5f8f;--shadow:0 18px 50px #121b1624;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--ink:#f8f2e4;--ink-soft:#cfc2a5;--paper:#07100d;--panel:#121c18;--line:#f8f2e429;--green:#57c89c;--red:#ff7a68;--gold:#f0bd55;--blue:#78c6e8;--shadow:0 20px 58px #00000070;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{min-width:320px}body{background:linear-gradient(90deg, #1015120a 1px, transparent 1px) 0 0 / 44px 44px, linear-gradient(180deg, #c4412f14, transparent 260px), var(--paper);color:var(--ink);margin:0;font-family:Bricolage Grotesque,Avenir Next,sans-serif;transition:background-color .16s,color .16s}html[data-theme=dark] body{background:linear-gradient(90deg, #f8f2e409 1px, transparent 1px) 0 0 / 44px 44px, linear-gradient(180deg, #78c6e817, transparent 280px), radial-gradient(circle at 12% 0%, #f0bd551a, transparent 30%), var(--paper)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}.app-shell{min-height:100vh;padding:18px}.status-strip{background:var(--ink);box-shadow:var(--shadow);color:var(--paper);z-index:20;border:1px solid #f4f0e62e;grid-template-columns:minmax(260px,1.45fr) repeat(3,minmax(190px,.7fr));align-items:stretch;gap:1px;display:grid;position:relative;overflow:hidden}.status-title,.status-cell{background:#ffffff0e;padding:18px}.status-title h1,.panel-heading h2,.day-hero h2,.hotel-content h2,.outfit-card h2{letter-spacing:0;margin:0}.status-title h1{font-family:Newsreader,Georgia,serif;font-size:clamp(1.9rem,4vw,4.4rem);line-height:.9}.status-title p,.timeline-card p,.hotel-content p,.outfit-card p,.weather-card small{color:var(--ink-soft);margin:8px 0 0;line-height:1.45}.status-title p{color:#f4f0e6b8}.trip-clock{border:1px solid #f4f0e62e;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 10px;max-width:540px;margin-top:14px;padding:10px 12px;display:grid}.trip-clock svg{color:var(--gold);grid-row:span 3}.trip-clock span{color:#f4f0e694;text-transform:uppercase;font-size:.68rem;font-weight:900}.trip-clock strong{font-size:1.05rem;display:block}.trip-clock small{color:#f4f0e6b8;line-height:1.3;display:block}.trip-clock-during-trip{background:#d79d3221}.trip-clock-post-trip{background:#1f6f5433}.eyebrow{color:var(--red);letter-spacing:0;text-transform:uppercase;font-size:.72rem;font-weight:800;display:inline-block}.status-cell{align-items:center;gap:12px;min-width:0;display:flex}.status-cell svg{color:var(--gold);flex:none}.status-cell span{color:#f4f0e694;text-transform:uppercase;font-size:.78rem;display:block}.status-cell strong{overflow-wrap:anywhere;display:block}.content-grid{grid-template-columns:minmax(0,1fr) 330px;gap:18px;margin-top:18px;display:grid}.day-rail,.day-map-panel,.timeline-panel,.now-panel>section,.day-hero{border:1px solid var(--line);background:#fffaf0d1;box-shadow:0 10px 28px #121b1614}.day-rail{z-index:42;gap:10px;margin-top:12px;padding:10px;display:grid;position:sticky;top:0}.rail-topline{grid-template-columns:minmax(150px,.18fr) minmax(0,1fr);align-items:stretch;gap:10px;display:grid}.rail-heading{color:var(--ink-soft);cursor:pointer;text-align:left;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:6px;font-size:.78rem;font-weight:800;display:flex}.rail-heading svg{color:var(--gold);flex:none}.rail-heading:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.rail-open-hint,.rail-heading-chevron{display:block}.rail-heading-label,.rail-open-hint{min-width:0;display:block}.rail-open-hint{color:var(--green);font-size:.66rem}.rail-heading-chevron{margin-left:auto;transition:transform .16s}.day-rail.is-expanded .rail-heading-chevron{transform:rotate(180deg)}.rail-compact-strip{scrollbar-width:thin;gap:8px;min-width:0;padding-bottom:2px;display:flex;overflow-x:auto}.day-chip{border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:center;background:#fffaf0c2;flex:0 0 78px;gap:4px;min-height:48px;padding:8px 6px;display:grid}.day-chip strong{font-size:.9rem;line-height:1}.day-chip small{color:var(--ink-soft);text-transform:uppercase;font-size:.58rem;font-weight:900;line-height:1.05}.day-chip.active{border-color:var(--red);background:#cf3b2b1f}.day-chip.progress-completed{box-shadow:inset 0 -4px 0 var(--green)}.day-chip.progress-current{box-shadow:inset 0 -4px 0 var(--gold)}.rail-groups{scrollbar-width:thin;gap:14px;padding:2px 2px 6px;display:none;overflow-x:auto}.day-rail.is-expanded .rail-groups{display:flex}.rail-group{border-left:1px solid var(--line);flex:0 0 280px;align-content:start;align-self:start;gap:8px;padding-left:12px;display:grid}.rail-group-label{color:var(--green);letter-spacing:0;text-transform:uppercase;padding:0 6px;font-size:.72rem;font-weight:900}.rail-group-days{align-content:start;gap:10px;padding:0 2px 4px;display:grid;overflow:visible}.day-button{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:46px 42px 1fr;align-self:start;align-items:center;gap:10px;width:100%;min-height:74px;padding:10px;display:grid}.day-button>span:last-child{min-width:0}.day-city-image{border:1px solid #10151229;height:42px;position:relative;overflow:hidden}.day-city-image img{object-fit:cover}.day-button.active{background:var(--ink);color:var(--paper)}.day-button.progress-completed{border-color:#1f6f545c}.day-button.progress-completed .day-number{background:var(--green)}.day-button.progress-current{box-shadow:inset 4px 0 0 var(--gold);border-color:#d79d32b8}.day-button.progress-current .day-number{background:var(--gold);color:var(--ink)}.day-button.active.progress-completed{background:#173a2e}.day-button.active.progress-current{background:#211b0f}.day-progress-label{color:var(--green);text-transform:uppercase;margin-top:4px;font-size:.63rem;font-style:normal;font-weight:900;display:block}.day-button.progress-current .day-progress-label{color:var(--gold)}.day-button.active .day-progress-label{color:inherit;opacity:.82}.day-number{background:var(--red);color:#fff;justify-content:center;align-items:center;height:34px;font-size:.8rem;font-weight:800;display:flex}.day-button small{color:inherit;opacity:.68;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.day-main{gap:18px;min-width:0;display:grid}.day-hero{background:linear-gradient(90deg, #fffaf0fa 0%, #fffaf0e0 42%, #10151242 100%), var(--hero-image);background-position:50%;background-size:cover;grid-template-columns:1fr auto;align-items:end;gap:20px;min-height:300px;padding:24px;display:grid;position:relative}.day-hero h2{max-width:820px;font-family:Newsreader,Georgia,serif;font-size:clamp(1.5rem,3vw,3rem);line-height:1}.day-hero-copy{max-width:760px}.city-lockup{align-items:center;gap:12px;margin-bottom:18px;display:flex}.city-lockup strong{color:var(--ink-soft);text-transform:uppercase;font-size:.86rem;display:block}.city-thumb{border:2px solid var(--paper);width:66px;height:66px;display:block;overflow:hidden;box-shadow:0 10px 20px #10151229}.city-thumb img{object-fit:cover;width:100%;height:100%}.bike-roster{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.bike-roster span{background:var(--ink);color:var(--paper);text-transform:uppercase;padding:8px 10px;font-size:.82rem;font-weight:900}.day-hero button,.map-panel-actions a,.timeline-actions a,.button-row a{background:var(--ink);color:var(--paper);cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 12px;font-weight:800;display:inline-flex}.timeline-panel,.day-map-panel{padding:18px}.flight-path-panel{border:1px solid var(--line);background:#fffaf0e0;padding:18px;box-shadow:0 10px 28px #121b1614}.flight-path-layout{grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);gap:14px;margin-top:14px;display:grid}.flight-route-board{color:var(--paper);background:linear-gradient(90deg,#101512e0,#101512c2),radial-gradient(circle at 14% 18%,#d79d3247,#0000 28%),radial-gradient(circle at 88% 12%,#1b5f8f52,#0000 34%),#102331;border:1px solid #1015122e;gap:14px;min-height:100%;margin:0;padding:14px;display:grid;overflow:hidden}.flight-route-board figcaption{text-transform:uppercase;align-items:center;gap:8px;font-weight:900;display:flex}.flight-route-strip{grid-template-columns:repeat(var(--route-count,3), minmax(0, 1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid;position:relative}.flight-route-strip:before{background:linear-gradient(90deg, var(--gold), var(--blue));content:"";height:4px;position:absolute;top:23px;left:24px;right:24px}.flight-route-strip li{text-align:center;background:#fffaf014;border:1px solid #fffaf024;justify-items:center;gap:4px;min-width:0;padding:10px 8px;display:grid;position:relative}.flight-route-strip li>span{background:var(--paper);color:var(--ink);z-index:1;justify-content:center;align-items:center;width:30px;height:30px;font-size:.75rem;font-weight:900;display:flex}.flight-route-strip strong{color:var(--gold);font-size:clamp(1.4rem,4vw,2.2rem);line-height:1}.flight-route-strip small{color:#fffaf0b8;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;width:100%;min-width:0;font-weight:800;overflow:hidden}.flight-route-legs{gap:10px;display:grid}.flight-route-leg-card{background:#fffaf01a;border:1px solid #fffaf024;gap:10px;padding:12px;display:grid}.flight-route-leg-heading,.flight-route-leg-airports{align-items:center;gap:10px;display:grid}.flight-route-leg-heading{grid-template-columns:minmax(0,1fr) auto}.flight-route-leg-heading strong{font-size:1.2rem}.flight-route-leg-heading span{background:var(--gold);color:var(--ink);padding:5px 7px;font-size:.75rem;font-weight:900}.flight-route-leg-airports{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.flight-route-leg-airports a{color:var(--paper);background:#fffaf01a;gap:4px;min-height:88px;padding:10px;display:grid}.flight-route-leg-airports a strong{color:var(--gold);font-size:1.45rem}.flight-route-leg-airports a small,.flight-route-leg-card p{color:#fffaf0ad;margin:0;line-height:1.35}.flight-route-leg-card .flight-travelers{color:var(--gold);text-transform:uppercase;font-size:.78rem;font-weight:900}.flight-route-source{color:var(--paper);text-transform:uppercase;background:#fffaf024;justify-self:start;align-items:center;gap:6px;padding:7px 9px;font-size:.78rem;font-weight:900;display:inline-flex}.flight-path-details{gap:10px;min-width:0;display:grid}.flight-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.flight-stat-grid div{background:#1b5f8f1a;border:1px solid #1b5f8f29;gap:4px;padding:10px;display:grid}.flight-stat-grid svg{color:var(--blue)}.flight-stat-grid span{color:var(--ink-soft);text-transform:uppercase;font-size:.72rem;font-weight:900}.flight-stat-grid strong{overflow-wrap:anywhere}.flight-leg-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.flight-leg-list li{border-left:4px solid var(--gold);background:#ffffff7a;padding:10px}.flight-leg-list div{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.flight-leg-list span,.flight-leg-list small,.flight-leg-list p{color:var(--ink-soft)}.flight-leg-list p,.flight-leg-list small{margin:5px 0 0;line-height:1.35;display:block}.flight-leg-list em{color:var(--red);text-transform:uppercase;margin-top:5px;font-size:.72rem;font-style:normal;font-weight:900;display:block}.airport-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.airport-info-grid a{background:#1015120f;border:1px solid #1015121a;gap:4px;padding:10px;display:grid}.airport-info-grid strong{color:var(--red);font-size:.8rem}.airport-info-grid span{font-weight:900}.airport-info-grid small{color:var(--ink-soft);line-height:1.35}.day-map-layout{grid-template-columns:minmax(0,1.5fr) minmax(230px,.7fr);gap:14px;margin-top:14px;display:grid}.day-map-heading h2{align-items:center;gap:8px;display:inline-flex}.day-map-heading h2 svg{color:var(--red);width:24px;height:24px}.day-map-frame{background:linear-gradient(135deg,#fffaf066,#0000 36%),#cfb474;border:1px solid #10151224;height:clamp(220px,28vw,340px);margin:0;position:relative;overflow:hidden}.day-map-frame img{object-fit:contain;z-index:1;width:100%;height:100%;display:block;position:relative}.day-map-frame:after{content:"";pointer-events:none;z-index:2;background:linear-gradient(90deg,#4c2d1833,#0000 18% 82%,#4c2d1833),linear-gradient(#fffaf047,#0000 24% 74%,#4c2d1829);position:absolute;inset:0}.fantasy-map-artwork{color:#4e321f38;pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.fantasy-paper{fill:#d9bd77}.fantasy-grid{color:#4e321f29}.fantasy-coast{stroke:#342116b8;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.fantasy-coast-main{fill:#b99555}.fantasy-coast-secondary{fill:#ebcf88b8;stroke-width:2.5px}.fantasy-hatch{color:#34211624;opacity:.72}.fantasy-district-wash{fill:#fffaf033;stroke:none}.fantasy-district-wall{fill:none;stroke:#281c14bd;stroke-dasharray:9 5;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px;vector-effect:non-scaling-stroke}.fantasy-route-shadow,.fantasy-route-line{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.fantasy-route-shadow{stroke:#34211657;stroke-width:12px}.fantasy-route-line{stroke:#c4412fe6;stroke-dasharray:14 9;stroke-width:4px;animation:12s linear infinite trail-drift}.fantasy-terrain{fill:#fffaf029;opacity:.74;stroke:#342116a3;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px;vector-effect:non-scaling-stroke}.fantasy-terrain-wave,.fantasy-terrain-cloud,.fantasy-terrain-wall{fill:none}.fantasy-map-title{fill:#2d1e16d1;paint-order:stroke;stroke:#fffaf057;stroke-width:3px;font-family:Newsreader,Georgia,serif}.fantasy-map-title text:first-child{font-size:20px;font-weight:700}.fantasy-map-title text:last-child{font-size:16px;font-weight:500}.fantasy-map-seal circle{fill:#c4412f2e;stroke:#c4412fb8;stroke-width:3px}.fantasy-map-seal path{fill:none;stroke:#c4412fb8;stroke-linecap:round;stroke-width:2px}.adventure-map-overlay{pointer-events:none;z-index:3;position:absolute;inset:0}.adventure-map-trail{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.adventure-trail-shadow,.adventure-trail-line{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.adventure-trail-shadow{stroke:#07100d8a;stroke-width:6px}.adventure-trail-line{stroke:var(--gold);stroke-dasharray:5 4;stroke-width:3px;animation:12s linear infinite trail-drift,1.2s ease-out both trail-draw}.adventure-trail-start,.adventure-trail-end{filter:drop-shadow(0 2px 4px #07100d47);stroke:#fffaf0e0;stroke-width:.7px;vector-effect:non-scaling-stroke}.adventure-trail-start{fill:var(--green)}.adventure-trail-end{fill:var(--red);animation:1.8s ease-in-out infinite expedition-pulse}.adventure-object{--object-bg:var(--red);--object-fg:var(--paper);--object-ring:#c4412f57;animation:4.8s ease-in-out infinite object-float;animation-delay:var(--pin-delay);height:48px;left:var(--pin-x);top:var(--pin-y);place-items:center;width:48px;display:grid;position:absolute;transform:translate(-50%,-50%)}.adventure-object-ping{animation:2.6s ease-out infinite object-ping;animation-delay:var(--pin-delay);border:2px solid var(--object-ring);width:46px;height:46px;position:absolute}.adventure-object-badge{background:var(--object-bg);color:var(--object-fg);border:2px solid #fffaf0eb;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:relative;transform:rotate(-4deg);box-shadow:0 12px 22px #07100d47}.adventure-object:nth-of-type(2n) .adventure-object-badge{transform:rotate(4deg)}.adventure-object svg{stroke-width:2.4px;width:19px;height:19px}.adventure-object small{background:var(--ink);color:var(--paper);border:1px solid #fffaf0db;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 3px;font-size:.64rem;font-weight:900;line-height:1;display:flex;position:absolute;top:-8px;right:-8px}.theme-red{--object-bg:var(--red);--object-fg:#fffaf0;--object-ring:#c4412f5c}.theme-gold{--object-bg:var(--gold);--object-fg:#101512;--object-ring:#d79d3261}.theme-green{--object-bg:var(--green);--object-fg:#fffaf0;--object-ring:#1f6f545c}.theme-blue{--object-bg:var(--blue);--object-fg:#fffaf0;--object-ring:#1b5f8f5c}.theme-night{--object-bg:#3b3154;--object-fg:#fffaf0;--object-ring:#3b31545c}.theme-paper{--object-bg:var(--paper);--object-fg:var(--ink);--object-ring:#1015123d}.map-expedition-compass{color:var(--red);background:#fffaf0db;border:1px solid #10151229;justify-content:center;align-items:center;width:42px;height:42px;animation:5s ease-in-out infinite compass-rock;display:flex;position:absolute;top:12px;left:12px;box-shadow:0 12px 24px #07100d38}.map-expedition-compass svg{width:24px;height:24px}.map-key{gap:7px;display:grid}.map-key a{background:#1015120e;border:1px solid #10151214;grid-template-columns:32px 30px minmax(0,1fr);align-items:center;gap:10px;min-height:48px;padding:8px;display:grid}.map-key-object{background:var(--object-bg);color:var(--object-fg);border:1px solid #1015121a;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.map-key-object svg{stroke-width:2.4px;width:17px;height:17px}.map-key strong,.map-key small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.map-key small{color:var(--ink-soft);text-transform:uppercase;font-weight:800}.map-marker-number{background:var(--red);color:#fff;justify-content:center;align-items:center;width:32px;height:32px;font-weight:900;display:flex}.map-panel-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.map-panel-actions a{min-height:38px}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;padding-bottom:14px;display:flex}.panel-heading h2{font-family:Newsreader,Georgia,serif;font-size:2rem}.timeline{margin:14px 0 0;padding:0;list-style:none}.timeline-item{grid-template-columns:124px minmax(0,1fr);gap:14px;padding:16px 0;display:grid;position:relative}.timeline-item+.timeline-item{border-top:1px solid var(--line)}.time-chip{background:var(--green);color:#fff;border-left:5px solid #fffaf0b8;align-self:start;padding:10px}.timeline-item.time-fixed .time-chip{background:var(--red);border-left-color:var(--gold);box-shadow:0 10px 24px #c4412f33}.timeline-item.time-fixed .timeline-card{box-shadow:inset 5px 0 0 var(--red), 0 12px 26px #c4412f1c;background:linear-gradient(90deg,#c4412f1c,#ffffff94 42%);border-color:#c4412f6b}.timeline-item.time-fixed .timeline-card h3:before{color:var(--red);content:"Fixed";letter-spacing:0;text-transform:uppercase;margin-bottom:3px;font-size:.68rem;font-weight:900;display:block}.timeline-item.time-fixed .detail-tags span{color:var(--red);background:#c4412f1f}.sun-chip{background:#c8a353}.time-chip span,.time-chip small{display:block}.time-chip small{opacity:.7;text-transform:uppercase}.timeline-card{background:#ffffff6b;border:1px solid #1015121a;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;padding:12px;display:grid}.timeline-card.has-media{grid-template-columns:minmax(126px,168px) minmax(0,1fr) auto}.timeline-disclosure{gap:0;padding:0;display:block}.timeline-card-summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;list-style:none;display:grid}.timeline-disclosure.has-media .timeline-card-summary{grid-template-columns:minmax(126px,168px) minmax(0,1fr) auto}.timeline-card-summary::-webkit-details-marker{display:none}.activity-summary-copy{min-width:0}.timeline-card-body{border-top:1px solid #10151214;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:12px;display:grid}.timeline-disclosure:not([open]) .timeline-card-body{display:none}.timeline-collapse-cue{color:var(--ink);text-transform:uppercase;background:#10151214;justify-self:end;align-items:center;gap:5px;padding:6px 8px;font-size:.72rem;font-weight:900;display:inline-flex}.timeline-collapse-cue svg{width:15px;height:15px;transition:transform .16s}.timeline-disclosure[open] .timeline-collapse-cue svg{transform:rotate(180deg)}.sun-card{background:#f1dfb9;grid-template-columns:auto minmax(0,1fr);align-items:center;padding:12px}.sun-card p{margin-top:4px}.activity-media{aspect-ratio:5/4;background:#14201b14;border:1px solid #10151224;border-radius:6px;width:100%;margin:0;overflow:hidden}.activity-media img{object-fit:cover;width:100%;height:100%}.activity-copy{min-width:0}.timeline-card h3{letter-spacing:0;margin:0;font-size:1.15rem}.activity-description{color:var(--ink);font-weight:600}.timeline-card address{color:var(--ink-soft);margin-top:8px;font-style:normal}.detail-tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.detail-tags span{color:var(--green);text-transform:uppercase;background:#1f6f541f;padding:5px 7px;font-size:.74rem;font-weight:900}.detail-links{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.detail-links a{color:var(--ink);text-transform:uppercase;background:#10151214;align-items:center;gap:5px;padding:6px 8px;font-size:.78rem;font-weight:900;text-decoration:none;display:inline-flex}.wayfinding-list{border-left:3px solid var(--red);gap:6px;margin:12px 0 0;padding:0 0 0 12px;display:grid}.wayfinding-list li{color:var(--ink-soft);line-height:1.35}.phrase-strip{border-left:3px solid var(--blue);background:#1b5f8f1a;flex-wrap:wrap;gap:7px;margin-top:12px;padding:8px;display:flex}.phrase-strip-label,.phrase-pill{align-items:center;min-width:0;display:inline-flex}.phrase-strip-label{color:var(--blue);text-transform:uppercase;gap:5px;font-size:.72rem;font-weight:900}.phrase-strip-label svg{width:16px;height:16px}.phrase-pill{background:#fffaf0d1;border:1px solid #1b5f8f2e;align-items:flex-start;gap:2px;min-width:min(176px,100%);max-width:100%;padding:7px 8px;display:inline-grid}.phrase-pill strong{color:var(--ink);overflow-wrap:anywhere;font-size:.82rem;line-height:1.15}.phrase-japanese{color:var(--red);overflow-wrap:anywhere;font-size:.9rem;font-weight:900;line-height:1.15}.phrase-pill small{color:var(--ink-soft);overflow-wrap:anywhere;text-transform:none;font-size:.68rem;font-weight:800;line-height:1.2}.phrase-pill em{color:var(--blue);text-transform:uppercase;font-size:.68rem;font-style:normal;font-weight:900;line-height:1.1}.phrase-speak-button{background:var(--ink);color:var(--paper);cursor:pointer;text-transform:uppercase;border:0;justify-content:center;align-items:center;gap:5px;min-height:32px;padding:7px 9px;font-size:.72rem;font-weight:900;display:inline-flex}.phrase-speak-button.compact{background:#101512e6;justify-self:start;min-height:28px;padding:5px 7px}.phrase-speak-button svg{width:15px;height:15px}.timeline-actions,.button-row{flex-wrap:wrap;gap:8px;display:flex}.timeline-actions{justify-content:flex-end;align-self:start;max-width:146px}.timeline-actions a{width:100%;min-height:36px;padding:8px 10px}.timeline-card.has-media .timeline-actions{grid-column:auto}.event-gallery{border-top:1px solid #1015121a;grid-column:1/-1;gap:12px;margin-top:2px;padding-top:12px;display:grid}.event-gallery-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.event-gallery-header h4{margin:2px 0 0;font-size:1rem}.gallery-upload-toggle,.photo-upload-actions button,.photo-admin-panel button,.photo-lightbox button{cursor:pointer;text-transform:uppercase;border:0;align-items:center;gap:7px;min-height:38px;padding:9px 11px;font-weight:900;display:inline-flex}.gallery-upload-toggle{background:var(--ink);color:var(--paper);flex:none}.photo-collage{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.photo-collage.empty{background:#1015120d;border:1px dashed #1015122e;padding:12px;display:block}.photo-collage.empty p{color:var(--ink-soft);margin:0;font-weight:700}.photo-tile{aspect-ratio:1;background:#10151214;border:1px solid #1015121f;margin:0;position:relative;overflow:hidden}.photo-tile:nth-child(7n+1),.photo-tile:nth-child(7n+5){grid-area:span 2/span 2}.photo-preview-button{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.photo-tile img{object-fit:cover;width:100%;height:100%;display:block}.photo-delete-button{color:#fff;cursor:pointer;background:#101512c7;border:0;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex;position:absolute;top:7px;right:7px}.photo-delete-button:disabled{cursor:not-allowed;opacity:.56}.photo-lightbox{z-index:80;background:#101512c7;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.photo-lightbox-card{background:var(--paper);gap:10px;max-width:min(94vw,1080px);max-height:min(92vh,920px);padding:10px;display:grid;box-shadow:0 18px 60px #10151259}.photo-lightbox-card img{object-fit:contain;max-width:100%;max-height:calc(92vh - 82px)}.photo-lightbox-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.photo-lightbox-actions>div{gap:8px;display:inline-flex}.photo-lightbox button{background:var(--ink);color:var(--paper)}.photo-lightbox button:disabled{cursor:not-allowed;opacity:.56}.photo-upload-panel{border-left:3px solid var(--blue);background:#fffaf0b8;gap:10px;padding:12px;display:grid}.photo-upload-panel[hidden]{display:none}.photo-upload-panel label,.photo-admin-panel label{gap:5px;display:grid}.photo-upload-panel label span,.photo-admin-panel label span{color:var(--ink-soft);text-transform:uppercase;font-size:.72rem;font-weight:900}.photo-upload-panel input{color:var(--ink);background:#fff;border:1px solid #1015122e;width:100%;min-height:38px;padding:8px}.photo-upload-status,.photo-upload-actions{align-items:center;gap:8px;display:flex}.photo-upload-status{color:var(--blue);font-size:.82rem;font-weight:900}.photo-upload-actions{flex-wrap:wrap}.photo-upload-actions button,.photo-admin-panel button{background:var(--blue);color:#fff}.photo-upload-actions button:disabled,.photo-admin-panel button:disabled,.gallery-upload-toggle:disabled{cursor:not-allowed;opacity:.56}.photo-upload-actions small{color:var(--ink-soft);flex:180px;line-height:1.3}.photo-admin-panel{border-top:1px solid #1015121f;gap:8px;padding-top:10px;display:grid}.photo-admin-panel strong{color:var(--red)}.now-panel{align-self:start;gap:14px;display:grid;position:sticky;top:130px}.now-panel-toggle{background:var(--ink);color:var(--paper);cursor:pointer;text-align:left;border:1px solid #fffaf02e;align-items:center;gap:6px;min-width:0;padding:12px;display:none}.now-panel-toggle svg{color:var(--gold)}.now-panel-toggle span{color:#f4f0e69e;text-transform:uppercase;font-size:.72rem;font-weight:900}.now-panel-toggle strong,.now-panel-toggle small,.now-panel-toggle em{overflow-wrap:anywhere;display:block}.now-panel-toggle strong{font-family:Newsreader,Georgia,serif;font-size:1.35rem;line-height:1}.now-panel-toggle small,.now-panel-toggle em{color:#f4f0e6b8;font-style:normal;line-height:1.25}.now-panel-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.now-panel-content{gap:14px;display:grid}.weather-card,.outfit-card,.hotel-card,.flight-list,.flight-strip{padding:16px}.weather-main{align-items:center;gap:10px;margin-top:8px;display:flex}.weather-main strong{font-family:Newsreader,Georgia,serif;font-size:2.6rem;line-height:.95}.weather-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0;display:grid}.weather-grid span{background:#1f6f541c;justify-content:center;align-items:center;gap:5px;min-height:42px;font-weight:800;display:flex}.weather-value{justify-content:center;align-items:center;gap:.22em;min-width:0;display:inline-flex}.weather-value svg{color:var(--gold);flex:none;width:.72em;height:.72em}.weather-rain-summary{border:1px solid #1015121a;align-items:center;gap:8px;margin:0 0 12px;padding:10px;font-size:.88rem;font-weight:850;line-height:1.25;display:flex}.weather-rain-summary.rain-expected{background:#78c6e82e;border-color:#2f6b8e33}.weather-rain-summary.rain-clear{background:#1f6f5414}.weather-rain-summary svg{color:var(--blue);flex:none}.feel-badge{border:1px solid #1015121f;grid-template-columns:34px 1fr;align-items:center;gap:4px 10px;margin:0 0 12px;padding:10px;display:grid}.feel-badge svg{grid-row:1/span 2}.feel-badge span{text-transform:uppercase;font-weight:900}.feel-badge small{color:var(--ink-soft);margin:0}.feel-hot,.feel-warm{background:#f8d8bc}.feel-wet{background:#dce7e3}.feel-wind,.feel-cool{background:#dde9d7}.feel-cold{background:#d9e4ee}.feel-mild,.feel-loading{background:#ece6d5}.outfit-card h2{align-items:center;gap:8px;margin-top:8px;font-size:1.3rem;display:flex}.outfit-card ul{gap:6px;margin:14px 0;padding:0;display:grid}.outfit-card li{background:#c4412f17;padding:8px 10px;list-style:none}.flight-list{gap:8px;display:grid}.flight-card,.flight-strip{background:var(--ink);color:var(--paper);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px;display:grid}.flight-card small{color:#f4f0e6a6;display:block}.flight-card em{color:var(--gold);text-align:right;font-style:normal;font-weight:800}.hotel-card{padding:0;overflow:hidden}.hotel-image{aspect-ratio:16/10;position:relative}.hotel-image img{object-fit:cover}.hotel-content{padding:16px}.hotel-content h2{margin-top:6px;font-size:1.35rem}.hotel-content small{color:var(--ink-soft);margin-top:8px;line-height:1.4;display:block}.button-row{margin-top:14px}.mobile-day-picker{display:none}.floating-actions{bottom:max(18px, env(safe-area-inset-bottom));right:max(18px, env(safe-area-inset-right));z-index:45;align-items:center;gap:10px;display:flex;position:fixed}.phrase-launcher{background:var(--blue);color:#fff;cursor:pointer;text-transform:uppercase;border:1px solid #fffaf057;align-items:center;gap:8px;min-height:48px;padding:12px 14px;font-weight:900;display:inline-flex;box-shadow:0 16px 38px #10151238}.theme-toggle{box-shadow:none;color:var(--ink);cursor:pointer;background:0 0;border:0;flex:0 0 48px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.theme-toggle-icon{filter:drop-shadow(0 2px 4px #10151257);font-size:1.28rem;line-height:1}.theme-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.phrase-overlay{opacity:0;pointer-events:none;z-index:60;align-items:end;padding:18px;transition:opacity .16s;display:grid;position:fixed;inset:0}.phrase-overlay.open{opacity:1;pointer-events:auto}.phrase-sheet{background:var(--panel);touch-action:pan-y;border:1px solid #fffaf03d;justify-self:center;width:min(980px,100%);max-width:980px;max-height:min(760px,100vh - 46px);padding:18px;transition:transform .18s;position:relative;overflow:auto;transform:translateY(18px);box-shadow:0 26px 70px #10151257}.phrase-sheet-page{box-shadow:none;max-width:none;height:100vh;max-height:none;padding:18px max(18px, env(safe-area-inset-right)) max(22px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));z-index:60;border:0;width:100%;position:fixed;inset:0;transform:none}.phrase-overlay.open .phrase-sheet{transform:translateY(0)}.phrase-sheet-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:16px;padding-bottom:14px;display:flex}.phrase-sheet-header h2{margin:2px 0 0;font-family:Newsreader,Georgia,serif;font-size:clamp(2rem,5vw,4rem);line-height:.94}.phrase-sheet-header p{color:var(--ink-soft);margin:8px 0 0;line-height:1.4}.phrase-sheet-header button{background:var(--ink);color:var(--paper);cursor:pointer;border:0;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.phrase-pattern{border-left:5px solid var(--gold);background:#e9dbc1;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;margin-top:14px;padding:12px;display:grid}.phrase-pattern strong,.phrase-pattern span{font-weight:900}.phrase-pattern p{color:var(--ink-soft);margin:4px 0 0;line-height:1.4}.phrase-sections{gap:16px;margin-top:16px;display:grid}.phrase-section h3{color:var(--red);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.78rem}.phrase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.phrase-card{color:var(--ink);text-align:left;background:#fffaf0;border:1px solid #1015121f;align-items:stretch;gap:5px;min-height:148px;padding:12px;display:grid}.phrase-card.has-phrase-art{grid-template-columns:minmax(0,1fr) clamp(82px,9vw,124px);column-gap:10px}.phrase-card-copy{align-content:start;gap:5px;min-width:0;display:grid}.phrase-card-art{aspect-ratio:1;filter:drop-shadow(0 10px 14px #1b5f8f2e);object-fit:contain;pointer-events:none;place-self:center end;width:clamp(82px,9vw,124px);max-width:100%;height:auto}.phrase-card:hover,.phrase-card:focus-within{box-shadow:inset 4px 0 0 var(--blue);border-color:#1b5f8f6b;outline:none}.phrase-meaning{color:var(--blue);text-transform:uppercase;font-size:.72rem;font-weight:900}.phrase-card strong{overflow-wrap:anywhere;font-size:1.2rem;line-height:1.05}.phrase-card .phrase-japanese{font-size:1.05rem}.phrase-card small{color:var(--ink-soft);line-height:1.35}.phrase-card em{color:var(--ink-soft);font-style:normal;line-height:1.35}.phrase-card-actions{flex-wrap:wrap;align-self:end;gap:7px;margin-top:4px;display:flex}.phrase-copy-state{color:var(--green);cursor:pointer;touch-action:manipulation;text-transform:uppercase;background:#1f6f541a;border:0;align-items:center;gap:5px;min-height:32px;padding:7px 9px;font-size:.72rem;font-weight:900;display:inline-flex}.phrase-copy-state svg{width:15px;height:15px}.spin-soft{animation:1.2s linear infinite spin-soft}@keyframes spin-soft{to{transform:rotate(360deg)}}@keyframes trail-drift{to{stroke-dashoffset:-54px}}@keyframes trail-draw{0%{opacity:0;stroke-dashoffset:42px}to{opacity:1;stroke-dashoffset:0}}@keyframes expedition-pulse{0%,to{r:1.35}50%{r:2}}@keyframes object-float{0%,to{translate:0}50%{translate:0 -6px}}@keyframes object-ping{0%{opacity:.72;scale:.72}85%,to{opacity:0;scale:1.34}}@keyframes compass-rock{0%,to{rotate:-4deg}50%{rotate:5deg}}@media (prefers-reduced-motion:reduce){.adventure-trail-line,.adventure-trail-end,.adventure-object,.adventure-object-ping,.fantasy-route-line,.map-expedition-compass,.spin-soft{animation:none}.adventure-object-ping{display:none}}@media (max-width:1180px){.status-strip{grid-template-columns:1fr 1fr}.content-grid{grid-template-columns:minmax(0,1fr) 320px}.day-rail{display:none}.mobile-day-picker{border:1px solid var(--line);z-index:32;background:#f4f0e6f0;grid-template-columns:minmax(190px,.8fr) minmax(0,1.2fr);align-items:stretch;gap:10px;margin-top:12px;padding:8px;display:grid;position:sticky;top:120px;overflow:visible;box-shadow:0 10px 26px #121b161f}.mobile-day-current{background:#fffaf0c7;border:1px solid #1015121f;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:6px;display:grid}.mobile-day-current strong{background:var(--red);color:#fff;justify-content:center;align-items:center;height:42px;font-size:1rem;font-weight:900;display:flex}.mobile-day-picker[data-active-progress=completed] .mobile-day-current strong{background:var(--green)}.mobile-day-picker[data-active-progress=current] .mobile-day-current strong{background:var(--gold);color:var(--ink)}.mobile-day-current span{min-width:0;display:block}.mobile-day-current b,.mobile-day-current small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.mobile-day-current b{font-size:.9rem;line-height:1.15}.mobile-day-current small{color:var(--ink-soft);margin-top:2px;font-size:.72rem;font-weight:800}.mobile-day-scroll{scrollbar-width:thin;gap:8px;min-width:0;padding-bottom:2px;display:flex;overflow-x:auto}.mobile-day-picker button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;flex:0 0 54px;min-height:42px;font-weight:900}.mobile-day-picker button.active{background:var(--red);color:#fff}.mobile-day-picker button[data-progress=completed]{box-shadow:inset 0 -4px 0 var(--green);border-color:#1f6f5480}.mobile-day-picker button[data-progress=current]{box-shadow:inset 0 -4px 0 var(--gold);border-color:#d79d32b8}.mobile-day-picker button.active[data-progress=completed]{background:var(--green)}.mobile-day-picker button.active[data-progress=current]{background:#211b0f}.phrase-overlay{align-items:stretch;padding:0}.phrase-sheet{box-shadow:none;overscroll-behavior:contain;max-width:none;height:100vh;min-height:100vh;max-height:none;padding:18px max(18px, env(safe-area-inset-right)) max(22px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));border:0;width:100%;font-size:1.08rem;transform:none}.phrase-sheet-header{background:var(--panel);padding:18px max(18px, env(safe-area-inset-right)) 14px max(18px, env(safe-area-inset-left));z-index:2;margin:-18px -18px 0;position:sticky;top:0}.phrase-sheet-header h2{font-size:clamp(2.6rem,9vw,4.8rem)}.phrase-sheet-header p,.phrase-pattern p,.phrase-card em{font-size:1.05rem}.phrase-pattern{gap:12px;padding:16px}.phrase-section h3{font-size:.9rem}.phrase-grid{grid-template-columns:1fr;gap:12px}.phrase-card{gap:8px;min-height:0;padding:16px}.phrase-card.has-phrase-art{grid-template-columns:minmax(0,1fr) clamp(96px,22vw,138px);column-gap:12px}.phrase-card-copy{gap:8px}.phrase-card-art{width:clamp(96px,22vw,138px)}.phrase-meaning{font-size:.88rem}.phrase-card strong{font-size:1.65rem;line-height:1.08}.phrase-card .phrase-japanese{font-size:1.3rem}.phrase-card small{font-size:1rem}.phrase-card-actions{gap:10px;margin-top:8px}.phrase-speak-button,.phrase-copy-state{min-height:44px;padding:10px 12px;font-size:.88rem}}@media (min-width:901px) and (max-width:1180px){.status-strip{position:static}.day-rail{z-index:26;gap:0;width:118px;max-height:calc(100dvh - 24px);padding:0;transition:box-shadow .16s,width .16s;display:grid;position:sticky;top:12px;overflow:visible}.day-rail.is-expanded{isolation:isolate;z-index:44;background:#fffaf0;border-color:#1015122e;width:min(380px,100vw - 36px);padding:8px;overflow-y:auto;box-shadow:0 18px 48px #121b1638}.mobile-day-picker{display:none}.rail-heading{background:#fffaf0;border:1px solid #10151224;justify-items:start;gap:6px;padding:10px;line-height:1.05;display:grid;box-shadow:0 10px 26px #121b161f}.day-rail.is-expanded .rail-heading{box-shadow:none;background:0 0;border:0;justify-content:flex-start;align-items:center;padding:6px;display:flex}.rail-heading-label,.rail-group-label,.day-city-image,.day-button>span:last-child{display:none}.rail-current-summary,.rail-open-hint,.rail-heading-chevron{display:block}.rail-current-summary{gap:6px;width:100%;min-width:0;display:grid}.rail-current-summary strong{background:var(--red);color:var(--paper);justify-content:center;align-items:center;width:42px;height:32px;font-size:.82rem;display:inline-flex}.rail-current-summary span{gap:2px;min-width:0;display:grid}.rail-current-summary b{color:var(--ink);font-size:.9rem}.rail-current-summary small{color:var(--ink-soft);font-size:.68rem;line-height:1.15}.rail-open-hint{color:var(--green);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:900}.rail-heading-chevron{color:var(--gold);width:18px;height:18px}.day-rail.is-expanded .rail-heading-label,.day-rail.is-expanded .rail-group-label,.day-rail.is-expanded .day-city-image,.day-rail.is-expanded .day-button>span:last-child{display:block}.day-rail.is-expanded .rail-heading-chevron{transform:rotate(180deg)}.day-rail:not(.is-expanded) .rail-groups{display:none}.rail-group{border-left:1px solid var(--line);border-top:0;gap:6px;padding-top:0;padding-left:12px}.day-rail.is-expanded .rail-group{border-left:1px solid var(--line);border-top:0;padding-top:0;padding-left:12px}.day-button{grid-template-columns:1fr;justify-items:center;gap:0;min-height:46px;padding:5px}.day-rail.is-expanded .day-button{grid-template-columns:46px 42px minmax(0,1fr);justify-items:stretch;gap:10px;padding:10px}.day-number{width:100%;height:38px}.day-rail.is-expanded .day-number{height:34px}.day-rail.is-expanded .day-button small{text-overflow:clip;white-space:normal;overflow:visible}.day-button.progress-current{box-shadow:inset 0 -4px 0 var(--gold)}.now-panel-toggle{display:grid}.now-panel.is-collapsed{gap:0;width:118px}.now-panel.is-expanded{z-index:43;background:#fffaf0;border:1px solid #10151229;padding:8px;box-shadow:0 18px 48px #121b1638}.now-panel.is-collapsed .now-panel-content{display:none}.now-panel.is-collapsed .now-panel-toggle{text-align:center;justify-items:center;gap:7px;padding:10px 8px}.now-panel.is-collapsed .now-panel-toggle strong{font-size:1.2rem}.now-panel.is-collapsed .now-panel-toggle em{font-size:.72rem}.content-grid{grid-template-columns:minmax(0,1fr) 320px;overflow:visible}.day-rail,.day-rail.is-expanded{z-index:42;gap:10px;width:auto;max-height:none;padding:10px;transition:none;display:grid;position:sticky;top:0;overflow:visible}.day-rail.is-expanded{border-color:var(--line);background:#fffaf0d1;box-shadow:0 10px 28px #121b1614}.rail-topline{grid-template-columns:minmax(142px,.22fr) minmax(0,1fr)}.rail-heading,.day-rail.is-expanded .rail-heading{box-shadow:none;background:0 0;border:0;justify-content:flex-start;padding:6px;display:flex}.rail-heading-label,.rail-open-hint,.rail-heading-chevron,.day-rail.is-expanded .rail-heading-label,.day-rail.is-expanded .rail-group-label,.day-rail.is-expanded .day-city-image,.day-rail.is-expanded .day-button>span:last-child{display:block}.day-rail.is-expanded .rail-current-summary,.day-rail:not(.is-expanded) .rail-groups{display:none}.day-rail.is-expanded .rail-groups{display:flex}.rail-group,.day-rail.is-expanded .rail-group{border-left:1px solid var(--line);border-top:0;flex:0 0 280px;gap:8px;padding-top:0;padding-left:12px}.rail-group-days{display:grid}.day-button,.day-rail.is-expanded .day-button{grid-template-columns:46px 42px minmax(0,1fr);justify-items:stretch;gap:10px;min-height:74px;padding:10px}.day-number,.day-rail.is-expanded .day-number{width:46px;height:34px}.now-panel{z-index:auto;justify-self:stretch;width:auto;transition:none;top:12px}}@media (min-width:721px) and (max-width:900px){.app-shell{padding:12px}.status-strip{position:static}.mobile-day-picker{z-index:42;top:0}.content-grid{grid-template-columns:1fr}.now-panel{order:-1;grid-template-columns:repeat(2,minmax(0,1fr));position:static}.day-hero,.flight-path-layout,.timeline-card,.timeline-item,.day-map-layout{grid-template-columns:1fr}.status-title h1{font-size:2rem}.time-chip{max-width:170px}.timeline-actions{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;display:grid}.timeline-card.has-media{grid-template-columns:112px minmax(0,1fr)}.timeline-card-summary,.timeline-disclosure.has-media .timeline-card-summary,.timeline-card-body{grid-template-columns:1fr}.timeline-collapse-cue{justify-self:start}.timeline-card.has-media .timeline-actions{grid-column:1/-1}.photo-collage{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:720px){.app-shell{padding:10px}.status-strip,.content-grid,.day-hero,.flight-path-layout,.day-map-layout,.timeline-card,.timeline-item{grid-template-columns:1fr}.status-strip{position:static}.status-title,.status-cell{padding:14px}.flight-status{display:none}.mobile-day-picker{grid-template-columns:1fr;top:0}.mobile-day-scroll{margin:0 -2px}.now-panel{order:-1;position:static}.day-main{min-width:0}.timeline-actions{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;display:grid}.timeline-actions a{min-width:0}.weather-grid,.timeline-card.has-media,.timeline-card-summary,.timeline-disclosure.has-media .timeline-card-summary,.timeline-card-body{grid-template-columns:1fr}.timeline-collapse-cue{justify-self:start}.timeline-card.has-media .timeline-actions{grid-column:auto}.event-gallery-header{flex-direction:column;align-items:stretch}.gallery-upload-toggle{justify-content:center;width:100%}.photo-collage{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-tile:nth-child(7n+1),.photo-tile:nth-child(7n+5){grid-area:span 2/span 2}.activity-media{max-height:190px}.day-map-frame{aspect-ratio:4/3;min-height:220px}.adventure-object{width:40px;height:40px}.adventure-object-badge{width:31px;height:31px}.adventure-object svg{width:16px;height:16px}.adventure-object-ping{width:40px;height:40px}.map-expedition-compass{width:36px;height:36px;top:10px;left:10px}.flight-stat-grid,.airport-info-grid,.flight-route-leg-heading,.flight-route-leg-airports,.flight-route-strip{grid-template-columns:1fr}.flight-route-strip:before{background:linear-gradient(180deg, var(--gold), var(--blue));width:4px;height:auto;inset:22px auto 22px 25px}.flight-route-strip li{text-align:left;grid-template-columns:30px 64px minmax(0,1fr);place-items:center start;min-height:66px}.flight-route-strip li>span{grid-column:1}.flight-route-strip strong{font-size:1.45rem}.flight-route-strip small{text-overflow:clip;white-space:normal;overflow:visible}.flight-route-leg-airports>svg{justify-self:center;transform:rotate(90deg)}.map-panel-actions{grid-template-columns:1fr;display:grid}.floating-actions{bottom:max(12px, env(safe-area-inset-bottom));right:max(12px, env(safe-area-inset-right));gap:8px}.phrase-launcher{min-height:44px}.theme-toggle{flex-basis:44px;width:44px;height:44px}.phrase-overlay{padding:0}.phrase-sheet{height:100vh;min-height:100vh;max-height:none;padding:14px;font-size:1.14rem}.phrase-sheet-header{gap:10px;margin:-14px -14px 0;padding:14px}.phrase-sheet-header h2{font-size:clamp(2.4rem,13vw,3.7rem)}.phrase-sheet-header p,.phrase-pattern p,.phrase-card em{font-size:1.1rem}.phrase-card{padding:18px}.phrase-card.has-phrase-art{grid-template-columns:minmax(0,1fr) clamp(92px,24vw,132px)}.phrase-card-art{width:clamp(92px,24vw,132px)}.phrase-card strong{font-size:1.78rem}.phrase-card .phrase-japanese{font-size:1.42rem}.phrase-card small{font-size:1.06rem}}@media (orientation:portrait) and (max-aspect-ratio:9/16){.day-rail,.day-rail.is-expanded{display:none}.mobile-day-picker{z-index:42;display:grid;top:0}.content-grid{grid-template-columns:1fr}.now-panel{order:-1;justify-self:stretch;width:auto;position:static}.day-hero,.flight-path-layout,.day-map-layout,.timeline-card,.timeline-item,.timeline-card-summary,.timeline-disclosure.has-media .timeline-card-summary,.timeline-card-body{grid-template-columns:1fr}.timeline-collapse-cue{justify-self:start}.timeline-card.has-media .timeline-actions{grid-column:auto}.timeline-actions{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;display:grid}}@media (min-width:721px) and (orientation:portrait) and (max-aspect-ratio:9/16){.app-shell{padding:12px}.status-strip{position:static}.now-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-card.has-media{grid-template-columns:minmax(118px,180px) minmax(0,1fr)}.timeline-card.has-media .timeline-actions{grid-column:1/-1}.photo-collage{grid-template-columns:repeat(4,minmax(0,1fr))}}html[data-theme=dark] .status-strip,html[data-theme=dark] .day-button.active,html[data-theme=dark] .bike-roster span,html[data-theme=dark] .day-hero button,html[data-theme=dark] .map-panel-actions a,html[data-theme=dark] .timeline-actions a,html[data-theme=dark] .button-row a,html[data-theme=dark] .phrase-speak-button,html[data-theme=dark] .phrase-sheet-header button,html[data-theme=dark] .gallery-upload-toggle,html[data-theme=dark] .now-panel-toggle,html[data-theme=dark] .flight-card,html[data-theme=dark] .flight-strip{color:#f8f2e4;background:#0b1512}html[data-theme=dark] .status-title,html[data-theme=dark] .status-cell{background:#f8f2e40e}html[data-theme=dark] .status-title p,html[data-theme=dark] .status-cell span,html[data-theme=dark] .trip-clock span,html[data-theme=dark] .trip-clock small,html[data-theme=dark] .now-panel-toggle span,html[data-theme=dark] .now-panel-toggle small,html[data-theme=dark] .now-panel-toggle em,html[data-theme=dark] .flight-card small,html[data-theme=dark] .photo-lightbox-actions strong{color:#f8f2e4ad}html[data-theme=dark] .trip-clock,html[data-theme=dark] .now-panel-toggle{border-color:#f8f2e42e}html[data-theme=dark] .day-rail,html[data-theme=dark] .day-map-panel,html[data-theme=dark] .timeline-panel,html[data-theme=dark] .now-panel>section,html[data-theme=dark] .day-hero,html[data-theme=dark] .flight-path-panel,html[data-theme=dark] .mobile-day-picker,html[data-theme=dark] .phrase-sheet,html[data-theme=dark] .photo-lightbox-card{border-color:var(--line);background:#121c18e6;box-shadow:0 14px 38px #00000047}html[data-theme=dark] .mobile-day-current,html[data-theme=dark] .day-chip,html[data-theme=dark] .timeline-card,html[data-theme=dark] .phrase-card,html[data-theme=dark] .phrase-pill,html[data-theme=dark] .photo-upload-panel,html[data-theme=dark] .map-key a,html[data-theme=dark] .airport-info-grid a,html[data-theme=dark] .flight-leg-list li{color:var(--ink);background:#f8f2e412;border-color:#f8f2e41f}html[data-theme=dark] .day-chip.active{background:#ff7a682e}html[data-theme=dark] .day-button.progress-current .day-number,html[data-theme=dark] .mobile-day-picker[data-active-progress=current] .mobile-day-current strong{color:#07100d}html[data-theme=dark] .day-button.active.progress-completed{background:#143629}html[data-theme=dark] .day-button.active.progress-current,html[data-theme=dark] .mobile-day-picker button.active[data-progress=current]{background:#3b2a0d}html[data-theme=dark] .day-hero{background:linear-gradient(90deg, #07100df5 0%, #07100dc7 48%, #07100d2e 100%), var(--hero-image);background-position:50%;background-size:cover}html[data-theme=dark] .city-lockup strong,html[data-theme=dark] .mobile-day-current small,html[data-theme=dark] .timeline-card address,html[data-theme=dark] .timeline-card p,html[data-theme=dark] .hotel-content p,html[data-theme=dark] .hotel-content small,html[data-theme=dark] .outfit-card p,html[data-theme=dark] .weather-card small,html[data-theme=dark] .phrase-sheet-header p,html[data-theme=dark] .phrase-pattern p,html[data-theme=dark] .phrase-card small,html[data-theme=dark] .phrase-card em,html[data-theme=dark] .phrase-pill small,html[data-theme=dark] .flight-stat-grid span,html[data-theme=dark] .flight-leg-list span,html[data-theme=dark] .flight-leg-list small,html[data-theme=dark] .flight-leg-list p,html[data-theme=dark] .airport-info-grid small,html[data-theme=dark] .map-key small,html[data-theme=dark] .wayfinding-list li,html[data-theme=dark] .feel-badge small,html[data-theme=dark] .photo-upload-actions small,html[data-theme=dark] .photo-upload-panel label span,html[data-theme=dark] .photo-admin-panel label span,html[data-theme=dark] .photo-collage.empty p{color:var(--ink-soft)}html[data-theme=dark] .flight-route-board{color:#f8f2e4;background:linear-gradient(90deg,#07100df0,#07100dd1),radial-gradient(circle at 14% 18%,#f0bd5533,#0000 28%),radial-gradient(circle at 88% 12%,#78c6e83d,#0000 34%),#091b24;border-color:#f8f2e424}html[data-theme=dark] .flight-route-strip li,html[data-theme=dark] .flight-route-leg-card,html[data-theme=dark] .flight-route-leg-airports a,html[data-theme=dark] .flight-route-source{color:#f8f2e4;background:#f8f2e414;border-color:#f8f2e421}html[data-theme=dark] .flight-route-strip li>span{color:#07100d;background:#f8f2e4}html[data-theme=dark] .flight-route-strip small,html[data-theme=dark] .flight-route-leg-airports a small,html[data-theme=dark] .flight-route-leg-card p{color:#f8f2e4b3}html[data-theme=dark] .flight-stat-grid div,html[data-theme=dark] .phrase-strip,html[data-theme=dark] .detail-links a,html[data-theme=dark] .timeline-collapse-cue,html[data-theme=dark] .weather-grid span,html[data-theme=dark] .outfit-card li,html[data-theme=dark] .phrase-copy-state,html[data-theme=dark] .photo-collage.empty,html[data-theme=dark] .photo-tile{background:#f8f2e414;border-color:#f8f2e41f}html[data-theme=dark] .detail-links a,html[data-theme=dark] .timeline-collapse-cue{color:var(--ink)}html[data-theme=dark] .timeline-card-body,html[data-theme=dark] .event-gallery,html[data-theme=dark] .photo-admin-panel{border-color:#f8f2e41a}html[data-theme=dark] .timeline-item.time-fixed .timeline-card{box-shadow:inset 5px 0 0 var(--red), 0 12px 26px #00000038;background:linear-gradient(90deg,#ff7a6824,#f8f2e40f 46%);border-color:#ff7a686b}html[data-theme=dark] .sun-card,html[data-theme=dark] .phrase-pattern,html[data-theme=dark] .feel-hot,html[data-theme=dark] .feel-warm,html[data-theme=dark] .feel-wet,html[data-theme=dark] .feel-wind,html[data-theme=dark] .feel-cool,html[data-theme=dark] .feel-cold,html[data-theme=dark] .feel-mild,html[data-theme=dark] .feel-loading{background:#f0bd5521;border-color:#f0bd5547}html[data-theme=dark] .activity-media{background:#09120f;border-color:#f8f2e424}html[data-theme=dark] .day-map-frame{background:linear-gradient(135deg,#f8f2e42e,#0000 36%),#8f7443;border-color:#f8f2e424}html[data-theme=dark] .day-map-frame:after{background:linear-gradient(90deg,#07100d52,#0000 18% 82%,#07100d47),linear-gradient(#f8f2e41f,#0000 24% 74%,#07100d2e)}html[data-theme=dark] .fantasy-map-artwork{color:#f8f2e429}html[data-theme=dark] .fantasy-paper{fill:#9a7a44}html[data-theme=dark] .fantasy-coast-main{fill:#735634}html[data-theme=dark] .fantasy-coast-secondary{fill:#b18a4d94}html[data-theme=dark] .fantasy-coast,html[data-theme=dark] .fantasy-terrain,html[data-theme=dark] .fantasy-district-wall{stroke:#f8f2e47a}html[data-theme=dark] .fantasy-map-title{fill:#f8f2e4d6;stroke:#07100d57}html[data-theme=dark] .adventure-trail-shadow{stroke:#07100dbd}html[data-theme=dark] .map-expedition-compass{background:#07100dd6;border-color:#f8f2e42e}html[data-theme=dark] .map-key-object{border-color:#f8f2e429}html[data-theme=dark] .photo-upload-panel input{color:var(--ink);background:#07100db8;border-color:#f8f2e429}html[data-theme=dark] .phrase-sheet-header,html[data-theme=dark] .phrase-sheet,html[data-theme=dark] .photo-lightbox-card{background:var(--panel)}html[data-theme=dark] .phrase-sheet .phrase-card{background:#19231f}html[data-theme=dark] .theme-toggle{color:#f8f2e4;background:0 0}.widget-shell{--widget-paper:#f8f2e4;--widget-ink:#07100d;--widget-scroll:#f2dfbb;--widget-scroll-deep:#cfb47d;--widget-text:#211812;--widget-muted:#211812b8;--widget-soft:#fffaf094;--widget-soft-strong:#fffaf0d1;--widget-soft-border:#50361e2e;--widget-red:#c4412f;--widget-red-bright:#f45f49;--widget-accent:#d79d32;--widget-accent-rgb:215, 157, 50;--widget-secondary:#78c6e8;--widget-secondary-rgb:120, 198, 232;--widget-scene:linear-gradient(160deg, transparent 0 54%, #78c6e840 55% 62%, transparent 63%), linear-gradient(25deg, transparent 0 48%, #fffaf057 49% 56%, transparent 57%);--widget-shell-bg:radial-gradient(circle at 12% 0%, rgba(var(--widget-accent-rgb), .2), transparent 34%), linear-gradient(135deg, #22160f 0%, #51361f 58%, #17110c 100%);--widget-card-bg:radial-gradient(circle at 80% -14%, rgba(var(--widget-accent-rgb), .2), transparent 30%), radial-gradient(circle at 0% 100%, #fffaf094, transparent 34%), repeating-linear-gradient(24deg, #fffaf03d 0 1px, transparent 1px 8px), repeating-linear-gradient(116deg, #5b3d221a 0 1px, transparent 1px 10px), linear-gradient(135deg, #f2dfbb 0%, #e5ca95 54%, #caa868 100%);--widget-card-motif:radial-gradient(circle at 84% 14%, rgba(var(--widget-accent-rgb), .11), transparent 16%), repeating-linear-gradient(32deg, transparent 0 18px, #fffaf03d 18px 19px), repeating-linear-gradient(128deg, transparent 0 24px, #5c3b2021 24px 25px);--widget-weather-bg:linear-gradient(135deg, rgba(var(--widget-secondary-rgb), .18), #fffaf080), #fffaf07a;--widget-weather-border:rgba(var(--widget-secondary-rgb), .32);--widget-weather-title:var(--widget-red);--widget-event-bg:#fffaf085;--widget-event-border:#50361e29;--widget-event-label-bg:var(--widget-accent);--widget-event-label-color:var(--widget-ink);--widget-event-copy:var(--widget-muted);background:var(--widget-shell-bg);color:var(--widget-text);min-width:280px;padding:7px;font-family:Bricolage Grotesque,Avenir Next,sans-serif;display:grid;position:fixed;inset:0;overflow:hidden}.widget-shell.widget-tone-loading{--widget-accent:#b8b2a4;--widget-accent-rgb:184, 178, 164;--widget-secondary:#d9d2c1;--widget-secondary-rgb:217, 210, 193;--widget-shell-bg:linear-gradient(135deg, #15130f, #29241c 60%, #11100d);--widget-card-motif:repeating-linear-gradient(30deg, transparent 0 16px, #f8f2e40a 16px 17px), repeating-linear-gradient(116deg, transparent 0 22px, #5a3d241f 22px 23px);--widget-weather-bg:linear-gradient(135deg, #fffaf0b8, #fffaf075), #fffaf080;--widget-weather-border:#50361e2e;--widget-scene:repeating-linear-gradient(0deg, #21181214 0 5px, transparent 5px 10px)}.widget-shell.widget-tone-cold{--widget-accent:#a9dff0;--widget-accent-rgb:169, 223, 240;--widget-secondary:#e4f6fb;--widget-secondary-rgb:228, 246, 251;--widget-shell-bg:linear-gradient(135deg, #0b151a, #1d2c31 56%, #0c0f0c);--widget-card-motif:radial-gradient(circle at 78% 8%, #e4f6fb1a, transparent 18%), repeating-linear-gradient(42deg, transparent 0 20px, #e4f6fb0e 20px 21px), repeating-linear-gradient(132deg, transparent 0 26px, #374c542e 26px 27px);--widget-weather-bg:linear-gradient(135deg, #a9dff04d, #fffaf08f), #fffaf080;--widget-weather-border:#a9dff05c;--widget-event-label-bg:#a9dff0;--widget-scene:linear-gradient(150deg, transparent 0 47%, #a9dff047 48% 56%, transparent 57%), linear-gradient(24deg, transparent 0 54%, #fffaf073 55% 61%, transparent 62%)}.widget-shell.widget-tone-cool{--widget-accent:#78c6e8;--widget-accent-rgb:120, 198, 232;--widget-secondary:#d79d32;--widget-secondary-rgb:215, 157, 50;--widget-shell-bg:linear-gradient(135deg, #071219, #172a34 55%, #11100d);--widget-card-motif:radial-gradient(circle at 80% 2%, #78c6e81a, transparent 18%), repeating-linear-gradient(28deg, transparent 0 20px, #78c6e80e 20px 21px), repeating-linear-gradient(118deg, transparent 0 26px, #5b412626 26px 27px);--widget-weather-bg:linear-gradient(135deg, #78c6e84d, #fffaf08f), #fffaf080;--widget-weather-border:#78c6e866;--widget-event-label-bg:#d7a437;--widget-scene:linear-gradient(155deg, transparent 0 48%, #78c6e852 49% 57%, transparent 58%), linear-gradient(24deg, transparent 0 56%, #fffaf073 57% 63%, transparent 64%)}.widget-shell.widget-tone-mild{--widget-accent:#c2a25d;--widget-accent-rgb:194, 162, 93;--widget-secondary:#8bb7b0;--widget-secondary-rgb:139, 183, 176;--widget-shell-bg:linear-gradient(135deg, #15100c, #2a2318 56%, #0f0e0b);--widget-card-motif:radial-gradient(circle at 82% 10%, #c2a25d1f, transparent 18%), repeating-linear-gradient(36deg, transparent 0 18px, #c2a25d0f 18px 19px), repeating-linear-gradient(124deg, transparent 0 26px, #47321d2e 26px 27px);--widget-weather-bg:linear-gradient(135deg, #c2a25d47, #fffaf08a), #fffaf080;--widget-weather-border:#c2a25d6b;--widget-weather-title:#765a22;--widget-event-label-bg:#c2a25d;--widget-scene:linear-gradient(170deg, transparent 0 54%, #8bb7b04d 55% 62%, transparent 63%), linear-gradient(22deg, transparent 0 62%, #c2a25d47 63% 70%, transparent 71%)}.widget-shell.widget-tone-warm{--widget-accent:#e0a833;--widget-accent-rgb:224, 168, 51;--widget-secondary:#f45f49;--widget-secondary-rgb:244, 95, 73;--widget-shell-bg:linear-gradient(135deg, #160d07, #3a2310 56%, #0e120b);--widget-card-motif:radial-gradient(circle at 82% 4%, #f45f4921, transparent 19%), repeating-linear-gradient(25deg, transparent 0 18px, #e0a8330f 18px 19px), repeating-linear-gradient(120deg, transparent 0 24px, #502c1433 24px 25px);--widget-weather-bg:linear-gradient(135deg, #e0a83357, #fffaf080), #fffaf080;--widget-weather-border:#e0a8336b;--widget-scene:radial-gradient(circle at 78% 34%, #e0a83375 0 29px, transparent 30px), radial-gradient(circle at 78% 34%, #f45f492e 0 46px, transparent 47px)}.widget-shell.widget-tone-hot{--widget-accent:#f45f49;--widget-accent-rgb:244, 95, 73;--widget-secondary:#e0a833;--widget-secondary-rgb:224, 168, 51;--widget-shell-bg:linear-gradient(135deg, #180b07, #401713 58%, #211005);--widget-card-motif:radial-gradient(circle at 82% 2%, #f45f492e, transparent 20%), repeating-linear-gradient(24deg, transparent 0 15px, #e0a83311 15px 16px), repeating-linear-gradient(112deg, transparent 0 25px, #56231738 25px 26px);--widget-weather-bg:linear-gradient(135deg, #f45f4957, #fffaf07a), #fffaf080;--widget-weather-border:#f45f4970;--widget-scene:radial-gradient(circle at 76% 34%, #f45f497a 0 31px, transparent 32px), radial-gradient(circle at 76% 34%, #e0a8333d 0 52px, transparent 53px)}.widget-shell.widget-tone-wet{--widget-accent:#6db7df;--widget-accent-rgb:109, 183, 223;--widget-secondary:#b6e4f2;--widget-secondary-rgb:182, 228, 242;--widget-shell-bg:linear-gradient(135deg, #06131a, #0f2a40 58%, #06100d);--widget-card-motif:repeating-linear-gradient(105deg, transparent 0 11px, #b6e4f21c 11px 12px), repeating-linear-gradient(28deg, transparent 0 22px, #f8f2e409 22px 23px);--widget-weather-bg:linear-gradient(135deg, #6db7df57, #fffaf080), #fffaf080;--widget-weather-border:#6db7df70;--widget-weather-title:#0c5e8a;--widget-event-label-bg:#6db7df;--widget-scene:linear-gradient(180deg, #0c5e8a2e 0 34%, transparent 35%), repeating-linear-gradient(105deg, transparent 0 13px, #0c5e8a42 13px 15px, transparent 15px 28px)}.widget-shell.widget-tone-wind{--widget-accent:#d7d0be;--widget-accent-rgb:215, 208, 190;--widget-secondary:#78c6e8;--widget-secondary-rgb:120, 198, 232;--widget-shell-bg:linear-gradient(135deg, #0b1212, #26302e 58%, #0a1110);--widget-card-motif:repeating-linear-gradient(165deg, transparent 0 20px, #f8f2e412 20px 21px), repeating-linear-gradient(72deg, transparent 0 30px, #78c6e80b 30px 31px);--widget-weather-bg:linear-gradient(135deg, #d7d0be57, #fffaf07a), #fffaf080;--widget-weather-border:#d7d0be57;--widget-scene:repeating-linear-gradient(165deg, transparent 0 20px, #f8f2e447 20px 22px, transparent 22px 38px), radial-gradient(ellipse at 68% 48%, #f8f2e429 0 48px, transparent 49px)}html:has(.widget-shell){min-width:0}body:has(.widget-shell){overflow:hidden}.widget-card{background:var(--widget-card-bg);box-shadow:none;color:inherit;isolation:isolate;border:0;grid-template-rows:auto auto auto minmax(0,1fr);gap:6px;min-width:0;min-height:0;padding:9px;text-decoration:none;display:grid;position:relative;overflow:hidden}.widget-card:before{background:linear-gradient(180deg, #0d0704eb 0%, #140c079e 30%, #180f0929 62%, transparent 84%), var(--widget-card-motif);content:"";opacity:.92;pointer-events:none;z-index:0;position:absolute;inset:0}.widget-card:after{background:linear-gradient(90deg, rgba(var(--widget-accent-rgb), .55), transparent 42%);content:"";opacity:.76;pointer-events:none;z-index:0;height:3px;position:absolute;inset:auto 0 0}.widget-card>*{z-index:1;position:relative}.widget-topline,.widget-day,.widget-weather-metrics{align-items:center;min-width:0;display:flex}.widget-topline{color:#fffaf0c7;letter-spacing:0;text-transform:uppercase;justify-content:space-between;gap:8px;font-size:.66rem;font-weight:900}.widget-trip{color:var(--widget-red-bright)}.widget-status{color:var(--widget-accent);justify-items:end;gap:1px;line-height:1;display:grid}.widget-status strong,.widget-status small{font:inherit}.widget-status small{color:#fffaf0b3;font-size:.54rem}.widget-day{border-bottom:1px solid rgba(var(--widget-accent-rgb), .28);gap:9px;padding-bottom:6px}.widget-day-badge{background:var(--widget-red);color:#fffaf0;flex:none;justify-content:center;align-items:center;width:48px;height:42px;font-size:1.05rem;font-weight:900;display:flex}.widget-day-copy{gap:2px;min-width:0;display:grid}.widget-day-copy strong{color:#fffaf0;font-family:Newsreader,Georgia,serif;font-size:1.34rem;line-height:.95}.widget-day-copy span,.widget-clock,.widget-weather-feel,.widget-weather-metrics span{min-width:0}.widget-day-copy span,.widget-clock{color:#fffaf0c7;align-items:center;gap:4px;font-size:.7rem;display:flex}.widget-day-copy svg,.widget-clock svg,.widget-weather-feel svg,.widget-weather-metrics svg{flex:none;width:1em;height:1em}.widget-clock{background:rgba(var(--widget-accent-rgb), .22);color:#fffaf0;text-align:right;white-space:nowrap;margin-left:auto;padding:7px 9px;font-weight:900}.widget-weather{background:var(--widget-weather-bg);border:1px solid var(--widget-weather-border);grid-template-columns:minmax(0,1fr) minmax(96px,.58fr);align-items:stretch;gap:5px;min-width:0;padding:6px;display:grid;position:relative;overflow:hidden}.widget-weather:before{background:repeating-linear-gradient(27deg, transparent 0 13px, #fffaf033 13px 14px), repeating-linear-gradient(118deg, transparent 0 19px, rgba(var(--widget-accent-rgb), .08) 19px 20px);content:"";opacity:.5;pointer-events:none;position:absolute;inset:0}.widget-weather>*{position:relative}.widget-weather-primary{grid-area:1/1;gap:2px;min-width:0;display:grid}.widget-weather-primary span,.widget-event-label span{color:var(--widget-weather-title);text-transform:uppercase;font-size:.68rem;font-weight:900}.widget-weather-primary strong{white-space:nowrap;font-family:Newsreader,Georgia,serif;font-size:1.48rem;line-height:.95}.widget-weather-primary small{color:var(--widget-muted);font-size:.58rem;line-height:1.15;display:block}.widget-rain-timeline{color:var(--widget-text);background:#fffaf075;grid-area:3/1;align-items:center;gap:4px;min-width:0;padding:4px;font-size:.58rem;font-weight:900;line-height:1.1;display:flex}.widget-rain-timeline svg{color:var(--widget-accent);flex:none;width:1em;height:1em}.widget-weather-feel{border-left:3px solid var(--widget-accent);color:var(--widget-text);text-transform:uppercase;background:#fffaf06b;grid-area:1/2/span 2;justify-content:center;place-self:stretch stretch;align-items:center;gap:6px;padding:6px 7px;font-size:.72rem;font-weight:900;display:flex;position:relative;overflow:hidden}.widget-weather-feel:before{background:var(--widget-scene);content:"";opacity:.9;pointer-events:none;position:absolute;inset:0}.widget-weather-feel>*{position:relative}.widget-weather-feel svg,.widget-weather-metrics svg{color:var(--widget-accent)}.widget-weather-feel .widget-weather-scene-icon{opacity:.24;width:44px;height:44px;position:absolute;top:7px;right:7px}.widget-weather-feel span{gap:3px;padding-right:18px;display:grid}.widget-weather-feel strong{color:var(--widget-text);font-size:.68rem;line-height:1}.widget-weather-feel small{color:var(--widget-muted);text-transform:none;font-size:.52rem;font-weight:700;line-height:1.1;display:block}.widget-weather-cache{color:#21181294;text-transform:uppercase;font-weight:900}.widget-weather-metrics{grid-area:2/1;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.widget-weather-metrics span{color:var(--widget-text);white-space:nowrap;background:#fffaf075;justify-content:flex-start;align-items:center;gap:4px;padding:4px;font-size:.65rem;font-weight:900;display:flex}.widget-events{gap:4px;min-width:0;min-height:0;display:grid}.widget-events-heading{color:var(--widget-muted);text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.6rem;font-weight:900;display:flex}.widget-events-heading span{color:var(--widget-weather-title)}.widget-events-heading strong{color:var(--widget-muted)}.widget-event{background:var(--widget-event-bg);border:1px solid var(--widget-event-border);grid-template-columns:74px minmax(0,1fr);align-items:stretch;gap:6px;min-width:0;min-height:0;padding:0;display:grid}.widget-event-label{background:var(--widget-event-label-bg);color:var(--widget-event-label-color);align-content:space-between;justify-items:start;gap:3px;min-height:76px;padding:6px;display:grid}.widget-event-label span{color:#07100db8}.widget-event-label strong{color:var(--widget-event-label-color);font-size:.64rem;line-height:1.05}.widget-event-label small{color:#07100db8;font-size:.56rem;font-weight:900}.widget-event-copy{align-content:start;gap:3px;min-width:0;min-height:0;padding:6px 6px 6px 0;display:grid}.widget-event-copy h1{color:var(--widget-text);overflow-wrap:anywhere;margin:0;font-family:Newsreader,Georgia,serif;font-size:clamp(.72rem,3.2vw,.9rem);line-height:1.02}.widget-event-copy p{color:var(--widget-event-copy);margin:0;font-size:.56rem;line-height:1.16;display:block}@media (max-height:320px),(max-width:360px){.widget-shell{padding:7px}.widget-card{gap:6px;padding:9px}.widget-day-badge{width:42px;height:36px;font-size:.95rem}.widget-day-copy strong{font-size:1.18rem}.widget-clock{padding:6px 7px;font-size:.68rem}.widget-weather{gap:5px;padding:7px}.widget-weather-primary strong{font-size:1.28rem}.widget-weather-primary small{font-size:.53rem}.widget-weather-metrics span{padding:4px 3px;font-size:.58rem}.widget-event{grid-template-columns:68px minmax(0,1fr)}.widget-events{gap:5px}.widget-event-label{padding:5px}.widget-event-copy h1{font-size:.76rem}.widget-event-copy p{font-size:.52rem;display:block}}@media (max-height:250px){.widget-card{grid-template-rows:auto auto auto minmax(0,1fr);gap:5px;padding:8px}.widget-next-mini,.widget-footer,.widget-events-heading{display:none}.widget-day{padding-bottom:5px}.widget-day-badge{width:38px;height:32px}.widget-day-copy strong{font-size:1.05rem}.widget-day-copy span{font-size:.68rem}.widget-clock{padding:5px 6px;font-size:.64rem}.widget-weather{grid-template-columns:minmax(70px,.8fr) minmax(70px,1fr);padding:6px}.widget-weather-primary strong{font-size:1.25rem}.widget-weather-primary small,.widget-weather-metrics span:nth-child(n+4),.widget-events .widget-event:nth-of-type(2){display:none}.widget-weather-feel{font-size:.72rem}.widget-weather-metrics span{padding:4px 2px;font-size:.64rem}.widget-event{grid-template-columns:62px minmax(0,1fr)}.widget-event-label{align-content:center;padding:5px}.widget-event-label strong{font-size:.7rem}.widget-event-copy h1{font-size:1.02rem;line-height:.98}.widget-event-copy p{display:none}}@media (max-height:220px),(max-width:320px){.widget-shell{padding:6px}.widget-card{grid-template-rows:auto auto minmax(0,1fr);gap:4px;padding:6px}.widget-topline,.widget-footer,.widget-next-mini{display:none}.widget-day{gap:6px;padding-bottom:4px}.widget-day-badge{width:34px;height:30px;font-size:.88rem}.widget-day-copy strong{font-size:.95rem}.widget-day-copy span,.widget-clock{font-size:.6rem}.widget-clock{padding:4px 5px}.widget-weather{grid-template-columns:minmax(68px,.8fr) minmax(58px,auto);gap:4px;padding:5px}.widget-weather-primary span,.widget-event-label span{font-size:.58rem}.widget-weather-primary strong{font-size:1.12rem}.widget-weather-feel{gap:4px;font-size:.64rem}.widget-weather-metrics{gap:3px}.widget-weather-metrics span{gap:2px;padding:3px 1px;font-size:.57rem}.widget-event{grid-template-columns:54px minmax(0,1fr);gap:6px}.widget-event-label{padding:4px}.widget-event-label strong{font-size:.62rem}.widget-event-copy h1{font-size:.92rem;line-height:.95}}
