@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2?dpl=dpl_fGEksD6VorReEtRM1zBn7Lyds7SW)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2?dpl=dpl_fGEksD6VorReEtRM1zBn7Lyds7SW)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2?dpl=dpl_fGEksD6VorReEtRM1zBn7Lyds7SW)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2?dpl=dpl_fGEksD6VorReEtRM1zBn7Lyds7SW)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2?dpl=dpl_fGEksD6VorReEtRM1zBn7Lyds7SW)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2?dpl=dpl_fGEksD6VorReEtRM1zBn7Lyds7SW)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2?dpl=dpl_fGEksD6VorReEtRM1zBn7Lyds7SW)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2?dpl=dpl_fGEksD6VorReEtRM1zBn7Lyds7SW)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_81a33cc5-module___RQdfW__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_81a33cc5-module___RQdfW__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/da4b870ab52b3094-s.0v_p~5_c0b~1d.woff2?dpl=dpl_fGEksD6VorReEtRM1zBn7Lyds7SW)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/86d70b7c76b6ec6e-s.17_wf1k7ou9-q.woff2?dpl=dpl_fGEksD6VorReEtRM1zBn7Lyds7SW)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/11cc37d7380d16b4-s.0ptcwqi9jx~4d.woff2?dpl=dpl_fGEksD6VorReEtRM1zBn7Lyds7SW)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a85fe84266768609-s.p.05b418i5bs~lg.woff2?dpl=dpl_fGEksD6VorReEtRM1zBn7Lyds7SW)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/da4b870ab52b3094-s.0v_p~5_c0b~1d.woff2?dpl=dpl_fGEksD6VorReEtRM1zBn7Lyds7SW)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/86d70b7c76b6ec6e-s.17_wf1k7ou9-q.woff2?dpl=dpl_fGEksD6VorReEtRM1zBn7Lyds7SW)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/11cc37d7380d16b4-s.0ptcwqi9jx~4d.woff2?dpl=dpl_fGEksD6VorReEtRM1zBn7Lyds7SW)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a85fe84266768609-s.p.05b418i5bs~lg.woff2?dpl=dpl_fGEksD6VorReEtRM1zBn7Lyds7SW)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat Fallback;src:local(Arial);ascent-override:124.77%;descent-override:38.99%;line-gap-override:0.0%;size-adjust:76.94%}.caveat_233c50f7-module__CdMTbq__className{font-family:Caveat,Caveat Fallback;font-style:normal}.caveat_233c50f7-module__CdMTbq__variable{--font-caveat:"Caveat", "Caveat Fallback"}
@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;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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))}}:root{--cream:#fbf5e6;--bottom-bar-h:64px;--bottom-bar-clearance:0px;--paper:#fffbf0;--paper-deep:#f5ebd0;--ink:#1a1f2e;--ink-soft:#4a5160;--ink-mute:#6b7280;--indigo:#1e3a5f;--vermillion:#c8462c;--sakura:#e89a8e;--matcha:#7b9a56;--gold:#d9a53d;--sky:#86a8c9;--hair:#e8dec6;--hair-soft:#f0e8d2;--serif:var(--font-shippori), "Times New Roman", serif;--sans:var(--font-dm-sans), system-ui, -apple-system, sans-serif;--hand:var(--font-caveat), cursive}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 12% 8%,#c8462c0a 0,#0000 40%),radial-gradient(circle at 88% 18%,#1e3a5f0a 0,#0000 45%),radial-gradient(circle at 50% 100%,#7b9a560a 0,#0000 50%);font-size:16px;line-height:1.5}button{cursor:pointer;font-family:inherit}.app-shell{grid-template-columns:240px minmax(0,1fr);max-width:1440px;min-height:100vh;margin:0 auto;display:grid}.app-content{flex-direction:column;min-width:0;display:flex}.sidenav{border-right:1px solid var(--hair);-webkit-backdrop-filter:saturate(180%)blur(8px);background:#fbf5e6a6;align-self:start;height:100vh;position:sticky;top:0}.sidenav-inner{padding:28px 22px 32px;padding-left:max(22px, env(safe-area-inset-left));flex-direction:column;gap:28px;height:100%;display:flex;overflow-y:auto}.sidenav-brand{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.brand-mark{background:var(--vermillion);width:30px;height:30px;color:var(--cream);font-family:var(--serif);border-radius:6px;place-items:center;font-size:18px;font-weight:800;display:inline-grid;transform:rotate(-4deg)}.brand-text{font-family:var(--serif);letter-spacing:-.01em;font-size:18px;font-weight:700}.sidenav-groups{flex-direction:column;gap:22px;display:flex}.sidenav-group{flex-direction:column;gap:6px;display:flex}.sidenav-group-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700;text-decoration:none;transition:color .15s,background .15s;display:block}.sidenav-group-label:hover{color:var(--ink);background:var(--paper-deep)}.sidenav-group-label.active{color:var(--vermillion)}.sidenav-sublinks{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.sidenav-sublinks li{margin:0}.sidenav-link{color:var(--ink-soft);border-left:1px dashed var(--hair);margin-left:8px;padding:6px 10px 6px 14px;font-size:13.5px;font-weight:500;text-decoration:none;transition:color .15s,background .15s,border-color .15s;display:block}.sidenav-link:hover{color:var(--vermillion);background:var(--paper-deep);border-left-color:var(--vermillion)}.day-plans-toolbar{justify-content:flex-end;max-width:1200px;margin:0 auto;padding:0 28px;display:flex}.kid-toggle{border:1px solid var(--hair);color:var(--ink-soft);white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 10px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.kid-toggle:hover{border-color:var(--gold);color:var(--ink)}.kid-toggle.on{color:#7a4a0a;background:#ffe6b0;border-color:#e8b850}.kid-toggle-dot{background:#c9bc9a;border-radius:50%;width:8px;height:8px;transition:background .15s}.kid-toggle.on .kid-toggle-dot{background:var(--gold);box-shadow:0 0 0 3px #d9a53d40}.hero{max-width:1200px;margin:0 auto;padding:56px 0 24px}.hero-top{text-align:center;max-width:720px;margin:0 auto 40px}.hero-eyebrow{color:var(--vermillion);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:24px;font-size:13px;font-weight:600;display:inline-flex}.hero-eyebrow .dot{background:var(--vermillion);border-radius:50%;width:6px;height:6px}.hero-title{font-family:var(--serif);letter-spacing:-.03em;color:var(--ink);flex-direction:column;align-items:center;gap:4px;margin:0;font-size:clamp(48px,8vw,96px);font-weight:800;line-height:.95;display:flex}.hero-jp{color:var(--vermillion);opacity:.85;font-size:.55em}.hero-sub{max-width:540px;font-family:var(--hand);color:var(--ink-soft);margin:18px auto 0;font-size:26px;line-height:1.2;transform:rotate(-.5deg)}.hero-stats{grid-template-columns:repeat(4,1fr);gap:12px;max-width:520px;margin-top:32px;margin-left:auto;margin-right:auto;display:grid}.stat{text-align:center;border-right:1px dashed var(--hair);padding:10px 8px}.stat:last-child{border-right:none}.stat-num{font-family:var(--serif);color:var(--ink);font-size:36px;font-weight:800;line-height:1}.stat-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);margin-top:6px;font-size:12px;font-weight:500}.hero-map{background:var(--paper);border:1px solid var(--hair);border-radius:12px;padding:12px;overflow:hidden;box-shadow:inset 0 1px #ffffff80,0 14px 30px -18px #1a1f2e33}.main{width:100%;max-width:1200px;padding:24px max(28px, env(safe-area-inset-right)) 80px max(28px, env(safe-area-inset-left));margin:0 auto}.city-section{margin-top:56px;scroll-margin-top:24px}.city-header{margin-bottom:24px}.city-rule{border-radius:2px;width:56px;height:4px;margin-bottom:16px}.city-header-inner{align-items:center;gap:18px;display:flex}.city-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);font-size:12px;font-weight:600}.city-title{font-family:var(--serif);letter-spacing:-.02em;margin:4px 0 0;font-size:44px;font-weight:800;line-height:1}.city-sub{font-family:var(--hand);color:var(--ink-soft);margin-top:4px;font-size:22px}.city-days{flex-direction:column;gap:16px;display:flex}.day-card{background:var(--paper);border:1px solid var(--hair);border-radius:14px;padding:24px;transition:box-shadow .2s,transform .2s;position:relative;box-shadow:inset 0 1px #fff9}.day-card:hover{box-shadow:0 8px 24px -16px #1a1f2e40,inset 0 1px #fff9}.day-card:before{content:"";background:var(--accent);border-radius:3px;width:3px;position:absolute;top:24px;bottom:24px;left:0}.day-card-grid{grid-template-columns:200px 1fr;gap:28px;display:grid}.day-card-left{border-right:1px dashed var(--hair);padding-left:12px;padding-right:20px}.day-num-row{align-items:center;gap:14px;margin-bottom:12px;display:flex}.day-num{font-family:var(--serif);color:var(--ink);letter-spacing:-.04em;font-size:64px;font-weight:800;line-height:.9}.day-date{font-family:var(--sans);color:var(--ink);letter-spacing:0;font-size:15px;font-weight:600}.day-weather{color:var(--ink-mute);letter-spacing:.02em;margin-top:6px;font-size:12px;font-weight:500}.day-card-right{min-width:0}.day-theme{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:700}.day-headline{font-family:var(--serif);letter-spacing:-.015em;margin:4px 0 8px;font-size:28px;font-weight:700;line-height:1.15}.day-blurb{color:var(--ink-soft);text-wrap:pretty;margin:0 0 16px;font-size:15px;line-height:1.55}.day-items{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.day-item{border-radius:8px;grid-template-columns:32px minmax(0,1fr) auto;align-items:start;gap:2px 10px;padding:8px 10px;transition:background .15s;display:grid}.day-item:hover{background:var(--paper-deep)}.day-item.toddler-hl{background:linear-gradient(#fff4d6 0%,#ffebc2 100%);border:1px dashed #e8b850}.day-item:before{content:"";z-index:0;background:var(--hair);background:var(--accent);width:2px;position:absolute;top:-9px;bottom:-9px;left:25px}@supports (color:color-mix(in lab, red, red)){.day-item:before{background:color-mix(in srgb, var(--accent) 25%, var(--hair))}}.day-item:first-child:before{top:18px}.day-item:last-child:before{height:27px;bottom:auto}.day-item:first-child:last-child:before{display:none}.day-item-ico{z-index:1;background:var(--paper);border:2px solid var(--hair);border-color:var(--accent);border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.day-item-ico{border-color:color-mix(in srgb, var(--accent) 55%, var(--hair))}}.day-item-ico{box-shadow:0 0 0 3px var(--paper);transition:border-color .15s,box-shadow .15s}.day-item:hover .day-item-ico{border-color:var(--accent);box-shadow:0 0 0 3px var(--paper-deep)}.day-item.toddler-hl .day-item-ico{box-shadow:0 0 0 3px #fff4d6}.day-item-body{min-width:0;padding-top:5px}.day-item-text{color:var(--ink);text-wrap:pretty;font-size:14.5px;line-height:1.5}.day-item-note{color:var(--ink-soft);border-left:2px solid var(--accent);background:#00000006;border-radius:6px;margin-top:6px;padding:8px 10px;font-size:13px}.kidstar{color:var(--gold);vertical-align:1px;margin-left:6px;font-size:14px;display:inline-block}.chat-fab{right:max(16px, env(safe-area-inset-right));bottom:calc(16px + var(--bottom-bar-clearance));z-index:65;border:1px solid var(--indigo);justify-content:center;align-items:center;width:52px;height:52px;display:flex;position:fixed}@supports (color:color-mix(in lab, red, red)){.chat-fab{border:1px solid color-mix(in srgb, var(--indigo) 45%, var(--hair))}}.chat-fab{background:var(--indigo);color:var(--cream);cursor:pointer;border-radius:999px;box-shadow:0 10px 24px -10px #1a1f2e8c}.chat-fab.open{background:var(--ink)}.chat-fab:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.app-shell:has(.sync-status) .chat-fab{bottom:calc(16px + 52px + var(--bottom-bar-clearance))}.app-shell:has(.sync-status) .chat-panel{bottom:calc(16px + 52px + 52px + 12px + var(--bottom-bar-clearance))}.chat-panel{right:max(16px, env(safe-area-inset-right));bottom:calc(16px + 52px + 12px + var(--bottom-bar-clearance));z-index:65;background:var(--paper);border:1px solid var(--hair);border-top:3px solid var(--indigo);border-radius:14px;flex-direction:column;width:min(400px,100vw - 32px);max-height:min(560px,100vh - 180px);display:flex;position:fixed;overflow:hidden;box-shadow:0 18px 40px -18px #1a1f2e66}@media (prefers-reduced-motion:no-preference){.chat-panel{animation:.18s bookingOpen}}.chat-head{border-bottom:1px solid var(--hair-soft);justify-content:space-between;align-items:center;padding:10px 12px 8px;display:flex}.chat-title{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:11px;font-weight:700}.chat-close{cursor:pointer;color:var(--ink-mute);background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:15px;line-height:1}.chat-close:hover{background:var(--paper-deep);color:var(--ink)}.chat-log{-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;gap:10px;padding:12px;display:flex;overflow-y:auto}.chat-empty{color:var(--ink-mute);margin:0;font-size:13px;line-height:1.55}.chat-turn{flex-direction:column;gap:4px;max-width:100%;display:flex}.chat-turn-you{align-items:flex-end}.chat-turn-assistant{align-items:flex-start}.chat-bubble{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:12px;max-width:92%;padding:8px 11px;font-size:13.5px;line-height:1.55}.chat-turn-you .chat-bubble{background:var(--indigo);color:var(--cream);border-bottom-right-radius:4px}.chat-turn-assistant .chat-bubble{background:var(--paper-deep);color:var(--ink);border:1px solid var(--hair-soft);border-bottom-left-radius:4px}.chat-badge{letter-spacing:.04em;color:var(--vermillion);font-size:10.5px;font-weight:700}.chat-thinking{color:var(--ink-mute);align-items:center;gap:8px;display:flex}.chat-dot{background:var(--indigo);border-radius:999px;flex:none;width:7px;height:7px}@media (prefers-reduced-motion:no-preference){.chat-dot{animation:1.4s ease-in-out infinite sync-status-pulse}}.chat-error{color:var(--vermillion);margin:0;font-size:12.5px}.chat-form{border-top:1px solid var(--hair-soft);background:var(--paper);align-items:flex-end;gap:8px;padding:10px 12px;display:flex}.chat-input{width:100%;font-family:var(--sans), system-ui, sans-serif;border:1px solid var(--hair);color:var(--ink);resize:none;background:#fff;border-radius:8px;flex:auto;padding:8px 10px;font-size:16px}.chat-input:focus{border-color:var(--ink-soft);outline:none}.chat-send{background:var(--ink);min-height:40px;color:var(--cream);cursor:pointer;border:none;border-radius:999px;flex:none;padding:0 16px;font-size:13px;font-weight:700}.chat-send:disabled{opacity:.4;cursor:default}@media (max-width:860px){.chat-panel{left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));width:auto;max-height:calc(100vh - 150px - var(--bottom-bar-clearance))}}.bottom-nav{z-index:70;min-height:var(--bottom-bar-h);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);-webkit-backdrop-filter:saturate(180%)blur(10px);border-top:1px solid var(--hair);background:#fbf5e6f0;grid-template-columns:repeat(3,1fr);display:none;position:fixed;inset:auto 0 0}.bottom-nav-item{color:var(--vermillion);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;margin:6px 8px;padding:4px 0 5px;text-decoration:none;display:flex}@supports (color:color-mix(in lab, red, red)){.bottom-nav-item{color:color-mix(in srgb, var(--vermillion) 62%, var(--ink-mute))}}.bottom-nav-item{transition:background .15s,color .15s}.bottom-nav-item-label{letter-spacing:.02em;font-size:11px;font-weight:700}.bottom-nav-item.active{color:var(--cream);background:#be3f27}.section-tabs{scrollbar-width:thin;-webkit-overflow-scrolling:touch;gap:8px;margin-bottom:4px;padding:2px 0 12px;display:none;overflow-x:auto}.section-tabs::-webkit-scrollbar{height:6px}.section-tabs::-webkit-scrollbar-thumb{background:var(--hair);border-radius:4px}.section-tab{border:1px solid var(--indigo);flex:none;align-items:center;min-height:44px;padding:0 16px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.section-tab{border:1px solid color-mix(in srgb, var(--indigo) 35%, var(--hair))}}.section-tab{background:var(--paper);color:var(--indigo);letter-spacing:.01em;white-space:nowrap;border-radius:999px;font-size:12.5px;font-weight:700;text-decoration:none}.section-tab:hover{background:var(--paper-deep)}.day-nav.inline{position:static}.hero-map g[role=button]:focus-visible{outline:none}.hero-map g[role=button]:focus-visible rect:first-of-type{stroke:var(--ink);stroke-width:3px;paint-order:stroke}.day-journey{background:var(--paper-deep);border:1px solid var(--hair);border-left:3px solid var(--accent);border-radius:10px;margin:12px 0 14px;padding:12px 14px}.day-journey-head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:8px;display:flex}.day-journey-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:10.5px;font-weight:700}.day-journey-summary{color:var(--ink);font-size:14px;font-weight:700;line-height:1.35}.day-journey-row{color:var(--ink-soft);margin:6px 0 0;font-size:13px;line-height:1.55}.day-journey-row strong{color:var(--ink);font-weight:700}.day-journey-row strong:after{content:" ·";color:var(--ink-mute);font-weight:400}.day-journey-alt{color:var(--ink-mute)}.day-tip{border:1px solid var(--hair);background:linear-gradient(#fffbf0 0%,#faf1d8 100%);border-radius:10px;grid-template-columns:auto 1fr;align-items:start;gap:12px;margin-top:8px;padding:12px 14px;display:grid}.day-tip-label{font-family:var(--hand);color:var(--vermillion);transform-origin:0;font-size:22px;line-height:1;transform:rotate(-3deg)}.day-tip-body{color:var(--ink);font-size:14px;line-height:1.5}.day-more{color:var(--ink-soft);border:none;border-bottom:1px dashed var(--hair);background:0 0;margin-top:10px;padding:4px 0;font-size:13px;font-weight:600}.day-more:hover{color:var(--vermillion);border-bottom-color:var(--vermillion)}.day-item-links{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.day-item-link{letter-spacing:.01em;background:var(--paper);min-height:30px;color:var(--accent);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.day-item-link{color:color-mix(in srgb, var(--accent) 65%, var(--ink))}}.day-item-link{border:1px solid var(--hair);border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.day-item-link{border-color:color-mix(in srgb, var(--accent) 40%, var(--hair))}}.day-item-link{transition:background .15s,border-color .15s,color .15s,transform .15s}.day-item-link:hover{border-color:var(--accent);background:var(--paper-deep);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.day-item-link:hover{background:color-mix(in srgb, var(--accent) 8%, var(--paper))}}.day-item-link:hover{transform:translateY(-1px)}.day-item-link svg{flex-shrink:0}.day-item-link-booking{background:var(--vermillion);border-color:var(--vermillion);color:var(--cream)}.day-item-link-booking:hover{color:var(--cream);background:#b23e26;border-color:#b23e26}.day-item-link-booked{color:#5f7a42;background:var(--paper);background:var(--matcha)}@supports (color:color-mix(in lab, red, red)){.day-item-link-booked{background:color-mix(in srgb, var(--matcha) 12%, var(--paper))}}.day-item-link-booked{border-color:var(--matcha)}.day-item-link-booked:hover{background:var(--matcha);border-color:#5f7a42}@supports (color:color-mix(in lab, red, red)){.day-item-link-booked:hover{background:color-mix(in srgb, var(--matcha) 12%, var(--paper))}}.day-item-link-booked:hover{color:#5f7a42}.block{background:var(--paper);border:1px solid var(--hair);border-radius:16px;margin-top:72px;padding:32px;scroll-margin-top:24px}.block-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px;display:flex}.block-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);font-size:12px;font-weight:600}.block-title{font-family:var(--serif);letter-spacing:-.02em;margin:4px 0 0;font-size:38px;font-weight:800;line-height:1.05}.reservations-progress{flex-direction:column;align-items:flex-end;gap:6px;min-width:220px;display:flex}.progress-bar{background:var(--paper-deep);border-radius:999px;width:220px;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--vermillion), var(--gold));height:100%;transition:width .35s}.progress-label{color:var(--ink-mute);font-size:12px;font-weight:600}.reservation-list{margin:0;padding:0;list-style:none}.reservation-tripdate{letter-spacing:.02em;color:var(--ink);background:var(--cream);border:1px solid var(--hair);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.reservation-body{flex-direction:column;gap:2px;min-width:0;display:flex}.reservation-what{color:var(--ink);text-wrap:pretty;font-size:15px}.reservation-bookby{color:var(--ink-mute);font-size:12px;font-weight:500;line-height:1.3}.reservation-status{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:10.5px;font-weight:700;display:inline-flex}.reservation-status.needs-booking{color:var(--vermillion);background:#c8462c14;border:1px solid #c8462c59}.reservation-status.booked{color:#4a6a2f;background:#7b9a562e;border:1px solid #7b9a5659}.reservation-row-wrap.checked .reservation-status.booked{opacity:.95}.budget-total{text-align:right}.budget-total-num{font-family:var(--serif);letter-spacing:-.02em;font-size:42px;font-weight:800;line-height:1}.budget-total-sub{color:var(--ink-mute);margin-top:4px;font-size:12px;font-weight:500}.budget-bar{border:1px solid var(--hair);border-radius:10px;height:36px;margin:8px 0 20px;display:flex;overflow:hidden}.budget-bar-seg{color:#fffffff2;letter-spacing:.02em;justify-content:center;align-items:center;font-size:12px;font-weight:700;transition:flex .2s;display:flex}.budget-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.budget-cell{background:var(--cream);border:1px solid var(--hair-soft);border-radius:10px;padding:14px}.budget-cell-top{align-items:center;gap:10px;display:flex}.budget-dot{border-radius:3px;width:10px;height:10px}.budget-cat{flex:1;font-size:15px;font-weight:700}.budget-usd{font-family:var(--serif);font-size:18px;font-weight:700}.budget-sub{color:var(--ink-soft);margin-top:4px;font-size:13px;line-height:1.45}.budget-actual-row{border-top:1px dashed var(--hair);align-items:center;gap:10px;margin-top:10px;padding-top:10px;display:flex}.budget-actual-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);font-size:11px;font-weight:700}.budget-actual-input-wrap{flex:none;align-items:center;display:inline-flex;position:relative}.budget-actual-currency{font-family:var(--serif);color:var(--ink-mute);pointer-events:none;font-size:14px;font-weight:700;position:absolute;left:10px}.budget-actual-input{width:110px;font-family:var(--sans);font-variant-numeric:tabular-nums;color:var(--ink);background:var(--paper);border:1px solid var(--hair);border-radius:8px;outline:none;padding:6px 10px 6px 22px;font-size:14px;transition:border-color .15s,box-shadow .15s}.budget-actual-input:focus{border-color:var(--vermillion);box-shadow:0 0 0 3px #c8462c26}.budget-variance{font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.budget-variance.under{color:#4a6a2f}.budget-variance.over{color:var(--vermillion)}.budget-total-actual{border-top:1px dashed var(--hair);margin-top:10px;padding-top:10px}.budget-total-actual-num{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);font-size:28px;font-weight:800;line-height:1}.budget-total-actual-sub{color:var(--ink-mute);margin-top:6px;font-size:12px;font-weight:500;line-height:1.5}.toddler-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.toddler-card{background:linear-gradient(#fff8e0 0%,#ffefc6 100%);border:1px dashed #e8b850;border-radius:12px;padding:18px;position:relative}.toddler-card-num{font-family:var(--serif);color:#7a4a0a40;font-size:28px;font-weight:800;line-height:1;position:absolute;top:14px;right:16px}.toddler-card-title{font-family:var(--serif);color:#5a3805;margin:0 60px 6px 0;font-size:18px;font-weight:700}.toddler-card-body{color:#5a3805;margin:0;font-size:13.5px;line-height:1.5}.footer-owner-link{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);margin-top:10px;font-size:11px;text-decoration:none;display:inline-block}.footer-owner-link:hover{color:var(--ink-soft);text-decoration:underline}.footer{text-align:center;max-width:1200px;margin:0 auto;padding:0 28px 60px}.footer-line{background:var(--hair);height:1px;margin-bottom:18px}.footer-text{color:var(--ink-soft);font-size:14px}.block-total{text-align:right}.block-total-num{font-family:var(--serif);letter-spacing:-.02em;font-size:32px;font-weight:800;line-height:1}.block-total-sub{color:var(--ink-mute);margin-top:4px;font-size:12px;font-weight:500}.block-tip{margin-top:18px}.block-footnote{color:var(--ink-soft);text-wrap:pretty;margin:16px 0 0;font-size:13.5px;line-height:1.55}.detail-table{border-collapse:collapse;width:100%;color:var(--ink);font-size:14px}.detail-table thead th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);border-bottom:1px solid var(--hair);padding:10px 12px;font-size:11px;font-weight:700}.detail-table thead th.num{text-align:right}.detail-table tbody td{border-bottom:1px dashed var(--hair);vertical-align:top;padding:12px;line-height:1.45}.detail-table tbody td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.detail-table tbody tr:nth-child(odd) td{background:#f5ebd04d}.detail-table tbody tr:hover td{background:var(--paper-deep)}.detail-table .detail-leg{min-width:180px;font-weight:600}.detail-table .detail-mode{color:var(--ink-soft)}.detail-table .detail-total{font-family:var(--serif);font-size:15px;font-weight:700}.detail-table-total td{border-top:2px solid var(--ink);font-size:14px;font-weight:700;background:var(--cream)!important;border-bottom:none!important}.detail-table-total td.num.detail-total{font-size:18px}.detail-cards{flex-direction:column;gap:10px;display:none}.detail-card{background:var(--cream);border:1px solid var(--hair-soft);border-radius:10px;padding:12px 14px}.detail-card-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.detail-card-leg{font-size:14.5px;font-weight:700}.detail-card-total{font-family:var(--serif);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.detail-card-mode{color:var(--ink-soft);margin-bottom:6px;font-size:13px}.detail-card-meta{color:var(--ink-mute);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:6px;font-size:12px;display:flex}.detail-card-total-row{background:var(--paper-deep);border:1px solid var(--hair);justify-content:space-between;align-items:center;display:flex}.detail-card-total-row .detail-card-leg{font-size:14px}.detail-card-total-row .detail-card-total{font-size:18px}.food-grid{flex-direction:column;gap:10px;display:flex}.food-row{border-bottom:1px dashed var(--hair);grid-template-columns:220px 1fr 160px;align-items:start;gap:18px;padding:14px 4px;display:grid}.food-row:last-of-type{border-bottom:none}.food-segment{font-family:var(--serif);color:var(--ink);letter-spacing:-.01em;font-size:16px;font-weight:700}.food-approach{color:var(--ink-soft);text-wrap:pretty;font-size:14.5px;line-height:1.55}.food-daily{font-family:var(--serif);text-align:right;color:var(--ink);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.conn-grid{grid-template-columns:1.4fr 1fr;gap:14px;display:grid}.conn-card{background:var(--cream);border:1px solid var(--hair-soft);border-radius:12px;padding:18px 18px 16px}.conn-card-primary{border-color:var(--hair);background:linear-gradient(#fffbf0 0%,#f4ecd4 100%)}.conn-badge{letter-spacing:.1em;text-transform:uppercase;color:var(--vermillion);background:#c8462c1a;border-radius:999px;margin-bottom:10px;padding:3px 8px;font-size:10.5px;font-weight:700;display:inline-block}.conn-badge-alt{color:var(--ink-mute);background:#6b72801a}.conn-title{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 6px;font-size:20px;font-weight:700}.conn-price-row{font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;margin:4px 0 10px;display:flex}.conn-price{font-family:var(--serif);color:var(--ink);font-size:22px;font-weight:700}.conn-price-sep{color:var(--ink-mute)}.conn-price-total{color:var(--ink-soft);font-size:13px;font-weight:600}.conn-detail{color:var(--ink-soft);text-wrap:pretty;margin:0;font-size:14px;line-height:1.55}.caveat-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.caveat-card{border:1px solid var(--hair);background:var(--cream);border-radius:12px;padding:16px 18px;position:relative}.caveat-high{background:linear-gradient(#fff1ec 0%,#ffe2d7 100%);border-color:#c8462c4d}.caveat-med{background:linear-gradient(#fff8e0 0%,#ffefc6 100%);border-color:#d9a53d59}.caveat-low{background:var(--cream);border-color:var(--hair-soft)}.caveat-tag{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:8px;font-size:11px;font-weight:700;display:inline-flex}.caveat-dot{border-radius:50%;width:8px;height:8px}.caveat-title{font-family:var(--serif);color:var(--ink);letter-spacing:-.01em;text-wrap:pretty;margin:0 0 6px;font-size:17px;font-weight:700;line-height:1.2}.caveat-body{color:var(--ink-soft);text-wrap:pretty;margin:0;font-size:14px;line-height:1.55}.reservation-row-wrap{border-top:1px dashed var(--hair);scroll-margin-top:16px;transition:opacity .15s}.reservation-row-wrap:target{border-radius:8px;animation:2s ease-out res-target-flash}@keyframes res-target-flash{0%,60%{box-shadow:inset 3px 0 0 var(--gold,#c9a227);background:#d6a8282e}to{box-shadow:none;background:0 0}}.reservation-row-wrap.checked .reservation-row{opacity:.55}.reservation-row-wrap.checked .reservation-what{text-decoration:line-through}.reservation-row-wrap .reservation-row{cursor:default;border-top:none;grid-template-columns:28px 140px minmax(0,1fr) auto auto auto;align-items:center;gap:14px;padding:14px 0;display:grid}.reservation-row-wrap .reservation-row:hover{transform:none}.check-box-btn{cursor:pointer;background:0 0;border:2px solid #c9bc9a;border-radius:6px;place-items:center;width:22px;height:22px;padding:0;transition:all .15s;display:grid}.check-box-btn:hover{border-color:var(--vermillion)}.booking-toggle{border:1px solid var(--hair);color:var(--ink-soft);white-space:nowrap;background:0 0;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600;transition:all .15s}.booking-toggle:hover{border-color:var(--vermillion);color:var(--vermillion);background:#c8462c0f}.booking-toggle[aria-expanded=true]{background:var(--paper-deep);color:var(--ink);border-color:var(--ink)}.booking-saved-badge{letter-spacing:.04em;text-transform:uppercase;color:#4a6a2f;vertical-align:2px;background:#7b9a562e;border:1px solid #7b9a5659;border-radius:999px;align-items:center;gap:4px;margin-left:10px;padding:2px 7px;font-size:10.5px;font-weight:700;text-decoration:none;display:inline-flex}.reservation-row-wrap.checked .booking-saved-badge{opacity:.85;text-decoration:none}.booking-form{background:var(--paper-deep);border:1px solid var(--hair);border-radius:10px;margin:0 0 18px;padding:16px 16px 12px;animation:.18s bookingOpen}@keyframes bookingOpen{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.booking-fields{grid-template-columns:repeat(2,1fr);gap:10px 14px;display:grid}.booking-field{flex-direction:column;gap:4px;display:flex}.booking-field-full{grid-column:1/-1}.booking-field label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);font-size:11px;font-weight:700}.booking-field input,.booking-field textarea{width:100%;font-family:var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--hair);resize:vertical;border-radius:8px;outline:none;padding:9px 11px;font-size:14px;transition:border-color .15s,box-shadow .15s}.booking-field input:focus,.booking-field textarea:focus{border-color:var(--vermillion);box-shadow:0 0 0 3px #c8462c26}.booking-form-foot{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.booking-saved-inline{color:#4a6a2f;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.booking-saved-empty{color:var(--ink-mute)}.booking-clear{color:var(--ink-mute);text-underline-offset:3px;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600;text-decoration:underline}.booking-clear:hover{color:var(--vermillion)}.reservation-list .reservation-row-wrap:first-child{border-top:none}.transport-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.transport-actions-card{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.transport-link-icon{width:26px;height:26px;color:var(--ink-soft);border:1px solid var(--hair);background:0 0;border-radius:8px;place-items:center;text-decoration:none;transition:color .15s,border-color .15s,background .15s;display:inline-grid}.transport-link-icon:hover{color:var(--vermillion);border-color:var(--vermillion);background:#c8462c0f}.transport-private-toggle{border:1px solid var(--hair);color:var(--ink-soft);white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600;transition:all .15s}.transport-private-toggle:hover{border-color:var(--vermillion);color:var(--vermillion);background:#c8462c0f}.transport-private-toggle[aria-expanded=true]{background:var(--paper-deep);color:var(--ink);border-color:var(--ink)}.transport-private-badge{letter-spacing:.06em;color:var(--vermillion);vertical-align:1px;background:#c8462c14;border:1px solid #c8462c59;border-radius:999px;align-items:center;margin-left:8px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.transport-private-row>td{background:var(--paper-deep)!important;padding:0!important}.transport-private-form{border-top:1px solid var(--hair);padding:14px 16px 12px;animation:.18s bookingOpen}.transport-private-fields{flex-direction:column;gap:10px;display:flex}.login-page{place-items:center;min-height:100vh;padding:32px 20px;display:grid}.login-card{background:var(--paper);border:1px solid var(--hair);border-radius:18px;width:100%;max-width:420px;padding:36px 32px 28px;position:relative;box-shadow:inset 0 1px #fff9,0 20px 40px -28px #1a1f2e47}.login-brand{align-items:center;gap:10px;margin-bottom:24px;display:flex}.login-title{font-family:var(--serif);letter-spacing:-.02em;flex-direction:column;gap:4px;margin:4px 0 10px;font-size:42px;font-weight:800;line-height:1;display:flex}.login-title .hero-jp{color:var(--vermillion);opacity:.85;font-size:.45em}.login-sub{font-family:var(--hand);color:var(--ink-soft);margin:0 0 24px;font-size:22px;transform:rotate(-.5deg)}.login-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:6px;font-size:12px;font-weight:700;display:block}.login-input{width:100%;font-family:var(--sans);color:var(--ink);background:var(--cream);border:1.5px solid var(--hair);border-radius:10px;outline:none;padding:12px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s,background .15s}.login-input:focus{border-color:var(--vermillion);background:var(--paper);box-shadow:0 0 0 4px #c8462c26}.login-input-error{border-color:var(--vermillion);background:#fff3ef}.login-error{color:var(--vermillion);margin:10px 0 0;font-size:13px;font-weight:600}.login-button{width:100%;font-family:var(--sans);letter-spacing:.01em;background:var(--vermillion);color:var(--cream);border:none;border-radius:999px;margin-top:18px;padding:12px 16px;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s;box-shadow:0 6px 18px -10px #c8462c8c}.login-button:hover{background:#b53d26;transform:translateY(-1px)}.login-button:active{transform:translateY(0)}.login-foot{font-family:var(--hand);color:var(--ink-soft);text-align:center;margin:24px 0 0;font-size:18px;transform:rotate(-.5deg)}@media (max-width:860px){.app-shell{grid-template-columns:1fr}.sidenav{display:none}:root{--bottom-bar-clearance:calc(var(--bottom-bar-h) + env(safe-area-inset-bottom))}.bottom-nav{display:grid}.section-tabs{display:flex}.hero{padding:32px 0 12px}.main{padding:calc(12px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 24px max(16px, env(safe-area-inset-left))}.footer{padding-bottom:calc(24px + var(--bottom-bar-clearance))}.day-plans-toolbar{padding:0 16px}.city-section,.block{scroll-margin-top:16px}.day-card{padding:18px}.day-card-grid{grid-template-columns:1fr;gap:12px}.day-card-left{border-right:none;border-bottom:1px dashed var(--hair);align-items:center;gap:16px;padding:0 0 12px;display:flex}.day-num-row{margin:0}.day-num{font-size:48px}.day-card:before{top:0;bottom:0;left:0}.block{padding:20px}.reservation-row-wrap .reservation-row{grid-template-columns:22px 1fr auto;grid-template-areas:"chk date pri""chk body body"".status toggle";gap:8px 10px}.reservation-row-wrap .check-box-btn{grid-area:chk;align-self:start;margin-top:2px}.reservation-row-wrap .reservation-tripdate{grid-area:date;justify-self:start}.reservation-row-wrap .reservation-body{grid-area:body}.reservation-row-wrap .reservation-body .reservation-what{font-size:14.5px}.reservation-row-wrap .reservation-status{grid-area:status;justify-self:start}.reservation-row-wrap>.reservation-row>.chip{grid-area:pri;justify-self:end}.reservation-row-wrap .booking-toggle{grid-area:toggle;justify-self:end}.booking-saved-badge{margin-left:8px}.booking-fields,.toddler-grid,.budget-grid{grid-template-columns:1fr}.block-head{flex-direction:column;align-items:flex-start}.reservations-progress{align-items:flex-start}.detail-table{display:none}.detail-cards{display:flex}.food-row{grid-template-columns:1fr;gap:6px}.food-daily{text-align:left}.conn-grid,.caveat-grid{grid-template-columns:1fr}.block-total{text-align:left}}.trip-map{margin-top:24px}.trip-map-collapse{border:1px solid var(--hair);font-family:var(--sans,"DM Sans"), system-ui, sans-serif;letter-spacing:.02em;color:var(--ink-soft,#4a5160);cursor:pointer;background:0 0;border-radius:999px;padding:6px 14px;font-size:12px;transition:background .12s,color .12s}.trip-map-collapse:hover{background:var(--paper-deep,#f5ebd0);color:var(--ink,#1a1f2e)}.trip-map-tabs{scrollbar-width:thin;flex-wrap:nowrap;gap:6px;margin-bottom:8px;padding:4px 2px 12px;display:flex;overflow-x:auto}.trip-map-tabs::-webkit-scrollbar{height:6px}.trip-map-tabs::-webkit-scrollbar-thumb{background:var(--hair);border-radius:4px}.trip-map-tab{border:1px solid var(--hair);background:var(--paper,#fffbf0);cursor:pointer;min-width:56px;font-family:var(--sans,"DM Sans"), system-ui, sans-serif;color:var(--ink-soft,#4a5160);border-bottom:2px solid #0000;border-radius:8px;flex-direction:column;flex:none;justify-content:center;align-items:center;padding:6px 10px;transition:border-color .12s,color .12s,background .12s;display:flex}.trip-map-tab:hover{background:var(--paper-deep,#f5ebd0);color:var(--ink,#1a1f2e)}.trip-map-tab.active{border-bottom-color:var(--accent,#1a1f2e);color:var(--ink,#1a1f2e);background:var(--paper,#fffbf0)}.trip-map-tab-n{font-family:var(--serif,"Shippori Mincho B1"), serif;letter-spacing:.02em;font-size:14px;font-weight:700}.trip-map-tab-date{letter-spacing:.05em;text-transform:uppercase;opacity:.7;margin-top:1px;font-size:10px}.trip-map-empty{color:var(--ink-mute,#6b7280);margin:12px 4px 0;font-size:13px;font-style:italic}.map-frame{border:1px solid var(--hair);width:100%;font-family:var(--sans,"DM Sans"), system-ui, sans-serif;background:#f4ecd9;border-radius:12px;position:relative;overflow:hidden;box-shadow:inset 0 1px #1a1f2e0a}.map-frame .maplibregl-canvas{filter:sepia(.14)saturate(.92)brightness(1.02)}.map-frame .maplibregl-ctrl-attrib{color:var(--ink-mute,#6b7280);background:#fffbf0d9;font-size:10px}.map-frame .maplibregl-ctrl-attrib a{color:var(--ink-soft,#4a5160)}.map-frame .maplibregl-popup-content{background:var(--paper,#fffbf0);border:1px solid var(--hair);border-radius:10px;padding:10px 12px;box-shadow:0 10px 24px -12px #1a1f2e59}.map-frame .maplibregl-popup-tip{border-top-color:var(--paper,#fffbf0)}.map-frame .maplibregl-cooperative-gesture-screen{font-family:var(--sans,"DM Sans"), system-ui, sans-serif;font-size:13px}.map-loading{height:100%;min-height:240px;color:var(--ink-mute,#6b7280);border:1px solid var(--hair);background:var(--paper,#fffbf0);border-radius:12px;justify-content:center;align-items:center;font-size:13px;font-style:italic;display:flex}.map-pin{--pin-accent:#1a1f2e;background:var(--paper,#fffbf0);width:32px;height:32px;color:var(--pin-accent);border:2px solid var(--pin-accent);border-radius:50%;justify-content:center;align-items:center;transition:transform .12s;display:inline-flex;transform:translate(0);box-shadow:0 2px 6px #1a1f2e38}.map-pin:hover{transform:scale(1.08)}.map-pin svg{display:block}.map-pin{font-family:var(--serif,"Shippori Mincho B1"), serif;cursor:pointer;font-size:13px;font-weight:700}.map-pin-multi{letter-spacing:-.02em;font-size:10.5px}.map-pin-dot{font-size:9px}.map-pin-home{color:var(--cream,#fbf5e6);background:#c8462c;border-color:#a03620}.map-pin-popup{font-family:var(--sans,"DM Sans"), system-ui, sans-serif;min-width:140px}.map-pin-popup-idx{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute,#6b7280);margin-bottom:2px;font-size:10px}.map-pin-popup-name{font-family:var(--serif,"Shippori Mincho B1"), serif;color:var(--ink,#1a1f2e);font-size:14px;font-weight:700;line-height:1.3}.map-pin-popup-sub{color:var(--ink-soft,#4a5160);margin-top:3px;font-size:11px}.map-pin-popup-entry+.map-pin-popup-entry{border-top:1px dashed var(--hair);margin-top:8px;padding-top:8px}.map-pin-popup-link{color:var(--indigo,#1e3a5f);margin-top:4px;font-size:11px;font-weight:600;text-decoration:none;display:inline-block}.map-pin-popup-link:hover{color:var(--vermillion,#c8462c);text-decoration:underline}.day-map{margin-top:16px}.day-map-empty{color:var(--ink-mute,#6b7280);border:1px dashed var(--hair);background:#f5ebd059;border-radius:10px;align-items:center;gap:10px;margin-top:14px;padding:10px 12px;font-size:12px;font-style:italic;display:flex}.day-items,.day-item{position:relative}.day-item-controls{grid-area:1/3;justify-self:end;gap:2px;margin-top:5px;transition:opacity .12s;display:inline-flex}@media (hover:hover) and (pointer:fine){.day-item-controls{opacity:0}.day-item:hover .day-item-controls,.day-item:focus-within .day-item-controls{opacity:1}}.day-item-btn{border:1px solid var(--hair);background:var(--paper,#fffbf0);width:22px;height:22px;color:var(--ink-soft,#4a5160);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:12px;line-height:1;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.day-item-btn:hover:not(:disabled){background:var(--paper-deep,#f5ebd0);color:var(--ink,#1a1f2e)}.day-item-btn:disabled{opacity:.35;cursor:default}.day-item-btn.danger:hover:not(:disabled){color:#c8462c;background:#fff;border-color:#c8462c}.day-item-place{color:var(--ink-soft,#4a5160);margin-top:4px;font-size:12px}.day-add-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.day-add-btn{border:1px dashed var(--hair);color:var(--ink-soft,#4a5160);font-family:var(--sans,"DM Sans"), system-ui, sans-serif;cursor:pointer;background:0 0;border-radius:999px;padding:6px 14px;font-size:12px;transition:border-color .12s,color .12s,background .12s}.day-add-btn:hover{background:var(--paper-deep,#f5ebd0);color:var(--ink,#1a1f2e);border-style:solid}.day-reset-btn{color:var(--ink-mute,#6b7280);cursor:pointer;letter-spacing:.03em;background:0 0;border:none;font-size:11px}.day-reset-btn:hover{color:var(--ink,#1a1f2e);text-decoration:underline}.day-item-editor{border:1px solid var(--hair);background:var(--paper,#fffbf0);border-radius:12px;gap:10px;margin-top:10px;padding:12px;display:grid}.day-item-editor-icons{flex-wrap:wrap;gap:4px;display:flex}.day-item-editor-icon{border:1px solid var(--hair);width:30px;height:30px;color:var(--ink-mute,#6b7280);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;transition:all .12s;display:inline-flex}.day-item-editor-icon:hover{background:var(--paper-deep,#f5ebd0);color:var(--ink,#1a1f2e)}.day-item-editor-icon.active{background:var(--ink,#1a1f2e);color:var(--paper,#fffbf0);border-color:var(--ink,#1a1f2e)}.day-item-editor input[type=text],.day-item-editor textarea{width:100%;font-family:var(--sans,"DM Sans"), system-ui, sans-serif;border:1px solid var(--hair);color:var(--ink,#1a1f2e);resize:vertical;background:#fff;border-radius:8px;padding:8px 10px;font-size:13px}.day-item-editor input[type=text]:focus,.day-item-editor textarea:focus{border-color:var(--ink-soft,#4a5160);outline:none}.day-item-editor-toddler{color:var(--ink-soft,#4a5160);align-items:center;gap:8px;font-size:12px;display:inline-flex}.day-item-editor-actions{justify-content:flex-end;gap:8px;display:flex}.day-item-editor-cancel,.day-item-editor-save{font-family:var(--sans,"DM Sans"), system-ui, sans-serif;cursor:pointer;border:1px solid var(--hair);color:var(--ink-soft,#4a5160);background:0 0;border-radius:999px;padding:6px 14px;font-size:12px;transition:all .12s}.day-item-editor-save{background:var(--ink,#1a1f2e);color:var(--paper,#fffbf0);border-color:var(--ink,#1a1f2e)}.day-item-editor-save:disabled{opacity:.4;cursor:default}.day-item-editor-cancel:hover{background:var(--paper-deep,#f5ebd0);color:var(--ink,#1a1f2e)}.day-item-editor-save:hover:not(:disabled){background:#000}.location-picker{font-family:var(--sans,"DM Sans"), system-ui, sans-serif;flex-direction:column;gap:6px;display:flex}.location-picker label{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-mute,#6b7280);font-size:11px}.location-picker input[type=search]{border:1px solid var(--hair);width:100%;color:var(--ink,#1a1f2e);background:#fff;border-radius:8px;padding:8px 10px;font-size:13px}.location-picker input[type=search]:focus{border-color:var(--ink-soft,#4a5160);outline:none}.location-picker-current{border:1px solid var(--hair);background:#f5ebd080;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.location-picker-pin{color:#c8462c;font-size:14px}.location-picker-current-text{flex:1;min-width:0}.location-picker-name{color:var(--ink,#1a1f2e);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.location-picker-coords{color:var(--ink-mute,#6b7280);margin-top:1px;font-size:10px}.location-picker-clear{color:var(--ink-mute,#6b7280);cursor:pointer;letter-spacing:.03em;background:0 0;border:none;padding:2px 6px;font-size:11px}.location-picker-clear:hover{color:#c8462c}.location-picker-status{color:var(--ink-mute,#6b7280);font-size:11px}.location-picker-status.error{color:#c8462c}.location-picker-results{border:1px solid var(--hair);background:var(--paper,#fffbf0);border-radius:8px;max-height:220px;margin:0;padding:4px;list-style:none;overflow-y:auto;box-shadow:0 4px 12px #1a1f2e14}.location-picker-results li{margin:0}.location-picker-results button{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;gap:2px;width:100%;padding:8px 10px;display:flex}.location-picker-results button:hover{background:var(--paper-deep,#f5ebd0)}.location-picker-result-name{color:var(--ink,#1a1f2e);font-size:13px;font-weight:500}.location-picker-result-rest{color:var(--ink-mute,#6b7280);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.location-picker-empty{color:var(--ink-mute,#6b7280);padding:8px 10px;font-size:12px;font-style:italic}.booking-field-loc{margin-top:4px}@media (max-width:640px){.trip-map-tab{min-width:48px;padding:5px 8px}.trip-map-tab-n{font-size:13px}.day-item-editor-icons{gap:3px}}.day-nav{top:env(safe-area-inset-top);z-index:40;-webkit-backdrop-filter:saturate(180%)blur(8px);background:#fbf5e6eb;margin:0 -4px;padding:8px 4px 4px;position:sticky}.day-nav-track{scrollbar-width:thin;flex-wrap:nowrap;gap:6px;padding:4px 2px 8px;display:flex;overflow-x:auto}.day-nav-track::-webkit-scrollbar{height:6px}.day-nav-track::-webkit-scrollbar-thumb{background:var(--hair);border-radius:4px}.day-nav-tab{border:1px solid var(--hair);background:var(--paper);min-width:52px;color:var(--ink-soft);border-bottom:2px solid #0000;border-radius:8px;flex-direction:column;flex:none;justify-content:center;align-items:center;padding:6px 10px;text-decoration:none;transition:border-color .12s,color .12s,background .12s;display:flex}.day-nav-tab:hover{background:var(--paper-deep);color:var(--ink)}.day-nav-tab.active{border-bottom-color:var(--accent);color:var(--ink);background:var(--paper)}.day-nav-tab.today{border-color:var(--gold);box-shadow:0 0 0 2px #d9a53d33}.day-nav-n{font-family:var(--serif);letter-spacing:.02em;font-size:14px;font-weight:700}.day-nav-date{letter-spacing:.05em;text-transform:uppercase;opacity:.7;margin-top:1px;font-size:10px}.day-nav-today-chip{background:var(--gold);color:#3d2e08;letter-spacing:.04em;white-space:nowrap;border-radius:999px;flex:none;align-self:center;align-items:center;padding:8px 12px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.day-nav-today-chip:hover{filter:brightness(1.05)}.today-banner{border:1px solid var(--gold);border-left:4px solid var(--accent,var(--vermillion));color:var(--ink);background:linear-gradient(#fff4d6 0%,#ffebc2 100%);border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:14px;margin-top:20px;padding:14px 18px;text-decoration:none;display:flex}.today-banner-label{letter-spacing:.08em;text-transform:uppercase;color:#7a4a0a;font-size:12px;font-weight:700}.today-banner-headline{font-family:var(--serif);font-size:18px;font-weight:700}.today-banner-cta{color:var(--vermillion);white-space:nowrap;margin-left:auto;font-size:13px;font-weight:700}.city-overview-days{flex-direction:column;gap:8px;display:flex}.overview-day{background:var(--paper);border:1px solid var(--hair);border-left:3px solid var(--accent);color:var(--ink);border-radius:12px;grid-template-columns:64px 1fr auto;align-items:center;gap:16px;padding:14px 18px 14px 14px;text-decoration:none;transition:box-shadow .15s,background .15s;display:grid;box-shadow:inset 0 1px #fff9}.overview-day:hover{background:var(--paper-deep);box-shadow:0 8px 24px -16px #1a1f2e40}.overview-day-n{font-family:var(--serif);letter-spacing:-.04em;text-align:center;color:var(--ink);font-size:40px;font-weight:800;line-height:.9}.overview-day-main{flex-direction:column;gap:2px;min-width:0;display:flex}.overview-day-date{color:var(--ink-mute);font-size:12.5px;font-weight:600}.overview-day-headline{font-family:var(--serif);letter-spacing:-.01em;font-size:19px;font-weight:700;line-height:1.2}.overview-day-theme{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-top:2px;font-size:11px;font-weight:700}.overview-day-arrow{color:var(--ink-mute);font-size:18px}.overview-day:hover .overview-day-arrow{color:var(--vermillion)}.day-screen{flex-direction:column;display:flex}.day-screen-head{justify-content:space-between;align-items:center;gap:12px;margin:18px 0 12px;display:flex}.day-screen-city{font-family:var(--serif);letter-spacing:-.01em;font-size:22px;font-weight:800;text-decoration:none}.day-screen-city:hover{text-decoration:underline}.day-screen-city-sub{font-family:var(--sans);color:var(--ink-mute);letter-spacing:.02em;font-size:13px;font-weight:500}.day-pager{grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;display:grid}.day-pager-link{background:var(--paper);border:1px solid var(--hair);color:var(--ink);border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;text-decoration:none;transition:background .15s,box-shadow .15s;display:flex;box-shadow:inset 0 1px #fff9}.day-pager-link:hover{background:var(--paper-deep);box-shadow:0 8px 24px -16px #1a1f2e40}.day-pager-link.next{text-align:right;align-items:flex-end}.day-pager-dir{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);font-size:12px;font-weight:700}.day-pager-link:hover .day-pager-dir{color:var(--vermillion)}.day-pager-title{font-family:var(--serif);font-size:15px;font-weight:700;line-height:1.25}.sidenav-daygrid{grid-template-columns:repeat(6,1fr);gap:4px;padding:2px 8px 4px;display:grid}.sidenav-day{border:1px solid var(--hair);border-bottom:2px solid var(--accent);background:var(--paper);height:28px;color:var(--ink-soft);font-family:var(--serif);border-radius:6px;place-items:center;font-size:12.5px;font-weight:700;text-decoration:none;transition:background .15s,color .15s;display:grid}.sidenav-day:hover{background:var(--paper-deep);color:var(--ink)}.sidenav-day.active{background:var(--accent);border-color:var(--accent);color:var(--cream)}@media (max-width:860px){.overview-day{grid-template-columns:48px 1fr auto;gap:12px;padding:12px 14px 12px 10px}.overview-day-n{font-size:32px}.overview-day-headline{font-size:17px}.day-pager{grid-template-columns:1fr}.day-pager-link.next{text-align:left;align-items:flex-start}.day-screen-head{flex-wrap:wrap}}@media (pointer:coarse){.day-item-controls{grid-area:2/2/auto/-1;justify-self:end;gap:6px;margin-top:6px}.day-item-btn{border-radius:10px;width:44px;height:44px;font-size:16px}.day-item-link{min-height:44px;padding:10px 16px;font-size:13px}.check-box-btn{width:28px;height:28px;position:relative}.check-box-btn:after{content:"";position:absolute;inset:-8px}.booking-toggle{padding:12px 18px;font-size:13px}.day-add-btn,.day-reset-btn{min-height:44px}.day-more{padding:12px 0}.kid-toggle{padding:11px 16px 11px 13px}.trip-map-collapse{padding:12px 14px}}.day-item-btn.confirming{color:#c8462c;background:#fff3f0;border-color:#c8462c;width:auto;padding:0 8px;font-weight:700}.day-reset-btn.confirming,.booking-clear.confirming{color:#c8462c;font-weight:700;text-decoration:underline}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto!important}}.calendar-blurb{color:var(--ink-soft);text-wrap:pretty;max-width:640px;margin:0 0 18px;font-size:14.5px;line-height:1.55}.calendar-actions{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.calendar-subscribe-btn{background:var(--vermillion);color:var(--cream);border-radius:10px;align-items:center;padding:12px 20px;font-size:14px;font-weight:700;text-decoration:none;transition:filter .15s,transform .15s;display:inline-flex;box-shadow:0 8px 20px -12px #c8462c99}.calendar-subscribe-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.calendar-alt{color:var(--ink-mute);max-width:420px;font-size:12.5px;line-height:1.5}.calendar-alt code{background:var(--paper-deep);border:1px solid var(--hair);word-break:break-all;border-radius:6px;padding:2px 6px;font-size:11px;display:inline-block}.calendar-note{color:var(--ink-mute);margin:16px 0 0;font-size:12.5px;font-style:italic}.stays{flex-direction:column;gap:20px;display:flex}.stays-header{max-width:720px;padding:40px 0 8px}.stays-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--vermillion);font-size:12px;font-weight:700}.stays-title{font-family:var(--serif);letter-spacing:-.02em;margin:6px 0 10px;font-size:52px;font-weight:800;line-height:1}.stays-sub{color:var(--ink-soft);text-wrap:pretty;margin:0;font-size:15px;line-height:1.55}.stay-card{background:var(--paper);border:1px solid var(--hair);border-left:3px solid var(--accent);border-radius:14px;padding:24px;scroll-margin-top:16px;box-shadow:inset 0 1px #fff9}.stay-head{align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.stay-head-main{min-width:0}.stay-eyebrow{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-mute);flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;font-weight:600;display:flex}.stay-kind{letter-spacing:.06em;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700}.stay-kind-airbnb{color:#b4322a;background:#ffe3dd}.stay-kind-hotel{color:#1e3a5f;background:#e2eaf3}.stay-name{font-family:var(--serif);letter-spacing:-.015em;margin:4px 0 6px;font-size:26px;font-weight:800;line-height:1.15}.stay-area{color:var(--ink-soft);text-wrap:pretty;margin:0;font-size:14px;line-height:1.5}.stay-facts{flex-wrap:wrap;gap:10px 28px;margin:0 0 14px;display:flex}.stay-fact dt{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:2px;font-size:11px;font-weight:700}.stay-fact dd{color:var(--ink);margin:0;font-size:14px;font-weight:600}.stay-fact code{background:var(--paper-deep);border:1px solid var(--hair);border-radius:6px;padding:2px 7px;font-size:13px}.stay-address{border:1px dashed var(--hair);background:#f5ebd066;border-radius:10px;margin-bottom:14px;padding:12px 14px}.stay-address-row{justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;line-height:1.5;display:flex}.stay-address-row+.stay-address-row{margin-top:6px}.stay-address-ja span{font-size:15px}.stay-address-hint{color:var(--ink-mute);margin:8px 0 0;font-size:11.5px;font-style:italic}.stay-copy{background:var(--paper);border:1px solid var(--hair);color:var(--ink-soft);border-radius:999px;flex:none;padding:4px 12px;font-size:11.5px;font-weight:600;transition:all .15s}.stay-copy:hover{border-color:var(--vermillion);color:var(--vermillion)}.stay-copy.copied{border-color:var(--matcha);color:#4a6b2a;background:#e7f0df}.stay-notes{color:var(--ink-soft);text-wrap:pretty;margin:0 0 14px;font-size:14px;line-height:1.55}.stay-links{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.stay-link-btn{background:var(--vermillion);color:var(--cream);border-radius:10px;align-items:center;padding:10px 16px;font-size:13px;font-weight:700;text-decoration:none;transition:filter .15s;display:inline-flex}.stay-link-btn:hover{filter:brightness(1.08)}.stay-link-secondary{background:var(--paper);color:var(--ink-soft);border:1px solid var(--hair)}.stay-link-secondary:hover{color:var(--ink);background:var(--paper-deep)}@media (pointer:coarse){.stay-copy{padding:9px 16px}}@media (max-width:860px){.stays-title{font-size:40px}.stay-card{padding:18px}.stay-address-row{flex-direction:column;gap:6px}}.tips-popup{z-index:60;background:var(--paper);border:1px solid var(--hair);border-top:3px solid var(--gold);border-radius:14px;width:min(360px,100vw - 32px);padding:16px 18px 14px;position:fixed;bottom:16px;right:16px;box-shadow:0 18px 40px -18px #1a1f2e66}.tips-popup-close{width:34px;height:34px;color:var(--ink-mute);background:0 0;border:none;border-radius:8px;font-size:20px;line-height:1;position:absolute;top:6px;right:8px}.tips-popup-close:hover{background:var(--paper-deep);color:var(--ink)}.tips-popup-label{letter-spacing:.1em;text-transform:uppercase;color:#7a4a0a;margin-bottom:8px;font-size:11px;font-weight:700}.tips-popup-list{color:var(--ink-soft);flex-direction:column;gap:8px;margin:0 0 12px;padding:0;font-size:13px;line-height:1.5;list-style:none;display:flex}.tips-popup-list strong{color:var(--ink)}.tips-popup-list a{color:var(--vermillion);font-weight:600}.tips-popup-done{border:1px solid var(--hair);background:var(--paper-deep);width:100%;color:var(--ink);border-radius:9px;padding:9px 12px;font-size:12.5px;font-weight:700}.tips-popup-done:hover{border-color:var(--gold)}@media (max-width:860px){.tips-popup{right:12px;bottom:calc(12px + var(--bottom-bar-clearance));width:auto;left:12px}}.sync-status{left:50%;bottom:calc(1rem + var(--bottom-bar-clearance));z-index:60;color:#3d3527;background:#fbf5e6;border:1px solid #c9bc9a;border-radius:999px;align-items:center;gap:.5rem;max-width:min(90vw,30rem);padding:.5rem .9rem;font-size:.8rem;line-height:1.2;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 2px 10px #3d35272e}.sync-status-dot{background:#6b7f52;border-radius:50%;flex:none;width:.5rem;height:.5rem}.sync-status-warn{color:#7d2f1c;border-color:#c0563a}.sync-status-warn .sync-status-dot{background:#c0563a}@media (prefers-reduced-motion:no-preference){.sync-status-wait .sync-status-dot{animation:1.4s ease-in-out infinite sync-status-pulse}}@keyframes sync-status-pulse{50%{opacity:.35}}.sync-status-dismiss{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;margin-left:.25rem;padding:0 .25rem;font-size:1rem;line-height:1}.sync-status-dismiss:hover{opacity:1}@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}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
