/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base,components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.static{position:static}.m-4{margin:calc(var(--spacing) * 4)}.m-6{margin:calc(var(--spacing) * 6)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.gap-3{gap:calc(var(--spacing) * 3)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}.coast-scroll{margin:22px 0;overflow-x:auto}.coast-table{border-collapse:collapse;text-align:left;width:100%;min-width:650px;font-size:12px;line-height:1.7}.coast-table caption{text-align:left;color:#536a60;margin-bottom:14px;font-size:11px}.coast-table th,.coast-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:14px}.coast-table thead{background:var(--soft)}.coast-table tbody th{width:20%}.coast-table td:nth-child(2){width:21%}:root{color:#263c37;--ink:#263c37;--teal:#174f4a;--paper:#f7f6f0;--line:#dedfd4;--soft:#e9eee5;--orange:#c36032;--radius:18px;font-synthesis:none;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:0 0;margin:0}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a{color:var(--teal);text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:4px;outline:3px solid #be592c}button{border:0}h1,h2,h3,p{margin:0}svg{max-width:100%;display:block}small,.muted{color:#586960}.icon{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:19px;height:19px}.app{background:var(--paper);min-height:720px;padding:0 24px 26px}.shell{max-width:1136px;margin:auto}.masthead{justify-content:space-between;align-items:center;gap:16px;padding:24px 0 20px;display:flex}.brand{letter-spacing:-.8px;color:var(--teal);align-items:center;gap:11px;font-size:22px;font-weight:650;text-decoration:none;display:flex}.brand svg{width:35px;height:35px}.brand small{letter-spacing:1.5px;text-transform:uppercase;font-size:11px;font-weight:500;display:block}.header-actions{align-items:center;gap:12px;display:flex}.save-state{color:#4d635a;max-width:140px;font-size:11px;line-height:1.4}.save-state:before{content:"";background:#27715c;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.save-state.warning{color:#984726}.save-state.warning:before{background:#984726}.button{background:var(--teal);color:#fff;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:13px;font-weight:600;line-height:1.3;text-decoration:none;display:inline-flex}.button.ghost{color:var(--teal);background:0 0;border:1px solid #cfd6c9}.button.small{padding:9px 12px;font-size:12px}.tabs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);scrollbar-width:thin;gap:5px;padding:11px 0;display:flex;overflow-x:auto}.tab{color:#55655c;white-space:nowrap;background:0 0;border-radius:8px;align-items:center;gap:8px;padding:10px 15px;font-size:13px;font-weight:550;display:flex}.tab[aria-selected=true]{background:var(--teal);color:#fff}.tab:hover:not([aria-selected=true]){background:#e8eade}.panel{padding:24px 0 6px}.panel[hidden]{display:none}.eyebrow{letter-spacing:1.9px;text-transform:uppercase;color:#536a60;font-size:10px;font-weight:700}.hero{border-radius:var(--radius);background:#e9eddf;border:1px solid #e2e5d5;grid-template-columns:1.08fr 1fr;display:grid;overflow:hidden}.hero-copy{padding:34px 30px 32px;position:relative}.hero h1{letter-spacing:-2px;margin:15px 0 17px;font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,5.8vw,65px);font-weight:400;line-height:1.04}.hero-copy>p{color:#4e655b;max-width:350px;font-size:14px;line-height:1.75}.tags{flex-wrap:wrap;gap:7px;margin:20px 0 24px;display:flex}.tag{color:#3b5a4c;background:#f7f8ed7a;border:1px solid #bfcbb9;border-radius:20px;align-items:center;gap:5px;padding:6px 9px;font-size:10px;display:inline-flex}.tag .icon{width:13px;height:13px}.hero-art{background:#cbded3;align-items:center;min-width:0;display:flex;position:relative}.hero-art>svg{width:100%;height:100%;min-height:320px}.map-caption{color:#31594e;background:#f7f6eae6;border-radius:5px;padding:5px 8px;font-size:9px;position:absolute;bottom:12px;left:16px}.facts{border:1px solid var(--line);background:#fffdf7;border-radius:13px;grid-template-columns:1fr 1fr 1fr;margin:16px 0 26px;display:grid}.fact{align-items:center;gap:12px;padding:16px 20px;display:flex}.fact+.fact{border-left:1px solid var(--line)}.fact .icon{color:var(--teal);width:22px;height:22px}.fact b{font-size:14px;display:block}.fact small{margin-top:3px;font-size:11px;line-height:1.4;display:block}.section-top{justify-content:space-between;align-items:center;gap:14px;margin:0 0 15px;display:flex}.section-top h2{letter-spacing:-.5px;font-family:Georgia,serif;font-size:25px;font-weight:400}.section-top p{color:#647367;font-size:12px;line-height:1.6}.text-button{color:var(--teal);white-space:nowrap;background:0 0;padding:7px 0;font-size:12px;font-weight:600}.phases{grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:26px;display:grid}.phase{border:1px solid var(--line);text-align:left;color:var(--ink);background:#fffdf7;border-radius:12px;padding:20px;position:relative}.phase-no{color:#6d8473;margin-bottom:12px;font-family:Georgia,serif;font-size:26px;display:block}.phase .eyebrow{font-size:9px}.phase h3{margin:8px 0;font-size:16px;font-weight:600}.phase p{color:#586a60;font-size:12px;line-height:1.65}.phase:hover{border-color:#698d77;transform:translateY(-2px)}.phase:last-child{background:#ede9d8}.dashboard{grid-template-columns:1.2fr 1fr;gap:16px;display:grid}.box{border:1px solid var(--line);background:#fffdf7;border-radius:13px;padding:22px}.box h3{margin-bottom:8px;font-size:15px;font-weight:600}.box p{color:#52665a;font-size:12px;line-height:1.7}.progress-row{justify-content:space-between;align-items:center;margin:13px 0 8px;font-size:12px;display:flex}.progress{background:#e3e8dc;border-radius:5px;height:5px;overflow:hidden}.progress-fill{background:var(--teal);height:100%;transition:width .2s}.mini-task{align-items:center;gap:10px;margin-top:15px;font-size:12px;line-height:1.5;display:flex}.mini-task input,.task input{accent-color:var(--teal);flex-shrink:0;width:17px;height:17px}.festival-box{background:#eee7d9;position:relative;overflow:hidden}.festival-box .icon{color:#ad5d36;width:28px;height:28px;margin-bottom:15px}.festival-date{letter-spacing:1px;color:#864520;margin-bottom:8px;font-size:10px;font-weight:700}.festival-box h3{margin-bottom:10px;font-family:Georgia,serif;font-size:24px;font-weight:400}.foot{border-top:1px solid var(--line);color:#68796a;justify-content:space-between;gap:14px;margin-top:25px;padding-top:17px;font-size:10px;line-height:1.6;display:flex}.page-title{justify-content:space-between;align-items:flex-end;gap:18px;margin:3px 0 25px;display:flex}.page-title h1{letter-spacing:-1px;margin:8px 0;font-family:Georgia,serif;font-size:37px;font-weight:400}.page-title p{color:#5b6e60;max-width:580px;font-size:13px;line-height:1.7}.pill{color:#375d48;background:#e9efe4;border-radius:20px;padding:6px 9px;font-size:10px;font-weight:650;display:inline-block}.pill.amber{color:#83431f;background:#f3e7d7}.itinerary-layout{grid-template-columns:1.65fr 1fr;align-items:start;gap:20px;display:grid}.day{border-bottom:1px solid var(--line);grid-template-columns:55px 1fr auto;align-items:start;gap:16px;padding:19px 0;display:grid}.day:first-child{padding-top:0}.day-date{font-family:Georgia,serif;font-size:27px;line-height:1}.day-date small{letter-spacing:.5px;text-transform:uppercase;margin-top:7px;font-family:system-ui,sans-serif;font-size:9px;line-height:1.4;display:block}.day h3{margin:0 0 6px;font-size:15px;font-weight:600;line-height:1.5}.day p{color:#586d5e;font-size:12px;line-height:1.7}.day-meta{color:#526958;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font-size:10px;display:flex}.edit-button{color:var(--teal);background:#eceee2;border-radius:7px;padding:8px}.edit-button .icon{width:15px;height:15px}.aside{position:sticky;top:20px}.aside svg{width:100%;margin:15px 0}.aside .aside-note{margin-top:17px;font-size:11px;line-height:1.8}.beach-block{background:#e6eee6;border-radius:12px;margin-top:22px;padding:20px}.beach-block h3{font-family:Georgia,serif;font-size:24px;font-weight:400}.beach-block p{margin:9px 0 15px;font-size:12px;line-height:1.8}.notice{color:#5c604b;background:#eeeade;border-left:3px solid #ad6b3d;border-radius:0 8px 8px 0;margin:0 0 22px;padding:12px 15px;font-size:12px;line-height:1.7}.booking-block{background:#e9eee3;border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:15px;margin:0 0 25px;padding:18px;display:flex}.field{flex-direction:column;flex:1;gap:7px;min-width:140px;font-size:11px;font-weight:600;display:flex}.field input,.field textarea{color:var(--ink);background:#fffdf7;border:1px solid #bfcabd;border-radius:7px;width:100%;padding:10px;font-size:13px;font-weight:400}.booking-summary{min-width:130px;padding:0 8px 7px;font-size:12px}.booking-summary b{margin-bottom:4px;font-family:Georgia,serif;font-size:22px;font-weight:400;display:block}.hotels{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px;display:grid}.hotel{border:1px solid var(--line);background:#fffdf7;border-radius:13px;flex-direction:column;display:flex;overflow:hidden}.hotel.selected{border:2px solid var(--teal)}.hotel-illustration{background:#e2eae3;height:132px;position:relative}.hotel-illustration svg{width:100%;height:100%}.illustration-label{color:#47645a;background:#fffdf7cf;border-radius:4px;padding:3px 5px;font-size:8px;position:absolute;bottom:8px;right:9px}.hotel-body{flex-direction:column;flex:1;padding:18px;display:flex}.hotel-area{letter-spacing:1px;text-transform:uppercase;color:#68786a;margin-bottom:9px;font-size:9px}.hotel h3{margin-bottom:12px;font-family:Georgia,serif;font-size:23px;font-weight:400;line-height:1.15}.room{min-height:36px;margin-bottom:10px;font-size:12px;font-weight:600;line-height:1.5}.hotel p{color:#576c5c;margin-bottom:12px;font-size:11px;line-height:1.75}.hotel .verification{color:#80522d;margin-top:auto;margin-bottom:14px;font-size:10px}.hotel-actions{justify-content:space-between;align-items:center;gap:9px;display:flex}.hotel-actions>a{font-size:10px}.hotels.city{grid-template-columns:repeat(2,1fr)}.hotel.selected .select-hotel{color:var(--teal);background:#e4eee2}.explore-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.explore-card{border:1px solid var(--line);background:#fffdf7;border-radius:13px;flex-direction:column;padding:22px;display:flex}.explore-card>.icon{color:#587653;width:28px;height:28px;margin-bottom:22px}.explore-card h3{margin-bottom:11px;font-family:Georgia,serif;font-size:24px;font-weight:400}.explore-card p{color:#5b6c60;margin:12px 0 19px;font-size:12px;line-height:1.8}.explore-card .button{align-self:flex-start;margin-top:auto}.explore-card>a{margin:13px 0 0;font-size:10px}.event-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0;display:grid}.event-card{background:#ece7d7;border-radius:13px;padding:21px}.event-card h3{margin:10px 0;font-size:16px;font-weight:600}.event-card p{color:#5e6651;font-size:11px;line-height:1.8}.event-card a{margin-top:14px;font-size:10px;display:inline-block}.wish-list{color:#4e6858;background:#e5ede2;border-radius:8px;margin-bottom:20px;padding:13px 16px;font-size:12px;line-height:1.8}.prep-header{background:#e3ebdf;border-radius:12px;max-width:550px;margin-bottom:24px;padding:18px 20px}.prep-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.task{border-bottom:1px solid #e4e7dc;align-items:flex-start;gap:12px;padding:14px 0;font-size:12px;line-height:1.6;display:flex}.task:last-child{border:0;padding-bottom:0}.task:first-of-type{padding-top:8px}.task input{margin:2px 0 0}.task strong{font-weight:600;display:block}.task small{margin-top:3px;font-size:10px;line-height:1.7;display:block}.task input:checked+span strong{color:#69806c;text-decoration:line-through}.task input:disabled+span strong{text-decoration:none}.notes-layout{grid-template-columns:1.1fr 1fr;gap:20px;display:grid}.notes-field{resize:vertical;width:100%;min-height:250px;color:var(--ink);background:#fffdf7;border:1px solid #c5d0bf;border-radius:10px;margin:12px 0;padding:17px;font-size:13px;line-height:1.8}.notes-layout .box{margin-bottom:16px}.change{border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.change:last-child{border:0}.change small{margin-top:5px;font-size:10px;display:block}.source-list{grid-template-columns:1fr 1fr;gap:13px;display:grid}.source{border:1px solid var(--line);background:#fffdf7;border-radius:10px;padding:18px}.source h3{margin-bottom:7px;font-size:14px;font-weight:600}.source p{color:#5b705f;font-size:11px;line-height:1.75}.source a{margin-top:9px;font-size:11px;display:inline-block}.source-note{margin:20px 0;font-size:12px;line-height:1.8}.dialog{background:var(--paper);width:min(490px,100% - 32px);color:var(--ink);border:0;border-radius:16px;padding:27px;box-shadow:0 20px 80px #15372a33}.dialog::backdrop{background:#102d2566}.dialog h2{margin-bottom:8px;font-family:Georgia,serif;font-size:28px;font-weight:400}.dialog p{color:#536c5c;margin-bottom:20px;font-size:11px;line-height:1.8}.dialog .field{margin-bottom:16px}.dialog textarea{resize:vertical;min-height:140px;line-height:1.7}.dialog-actions{justify-content:flex-end;gap:10px;display:flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.form-error{color:#943e24;flex-basis:100%;margin-top:0;font-size:11px}[hidden]{display:none!important}@media (width>=1100px){.hero-copy{padding:43px 40px}.hero-art>svg{min-height:365px}}@media (width<=850px){.app{padding:0 20px 22px}.hero-copy{padding:27px 23px}.hero h1{font-size:45px}.hero-art>svg{min-height:335px}.hotels{grid-template-columns:1fr 1fr}.hotel:last-child:nth-child(odd){grid-column:1/-1}.explore-grid{grid-template-columns:1fr 1fr}.itinerary-layout{grid-template-columns:1.5fr 1fr}.tab{padding:10px 12px;font-size:12px}.tab .icon{width:16px}.phases{gap:10px}.phase{padding:17px}}@media (width<=600px){.app{padding:0 16px 20px}.masthead{padding:19px 0 16px}.brand{font-size:20px}.brand small{font-size:9px}.brand svg{width:30px}.header-actions{gap:7px}.header-actions .button{padding:9px}.header-actions .button span{display:none}.save-state{max-width:88px;font-size:9px}.tabs{gap:3px;margin-right:-16px;padding-right:16px}.tab{padding:10px 12px}.panel{padding-top:19px}.hero{grid-template-columns:1fr}.hero-copy{padding:28px 25px}.hero h1{font-size:51px}.hero-art>svg{aspect-ratio:1.55;height:auto;min-height:0}.hero-art{max-height:290px;overflow:hidden}.hero-copy>p{font-size:13px}.tags{margin:16px 0 19px}.fact{gap:7px;padding:14px 10px}.fact .icon{width:16px;height:16px}.fact b{font-size:11px}.fact small{font-size:9px}.facts{margin-bottom:23px}.phases{grid-template-columns:1fr}.phase{grid-template-columns:31px 1fr;gap:14px;padding:18px 20px;display:grid}.phase-no{grid-row:span 3;margin:0;font-size:24px}.phase h3{margin:6px 0;font-size:16px}.phase p{font-size:12px}.phase .eyebrow{font-size:9px}.phase>div{grid-column:2}.dashboard,.itinerary-layout,.prep-grid,.notes-layout,.source-list{grid-template-columns:1fr}.aside{position:static}.aside>svg{max-height:240px}.section-top h2{font-size:23px}.page-title h1{font-size:33px}.page-title{flex-direction:column;align-items:flex-start;gap:5px;margin-bottom:20px}.page-title p{font-size:12px}.hotels,.hotels.city,.explore-grid,.event-grid{grid-template-columns:1fr}.hotel:last-child:nth-child(odd){grid-column:auto}.hotel-illustration{height:156px}.hotel h3{font-size:26px}.hotel p{font-size:12px}.room{min-height:0}.hotel-body{padding:20px}.day{grid-template-columns:40px 1fr auto;gap:10px;padding:17px 0}.day-date{font-size:24px}.day h3{font-size:14px}.day p{font-size:11px}.day-meta{font-size:9px}.booking-block{gap:12px;padding:16px}.booking-block .field{min-width:120px}.booking-block .button{margin-left:auto}.booking-summary{padding:3px 0}.foot{flex-direction:column;gap:5px}.event-grid{margin-top:20px}.box{padding:20px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}.phase:hover{transform:none}}@media print{.app{background:#fff;padding:0}.tabs,.header-actions,.button,.edit-button,.text-button,.foot{display:none!important}.panel[hidden]{display:block!important}.hero,.hotel,.source,.box,.day{break-inside:avoid}.aside{position:static}.panel{break-before:page}.panel:first-of-type{break-before:auto}.hotel-illustration{height:100px}.notes-field{min-height:100px}.page-title h1{font-size:28px}}.pwa-tools{color:#536a60;justify-content:space-between;align-items:center;gap:12px;padding:12px 0 0;font-size:11px;display:flex}.pwa-tools>div{gap:8px;display:flex}.install-help{margin-top:10px;font-size:12px;line-height:1.7}.maps-controls{flex-wrap:wrap;align-items:end;gap:14px;margin-bottom:18px;display:flex}.maps-controls label{gap:7px;font-size:12px;font-weight:600;display:grid}.maps-controls select{font:inherit;color:var(--ink);background:#fffdf7;border:1px solid #bdc9bb;border-radius:8px;min-width:170px;padding:10px}.maps-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.map-frame{border:1px solid var(--line);background:#d6e5dc;border-radius:13px;overflow:hidden}.map-frame #maps-fallback>svg{width:100%;height:360px}.map-frame #google-map{height:400px}.map-caption-text{background:#fffdf7;padding:14px 18px;font-size:11px;line-height:1.7}.map-actions{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.maps-day-list+.maps-day-list{margin-top:20px}.maps-day-list h3{color:#536a60;font-size:12px}.maps-day-list ul{margin:0;padding:0;list-style:none}.maps-day-list li{border-bottom:1px solid var(--line);padding:11px 0;font-size:12px;line-height:1.7}.maps-day-list li:last-child{border:0}.maps-key-settings{border:1px solid var(--line);background:#fffdf7;border-radius:10px;margin:20px 0;padding:17px;font-size:12px;line-height:1.8}.maps-key-settings summary{cursor:pointer;font-weight:600}.maps-key-settings code{overflow-wrap:anywhere}.maps-key-settings p{margin:12px 0}.maps-key-settings form{flex-wrap:wrap;align-items:end;gap:12px;margin-top:14px;display:flex}.maps-key-settings .field{min-width:220px}.maps-key-settings input{font-family:ui-monospace,monospace}.maps-status{margin-top:12px;font-size:12px;line-height:1.7}.pwa-tools [hidden],.map-frame [hidden]{display:none}@media (width<=700px){.maps-layout{grid-template-columns:1fr}.pwa-tools{align-items:flex-start}.map-frame #google-map{height:340px}.maps-controls{gap:10px}.maps-controls label{flex:1}.maps-controls select{width:100%;min-width:0}.maps-key-settings .field{flex-basis:100%;min-width:0}}.button,.tab,.edit-button,.text-button,.maps-controls select{min-height:44px}select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline-offset:4px;outline:3px solid #be592c}.skip-link{z-index:10;background:var(--teal);color:#fff;border-radius:8px;padding:12px 16px;position:absolute;top:8px;left:16px;transform:translateY(-160%)}.skip-link:focus{transform:none}.hotel.selected{box-shadow:inset 0 0 0 1px var(--teal);border-width:1px}.foot{color:#536a60}.traveller-advice{align-items:start}.traveller-advice summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:13px;font-weight:600}.traveller-advice p{margin:12px 0}.traveller-advice a{overflow-wrap:anywhere;font-size:11px}.map-frame{--map-height:400px;position:relative}.map-frame #maps-fallback>svg,.map-frame #google-map{height:var(--map-height)}.map-frame #google-map{position:relative}.map-loading{z-index:1;color:var(--teal);background:#fffdf7;border-radius:8px;padding:10px 14px;font-size:13px;position:absolute;top:12px;left:12px;box-shadow:0 2px 8px #15372a22}.map-frame[aria-busy=true] #google-map{opacity:0;pointer-events:none;position:absolute;inset:0 0 auto}.map-actions #load-google-map{min-width:170px}.pwa-tools{min-height:64px}.pwa-tools>[role=status]{min-height:2.8em;line-height:1.4}.tabs{overscroll-behavior-x:contain;scroll-padding-inline:8px}.mini-task{min-height:28px}.field input{min-height:44px}.hotel-actions>a,.explore-card>a,.event-card a,.source a{align-items:center;min-height:28px;display:inline-flex}@media (width<=700px){.map-frame{--map-height:340px}.field input,.field textarea,.maps-controls select{font-size:16px}}.flight-card{margin:18px 0 26px}.flight-route{justify-content:space-between;align-items:center;gap:20px;display:flex}.flight-route b{font-size:22px;display:block}.flight-route span{color:#536a60;font-size:12px;line-height:1.7;display:block}.flight-route .flight-duration{text-align:center}.ticket-details{border-top:1px solid var(--line);margin-top:18px;padding-top:10px}.ticket-details summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:13px;font-weight:600}.ticket-facts{flex-wrap:wrap;gap:20px;margin:8px 0 18px;display:flex}.ticket-facts dt{color:#536a60;font-size:11px}.ticket-facts dd{margin:5px 0 0;font-size:14px;font-weight:600}.ticket-details p{margin-top:12px}.map-frame[aria-busy=true] #maps-fallback svg{visibility:hidden}.pwa-tools{justify-content:flex-end}.pwa-tools>[role=status]:not([hidden]){margin-right:auto}.maps-status{min-height:1.7em}@media (width<=600px){.flight-route{flex-wrap:wrap;gap:14px}.flight-route .flight-duration{text-align:left;flex-basis:100%;order:3}.flight-route b{font-size:20px}}.day>div,.itinerary-layout>div,.discovery-layout>*{min-width:0}.day-map{grid-column:1/-1;width:100%;min-width:0}.day-tools{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.inline-map{border:1px solid var(--line);background:#fffdf7;border-radius:12px;min-width:0;margin-top:12px;padding:12px}.place-map{background:#e2e9df;border-radius:10px;width:100%;max-width:100%;height:330px;overflow:hidden}.place-map[aria-busy=true]{opacity:.65}.map-frame.place-map-frame{--map-height:330px;grid-template-rows:var(--map-height) 100px;height:calc(var(--map-height) + 100px);min-width:0;display:grid}.map-frame .place-map{height:var(--map-height)}.map-footer{align-items:center;gap:10px;min-height:0;padding:10px;display:flex}.map-frame .map-status{flex:1;max-height:100%;margin:0;overflow:auto}.map-footer>.button{flex-shrink:0}.discovery-map .map-frame{--map-height:450px}.stay-near .map-frame{--map-height:320px}.trip-tools{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 22px;display:flex}.trip-tools>.place-hint{flex-basis:100%;height:58px;margin:0;overflow:auto}.weather-source{align-items:center;min-height:44px;padding:4px 8px;font-size:12px;display:inline-flex}.day-weather{margin-top:12px}.weather-box{border:1px solid var(--line);background:#f0f3e9;border-radius:10px;height:200px;padding:14px;font-size:12px;line-height:1.6;overflow:auto}.weather-box strong{font-size:13px}.weather-reading{font-weight:600}.weather-note{margin:6px 0;font-size:11px}.weather-warning{color:#713e13;background:#fff0d5;border:1px solid #d2a05c;border-radius:8px;padding:10px;font-size:12px;line-height:1.6}.calendar-button{margin-top:8px}.day-tools .calendar-button{margin-top:0}@media (width<=700px){.map-frame.place-map-frame,.discovery-map .map-frame,.stay-near .map-frame{--map-height:300px}.weather-box{height:240px}}.map-status,.place-hint{color:#53665a;overflow-wrap:anywhere;margin:10px 0;font-size:12px;line-height:1.6}.map-toolbar{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:10px;display:flex}.map-toolbar label,.explore-filters label{gap:6px;font-size:12px;font-weight:600;display:grid}.map-toolbar select,.explore-filters select,.stay-form input{font:inherit;min-height:44px;color:var(--ink);background:#fffdf7;border:1px solid #bdc9bb;border-radius:8px;max-width:100%;padding:10px}.place-list{gap:12px;margin:14px 0 0;padding:0;list-style:none;display:grid}.place-card{border:1px solid var(--line);overflow-wrap:anywhere;background:#fffdf7;border-radius:12px;min-width:0;padding:16px;scroll-margin-top:20px}.place-card.is-active{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal);background:#edf2e8}.place-select{color:var(--ink);text-align:left;background:0 0;align-items:center;gap:10px;width:100%;min-height:44px;padding:0;font-size:15px;font-weight:650;line-height:1.45;display:flex}.pin-number{background:var(--teal);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;min-width:28px;height:28px;font-size:12px;display:grid}.place-card p,.place-info p{color:#4f6558;margin:7px 0;font-size:12px;line-height:1.75}.place-card .eyebrow{font-size:9px;line-height:1.7}.place-facts{color:#53665a;flex-wrap:wrap;gap:6px 12px;margin:10px 0;font-size:11px;line-height:1.6;display:flex}.place-links{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.place-links .button{white-space:normal;text-align:center;min-height:44px}.place-info{color:#263c37;overflow-wrap:anywhere;max-width:260px;padding:2px;font-family:system-ui,sans-serif}.place-info strong{font-size:14px;line-height:1.5}.place-info .button{padding:10px;font-size:11px}.place-info .place-links{grid-template-columns:repeat(2,minmax(0,1fr));margin:8px 0;display:grid}.place-hours{margin-top:7px;font-size:11px;line-height:1.7}.place-hours summary,.stay-editor summary,.more-explore>summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:600}.explore-filters{flex-wrap:wrap;align-items:end;gap:12px;margin:20px 0;display:flex}.explore-filters label{flex:1;min-width:140px}.explore-filters select{width:100%;min-width:0}.discovery-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.discovery-map{grid-area:1/2;position:sticky;top:18px}.discovery-list{grid-area:1/1}.discovery-list .place-list{margin-top:0}.stay-near{margin:24px 0}.stay-near .place-list{grid-template-columns:repeat(2,minmax(0,1fr))}.stay-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0;display:grid}.stay-form .field{min-width:0}.stay-form .wide{grid-column:1/-1}.stay-form .place-links{margin:0}.booked-summary{border-left:3px solid var(--teal);overflow-wrap:anywhere;background:#edf1e5;margin-top:10px;padding:9px 12px;font-size:12px;line-height:1.7}.booked-summary strong{display:block}.night-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.night-slot{border:1px solid var(--line);text-align:left;color:var(--ink);overflow-wrap:anywhere;background:#fffdf7;border-radius:8px;min-height:44px;padding:12px;font-size:12px;line-height:1.6}.night-slot[aria-pressed=true]{border-color:var(--teal);background:#e7eee1}.near-title{margin-bottom:12px}.near-title h2{margin:8px 0;font:400 28px Georgia,serif}.more-explore{margin:30px 0}.more-explore>summary{font:400 24px Georgia,serif}.button,button,summary,select,input:not([type=checkbox]){min-height:44px}.gm-style button{min-width:44px;min-height:44px}.gm-style .gm-style-iw-c{max-width:calc(100vw - 76px)!important}@media (width<=700px){.discovery-layout{grid-template-columns:minmax(0,1fr)}.discovery-map{grid-area:1/1;position:static}.discovery-list{grid-area:2/1}.stay-near .place-list,.stay-form{grid-template-columns:1fr}.stay-form .wide{grid-column:auto}.place-card{padding:14px}.map-toolbar select{width:100%}.map-toolbar label{flex:1}.place-info{max-width:230px}.explore-filters label{min-width:120px}.night-slots{grid-template-columns:1fr 1fr}.inline-map{padding:10px}}@media print{.place-map,.map-toolbar,.explore-filters,.stay-form,.night-slots{display:none!important}.discovery-layout,.more-explore{display:block}}.app .edit-button,.app .header-actions button{justify-content:center;align-items:center;min-width:44px;display:inline-flex}.app .mini-task,.app .task,.app .hotel-actions>a,.app .explore-card>a,.app .event-card a,.app .source a{min-height:44px}.dialog .dialog-actions{background:var(--paper);padding:12px 0;position:sticky;bottom:-20px}.dialog{overscroll-behavior:contain;max-height:calc(100dvh - 32px);overflow:auto}.section-jumps{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.festival-guide{background:#eee7d9;border:1px solid #d5c9ac;border-radius:13px;margin:26px 0;padding:24px;scroll-margin-top:20px}.festival-guide h2{margin:10px 0;font:400 32px Georgia,serif}.festival-guide p,.festival-guide li,.festival-guide dd{font-size:14px;line-height:1.75}.festival-guide>p{max-width:750px}.festival-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0;display:grid}.festival-facts dt{text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-size:11px;font-weight:700}.festival-facts dd{margin:0}.festival-columns{grid-template-columns:1fr 1fr;gap:24px;display:grid}.festival-columns h3{margin:0 0 8px;font-size:16px}.festival-columns ul{margin:0 0 18px;padding-left:20px}.festival-guide .place-links{margin-top:18px}.festival-guide .festival-sources{margin-top:18px;font-size:12px}.festival-sources a{align-items:center;min-height:44px;margin-right:12px;display:inline-flex}#booked-stay{scroll-margin-top:20px}@media (width<=700px){.app .tabs{grid-template-columns:1fr 1.15fr .9fr .9fr;gap:4px;margin-right:0;padding:8px 0;display:grid;overflow:visible}.app .tab{letter-spacing:-.2px;justify-content:center;padding:10px 2px;font-size:12px}.app .tab .icon{display:none}.app .masthead{gap:10px}.app .brand{min-width:0}.app .brand small{letter-spacing:1px}.app .header-actions{flex-shrink:0}.app .save-state{max-width:78px}.app .map-toolbar select,.app .explore-filters select,.app .notes-field{font-size:16px}.app .explore-filters{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;display:grid}.app .explore-filters label{min-width:0}.app #near-me{grid-column:1/-1;justify-self:start}.app .booking-block .field{flex-basis:100%;min-width:0}.app .day{grid-template-columns:36px minmax(0,1fr) 44px;gap:10px}.app .day h3{font-size:15px}.app .day p,.app .place-card p{font-size:13px}.app .day-meta{font-size:11px}.app .place-facts,.app .place-hours{font-size:12px}.app .page-title p,.app .task,.app .mini-task,.app .source p{font-size:13px}.app .task small{font-size:12px}.app .map-frame.place-map-frame{--map-height:350px}.dialog.dialog{padding:20px}.dialog.dialog textarea{min-height:100px}.festival-guide{padding:18px}.festival-guide h2{font-size:29px}.festival-facts,.festival-columns{grid-template-columns:1fr;gap:16px}}@media (width<=360px){.app .masthead{flex-wrap:wrap}.app .header-actions{margin-left:auto}.app .save-state{max-width:none}}body{background:var(--paper)}.tab{text-decoration:none}.panel:not([hidden]){animation:.18s ease-out panel-enter}@keyframes panel-enter{0%{opacity:.7;transform:translateY(4px)}to{opacity:1;transform:none}}button,a.button,select,summary{min-height:44px}select{font:inherit;min-width:0;max-width:100%;color:var(--ink);background:#fffdf7;border:1px solid #bfcabd;border-radius:7px;padding:10px}.field input,.field textarea{min-width:0}.map-mode{flex:0 180px}.map-toolbar{align-items:end}.place-map{height:360px}.map-footer{min-height:108px}.day-weather{min-height:180px}.weather-content{min-height:88px;margin-top:8px}.weather-imd{align-items:center;min-height:44px;display:inline-flex}.day-tools,.trip-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.trip-tools{margin-bottom:18px}.day-map{min-width:0}.day-weather p{margin:4px 0}.night-buttons{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.night-buttons [aria-pressed=true]{background:var(--teal);color:#fff}.booked-editor{scroll-margin-top:20px}.export-status{background:var(--teal);color:#fff;z-index:20;border-radius:8px;max-width:450px;padding:12px;font-size:12px;position:fixed;bottom:16px;left:16px;right:16px}.explore-filters{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.explore-status{min-height:44px;margin:12px 0;font-size:12px;line-height:1.7}.explore-places{margin-bottom:28px}.airport-stays{margin-bottom:22px}.later-nights{margin-top:22px}.place-select{min-height:44px}.place-info .button{margin-top:8px}.place-hours summary{padding-block:10px}.booked-summary strong{font-size:12px}.booked-summary p{overflow-wrap:anywhere}.box,.hotel-body,.place-card{min-width:0}.button:disabled{opacity:.6}.source-list a,.festival-sources a{overflow-wrap:anywhere}.maps-key-settings input{max-width:100%}@media (width>=900px){.explore-places .inline-map,.airport-stays .inline-map{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:16px;display:grid}.explore-places .map-toolbar,.airport-stays .map-toolbar{grid-column:1/-1}.explore-places .place-map-frame,.airport-stays .place-map-frame{position:sticky;top:20px}.explore-places .place-list,.airport-stays .place-list{grid-area:2/2}}@media (width<=600px){.place-map{height:300px}.map-footer{min-height:126px}.field input,.field textarea,select{font-size:16px}.explore-filters>.field{flex-basis:100%}.day-weather{min-height:200px}.day-map{grid-column:1/-1}.day-tools .button{flex:1}.map-mode{flex-basis:100%}.maps-controls{align-items:stretch}.maps-controls .field{min-width:0}.map-toolbar>.button{width:100%}.day-date small{font-size:9px}.hotel-actions{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.panel:not([hidden]){animation:none}*{scroll-behavior:auto!important}}.day-weather{grid-template-rows:44px minmax(0,1fr) 44px;gap:6px;height:232px;display:grid}.day-weather>button{justify-self:start}.weather-content{min-height:0;margin:0;overflow:auto}.map-footer{height:138px;overflow:auto}.day-weather .weather-imd{font-size:11px}.day-weather .pill{line-height:1.5}.map-frame.place-map-frame{grid-template-rows:var(--map-height) 138px;height:calc(var(--map-height) + 138px)}.itinerary-help{color:#536a60;margin:0 0 16px;font-size:12px;line-height:1.7}.trip-tools>.itinerary-help{flex-basis:100%;margin:0}#itinerary .day{grid-template-columns:55px minmax(0,1fr) auto;gap:16px}.day-toggle{align-self:start;min-width:84px}#itinerary .day-map{border:1px solid var(--line);background:#fffdf7;border-radius:12px;padding:16px 18px}#itinerary .day-description{margin-bottom:8px}#itinerary .day-transport{margin-bottom:14px;font-size:11px}#itinerary .booked-summary{background:var(--soft);border-left:0;border-radius:8px;margin:0;padding:12px}.day-weather-details{border-top:1px solid var(--line);margin-top:14px}.day-weather-details>summary,.stop-options>summary{cursor:pointer;color:var(--teal);min-height:44px;padding:12px 0;font-size:12px;font-weight:600}.day-weather-details .day-weather{grid-template-rows:44px auto 44px;height:auto;min-height:0}.day-weather-details .weather-content{min-height:88px;overflow:visible}@media print{#itinerary .day-map[hidden]{display:block!important}#itinerary .later-nights::details-content{content-visibility:visible}#itinerary .stop-options{display:none}}.stop-editor{background:0 0;border:0;border-radius:0;margin-top:14px;padding:0}.stop-editor-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.stop-editor-top strong{font-size:13px}.stop-warning{color:#713e13;background:#fff0d5;border:1px solid #d2a05c;border-radius:8px;margin:8px 0;padding:8px 10px;font-size:12px;font-weight:600}.stop-list{gap:0;margin:10px 0 0;padding:0;list-style:none;display:grid}.stop-row{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:14px 0}.stop-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.stop-title{align-items:center;gap:10px;min-width:0;display:flex}.stop-number{background:var(--soft);width:26px;height:26px;color:var(--teal);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:650;display:grid}.stop-order{flex-shrink:0;gap:6px;display:flex}.stop-order .button{min-width:44px;padding:8px;font-size:18px}.stop-name{font-size:13px;font-weight:650}.stop-time{color:#4d635a;font-variant-numeric:tabular-nums;margin-top:3px;font-size:12px;display:block}.stop-note{color:#713e13;margin:6px 0 0;font-size:11px;line-height:1.6}.stop-options{margin-left:36px}.stop-controls{flex-wrap:wrap;align-items:end;gap:8px;margin-top:8px;display:flex}.stop-move{gap:4px;font-size:11px;font-weight:600;display:grid}.stop-times{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.stop-times label{gap:4px;font-size:11px;font-weight:600;display:grid}.stop-times input,.stop-times select{max-width:100%;min-height:44px;color:var(--ink);background:#fffdf7;border:1px solid #bfcabd;border-radius:7px;padding:10px}.stop-times label{min-width:0}@media (width<=700px){#itinerary .day{grid-template-columns:36px minmax(0,1fr) auto;gap:10px}#itinerary .day-map{padding:14px}.day-toggle{min-width:76px;padding-inline:10px}.stop-options{margin-left:0}.stop-times{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stop-times input,.stop-times select{width:100%;font-size:16px}}.add-to-day{gap:6px;margin-top:10px;font-size:12px;font-weight:600;display:grid}.pill.green{color:#18533b;background:#dcf2e3}.today-grid{grid-template-columns:1.2fr 1fr;gap:16px;display:grid}.countdown-number{align-items:baseline;gap:10px;margin:12px 0 8px;display:flex}.countdown-number b{color:var(--teal);font-family:Georgia,serif;font-size:48px;font-weight:400;line-height:1}.countdown-number span{color:#55695c;font-size:14px}.countdown-date{color:#506456;font-size:12px;line-height:1.7}.nav-banner{background:#e5ede4;border-color:#b9ccb9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.big-navigate{padding:12px 18px;font-size:14px}.mode-tag{color:#fff;background:#154536}.today-timeline-layout{grid-template-columns:1.6fr 1fr;align-items:start;gap:20px;display:grid}.timeline-items{flex-direction:column;gap:12px;margin-top:14px;display:flex}.timeline-item{border:1px solid var(--line);background:#f9faf4;border-radius:9px;grid-template-columns:70px 1fr;gap:12px;padding:12px;display:grid}.timeline-item.is-next{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal);background:#edf5ee}.timeline-item.is-current{background:#fbf3ec;border-color:#be592c;box-shadow:0 0 0 1px #be592c}.timeline-item.is-past{opacity:.65}.timeline-time{color:#53675a;flex-direction:column;font-size:11px;display:flex}.timeline-time b{color:var(--ink);font-size:14px}.timeline-title-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.timeline-place-name{margin:0;font-size:14px;font-weight:600}.timeline-reason{color:#526958;margin:4px 0;font-size:11px;line-height:1.5}.tonight-card{background:#fffdf7}@media (width<=768px){.today-grid,.today-timeline-layout,.category-chips{grid-template-columns:1fr}.nav-banner{flex-direction:column;align-items:stretch}.nav-banner .button{width:100%}.timeline-item{grid-template-columns:55px 1fr}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
