:root{--pine:#174c45;--ink:#23413d;--paper:#f6f4ee;--white:#fffdf8;--line:#d8ded6;--muted:#61716a;--accent:#a25a3a;--light:#e9eee5;--serif:"Noto Serif TC","Songti TC",serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,"Noto Sans TC",sans-serif;font-size:15px;line-height:1.8}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button,a,input{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:3px solid #bf673b;outline-offset:5px}h1,h2,h3,h4,p,dl,dd{margin:0}h1,h2,h3,h4{line-height:1.5}p{overflow-wrap:anywhere}[hidden]{display:none!important}.skip{position:absolute;left:20px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}.topbar{max-width:1280px;margin:auto;padding:18px 40px;display:flex;align-items:center;justify-content:space-between;gap:15px}.topbar a{text-decoration:none;font-size:13px;font-weight:700}.topbar span{font-size:10px;letter-spacing:.14em;color:var(--muted)}.hero{background:var(--pine);color:var(--white);padding:64px 40px 68px;position:relative;overflow:hidden}.hero:after{content:"";width:460px;height:460px;border:1px solid #ffffff13;border-radius:50%;position:absolute;right:-170px;top:-200px;pointer-events:none}.hero-inner{max-width:1120px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:52px;align-items:center}.eyebrow{font-size:10px;font-weight:750;letter-spacing:.17em;color:var(--accent)}.hero .eyebrow{color:#ddc7a5}h1{font-size:clamp(30px,3.4vw,48px);letter-spacing:-.04em;font-family:var(--serif);font-weight:750;margin:16px 0;line-height:1.4}.hero-sub{font-size:21px;letter-spacing:.03em}.hero-description{font-size:13px;color:#d3e0da;margin-top:12px;max-width:500px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:30px}.button,.outline{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--line);border-radius:30px;padding:10px 23px;font-size:13px;font-weight:700;text-decoration:none}.button{background:var(--white);color:var(--pine)}.hero-link{font-size:12px;color:#e9e9dc}.ticket{border:1px solid #d5d2b857;padding:25px 28px 22px;border-radius:3px;position:relative;background:#ffffff07;transform:rotate(1deg)}.ticket-date{font-size:34px;letter-spacing:-.03em;margin-top:18px;font-variant-numeric:tabular-nums;font-family:var(--serif)}.ticket-date span{color:#c7ab82}.ticket>p:nth-of-type(3){font-size:11px;color:#cadbd1}.ticket-bottom{border-top:1px dashed #ffffff40;margin-top:22px;padding-top:20px;display:flex;gap:40px}.ticket-bottom small{display:block;font-size:9px;letter-spacing:.12em;color:#cadbd1}.ticket-bottom strong{display:block;font-size:30px;font-weight:550}.ticket-bottom strong span{font-size:13px}.ticket-stamp{position:absolute;right:16px;top:60px;border:1px solid #dcc49f8f;border-radius:50%;width:57px;height:57px;display:grid;place-content:center;text-align:center;line-height:1.5;font-size:10px;transform:rotate(12deg);color:#e0c79e;background:#174c45eb}main{max-width:1200px;padding:0 40px;margin:auto}.trip-note{display:flex;align-items:flex-start;gap:23px;padding:26px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.note-label{flex-shrink:0;color:var(--accent);font-weight:750;letter-spacing:.05em}.trip-note b{font-weight:650;color:var(--ink)}.section-heading{margin:48px 0 24px}.section-heading h2{font-size:28px;font-family:var(--serif);letter-spacing:-.03em;margin-top:6px}.section-heading>p:last-child:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:8px}.destination-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:30px;position:sticky;top:0;z-index:4;background:var(--paper);padding:12px 0}.destination-tab{border:1px solid var(--line);border-radius:6px;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:12px;min-height:62px;font-size:16px;font-weight:750;transition:background .15s}.destination-tab span{font-size:10px;color:var(--muted);font-weight:500}.destination-tab[aria-current=true]{background:var(--pine);color:var(--white);border-color:var(--pine)}.destination-tab[aria-current=true] span{color:#bacebf}.destination-tab:hover{border-color:var(--pine)}.destination{scroll-margin-top:95px;padding-top:5px}.destination-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.destination-heading h2{font-size:32px;margin-top:5px}.destination-heading h2 span{font-size:12px;font-weight:500;color:var(--muted);display:inline-block;margin-left:17px;letter-spacing:.06em}.outline{background:transparent;color:var(--pine)}.small{padding:7px 15px;min-height:38px;font-size:12px;white-space:nowrap}.route-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;margin:20px 0 28px;align-items:center}.route-intro h3{font-family:var(--serif);font-size:22px}.route-intro p{font-size:13px;color:var(--muted);margin-top:9px}.route-intro dl{display:grid;grid-template-columns:1fr 1fr;gap:20px}.route-intro dt{font-size:11px;color:var(--muted)}.route-intro dd{font-size:19px;font-weight:700;margin-top:3px}.days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.day{border:1px solid var(--line);background:var(--white);border-radius:12px;padding:23px 24px}.day-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:11px}.day-top span{font-weight:800;letter-spacing:.13em;color:var(--accent)}.day-top time{color:var(--muted)}.day h3{font-size:19px;margin:18px 0 6px;font-family:var(--serif)}.route{font-size:11px;color:var(--muted);min-height:40px}.timeline{list-style:none;margin:22px 0 0;padding:0}.timeline li{display:grid;grid-template-columns:43px minmax(0,1fr);gap:9px;margin-bottom:23px;position:relative}.timeline li:before{content:"";position:absolute;top:25px;bottom:-14px;left:19px;width:1px;background:var(--line)}.timeline li:last-child:before{display:none}.timeline li:last-child{margin-bottom:0}.time{font-size:10px;font-weight:750;letter-spacing:.02em;padding-top:2px;color:var(--accent);font-variant-numeric:tabular-nums}.timeline h4{font-size:13px;font-weight:750}.timeline p{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.85}.map{display:inline-flex;align-items:center;font-size:11px;color:var(--pine);min-height:30px;margin-top:2px}.practical{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}.practical article{padding:23px 24px;background:#e9eee5;border-radius:10px}.practical h3{font-size:17px;margin:7px 0 9px}.practical p:not(.eyebrow){font-size:12px;color:#475e52}.practical .detail{font-size:11px!important;margin-top:12px}.practical .rain{background:#ede9e0}.reminder{margin-top:20px;border:1px solid #d9cbae;background:#f1ece1;padding:17px 24px;border-radius:8px;display:flex;align-items:flex-start;gap:18px;font-size:12px}.reminder strong{color:#8b4e30;flex-shrink:0}.sources{padding:18px 0;border-bottom:1px solid var(--line);font-size:12px}.sources summary{cursor:pointer;color:var(--muted);width:fit-content;padding:6px 0}.sources p{margin:12px 0;color:var(--muted)}.sources a{display:inline-block;margin:4px 20px 4px 0}.budget{margin-top:50px;border:1px solid var(--line);padding:30px;border-radius:12px;background:var(--white);scroll-margin-top:100px}.budget .section-heading{margin:0 0 26px}.budget-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:35px}.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}label{display:flex;flex-direction:column;font-size:12px;font-weight:700}input{width:100%;min-height:44px;margin-top:6px;border:1px solid #b7c6b9;border-radius:5px;padding:8px 12px;background:#fffefb;color:var(--ink);font-size:17px}label small{color:var(--muted);font-weight:400;font-size:10px;margin-top:4px}input:invalid{border-color:#b6533c}.budget-result{background:var(--pine);color:white;border-radius:8px;padding:30px;align-self:start}.budget-result .eyebrow{color:#d8c4a2;font-size:9px;margin-bottom:25px}.budget-result>p:not(.eyebrow){font-size:12px;color:#d4e2d9}.budget-result>strong{display:block;font-size:clamp(27px,3.3vw,40px);line-height:1.5;letter-spacing:-.04em;margin:5px 0 22px;overflow-wrap:anywhere}.result-row{border-top:1px solid #ffffff33;border-bottom:1px solid #ffffff33;padding:14px 0;font-size:12px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.formula{font-size:10px!important;margin-top:20px;color:#c1d3c8!important}.text-button{background:none;border:0;border-bottom:1px solid var(--pine);color:var(--pine);font-size:11px;padding:6px 0;margin-top:22px;min-height:38px}.fineprint{font-size:11px;color:var(--muted);margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}#budget-error{color:#ffe0b8;margin-top:15px}.comparison{scroll-margin-top:95px}.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:8px}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th,td{text-align:left;padding:17px 19px;border-bottom:1px solid var(--line)}thead{background:#e8ede5}thead th{font-size:11px;font-weight:650;color:var(--muted)}tbody th{font-size:14px}tbody a{text-decoration:none}tbody tr:last-child>*{border-bottom:0}.checklist{margin-top:48px;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr;gap:35px}.checklist h2{font-size:25px;font-family:var(--serif);margin:8px 0}.checklist p:not(.eyebrow){font-size:12px;color:var(--muted)}.checklist ul{font-size:12px;color:var(--muted);padding-left:20px;margin:0}.checklist li{margin:8px 0}.page-actions{padding:35px 0 50px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}footer{background:var(--pine);color:#ebeee0;padding:30px 25px;text-align:center}footer strong{display:block;font-size:16px;font-family:var(--serif)}footer span{font-size:10px;display:block;letter-spacing:.08em;margin-top:8px}footer p{font-size:10px;color:#b3cbbf;margin-top:9px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1350px){.hero{padding-top:75px;padding-bottom:80px}.hero-inner{gap:70px}}@media(max-width:950px){.hero-inner{grid-template-columns:1fr 280px;gap:25px}.hero{padding:45px 30px}.ticket{padding:20px}.ticket-date{font-size:29px}.ticket-stamp{width:49px;height:49px;right:10px;top:53px;font-size:9px}.ticket-bottom{gap:30px}.hero-sub{font-size:17px}.hero-description{font-size:12px}main{padding:0 25px}.day{padding:20px 17px}.days{gap:12px}.day h3{font-size:17px}.timeline li{grid-template-columns:36px minmax(0,1fr);gap:6px}.timeline li:before{left:15px}.route-intro{gap:20px}.route-intro dd{font-size:17px}.practical article{padding:20px 17px}.budget-layout{gap:23px}.budget-result{padding:23px}}@media(max-width:700px){html{scroll-padding-top:90px}.topbar{padding:14px 20px}.topbar span{font-size:8px;letter-spacing:.06em}.hero{padding:35px 20px 38px}.hero-inner{grid-template-columns:1fr;gap:30px}.hero h1{font-size:32px}.hero-sub{font-size:17px}.hero-description{max-width:360px}.hero-actions{gap:18px;margin-top:24px}.ticket{transform:none;max-width:420px;width:100%;padding:20px 24px}.ticket-date{font-size:31px;margin-top:10px}.ticket-bottom{padding-top:12px;margin-top:14px;gap:45px}.ticket-bottom strong{font-size:25px}.ticket-stamp{right:25px;top:65px;width:59px;height:59px;font-size:10px}main{padding:0 18px}.trip-note{display:block;padding:20px 2px;font-size:11px}.note-label{display:block;margin-bottom:5px}.section-heading{margin:34px 0 18px}.section-heading h2{font-size:25px}.destination-nav{gap:5px;overflow-x:auto;grid-template-columns:repeat(5,minmax(85px,1fr));margin:0 -18px 22px;padding:10px 18px}.destination-tab{font-size:14px;gap:6px;min-height:52px}.destination-tab span{font-size:8px}.destination-tab:last-child{min-width:112px}.destination-heading{align-items:flex-start;gap:10px}.destination-heading h2{font-size:28px}.destination-heading h2 span{display:block;margin:5px 0 0;font-size:11px}.destination-heading .small{font-size:10px;padding:7px 10px}.route-intro{grid-template-columns:1fr;gap:19px;margin-top:17px;padding:20px 0}.route-intro h3{font-size:21px}.route-intro dl{border-top:1px dashed var(--line);padding-top:15px}.route-intro dd{font-size:18px}.days{grid-template-columns:1fr;gap:18px}.day{padding:24px}.day h3{font-size:22px}.route{min-height:0}.timeline{margin-top:24px}.timeline li{grid-template-columns:46px minmax(0,1fr);gap:9px;margin-bottom:22px}.timeline li:before{left:20px}.timeline h4{font-size:14px}.timeline p{font-size:13px}.time{font-size:11px}.practical{grid-template-columns:1fr;gap:12px}.practical article{padding:23px 24px}.practical p:not(.eyebrow){font-size:13px}.reminder{display:block;padding:18px 23px}.reminder p{margin-top:6px}.budget{padding:23px 18px;margin-top:35px}.budget-layout{grid-template-columns:1fr;gap:25px}.input-grid{gap:15px}.budget-result>strong{font-size:39px}.checklist{grid-template-columns:1fr;gap:15px}.checklist h2{font-size:23px}.checklist ul{font-size:13px}footer span{letter-spacing:0}th,td{padding:15px}.table-scroll:focus-visible{outline-offset:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{body{background:white;font-size:11px}.hero{color:black;background:none;padding:15px 0}.hero-inner{display:block}.hero h1{font-size:25px}.hero .eyebrow,.hero-description,.hero-sub{color:#222}.ticket{display:none}.topbar,.destination-nav,.hero-actions,.page-actions,.destination-heading>a,.map,.sources,.comparison,.checklist,#budget-form,.text-button,.skip{display:none!important}main{max-width:none;padding:0}.section-heading{margin:15px 0}.destination[hidden]{display:none!important}.days{display:block}.day{break-inside:avoid;margin:12px 0;padding:15px}.timeline{margin-top:12px}.timeline li{margin-bottom:10px;grid-template-columns:48px 1fr}.timeline p{font-size:10px}.route{min-height:0}.route-intro{padding:12px 0;margin:10px 0}.practical{display:block}.practical article{break-inside:avoid;padding:12px;margin:10px 0}.budget{break-inside:avoid;padding:15px}.budget-layout{display:block}.budget-result{color:black;background:none;padding:5px}.budget-result p,.budget-result .eyebrow,.formula{color:#222!important}.result-row{border-color:#bbb}.budget-result>strong{font-size:25px;margin:5px 0}.fineprint{font-size:9px}.hero-sub{font-size:14px}footer{background:none;color:black;padding:10px}footer p{color:#444}}
