/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@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;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--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{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ink:#17241f;--muted:#607068;--paper:#f5f1e8;--surface:#fffdf8;--surface-soft:#f8f5ee;--line:#ddd5c7;--green:#1f5a47;--green-deep:#153d31;--green-soft:#e5f0e9;--vermillion:#bd4c38;--vermillion-soft:#fae7df;--amber:#9a6421;--amber-soft:#f7ead2;--blue:#2e6274;--blue-soft:#e3eef2;--shadow:0 18px 50px #24302914;--radius-lg:26px;--radius-md:18px;--radius-sm:12px}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{background:radial-gradient(circle at 8% 0%, #bd4c3817, transparent 23rem), radial-gradient(circle at 94% 8%, #1f5a471c, transparent 28rem), var(--paper);color:var(--ink);margin:0;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;font-size:16px;line-height:1.65}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}.app{min-height:100vh;padding-bottom:112px}.app.elder-mode{font-size:19px}.site-header{padding:24px 20px 18px}.header-inner{justify-content:space-between;align-items:flex-start;gap:20px;width:min(1080px,100%);margin:0 auto;display:flex}.eyebrow,.section-kicker,.hero-kicker{color:var(--vermillion);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.72em;font-weight:800}.brand-block h1{letter-spacing:.02em;margin:3px 0 0;font-family:Noto Serif TC,Songti TC,PMingLiU,serif;font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.18}.brand-subtitle{color:var(--muted);letter-spacing:.08em;margin:4px 0 0;font-size:.84em;font-weight:600}.elder-toggle{cursor:pointer;background:#fffdf8cc;border:1px solid #1f5a4747;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-width:108px;min-height:52px;padding:7px 13px;font-size:.82em;font-weight:800;display:flex;box-shadow:0 6px 22px #2430290d}.elder-toggle.active{background:var(--green);border-color:var(--green);color:#fff}.text-size-mark{background:var(--green-soft);width:30px;height:30px;color:var(--green);border-radius:50%;place-items:center;font-family:serif;font-size:1.05em;display:grid}.elder-toggle.active .text-size-mark{color:#fff;background:#ffffff29}.day-rail-wrap{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f5f1e8ed;border-top:1px solid #56635a14;border-bottom:1px solid #56635a1f;padding:8px 0 12px;position:sticky;top:0}.day-rail{scrollbar-width:none;gap:8px;width:min(1080px,100%);margin:0 auto;padding:0 20px;display:flex;overflow-x:auto}.day-rail::-webkit-scrollbar{display:none}.day-pill{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fffdf8b8;border-radius:16px;flex:0 0 74px;grid-template-columns:1fr auto;align-items:center;min-height:64px;padding:7px 8px;display:grid}.day-pill span{color:var(--muted);letter-spacing:.08em;font-size:.67em;font-weight:800}.day-pill strong{grid-column:1;font-size:.94em;line-height:1}.day-pill small{color:var(--muted);grid-area:1/2/3;font-size:.73em}.day-pill.active{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 9px 24px #1f5a4733}.day-pill.active span,.day-pill.active small{color:#ffffffc2}.main-content{width:min(980px,100% - 32px);margin:28px auto 0}.day-hero{background:linear-gradient(135deg, #ffffff0d, transparent 60%), var(--green-deep);color:#fff;box-shadow:var(--shadow);border-radius:32px;justify-content:space-between;align-items:center;gap:28px;padding:clamp(24px,5vw,44px);display:flex;position:relative;overflow:hidden}.day-hero:after{content:"";border:1px solid #ffffff29;border-radius:50%;width:240px;height:240px;position:absolute;bottom:-130px;right:-70px;box-shadow:0 0 0 34px #ffffff09,0 0 0 68px #ffffff06}.hero-copy{z-index:1;max-width:680px;position:relative}.hero-kicker{color:#f4b9a8}.day-hero h2{letter-spacing:.01em;margin:9px 0 8px;font-family:Noto Serif TC,Songti TC,PMingLiU,serif;font-size:clamp(1.75rem,4.5vw,3rem);line-height:1.22}.theme-label{color:#d9eadf;margin:0 0 18px;font-size:.91em;font-weight:800}.day-summary{color:#ffffffc7;max-width:64ch;margin:0;font-size:.95em;line-height:1.8}.progress-card{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:10px;min-width:142px;display:flex;position:relative}.progress-ring{--progress:0%;background:conic-gradient(#f2a58d var(--progress), #ffffff26 var(--progress));border-radius:50%;place-items:center;width:92px;height:92px;display:grid;position:relative}.progress-ring:before{content:"";background:var(--green-deep);border-radius:50%;position:absolute;inset:8px}.progress-ring span{z-index:1;font-size:1em;font-weight:900;position:relative}.progress-card small{color:#ffffff9e;font-size:.72em;display:block}.progress-card strong{font-size:.9em;display:block}.next-card{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);border:1px solid #bd4c382e;margin-top:18px;overflow:hidden}.next-label{background:var(--vermillion);color:#fff;letter-spacing:.12em;padding:8px 22px;font-size:.72em;font-weight:900}.next-content{justify-content:space-between;align-items:center;gap:24px;padding:22px;display:flex}.next-time{color:var(--vermillion);font-size:.78em;font-weight:900}.next-content h3{margin:2px 0 5px;font-size:1.3em;line-height:1.35}.next-content p{color:var(--muted);margin:0;font-size:.9em}.complete-button,.outline-button{border:1px solid var(--green);cursor:pointer;text-align:center;border-radius:14px;justify-content:center;align-items:center;min-height:50px;padding:11px 18px;font-weight:900;display:inline-flex}.complete-button{background:var(--green);color:#fff;flex:none}.outline-button{color:var(--green);background:0 0}.outline-button.active{background:var(--green-soft)}.primary-actions{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px;display:grid}.primary-action{border:1px solid var(--line);border-radius:var(--radius-md);text-align:left;cursor:pointer;background:#fffdf8c7;min-height:88px;padding:16px 18px;box-shadow:0 8px 24px #2430290a}.primary-action.weather{background:var(--blue-soft);border-color:#2e62742e}.primary-action span,.primary-action small{display:block}.primary-action span{font-size:1em;font-weight:900}.primary-action small{color:var(--muted);margin-top:2px;font-size:.75em}.section-block,.stay-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fffdf8e6;margin-top:22px;padding:clamp(22px,4vw,30px);box-shadow:0 12px 34px #2430290d}.deadlines-block{background:linear-gradient(145deg,#fffdf8 0%,#fdf4ef 100%);border-color:#bd4c383d}.section-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.section-heading h3,.stay-card h3{margin:4px 0 0;font-size:1.35em;line-height:1.35}.count-badge,.saved-indicator{background:var(--vermillion-soft);color:var(--vermillion);border-radius:999px;flex:none;padding:5px 10px;font-size:.72em;font-weight:900}.saved-indicator{background:var(--green-soft);color:var(--green)}.deadline-list{grid-template-columns:repeat(2,1fr);gap:10px;margin:0;padding:0;list-style:none;display:grid}.deadline-list li{border-radius:var(--radius-sm);background:#ffffffa8;padding:13px 15px 13px 39px;font-size:.9em;font-weight:800;position:relative}.deadline-list li:before{content:"!";background:var(--vermillion);color:#fff;border-radius:50%;place-items:center;width:19px;height:19px;font-size:.7em;display:grid;position:absolute;top:12px;left:13px}.text-button{color:var(--muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:7px 0;font-size:.78em;font-weight:800;text-decoration:underline}.timeline{position:relative}.timeline:before{content:"";background:var(--line);width:1px;position:absolute;top:14px;bottom:14px;left:17px}.timeline-item{grid-template-columns:36px 108px 1fr;gap:13px;min-height:76px;padding:12px 0;display:grid;position:relative}.check-button{background:var(--surface);color:#fff;cursor:pointer;z-index:1;border:2px solid #b9c0ba;border-radius:50%;width:35px;height:35px;font-weight:900;position:relative}.timeline-item.hard .check-button{border-color:var(--vermillion)}.timeline-item.completed .check-button{border-color:var(--green);background:var(--green)}.timeline-time{color:var(--green);padding-top:4px;font-size:.82em;font-weight:900}.timeline-item.hard .timeline-time{color:var(--vermillion)}.timeline-title-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.timeline-title-row h4,.alert-card h4{margin:0;font-size:1em;line-height:1.5}.timeline-body p,.alert-card p{color:var(--muted);margin:4px 0 0;font-size:.85em;line-height:1.75}.item-tag{background:var(--vermillion-soft);color:var(--vermillion);border-radius:999px;padding:3px 8px;font-size:.66em;font-weight:900}.timeline-item.completed .timeline-body,.timeline-item.completed .timeline-time{opacity:.5}.timeline-item.completed h4{text-decoration:line-through}.inline-links{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.inline-links a{background:var(--green-soft);color:var(--green);border-radius:8px;padding:5px 9px;font-size:.74em;font-weight:900}.alert-stack{gap:11px;display:grid}.alert-card{border-radius:var(--radius-md);grid-template-columns:32px 1fr;gap:12px;padding:16px;display:grid}.alert-card.info{background:var(--blue-soft)}.alert-card.warn{background:var(--amber-soft)}.alert-card.danger{background:var(--vermillion-soft)}.alert-mark{width:30px;height:30px;color:var(--vermillion);background:#ffffffb8;border-radius:50%;place-items:center;font-weight:900;display:grid}.decision-list{gap:10px;display:grid}.decision-list article{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft);grid-template-columns:minmax(170px,.85fr) 24px 1.4fr;align-items:center;gap:10px;padding:15px 17px;display:grid}.decision-trigger{color:var(--amber);font-size:.82em;font-weight:900}.decision-arrow{color:var(--muted);font-weight:900}.decision-list p{margin:0;font-size:.88em}.stay-card{background:var(--green-soft);border-color:#1f5a4733;justify-content:space-between;align-items:center;gap:18px;display:flex}textarea{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink);resize:vertical;background:#fffefb;outline:none;padding:13px 15px;line-height:1.65}textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #1f5a471a}.tab-page{padding-bottom:18px}.tab-intro{padding:18px 4px 6px}.tab-intro h2{margin:4px 0 8px;font-family:Noto Serif TC,Songti TC,PMingLiU,serif;font-size:clamp(1.8rem,5vw,2.75rem);line-height:1.25}.tab-intro p:last-child{max-width:70ch;color:var(--muted);margin:0}.nav-warning{border-radius:var(--radius-md);background:var(--green-deep);color:#fff;gap:14px;margin:16px 0;padding:14px 17px;display:flex}.nav-warning strong{flex:none}.nav-warning span{color:#ffffffc2}.all-map-link{border-radius:var(--radius-md);background:var(--green-soft);border:1px solid #1f5a4733;justify-content:space-between;align-items:center;gap:18px;margin:0 0 14px;padding:17px 19px;display:flex}.all-map-link span,.all-map-link strong{display:block}.all-map-link div>span{color:var(--green);letter-spacing:.08em;font-size:.72em;font-weight:900}.all-map-link strong{margin-top:2px;font-size:1em}.navigation-list{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.navigation-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:110px;padding:17px;display:grid;box-shadow:0 8px 24px #2430290a}.navigation-card:hover{border-color:#1f5a4773}.navigation-card h3{margin:0;font-size:1em;line-height:1.42}.navigation-card p{color:var(--muted);margin:3px 0 0;font-size:.78em}.category-chip{background:var(--green-soft);min-width:42px;color:var(--green);text-align:center;border-radius:8px;padding:5px 7px;font-size:.68em;font-weight:900}.category-停車{background:var(--vermillion-soft);color:var(--vermillion)}.category-交通{background:var(--blue-soft);color:var(--blue)}.category-用餐{background:var(--amber-soft);color:var(--amber)}.nav-go{color:var(--green);font-size:.78em;font-weight:900}.link-grid{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.link-grid a{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:48px;color:var(--green);text-align:center;place-items:center;padding:10px 12px;font-size:.8em;font-weight:900;display:grid}.numbered-rules{gap:10px;margin:0;padding:0;list-style:none;display:grid}.numbered-rules li{grid-template-columns:34px 1fr;align-items:center;gap:11px;min-height:46px;display:grid}.numbered-rules li span{background:var(--green-soft);width:32px;height:32px;color:var(--green);border-radius:10px;place-items:center;font-size:.78em;font-weight:900;display:grid}.weather-banner{border-radius:var(--radius-lg);background:linear-gradient(135deg,#dcecf1,#eff6f5);justify-content:space-between;align-items:center;gap:20px;margin-top:16px;padding:20px 22px;display:flex}.weather-banner span,.weather-banner strong{display:block}.weather-banner span{color:var(--blue);font-size:.78em;font-weight:800}.weather-banner strong{margin-top:2px;font-size:1.25em}.contact-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.contact-grid a{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft);flex-direction:column;justify-content:center;min-height:76px;padding:13px 15px;display:flex}.contact-grid span{color:var(--muted);font-size:.74em}.contact-grid strong{color:var(--vermillion);font-size:1.08em}.micro-note{color:var(--muted);margin:12px 0 0;font-size:.78em}.phrase-list{gap:8px;display:grid}.phrase-list button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);text-align:left;cursor:pointer;padding:13px 15px}.phrase-list span,.phrase-list strong{display:block}.phrase-list span{color:var(--muted);font-size:.74em}.phrase-list strong{margin-top:2px;font-size:1em}.toast{z-index:60;background:var(--ink);color:#fff;box-shadow:var(--shadow);border-radius:999px;padding:10px 18px;font-size:.82em;font-weight:800;position:fixed;bottom:104px;left:50%;transform:translate(-50%)}.bottom-nav{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf8f2;border:1px solid #33443b1f;border-radius:22px;grid-template-columns:repeat(3,1fr);width:min(430px,100% - 24px);padding:7px;display:grid;position:fixed;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 16px 50px #1d2c242e}.bottom-nav button{cursor:pointer;background:0 0;border:0;border-radius:16px;min-height:54px;padding:6px 4px}.bottom-nav button.active{background:var(--green);color:#fff}.bottom-nav span,.bottom-nav small{display:block}.bottom-nav span{font-size:.85em;font-weight:900}.bottom-nav small{color:var(--muted);font-size:.62em}.bottom-nav button.active small{color:#ffffffa8}@media (width<=720px){.site-header{padding:18px 16px 14px}.header-inner{align-items:center}.brand-subtitle{display:none}.elder-toggle{min-width:94px;min-height:48px;padding:6px 10px}.day-rail{padding:0 12px}.main-content{width:min(100% - 24px,980px);margin-top:18px}.day-hero{align-items:flex-start}.progress-card{min-width:84px}.progress-ring{width:74px;height:74px}.next-content{flex-direction:column;align-items:flex-start}.complete-button{width:100%}.primary-actions{grid-template-columns:1fr}.primary-action{min-height:72px}.deadline-list,.navigation-list,.contact-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:36px 1fr;gap:10px 12px}.timeline-time{grid-column:2;padding-top:0;line-height:1}.timeline-body{grid-column:2}.decision-list article{grid-template-columns:1fr;gap:4px}.decision-arrow{display:none}.stay-card{flex-direction:column;align-items:stretch}.nav-warning{flex-direction:column;gap:2px}.navigation-card{grid-template-columns:auto 1fr auto;min-height:96px}.link-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=430px){.app.elder-mode{font-size:18px}.brand-block h1{font-size:1.45rem}.eyebrow{font-size:.6em}.text-size-mark{display:none}.elder-toggle{min-width:84px}.day-hero{flex-direction:column;padding:22px}.progress-card{text-align:left;flex-direction:row;width:100%}.progress-ring{width:62px;height:62px}.section-block,.stay-card{border-radius:20px;padding:19px}.section-heading{align-items:flex-start}.link-grid{grid-template-columns:1fr}.bottom-nav{border-radius:18px;width:calc(100% - 16px);bottom:8px}.bottom-nav button{min-height:51px}.bottom-nav small{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
