@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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@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;--spacing:.25rem;--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}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--paper:#f5efe6;--paper-light:#fffdfc;--ink:#4c4144;--muted:#7c7074;--orange:#d98291;--orange-deep:#b85e72;--orange-soft:#eee7f5;--line:#e2d4d4;--shadow:#7e505c17}*{box-sizing:border-box}html,body{width:100%;max-width:100%;overflow-x:clip}body{background:radial-gradient(circle at 10% 10%, #ffffffdb, transparent 28%), repeating-linear-gradient(0deg, #6f4a5405 0 1px, transparent 1px 4px), var(--paper);color:var(--ink);margin:0;font-family:Noto Sans TC,Noto Sans JP,PingFang TC,Yu Gothic,sans-serif}@keyframes skeletonShimmer{0%{transform:translate(-115%)}to{transform:translate(115%)}}@keyframes initialSkeletonFallback{to{opacity:0;visibility:hidden}}.initial-skeleton{z-index:120;background:radial-gradient(circle at 10% 10%, #ffffffe6, transparent 29%), repeating-linear-gradient(0deg, #6f4a5405 0 1px, transparent 1px 4px), var(--paper);opacity:1;pointer-events:none;padding:24px clamp(22px,3vw,48px);transition:opacity .22s ease-out,visibility .22s;animation:.22s ease-out 2s forwards initialSkeletonFallback;position:fixed;inset:0;overflow:hidden}.initial-skeleton.is-leaving{opacity:0;visibility:hidden}.skeleton-masthead,.skeleton-map-panel,.skeleton-calendar{border:1px solid var(--line);background:#fffdfce6;box-shadow:0 12px 35px #7e505c0f}.skeleton-masthead{border-radius:22px;justify-content:space-between;align-items:center;height:126px;padding:28px 38px;display:flex}.skeleton-board{grid-template-columns:minmax(0,1.4fr) minmax(390px,.8fr);gap:20px;margin-top:20px;display:grid}.skeleton-map-panel{border-radius:22px;min-height:calc(100vh - 194px);padding:16px}.skeleton-card{border:1px solid var(--line);border-radius:18px;grid-template-columns:minmax(170px,.85fr) minmax(250px,1.5fr);gap:20px;height:190px;padding:16px;display:grid}.skeleton-card>div{align-self:center}.skeleton-photo{background:#e8dde0;border-radius:13px;display:block}.skeleton-line,.skeleton-photo,.skeleton-calendar span,.skeleton-map{background:#e8dde0;position:relative;overflow:hidden}.skeleton-line:after,.skeleton-photo:after,.skeleton-calendar span:after,.skeleton-map:after,.progressive-image.is-loading:after{content:"";z-index:2;background:linear-gradient(100deg,#0000 24%,#ffffffad 48%,#0000 72%);animation:1.25s ease-in-out infinite skeletonShimmer;position:absolute;inset:0;transform:translate(-115%)}.skeleton-line{border-radius:999px;height:14px;margin-top:13px;display:block}.skeleton-title{width:min(42vw,520px);height:48px;margin:0}.skeleton-date{width:230px;height:42px;margin:0}.skeleton-label{width:92px;height:10px;margin-top:0}.skeleton-name{width:76%;height:30px}.skeleton-copy{width:92%}.skeleton-copy.short{width:62%}.skeleton-map{background:#e8e3dc;border-radius:16px;height:calc(100vh - 432px);min-height:280px;margin-top:14px}.skeleton-map i{z-index:1;background:#d7a1ad;border:6px solid #ffffffe6;border-radius:50%;width:34px;height:34px;position:absolute}.skeleton-map i:first-child{top:48%;left:18%}.skeleton-map i:nth-child(2){top:26%;left:42%}.skeleton-map i:nth-child(3){top:58%;left:63%}.skeleton-map i:nth-child(4){top:30%;left:78%}.skeleton-calendar{border-radius:18px;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;height:344px;padding:13px;display:grid}.skeleton-calendar span{border:1px solid var(--line);background:#f1e9e8;border-radius:10px}.progressive-image{background-color:#e7dcdf;background-position:50%;background-size:cover;display:block;position:absolute;inset:0;overflow:hidden}.progressive-image img{object-fit:cover;opacity:0;filter:blur(10px);width:100%;height:100%;transition:opacity .26s ease-out,filter .36s ease-out,transform .36s ease-out;display:block;transform:scale(1.035)}.progressive-image.is-loaded img{opacity:1;filter:blur();transform:scale(1)}.progressive-image.is-loaded:after{display:none}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}h1,h2,h3{font-family:Noto Serif TC,Noto Serif JP,Songti TC,Yu Mincho,serif}.page-shell{width:100%;max-width:100%;min-height:100vh;padding:24px clamp(22px,3vw,48px) 18px;transition:background-color .42s,color .42s;overflow-x:clip}.page-shell.itoshima-easter{--paper:#e4e8ef;--paper-light:#f8f7fb;--ink:#36424c;--muted:#697482;--orange:#a77296;--orange-deep:#735d80;--orange-soft:#dfe5f0;--line:#c3cbd7;--shadow:#2a3d5029;background-image:linear-gradient(135deg,#8db4d140,#b397c626 52%,#7199bc33),url(/images/itoshima-easter-background-realistic.webp);background-position:50%,top;background-repeat:no-repeat;background-size:cover,cover;background-attachment:fixed,fixed;animation:.72s cubic-bezier(.2,.8,.2,1) both itoshimaThemeReveal}.itoshima-easter .masthead,.itoshima-easter .map-column,.itoshima-easter .itinerary-column,.itoshima-easter .place-card,.itoshima-easter .day-plan-card,.itoshima-easter .week-section{transition:border-color .42s,background-color .42s,box-shadow .42s}.itoshima-easter .map-column,.itoshima-easter .itinerary-column{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7f8fcd6}@keyframes itoshimaThemeReveal{0%{opacity:.68;background-position:50%,46% 0}to{opacity:1;background-position:50%,top}}.itoshima-fireworks{z-index:90;pointer-events:none;background:radial-gradient(circle at 50% 40%,#0000 35%,#1d2f4426);animation:4.2s ease-out forwards fireworksOverlay;position:fixed;inset:0;overflow:hidden}.oyster-rocket-flight{z-index:4;aspect-ratio:1;filter:drop-shadow(0 14px 16px #262f375c);opacity:0;width:clamp(180px,22vw,320px);animation:.96s linear 20ms forwards oysterRocketLaunch;position:absolute;top:0;left:0;transform:translate(-18vw,78vh)scale(.72)}.rocket-oyster{z-index:2;background:url(/images/oyster-rocket-cute-diagonal-optimized.webp) 50%/contain no-repeat;display:block;position:absolute;inset:0}.rocket-plume{z-index:1;transform-origin:100%;filter:drop-shadow(0 0 8px #ff976fc7);width:55%;height:24%;position:absolute;top:56%;left:-19%;transform:rotate(-40deg)}.rocket-plume:before{content:"";clip-path:polygon(0 50%,18% 13%,38% 24%,57% 8%,100% 35%,100% 65%,57% 92%,38% 76%,18% 87%);transform-origin:100%;background:linear-gradient(90deg,#da696e00,#ec8291 34%,#ffb05e 67%,#fff0a8 88%);border-radius:70% 24% 24% 70%/58% 44% 56% 42%;animation:.1s ease-in-out infinite alternate rocketFlamePulse;position:absolute;inset:0}.rocket-plume:after{content:"";z-index:1;transform-origin:100%;background:#fff8c8;border-radius:999px 45% 45% 999px;width:58%;height:36%;animation:.1s ease-in-out 50ms infinite alternate-reverse rocketFlamePulse;position:absolute;top:32%;right:4%}.rocket-plume i{opacity:0;background:#dce5efc7;border-radius:50%;width:16px;height:16px;animation:.42s ease-out infinite rocketSmokePuff;position:absolute;top:50%;left:8%}.rocket-plume i:nth-child(2){animation-delay:.18s;left:-8%}.rocket-plume i:nth-child(3){animation-delay:.36s;left:-22%}.firework-burst{width:1px;height:1px;position:absolute}.burst-a{top:19%;left:12%}.burst-b{top:12%;left:34%}.burst-c{top:24%;left:58%}.burst-d{top:13%;left:83%}.burst-e{top:48%;left:22%}.burst-f{top:56%;left:73%}.burst-g{top:75%;left:43%}.burst-h{top:72%;left:91%}.firework-burst i{--angle:0deg;opacity:0;transform-origin:50%;background:linear-gradient(#fffbe8,#e3a64c);border-radius:999px;width:5px;height:16px;animation:1.45s cubic-bezier(.15,.75,.25,1) forwards fireworkSpark;display:block;position:absolute;box-shadow:0 0 10px #ffe09de6}.firework-burst i:nth-child(2n){background:linear-gradient(#fff,#7fc1c4);box-shadow:0 0 10px #8fd3d6d1}.firework-burst i:nth-child(3n){background:linear-gradient(#fff9e4,#cf7142);box-shadow:0 0 11px #d77745d6}.firework-burst i:first-child{--angle:0deg}.firework-burst i:nth-child(2){--angle:30deg}.firework-burst i:nth-child(3){--angle:60deg}.firework-burst i:nth-child(4){--angle:90deg}.firework-burst i:nth-child(5){--angle:120deg}.firework-burst i:nth-child(6){--angle:150deg}.firework-burst i:nth-child(7){--angle:180deg}.firework-burst i:nth-child(8){--angle:210deg}.firework-burst i:nth-child(9){--angle:240deg}.firework-burst i:nth-child(10){--angle:270deg}.firework-burst i:nth-child(11){--angle:300deg}.firework-burst i:nth-child(12){--angle:330deg}.firework-burst i:nth-child(13){--angle:10deg;animation-duration:1.7s}.firework-burst i:nth-child(14){--angle:70deg;animation-duration:1.7s}.firework-burst i:nth-child(15){--angle:130deg;animation-duration:1.7s}.firework-burst i:nth-child(16){--angle:190deg;animation-duration:1.7s}.firework-burst i:nth-child(17){--angle:250deg;animation-duration:1.7s}.firework-burst i:nth-child(18){--angle:310deg;animation-duration:1.7s}.burst-a i{animation-delay:.52s}.burst-b i{animation-delay:.72s}.burst-c i{animation-delay:.92s}.burst-d i{animation-delay:1.12s}.burst-e i{animation-delay:1.32s}.burst-f i{animation-delay:1.52s}.burst-g i{animation-delay:1.68s}.burst-h i{animation-delay:1.84s}.easter-reveal-copy{color:#315f61;opacity:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f4efe0db;border:1px solid #fff8e1e6;border-radius:18px;place-items:center;min-width:176px;padding:18px 24px;animation:1.85s cubic-bezier(.2,.9,.2,1.12) .35s forwards easterRevealCopy;display:grid;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)scale(.75);box-shadow:0 18px 55px #18353547,inset 0 0 26px #ffffff8c}.easter-reveal-copy small{letter-spacing:.22em;font-size:8px;font-weight:800}.easter-reveal-copy strong{letter-spacing:.18em;margin-top:3px;font-family:Noto Serif TC,Noto Serif JP,serif;font-size:42px;font-weight:600}.easter-reveal-copy b{color:#b45e35;font-family:Noto Serif TC,serif;font-size:13px;position:absolute;top:10px;right:14px}@keyframes fireworkSpark{0%{opacity:0;transform:rotate(var(--angle)) translateY(0) scale(.2)}18%{opacity:1}74%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateY(-112px) scale(.48)}}@keyframes fireworksOverlay{0%,76%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes easterRevealCopy{0%{opacity:0;transform:translate(-50%,-50%)scale(.75)rotate(-2deg)}38%,74%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}to{opacity:0;transform:translate(-50%,-56%)scale(1.04)}}@keyframes oysterRocketLaunch{0%{opacity:0;transform:translate(-18vw,78vh)scale(.72)}2%{opacity:1}96%{opacity:1}to{opacity:0;transform:translate(114vw,-35vh)scale(1.05)}}@keyframes rocketFlamePulse{to{filter:saturate(1.25)brightness(1.12);transform:scaleX(1.2)scaleY(.82)}}@keyframes rocketSmokePuff{0%{opacity:.72;transform:translateY(-50%)scale(.68)}to{opacity:0;transform:translate(-46px,-20%)scale(1.65)}}.masthead{grid-template-columns:minmax(430px,1fr) auto auto;align-items:center;gap:34px;max-width:1540px;min-height:112px;margin:0 auto;display:grid}.title-block{align-items:baseline;gap:24px;display:flex}.title-block p{color:var(--orange-deep);letter-spacing:.18em;writing-mode:vertical-rl;margin:0;font-size:10px;font-weight:700}.title-block h1{letter-spacing:.08em;margin:0;font-size:clamp(44px,4.5vw,70px);line-height:1}.date-block{border-left:1px solid var(--line);border-right:1px solid var(--line);align-items:center;gap:16px;min-height:72px;padding:0 36px;display:flex}.calendar-mark{color:var(--orange);font-size:28px}.date-block small,.date-block strong{display:block}.date-block small{color:var(--muted);margin-bottom:4px;font-size:12px}.date-block strong{letter-spacing:.04em;font-family:Georgia,serif;font-size:22px;font-weight:500}.top-share{border:1px solid var(--line);cursor:pointer;background:#fffdfcc7;border-radius:999px;align-items:center;gap:8px;padding:11px 16px;transition:all .17s ease-out;display:flex}.top-share:hover{border-color:var(--orange);color:var(--orange-deep)}.travel-board{grid-template-columns:minmax(0,1.18fr) minmax(500px,.82fr);align-items:start;gap:16px;max-width:1540px;margin:0 auto;display:grid}.map-column,.itinerary-column{border:1px solid var(--line);min-width:0;box-shadow:0 12px 36px var(--shadow);background:#fffdfcc7;border-radius:22px;padding:20px}.map-column{position:relative}.panel-title{align-items:center;gap:13px;min-height:58px;margin-bottom:14px;display:flex}.round-icon{border:1px solid var(--orange);width:46px;height:46px;color:var(--orange-deep);border-radius:50%;flex:none;place-items:center;font-family:Noto Serif TC,serif;font-weight:700;display:grid}.panel-title span{color:var(--orange-deep);letter-spacing:.18em;font-size:9px;font-weight:700}.panel-title h2{letter-spacing:.06em;margin:2px 0 0;font-size:clamp(25px,2.3vw,36px)}.map-title>p{max-width:180px;color:var(--muted);text-align:right;margin:0 0 0 auto;font-size:11px;line-height:1.55}.illustrated-map{border:1px solid var(--line);background:#f7f0e4;border-radius:16px;position:relative;overflow:hidden}.illustrated-map svg{aspect-ratio:900/520;width:100%;height:auto;display:block}.realistic-map{box-shadow:inset 0 0 42px #5a503714}.map-viewer{min-width:0}.map-controls{z-index:6;align-items:center;gap:7px;display:flex;position:absolute;top:29px;right:20px}.map-tabs{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdfceb;border-radius:999px;gap:3px;padding:3px;display:flex;box-shadow:0 5px 16px #7e505c17}.map-tabs button{cursor:pointer;background:0 0;border:0;border-radius:999px;min-width:0;padding:7px 11px;transition:all .16s ease-out}.map-tabs button>b{color:#675b60;white-space:nowrap;font-family:Noto Sans TC,Noto Sans JP,sans-serif;font-size:10px;font-weight:700}.map-tabs button:hover{background:var(--orange-soft)}.map-tabs button.active{background:var(--orange);box-shadow:0 3px 9px #b85e7233}.map-tabs button.active>b{color:#fff}.google-map-toggle{border:1px solid var(--line);color:#675b60;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdfcf0;border-radius:999px;align-items:center;gap:7px;padding:5px 6px 5px 10px;transition:all .16s ease-out;display:flex;box-shadow:0 5px 16px #7e505c17}.google-map-toggle span{white-space:nowrap;font-size:9px;font-weight:700}.google-map-toggle b{color:#776c7b;letter-spacing:.06em;text-align:center;background:#eee7f5;border-radius:999px;min-width:31px;padding:3px 5px;font-size:8px}.google-map-toggle:hover{border-color:var(--orange)}.google-map-toggle.active{border-color:var(--orange);color:var(--orange-deep);background:#fff3f6}.google-map-toggle.active b{background:var(--orange);color:#fff}.google-map-view{aspect-ratio:900/520;border:1px solid var(--line);background:#eee7dc;border-radius:16px;width:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 42px #5a503714}.google-map-view iframe{border:0;width:100%;height:calc(100% + 100px);display:block;position:absolute;top:-100px;left:0}.google-map-active-badge{z-index:3;color:#fff;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;background:#b85e72f0;border:1px solid #ffffffd1;border-radius:999px;align-items:center;gap:7px;max-width:calc(100% - 24px);padding:7px 11px;font-size:10px;font-weight:700;animation:.19s ease-out activeMapPlace;display:inline-flex;position:absolute;top:12px;left:12px;overflow:hidden;box-shadow:0 7px 20px #7e505c3d}.google-map-active-badge b{font-size:9px}.google-map-route-badge{color:#675b60;pointer-events:none;background:#fffdfcf0;border:1px solid #fffc;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:700;position:absolute;bottom:12px;left:12px;box-shadow:0 5px 16px #7e505c24}.google-map-open{color:var(--orange-deep);background:#fffdfcf0;border:1px solid #fffc;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:700;text-decoration:none;position:absolute;bottom:12px;right:12px;box-shadow:0 5px 16px #7e505c24}.district-labels text{fill:#8b8277;letter-spacing:.08em;font-family:Noto Serif TC,serif;font-size:14px}.east-city-detail{display:none}.distance-label{fill:var(--orange-deep);font-family:Noto Sans TC,sans-serif;font-size:11px;font-weight:700}.inset-title{fill:var(--ink);font-family:Noto Serif TC,serif;font-size:18px;font-weight:700}.inset-scale{fill:var(--muted);font-family:Noto Sans TC,sans-serif;font-size:10px}.map-compass{fill:#746b61;font-family:Georgia,serif;font-size:12px}.map-marker{cursor:pointer;outline:none}.map-marker .marker-core{fill:var(--orange);stroke:var(--paper-light);stroke-width:3px;transition:all .18s ease-out}.map-marker.hotel .marker-core{fill:var(--ink)}.map-marker .marker-symbol{fill:#fff;pointer-events:none;font-family:Noto Serif TC,serif;font-size:10px;font-weight:700}.map-marker .marker-label rect{fill:#fffdf8f2;stroke:#d9cdbb;transition:all .18s ease-out}.map-marker .marker-label text{fill:#635b52;font-family:Noto Sans TC,sans-serif;font-size:10px;font-weight:700}.map-marker:hover .marker-core,.map-marker:focus .marker-core,.map-marker.active .marker-core{fill:var(--orange-deep);transform:scale(1.08)}.map-marker.hotel.active .marker-core{fill:var(--orange-deep)}.map-marker.active .marker-label rect{fill:var(--orange);stroke:var(--orange)}.map-marker.active .marker-label text{fill:#fff}.active-ring{fill:#d9829124;stroke:var(--orange);stroke-width:2px;transform-origin:50%;animation:1.8s ease-out infinite mapPulse}.route-network .route-casing{fill:none;stroke:#fffdf8f0;stroke-width:10px;stroke-linecap:round;stroke-linejoin:round}.route-network .route-line{fill:none;stroke:#b7a889;stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:8 7;transition:all .18s ease-out}.route-network .active .route-line{stroke:var(--orange);stroke-width:5.5px;stroke-dasharray:none}.route-label{cursor:pointer;outline:none}.route-label rect{fill:#fffdf8f0;stroke:#d5c8b4;stroke-width:1.1px;transition:all .17s ease-out}.route-label circle{fill:#fff7f9;stroke:var(--orange);stroke-width:1.2px}.route-label-symbol{fill:var(--orange-deep);font-family:Noto Serif TC,serif;font-size:10px;font-weight:700}.route-label-name{fill:#373129;font-family:Noto Serif TC,Noto Serif JP,serif;font-size:13px;font-weight:700}.route-label-time{fill:#756c61;font-family:Noto Sans TC,Noto Sans JP,sans-serif;font-size:10px;font-weight:700}.route-label:hover rect,.route-label:focus rect,.route-label.active rect{fill:#fff2f5;stroke:var(--orange);stroke-width:1.8px}.route-label.active circle{fill:var(--orange)}.route-label.active .route-label-symbol{fill:#fff}.route-label.active .route-label-time{fill:var(--orange-deep)}.transit-stations circle{fill:var(--paper-light);stroke:#9d88ae;stroke-width:2px}.transit-stations text{fill:#6f6684;font-family:Noto Sans TC,sans-serif;font-size:9px;font-weight:700}.trip-day-route-casing{fill:none;stroke:#fffdf8f5;stroke-width:8px;stroke-linecap:round;stroke-linejoin:round}.trip-day-route-line{fill:none;stroke:var(--orange);stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.78;filter:drop-shadow(0 1px 1px #7e505c26)}.trip-route-segment.active .trip-day-route-line{stroke:var(--orange-deep);stroke-width:4.5px;opacity:1}.trip-area{cursor:pointer;outline:none}.trip-spot-line{fill:none;stroke:#8b705457;stroke-width:9px;stroke-linecap:round;stroke-dasharray:3 6;transition:stroke .17s ease-out,opacity .17s ease-out}.trip-area.line:hover .trip-spot-line,.trip-area.line:focus .trip-spot-line,.trip-area.line.active .trip-spot-line{stroke:#d98291d6;opacity:.9}.trip-area-core{fill:var(--orange);stroke:var(--paper-light);stroke-width:4px;filter:drop-shadow(0 3px 3px #7e505c33);transition:all .17s ease-out}.trip-area:hover .trip-area-core,.trip-area:focus .trip-area-core,.trip-area.active .trip-area-core{fill:var(--orange-deep);stroke-width:5px}.trip-area-number{fill:#fff;pointer-events:none;font-family:Georgia,serif;font-size:15px;font-weight:700}.trip-spot-active-ring{fill:#d9829124;stroke:var(--orange);stroke-width:2.5px;animation:1.8s ease-out infinite mapPulse}.trip-area-label{opacity:0;pointer-events:none;transition:opacity .16s ease-out}.trip-area.active .trip-area-label{opacity:1}.trip-area-label rect{fill:#fffdf8f7;stroke:var(--orange);stroke-width:1.5px;filter:drop-shadow(0 3px 4px #4c341b1f)}.trip-area-name{fill:#42372e;font-family:Noto Serif TC,Noto Serif JP,serif;font-size:15px;font-weight:700}.trip-area-trait{fill:var(--orange-deep);letter-spacing:.02em;font-family:Noto Sans TC,Noto Sans JP,sans-serif;font-size:11px;font-weight:700}@keyframes mapPulse{0%{opacity:.9;stroke-width:2px}70%,to{opacity:0;stroke-width:9px}}@keyframes activeMapPlace{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.map-accuracy-note{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:16px;padding:8px 12px;font-size:10px;display:flex}.map-region-strip{border-top:1px solid var(--line);background:#fffdfcc2;flex-wrap:wrap;align-items:center;gap:6px;padding:9px 11px 10px;display:flex}.map-region-strip>strong{color:var(--orange-deep);font-family:Georgia,serif;font-size:14px}.map-region-theme{border-right:1px solid var(--line);color:#5e5156;padding-right:8px;font-family:Noto Serif TC,serif;font-size:11px;font-weight:700}.map-region-entry{align-items:center;gap:5px;display:inline-flex}.map-region-chip{border:1px solid var(--line);color:#65575c;white-space:nowrap;cursor:pointer;background:#fff9fa;border-radius:999px;align-items:center;gap:4px;padding:4px 7px 4px 4px;font-size:9px;font-weight:700;transition:all .15s ease-out;display:inline-flex}.map-region-chip b{background:var(--orange);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-family:Georgia,serif;font-size:9px;display:grid}.map-region-chip i{color:#956c79;font-size:8px;font-style:normal;font-weight:600}.map-region-chip:hover,.map-region-chip.active{border-color:var(--orange);background:var(--orange);color:#fff}.map-region-chip:hover b,.map-region-chip.active b{color:var(--orange-deep);background:#fff}.map-region-chip:hover i,.map-region-chip.active i{color:#fff2f6}.map-region-empty{color:var(--muted);font-size:9px;font-weight:700}.itoshima-easter-map{background:#d2dfda;animation:.68s cubic-bezier(.2,.8,.2,1) both coastalMapReveal}.itoshima-easter-map svg{background:linear-gradient(145deg,#83b7bd,#e7decc 72%)}.easter-map-badge{z-index:5;color:#587f86;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#fffdf8db;border:1px solid #ffffffc7;border-radius:12px;gap:1px;padding:8px 12px;animation:.56s cubic-bezier(.2,.9,.2,1.15) .22s both easterBadgePop;display:grid;position:absolute;top:14px;left:14px;box-shadow:0 8px 24px #486e7129}.easter-map-badge span{letter-spacing:.2em;font-size:7px;font-weight:800}.easter-map-badge strong{letter-spacing:.12em;font-family:Noto Serif TC,Noto Serif JP,serif;font-size:20px}.easter-waves path{stroke-width:3px;opacity:.52;stroke-dasharray:240;stroke-dashoffset:240px;animation:1.2s ease-out .26s forwards drawCoastWave}.easter-waves path:nth-child(2){animation-delay:.36s}.easter-waves path:nth-child(3){animation-delay:.46s}.itoshima-route-casing,.itoshima-route-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.itoshima-route-casing{stroke:#ffffffe6;stroke-width:12px}.itoshima-route-line{stroke:#7aaeb0;stroke-width:5px;stroke-dasharray:11 7;animation:1.1s linear infinite itoshimaRouteMove}.itoshima-stop{opacity:0;animation:.36s cubic-bezier(.2,.9,.2,1.2) forwards easterStopPop}.itoshima-stop:first-child{animation-delay:.26s}.itoshima-stop:nth-child(2){animation-delay:.36s}.itoshima-stop:nth-child(3){animation-delay:.46s}.itoshima-stop:nth-child(4){animation-delay:.56s}.itoshima-easter-map .trip-area-core{fill:#52888a;stroke:#fffdf8}.itoshima-easter-map .trip-area.active .trip-area-core{fill:#b55d35}.itoshima-easter-map .trip-spot-active-ring{fill:none;stroke:#d18758}.itoshima-easter-map .trip-area-number{fill:#fff}.itoshima-labels text{fill:#5f7779}.easter-sun circle{fill:#efd7b2;opacity:.78}.easter-sun path{fill:none;stroke:#fff8e9;stroke-width:2.4px;stroke-linecap:round;opacity:.9;animation:2.8s ease-in-out infinite easterSunPulse}.itoshima-easter .day-plan-purpose{background:#eaeff7d1;border-left-color:#7899ba}.itoshima-easter .day-area-tags span{color:#596b85;background:linear-gradient(90deg,#d9e5f0,#e6ddeb)}.itoshima-easter .week-day.active{background:linear-gradient(#d4e5f2f7,#eeeaf7f2 56%,#e5dcebf5);border-color:#759abb;position:relative;overflow:hidden;box-shadow:inset 0 3px #759abb,0 10px 28px #374f6833}.itoshima-easter .week-day.active:after{content:"🦪";filter:saturate(.75);pointer-events:none;font-size:12px;animation:1.8s ease-in-out infinite calendarStarTwinkle;position:absolute;top:5px;right:6px}.itoshima-easter .week-day.active .week-day-head{background:linear-gradient(145deg,#c9dfef,#e5def1 64%,#d7dbea)}.itoshima-easter .week-day.active .week-day-head strong{color:#597899;text-shadow:0 1px #ffffffb8}.itoshima-easter .week-day.active .week-day-head small,.itoshima-easter .week-day.active .day-area-label{color:#7a4e36;font-weight:800}.itoshima-easter .week-day.active .day-period.day{border-bottom-color:#b98762}@keyframes calendarStarTwinkle{0%,to{opacity:.48;transform:scale(.8)rotate(0)}50%{opacity:1;transform:scale(1.18)rotate(16deg)}}@keyframes coastalMapReveal{0%{opacity:.15;filter:saturate(.5);transform:scale(.985)}to{opacity:1;filter:saturate();transform:scale(1)}}@keyframes easterBadgePop{0%{opacity:0;transform:translateY(-8px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes drawCoastWave{to{stroke-dashoffset:0}}@keyframes itoshimaRouteMove{to{stroke-dashoffset:-36px}}@keyframes easterStopPop{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes easterSunPulse{50%{opacity:.55;transform-origin:704px 58px;transform:scale(.96)}}@media (prefers-reduced-motion:reduce){.page-shell.itoshima-easter,.itoshima-easter-map,.easter-map-badge,.easter-waves path,.itoshima-route-line,.itoshima-stop,.easter-sun path,.itoshima-fireworks,.firework-burst i,.oyster-rocket-flight,.rocket-plume:before,.rocket-plume i,.easter-reveal-copy,.itoshima-easter .week-day.active:after{animation:none}.itoshima-fireworks{display:none}.itoshima-stop{opacity:1}}.place-card{border:1px solid var(--line);background:var(--paper-light);border-radius:18px;grid-template-columns:minmax(180px,1.02fr) minmax(280px,1.5fr) minmax(145px,.78fr);align-items:stretch;gap:20px;min-height:190px;margin-top:14px;padding:16px;animation:.22s ease-out cardSwap;display:grid}.place-card-container{display:contents}@keyframes cardSwap{0%{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.place-photo{background:#e6dadd;border-radius:13px;min-width:0;min-height:158px;margin:0;position:relative;overflow:hidden;box-shadow:0 5px 16px #7e505c24}.place-photo img{object-fit:cover;width:100%;height:100%;display:block}.place-photo:after{content:"";border-radius:inherit;pointer-events:none;border:1px solid #ffffff47;position:absolute;inset:0}.place-photo figcaption{color:#fff;letter-spacing:.08em;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1f1c18b8;border-radius:999px;padding:3px 7px;font-size:8px;position:absolute;bottom:8px;left:9px}.place-copy{align-self:center;min-width:0}.place-eyebrow{color:var(--orange-deep);letter-spacing:.1em;font-size:11px;font-weight:700;display:inline}.place-copy h3{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;margin:4px 0 11px;font-size:clamp(20px,1.75vw,28px);line-height:1.14;display:-webkit-box;overflow:hidden}.mobile-place-note,.mobile-place-time,.mobile-place-summary,.mobile-reservations,.mobile-map-fab,.mobile-place-rail,.mobile-drawer-backdrop,.mobile-place-drawer,.mobile-map-estimate,.mobile-day-plan{display:none}.place-facts{gap:8px;margin:0;padding:0;list-style:none;display:grid}.place-facts li{min-width:0;color:var(--muted);grid-template-columns:24px minmax(0,1fr);align-items:center;gap:7px;font-size:11px;line-height:1.35;display:grid}.place-facts i{background:var(--orange-soft);width:22px;height:22px;color:var(--orange-deep);border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:12px;font-style:normal;font-weight:700;display:grid}.place-side{border-left:1px dashed var(--line);grid-template-rows:minmax(90px,1fr) auto;align-items:center;min-width:0;padding-left:14px;display:grid}.place-sketch{color:#8a846d;place-items:center;min-height:96px;display:grid;position:relative}.place-sketch svg{width:min(125px,100%);height:88px}.place-sketch>span{border:1px solid var(--orange);width:26px;height:26px;color:var(--orange-deep);border-radius:50%;place-items:center;font-family:Noto Serif TC,serif;font-size:11px;font-weight:700;display:grid;position:absolute;top:2px;right:4px}.place-meta{border-top:1px solid var(--line);text-align:right;grid-template-columns:1fr auto;align-items:end;gap:1px 8px;padding-top:8px;display:grid}.place-meta strong{color:var(--orange-deep);font-family:Georgia,serif;font-size:24px;font-weight:500}.place-meta span{color:var(--muted);font-family:Georgia,serif;font-size:11px}.place-meta a{border:1px solid var(--orange);color:var(--orange-deep);text-align:center;border-radius:999px;grid-column:1/-1;margin-top:5px;padding:6px 10px;font-size:10px;font-weight:700;transition:all .16s ease-out}.place-meta a:hover{background:var(--orange);color:#fff}.itinerary-column{flex-direction:column;display:flex}.week-section,.reservations-section{min-width:0}.week-section{border:1px solid var(--line);background:#fffdfcc7;border-radius:16px;padding:13px}.reservations-section{content-visibility:auto;contain-intrinsic-size:auto 430px;margin-top:16px}.subsection-heading{justify-content:space-between;align-items:flex-start;gap:14px;min-height:39px;margin-bottom:10px;display:flex}.week-heading{display:none}.subsection-heading span{color:var(--orange-deep);letter-spacing:.16em;margin-bottom:2px;font-size:8px;font-weight:700;display:block}.subsection-heading h3{letter-spacing:.04em;margin:0;font-size:18px;line-height:1.2}.subsection-heading>strong{border:1px solid var(--line);color:#938777;letter-spacing:.08em;white-space:nowrap;border-radius:999px;padding:5px 8px;font-family:Georgia,serif;font-size:8px;font-weight:600}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.week-day{border:1px solid var(--line);background:var(--paper-light);border-radius:10px;flex-direction:column;min-width:0;min-height:248px;transition:all .16s ease-out;display:flex;overflow:hidden}.week-day.active{border-color:var(--orange);box-shadow:inset 0 3px 0 var(--orange), 0 6px 16px #7e505c1a}.week-day-head{border:0;border-bottom:1px solid var(--line);cursor:pointer;background:#f7f1ee;place-items:center;width:100%;min-height:62px;padding:8px 3px 6px;display:grid}.week-day-head:hover{background:#fdf0f3}.week-day.active .week-day-head{background:#fbecef}.week-day-head strong{color:var(--orange-deep);font-family:Georgia,serif;font-size:19px;font-weight:500;line-height:1}.week-day-head small{color:var(--muted);margin-top:3px;font-size:8px}.day-area-label{color:#8a6571;text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;margin-top:4px;font-size:7px;font-weight:700;line-height:1.15;display:-webkit-box;overflow:hidden}.day-period{flex-direction:column;flex:1 1 0;min-height:92px;display:flex}.day-period.day{border-bottom:1px dashed #d7cbb9}.period-events{flex:1;grid-auto-rows:minmax(72px,1fr);align-content:stretch;gap:4px;min-height:92px;padding:5px 3px;display:grid}.period-empty{min-height:0}.week-event{cursor:pointer;background:#fff8f9;border:0;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:54px;padding:5px 2px;transition:all .16s ease-out;display:flex}.week-event time{color:var(--orange-deep);font-family:Georgia,serif;font-size:11px;font-weight:600}.event-kind{color:#8c6545;white-space:nowrap;justify-content:center;align-items:center;gap:2px;font-size:7px;font-weight:700;display:flex}.event-kind b{border:1px solid var(--orange);width:30px;height:30px;color:var(--orange-deep);border-radius:50%;place-items:center;font-family:Noto Serif TC,serif;font-size:13px;display:grid}.event-name{max-width:100%;color:var(--ink);text-align:center;white-space:nowrap;font-size:10px;font-weight:700;line-height:1.15;display:block;overflow:hidden}.week-event:hover{background:#fff2f5}.week-event.active{background:var(--orange)}.week-event.active time,.week-event.active .event-kind,.week-event.active .event-name{color:#fff}.week-event.active .event-kind b{color:#fff;background:#ffffff21;border-color:#ffffffb8}.day-plan-card{border:1px solid var(--line);background:#fffdfcd6;border-radius:16px;margin-top:16px;padding:14px;animation:.22s ease-out cardSwap;box-shadow:0 7px 20px #7e505c0d}.day-plan-head{grid-template-columns:72px minmax(0,1fr);align-items:center;gap:12px;display:grid}.day-plan-date{border-right:1px dashed var(--line);text-align:center;place-content:center;min-height:62px;display:grid}.day-plan-date strong{color:var(--orange-deep);font-family:Georgia,serif;font-size:22px;font-weight:500}.day-plan-date span{color:var(--muted);margin-top:3px;font-size:9px}.day-plan-title{min-width:0}.day-plan-title>span{color:var(--orange-deep);letter-spacing:.16em;font-size:8px;font-weight:700}.day-plan-title h3{margin:2px 0 3px;font-size:20px;line-height:1.15}.day-plan-title p{color:#8a6571;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:10px;font-weight:700;overflow:hidden}.day-plan-purpose{border-left:4px solid var(--orange);color:var(--muted);background:#fff7f8;margin:11px 0 10px;padding:11px 12px;font-size:13px;font-weight:500;line-height:1.6}.day-area-tags{flex-wrap:wrap;gap:5px;margin-bottom:10px;display:flex}.day-area-tags span{background:var(--orange-soft);color:#765f7b;border-radius:999px;padding:5px 10px;font-size:10px;font-weight:700}.day-timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.day-timeline li{border:1px solid var(--line);background:var(--paper-light);border-radius:10px;min-width:0;min-height:58px;transition:all .16s ease-out;position:relative;overflow:hidden}.day-timeline li>button,.timeline-row{text-align:left;background:0 0;border:0;grid-template-columns:32px 54px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-height:56px;padding:7px 30px 7px 7px;display:grid}.day-timeline li>button{cursor:pointer}.day-timeline li.interactive:hover{border-color:var(--orange);background:#fff3f5;transform:translateY(-1px)}.day-timeline li.active{border-color:var(--orange);box-shadow:inset 3px 0 0 var(--orange), 0 5px 14px #7e505c1a;background:#f9e8ed}.timeline-kind{border:1.5px solid var(--orange);width:32px;height:32px;color:var(--orange-deep);border-radius:50%;place-items:center;font-family:Noto Serif TC,serif;font-size:12px;font-weight:700;display:grid}.day-timeline time{color:var(--orange-deep);font-family:Georgia,serif;font-size:13px;font-weight:700}.day-timeline p{color:#5b5054;margin:0;font-size:12px;font-weight:600;line-height:1.4}.day-timeline li button>b,.timeline-row>b{color:#d5c9b8;font-family:Georgia,serif;font-size:9px;font-weight:500;position:absolute;top:7px;right:8px}.day-timeline li.restaurant{background:#fff6f7;border-color:#e6b6c1}.day-timeline li.shopping .timeline-kind{background:#eee7f5}.day-timeline li.active .timeline-kind{background:var(--orange);color:#fff}.day-timeline li.move.context{box-shadow:none;background:#f6f2f3;border-style:dashed;border-color:#ded5d8}.day-timeline li.move.context .timeline-kind{color:#746a6e;background:#e2dadd;border:0;border-radius:8px;font-family:Noto Sans TC,Noto Sans JP,sans-serif}.day-timeline li.move.context time{color:#7f766d}.day-timeline li.move.context p{color:#706a63;font-weight:500}.day-timeline li.free{background:#faf7f8;border-style:dashed}.ticket-list{gap:10px;display:grid}.dining-ticket{border:1px solid var(--line);background:radial-gradient(circle at 0 50%, var(--paper) 0 8px, transparent 9px), radial-gradient(circle at 100% 50%, var(--paper) 0 8px, transparent 9px), var(--paper-light);text-align:left;cursor:pointer;border-radius:14px;grid-template-columns:93px 68px 44px minmax(0,1fr) 18px;align-items:center;gap:10px;width:100%;min-height:91px;padding:9px 14px 9px 7px;transition:all .17s ease-out;display:grid;position:relative;overflow:hidden;box-shadow:0 6px 18px #7e505c0f}.dining-ticket:hover{border-color:var(--orange);transform:translateY(-2px);box-shadow:0 10px 26px #7e505c1c}.dining-ticket.active{border-color:var(--orange);background:radial-gradient(circle at 0 50%, var(--paper) 0 8px, transparent 9px), radial-gradient(circle at 100% 50%, var(--paper) 0 8px, transparent 9px), #fff3f6;box-shadow:inset 4px 0 0 var(--orange), 0 10px 26px #7e505c1a}.ticket-date{text-align:center;border-right:1px dashed var(--line);place-content:center;min-height:68px;display:grid}.ticket-date strong{color:var(--orange-deep);font-family:Georgia,serif;font-size:24px;font-weight:500}.ticket-date small{color:var(--muted);letter-spacing:.12em;margin-top:3px;font-family:Georgia,serif;font-size:10px}.dining-ticket time{color:var(--orange-deep);font-family:Georgia,serif;font-size:17px}.food-symbol{border:1px solid var(--orange);width:40px;height:40px;color:var(--orange-deep);border-radius:50%;place-items:center;font-family:Noto Serif TC,serif;font-weight:700;display:grid}.ticket-name{min-width:0}.ticket-name h3{color:var(--ink);-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;margin:0 0 5px;font-size:clamp(15px,1.25vw,19px);line-height:1.22;display:-webkit-box;overflow:hidden}.ticket-name span{background:var(--orange-soft);color:#765f7b;border-radius:999px;padding:3px 9px;font-size:9px;display:inline-block}.dining-ticket>b{color:var(--orange-deep);text-align:center;font-size:14px}.maps-cta{background:var(--orange);color:#fff;border-radius:14px;grid-template-columns:44px minmax(0,1fr) 24px;align-items:center;gap:13px;min-height:77px;margin-top:14px;padding:11px 16px;transition:all .17s ease-out;display:grid;box-shadow:0 10px 26px #b85e723b}.maps-cta:hover{background:var(--orange-deep);transform:translateY(-2px)}.cta-pin{border:1px solid #ffffff9e;border-radius:50%;place-items:center;width:40px;height:40px;font-size:23px;display:grid}.maps-cta>span:nth-child(2){letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;flex-direction:column;font-family:Noto Serif TC,Noto Serif JP,serif;font-size:17px;font-weight:700;display:flex;overflow:hidden}.maps-cta small{letter-spacing:.1em;opacity:.82;margin-bottom:1px;font-family:Noto Sans TC,sans-serif;font-size:9px;font-weight:500}.maps-cta b{font-size:23px}.board-note{color:var(--muted);text-align:center;margin:8px 0 0;font-size:10px}.page-footer{color:#9a858c;letter-spacing:.12em;justify-content:space-between;align-items:flex-end;max-width:1540px;min-height:44px;margin:0 auto;font-family:Georgia,serif;font-size:10px;display:flex}.mobile-kicker,.desktop-rail-note{display:none}@media (min-width:721px){.map-mode-illustrated .east-city-detail{opacity:.82;display:inline}.map-mode-illustrated .route-label,.map-mode-illustrated .trip-area-label{display:none}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));align-items:stretch}.week-day{height:100%}.week-day-head{flex:0 0 70px;height:70px;min-height:70px}.day-period{flex:1 1 0;min-height:0}.period-events{grid-auto-rows:minmax(0,1fr);align-content:stretch;height:100%;min-height:0}.week-event{aspect-ratio:auto;width:100%;height:100%;min-height:0}.desktop-reservations,.itinerary-column>.board-note{display:none}.mobile-place-rail{z-index:42;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdfcf0;border:1px solid #e2d4d4e6;border-right:0;border-radius:20px 0 0 20px;flex-direction:column;align-items:center;gap:7px;padding:10px 7px 10px 9px;transition:opacity .17s ease-out,transform .17s ease-out;display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%);box-shadow:-8px 10px 28px #7e505c26}.mobile-place-rail.drawer-open{opacity:0;pointer-events:none;transform:translate(10px,-50%)}.mobile-place-rail>button:not(.desktop-rail-note){border:1px solid var(--line);background:var(--paper-light);width:34px;height:34px;color:var(--orange-deep);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-family:Noto Serif TC,Noto Serif JP,serif;font-size:13px;font-weight:700;transition:all .15s ease-out;display:grid}.mobile-place-rail>button:not(.desktop-rail-note):hover{border-color:var(--orange);transform:scale(1.06)}.mobile-place-rail>button:not(.desktop-rail-note).active{border-color:var(--orange);background:var(--orange);color:#fff;box-shadow:0 4px 12px #b85e723d}.mobile-place-rail .rail-expand{border-color:var(--orange);border-style:dashed;margin-top:2px;font-family:Georgia,serif;font-size:31px;font-weight:700;line-height:1}.mobile-place-rail .rail-expand span{transform:translate(-1px,-1px)}.desktop-rail-note{background:var(--orange-soft);color:#765f7b;cursor:pointer;writing-mode:vertical-rl;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:34px;min-height:118px;margin-bottom:2px;padding:8px 5px;display:flex}.desktop-rail-note span{letter-spacing:.14em;font-size:7px;font-weight:700}.desktop-rail-note strong{color:var(--orange-deep);letter-spacing:.08em;font-size:11px}.desktop-rail-note b{background:var(--orange);color:#fff;writing-mode:horizontal-tb;border-radius:50%;place-items:center;width:20px;height:20px;font-family:Georgia,serif;font-size:9px;display:grid}.mobile-drawer-backdrop{z-index:50;opacity:0;visibility:hidden;background:#251e173d;border:0;width:100%;height:100%;padding:0;transition:opacity .19s ease-out,visibility .19s;display:block;position:fixed;inset:0}.mobile-drawer-backdrop.open{opacity:1;visibility:visible}.mobile-place-drawer{z-index:55;background:var(--paper-light);visibility:hidden;overscroll-behavior:contain;width:min(460px,92vw);padding:22px 18px;transition:transform .22s ease-out,visibility .22s;display:block;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(104%);box-shadow:-18px 0 46px #593a4338}.mobile-place-drawer.open{visibility:visible;transform:translate(0)}.mobile-drawer-close{z-index:2;border:1px solid var(--line);width:36px;height:36px;color:var(--muted);cursor:pointer;background:#fffdf8f5;border-radius:50%;place-items:center;margin:0 0 -30px auto;padding:0;font-size:23px;line-height:1;display:grid;position:sticky;top:0;left:calc(100% - 38px)}.mobile-place-drawer .mobile-reservations{background:0 0;border:0;margin:0;padding:6px 0 0;display:block}.mobile-place-drawer .subsection-heading{padding-right:46px}.mobile-place-drawer .dining-ticket{grid-template-columns:70px 52px 38px minmax(0,1fr) 10px;gap:7px;padding:8px 10px 8px 5px}.mobile-place-drawer .ticket-date{min-height:62px}.mobile-place-drawer .ticket-date strong{font-size:19px}.mobile-place-drawer .dining-ticket time{font-size:14px}.mobile-place-drawer .food-symbol{width:34px;height:34px;font-size:12px}.mobile-place-drawer .ticket-name h3{font-size:14px}}@media (max-width:1180px){.masthead{grid-template-columns:minmax(0,1fr) auto}.date-block{display:none}.travel-board{grid-template-columns:1fr}.maps-cta{margin-top:14px}}@media (max-width:900px){.place-card{grid-template-columns:minmax(170px,.9fr) minmax(280px,1.35fr)}.place-side{border-left:0;border-top:1px dashed var(--line);grid-column:1/-1;grid-template-rows:auto;grid-template-columns:minmax(150px,.65fr) 1fr;padding:10px 0 0}.place-sketch{min-height:70px}.place-sketch svg{height:66px}.place-meta{border-top:0;border-left:1px solid var(--line);padding:0 0 0 14px}}@media (max-width:720px){.initial-skeleton{padding:8px 12px 0}.skeleton-masthead{height:30px;box-shadow:none;background:0 0;border:0;padding:0}.skeleton-title{width:112px;height:8px}.skeleton-date{width:86px;height:8px}.skeleton-board{margin-top:6px;display:block}.skeleton-map-panel{border-radius:18px;min-height:0;padding:10px 10px 0}.skeleton-card{border-radius:14px;grid-template-columns:96px minmax(0,1fr);gap:10px;height:158px;padding:10px}.skeleton-photo{border-radius:10px;min-height:138px}.skeleton-name{width:88%;height:22px}.skeleton-copy{height:10px;margin-top:10px}.skeleton-map{border-radius:0;width:calc(100% + 20px);height:min(42vh,360px);min-height:245px;margin:12px -10px 0}.skeleton-calendar{height:var(--mobile-week-height,210px);padding:8px 10px max(8px, env(safe-area-inset-bottom));box-shadow:0 -1px 0 var(--line);border:0;border-radius:0;gap:5px;position:fixed;bottom:0;left:0;right:0}.page-shell{--mobile-week-height:clamp(190px, 24dvh, 230px);width:100%;max-width:100vw;min-height:0;padding:8px 12px var(--mobile-week-height);overflow-x:clip}.masthead{display:none}.mobile-kicker{color:#9a858c;letter-spacing:.12em;justify-content:space-between;align-items:center;min-height:30px;margin-bottom:6px;font-family:Georgia,serif;font-size:9px;display:flex}.travel-board{width:100%;min-width:0;max-width:100%;margin-bottom:0;padding-bottom:0}.map-column,.itinerary-column{border-radius:18px;padding:12px}.map-column{border:1px solid var(--line);width:100%;min-width:0;max-width:100%;box-shadow:0 8px 24px var(--shadow);background:#fffdfccc;border-radius:18px;flex-direction:column;margin-bottom:16px;padding:10px 10px 0;display:flex;overflow:hidden}.map-title{display:none}.panel-title{min-height:44px;margin-bottom:8px}.round-icon{width:36px;height:36px}.panel-title h2{font-size:20px}.map-title>p{display:none}.map-viewer{order:2;width:calc(100% + 20px);margin:12px -10px 0;position:relative}.map-controls{gap:4px;top:8px;left:8px;right:auto}.map-tabs{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdfcf0;border-radius:999px;justify-content:flex-start;gap:2px;width:auto;padding:2px;box-shadow:0 4px 14px #7e505c1c}.map-tabs button{padding:3px 7px}.map-tabs button>b{font-size:8px}.google-map-toggle{gap:4px;padding:3px 4px 3px 7px}.google-map-toggle span{font-size:7px}.google-map-toggle b{min-width:25px;padding:2px 4px;font-size:7px}.google-map-view{border:0;border-radius:0;min-height:245px}.google-map-view iframe{height:calc(100% + 122px);top:-122px}.google-map-active-badge{max-width:calc(100% - 16px);padding:5px 8px;font-size:8px;top:38px;left:8px}.google-map-route-badge{padding:5px 8px;font-size:8px;bottom:8px;left:8px}.google-map-open{display:none}.easter-map-badge{padding:6px 9px;inset:auto 8px 42px auto}.easter-map-badge span{font-size:5.5px}.easter-map-badge strong{font-size:15px}.week-section{background:0 0;border:0;border-radius:0;height:100%;padding:0;overflow:auto hidden}.week-heading{display:none}.week-grid{align-items:stretch;min-width:560px;height:100%}.illustrated-map{border:0;border-radius:0;overflow:hidden}.illustrated-map svg{width:100%;min-width:0}.route-label-name{font-size:18px}.route-label-time,.route-label-symbol{font-size:14px}.trip-area-name{font-size:19px}.trip-area-trait{font-size:14px}.trip-area-core{r:25px;stroke-width:5px}.trip-area-number{font-size:20px}.trip-spot-active-ring{r:37px;stroke-width:3.5px}.trip-spot-line{stroke-width:13px;stroke-dasharray:4 8}.trip-area.line.active .trip-spot-line{stroke-width:15px}.map-marker .marker-core{r:22px;stroke-width:4px}.map-marker.active .marker-core{r:27px}.map-marker .marker-symbol{font-size:17px}.map-marker .active-ring{r:36px;stroke-width:3.5px}.map-accuracy-note{min-width:0}.map-region-strip{gap:5px;padding:8px 9px 9px}.map-region-strip>strong{font-size:13px}.map-region-theme{width:auto;font-size:9px}.map-region-chip{padding:3px 6px 3px 3px;font-size:8px}.map-region-chip b{width:17px;height:17px;font-size:8px}.map-region-chip i{font-size:7px}.desktop-map-estimate{display:none}.mobile-map-estimate{display:inline}.place-card-container{order:1;display:block}.place-card{border-radius:14px;grid-template-rows:auto;grid-template-columns:96px minmax(0,1fr);align-items:stretch;gap:10px;min-height:0;margin:0;padding:10px}.place-photo{border-radius:10px;grid-area:1/1;height:100%;min-height:138px;display:block}.place-photo:after{display:none}.place-photo figcaption{padding:2px 5px;font-size:7px;bottom:5px;left:5px}.place-copy{grid-area:1/2;align-self:start}.place-eyebrow{font-size:8px;display:inline}.place-title-row{align-items:baseline;gap:9px;display:flex}.place-copy h3{white-space:normal;flex:auto;margin:1px 0 4px;font-size:16px}.mobile-place-time{color:var(--orange-deep);flex:none;font-family:Georgia,serif;font-size:16px;font-weight:600;display:block}.mobile-place-summary{align-items:center;gap:8px;display:flex}.mobile-place-note{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:auto;margin:0 0 7px;font-size:9px;line-height:1.35;display:-webkit-box;overflow:hidden}.mobile-map-fab{z-index:35;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));aspect-ratio:1;background:var(--orange);color:#fff;border:1px solid #ffffffc2;border-radius:999px;place-items:center;width:56px;min-width:56px;max-width:56px;height:56px;min-height:56px;max-height:56px;padding:0;transition:transform .16s ease-out,background .16s ease-out;display:grid;position:fixed;overflow:hidden;box-shadow:0 10px 28px #7e505c4d}.mobile-map-fab span{border:1px solid;border-radius:50%;width:24px;height:24px;margin:0;font-size:0;line-height:0;display:block;position:relative}.mobile-map-fab span:before,.mobile-map-fab span:after{content:"";background:currentColor;position:absolute}.mobile-map-fab span:before{height:1px;top:50%;left:-6px;right:-6px;transform:translateY(-50%)}.mobile-map-fab span:after{width:1px;top:-6px;bottom:-6px;left:50%;transform:translate(-50%)}.mobile-map-fab:active{background:var(--orange-deep);transform:scale(.95)}.place-facts{gap:4px;display:grid}.place-facts li{grid-template-columns:18px minmax(0,1fr);gap:5px;font-size:9px;line-height:1.25}.place-facts i{width:18px;height:18px;font-size:9px}.place-side,.desktop-day-plan{display:none}.mobile-day-plan{border:0;border-top:1px solid var(--line);width:100%;box-shadow:none;content-visibility:auto;contain-intrinsic-size:auto 680px;background:0 0;border-radius:0;order:3;margin:10px 0 0;padding:10px;display:block}.mobile-day-plan .day-plan-head{grid-template-columns:58px minmax(0,1fr);gap:9px}.mobile-day-plan .day-plan-date{min-height:54px}.mobile-day-plan .day-plan-date strong{font-size:18px}.mobile-day-plan .day-plan-title h3{font-size:17px}.mobile-day-plan .day-plan-title p{font-size:9px}.mobile-day-plan .day-plan-purpose{margin:8px 0 7px;padding:8px 9px;font-size:11px;line-height:1.55}.mobile-day-plan .day-area-tags{margin-bottom:8px}.mobile-day-plan .day-area-tags span{padding:4px 8px;font-size:9px}.mobile-day-plan .day-timeline{grid-template-columns:1fr;gap:5px}.mobile-day-plan .day-timeline li{min-height:48px}.mobile-day-plan .day-timeline li>button,.mobile-day-plan .timeline-row{grid-template-columns:28px 48px minmax(0,1fr);gap:7px;min-height:46px;padding:6px 24px 6px 6px}.mobile-day-plan .timeline-kind{width:28px;height:28px;font-size:10px}.mobile-day-plan .day-timeline time{font-size:11px}.mobile-day-plan .day-timeline p{font-size:11px;line-height:1.35}.mobile-place-rail{z-index:42;top:calc((100dvh - var(--mobile-week-height)) / 2);max-height:calc(100dvh - var(--mobile-week-height) - 16px);scrollbar-width:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdfceb;border:1px solid #e2d4d4e0;border-right:0;border-radius:18px 0 0 18px;flex-direction:column;align-items:center;gap:7px;padding:9px 5px 9px 8px;transition:opacity .16s ease-out,transform .16s ease-out;display:flex;position:fixed;right:0;overflow-y:auto;transform:translateY(-50%);box-shadow:-5px 7px 20px #7e505c21}.mobile-place-rail::-webkit-scrollbar{display:none}.mobile-place-rail.drawer-open{opacity:0;pointer-events:none;transform:translate(8px,-50%)}.mobile-place-rail>button:not(.desktop-rail-note){border:1px solid var(--line);background:var(--paper-light);width:30px;height:30px;color:var(--orange-deep);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-family:Noto Serif TC,Noto Serif JP,serif;font-size:12px;font-weight:700;transition:all .15s ease-out;display:grid}.mobile-place-rail>button:not(.desktop-rail-note).active{border-color:var(--orange);background:var(--orange);color:#fff;transform:scale(1.08);box-shadow:0 4px 12px #b85e7242}.mobile-place-rail .desktop-rail-note{background:var(--orange-soft);color:#765f7b;cursor:pointer;writing-mode:vertical-rl;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:30px;min-height:104px;margin:0 0 2px;padding:7px 4px;display:flex}.mobile-place-rail .desktop-rail-note span{display:none}.mobile-place-rail .desktop-rail-note strong{color:var(--orange-deep);letter-spacing:.08em;font-size:10px;line-height:1}.mobile-place-rail .desktop-rail-note b{background:var(--orange);color:#fff;writing-mode:horizontal-tb;border-radius:50%;place-items:center;width:19px;height:19px;font-family:Georgia,serif;font-size:9px;display:grid}.mobile-place-rail .rail-expand{border-color:var(--orange);color:var(--orange-deep);border-style:dashed;margin-top:3px;font-family:Georgia,serif;font-size:22px;line-height:1}.mobile-place-rail .rail-expand span{transform:translate(-1px)}.mobile-drawer-backdrop{z-index:50;opacity:0;visibility:hidden;background:#251e173d;border:0;width:100%;height:100%;padding:0;transition:opacity .19s ease-out,visibility .19s;position:fixed;inset:0}.mobile-drawer-backdrop.open{opacity:1;visibility:visible;display:block}.mobile-place-drawer{z-index:55;width:min(88vw,360px);padding:max(18px, env(safe-area-inset-top)) 12px max(18px, env(safe-area-inset-bottom));background:var(--paper-light);visibility:hidden;overscroll-behavior:contain;transition:transform .22s ease-out,visibility .22s;display:block;position:fixed;top:0;bottom:0;right:0;overflow:hidden auto;transform:translate(104%);box-shadow:-18px 0 46px #593a4338}.mobile-place-drawer.open{visibility:visible;transform:translate(0)}.mobile-drawer-close{z-index:2;border:1px solid var(--line);width:34px;height:34px;color:var(--muted);cursor:pointer;background:#fffdf8f0;border-radius:50%;place-items:center;margin:0 0 -28px auto;padding:0;font-size:22px;line-height:1;display:grid;position:sticky;top:0;left:calc(100% - 36px)}.mobile-place-drawer .mobile-reservations{background:0 0;border:0;margin:0;padding:6px 0 0;display:block}.mobile-place-drawer .subsection-heading{padding-right:44px}.mobile-place-drawer .dining-ticket{grid-template-columns:54px 44px 34px minmax(0,1fr) 8px;gap:5px;min-height:80px;padding:7px 8px 7px 4px}.mobile-place-drawer .ticket-date{min-height:60px}.mobile-place-drawer .ticket-date strong{overflow-wrap:anywhere;font-size:16px;line-height:1.05}.mobile-place-drawer .dining-ticket.hotel .ticket-date strong{font-size:12px}.mobile-place-drawer .dining-ticket time{font-size:13px}.mobile-place-drawer .food-symbol{width:32px;height:32px;font-size:12px}.mobile-place-drawer .ticket-name h3{overflow-wrap:anywhere;font-size:13px}.desktop-reservations,.itinerary-column>.maps-cta,.itinerary-column>.board-note{display:none}.itinerary-column{z-index:30;width:100%;max-width:100vw;height:var(--mobile-week-height);padding:8px 10px max(8px, env(safe-area-inset-bottom));box-shadow:0 -1px 0 var(--line);overscroll-behavior:contain;background:#fffdf8fa;border:0;border-radius:0;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.week-section{flex:auto}.week-day{grid-template-rows:58px minmax(0,1fr) minmax(0,1fr);height:100%;min-height:0;display:grid}.week-day-head{grid-template-rows:20px 12px minmax(16px,1fr);align-content:center;height:58px;min-height:58px;max-height:58px;padding:5px 3px 4px}.day-area-label{font-size:6.5px}.day-period,.period-events{min-height:0}.period-events{grid-auto-rows:minmax(0,1fr);padding:4px 3px;overflow:hidden}.week-event{min-height:0}.dining-ticket{grid-template-columns:72px 50px 36px minmax(0,1fr) 12px;gap:6px;padding-right:9px}.ticket-date strong{font-size:20px}.dining-ticket time{font-size:15px}.food-symbol{width:34px;height:34px;font-size:12px}.ticket-name h3{font-size:14px}.page-footer{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
