@import "https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700;800&family=Noto+Serif+TC:wght@600;700;800&display=swap";:root{color:#17334d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--navy:#17334d;--deep:#0d253a;--blue:#366f8b;--cream:#f7f4ed;--paper:#fffdf9;--gold:#c28a3d;--line:#d9d7cf;--muted:#6e7c84;background:#f7f4ed;font-family:Noto Sans TC,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:var(--cream);min-width:320px;margin:0}body,button,a{font-family:inherit}a,button{color:inherit}img{max-width:100%;display:block}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.site-shell{background:var(--cream);min-height:100vh}.simple-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10;background:#fffdf9e6;border-bottom:1px solid #17334d17;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(20px,6vw,80px);display:flex;position:sticky;top:0;box-shadow:0 8px 30px #17334d0d}.site-title{color:var(--navy);text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.site-title strong{letter-spacing:.05em;font-family:Noto Serif TC,serif;font-size:18px;display:block}.site-title span{color:var(--muted);margin-top:2px;font-size:9px;display:block}.word-link{color:#fff;background:var(--navy);border-radius:999px;padding:10px 17px;font-size:11px;font-weight:700;text-decoration:none;transition:transform .2s,background .2s;box-shadow:0 7px 18px #17334d29}.word-link:hover{background:var(--blue);transform:translateY(-1px)}.directory{background:radial-gradient(circle at 8% 12%,#c28a3d21,#0000 28%),radial-gradient(circle at 91% 4%,#366f8b1f,#0000 30%),linear-gradient(145deg,#faf8f2 0%,#f1eee5 100%);flex-direction:column;justify-content:center;min-height:calc(100svh - 72px);padding:clamp(56px,8vw,100px) clamp(20px,8vw,120px);display:flex;position:relative;overflow:hidden}.directory:before,.directory:after{content:"";pointer-events:none;border:1px solid #c28a3d2b;border-radius:50%;position:absolute}.directory:before{width:280px;height:280px;top:-175px;right:7%}.directory:after{width:170px;height:170px;bottom:7%;left:-95px}.directory-heading{z-index:1;width:100%;max-width:1100px;margin:0 auto 36px;position:relative}.directory-heading>span{color:var(--gold);letter-spacing:.18em;align-items:center;gap:10px;font-size:10px;font-weight:800;display:inline-flex}.directory-heading>span:before{content:"";background:var(--gold);width:28px;height:1px}.directory-heading h1{color:var(--navy);letter-spacing:.04em;margin:10px 0 8px;font-family:Noto Serif TC,serif;font-size:clamp(38px,6vw,68px);line-height:1.1}.directory-heading p{color:var(--muted);margin:0;font-size:14px}.date-grid{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%;max-width:1100px;margin:0 auto;display:grid;position:relative}.date-button{min-height:255px;color:var(--navy);font:inherit;text-align:left;cursor:pointer;background:#fffdf9f0;border:1px solid #17334d14;border-top:0;border-left:0;border-radius:18px;flex-direction:column;padding:22px;text-decoration:none;transition:transform .25s,box-shadow .25s,background .25s,color .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 32px #17334d14}.date-button:before{content:"";background:linear-gradient(180deg, var(--gold), #e2ba79);width:4px;position:absolute;inset:0 auto 0 0}.date-button:hover,.date-button:focus-visible,.date-button.is-selected{color:#fff;background:linear-gradient(145deg,#17334d,#244f6b);transform:translateY(-4px);box-shadow:0 18px 38px #17334d33}.date-meta{justify-content:space-between;align-items:baseline;display:flex}.date-meta strong{font-family:Noto Serif TC,serif;font-size:38px;line-height:1}.date-meta span{color:var(--gold);background:#c28a3d1a;border-radius:999px;padding:5px 9px;font-size:10px}.date-button p{color:var(--muted);margin:15px 0 13px;font-size:12px;line-height:1.5}.date-button:hover p,.date-button:focus-visible p,.date-button.is-selected p{color:#ffffffb3}.date-button b{color:var(--gold);margin-top:auto;font-size:10px;font-weight:700}.flow-preview{border-top:1px solid #e5e1d8;padding-top:13px;display:block}.flow-preview>span{color:var(--gold);letter-spacing:.08em;margin-bottom:8px;font-size:9px;font-weight:700;display:block}.flow-preview ol{margin:0;padding:0;list-style:none}.flow-preview li{color:#526572;padding:0 0 7px 16px;font-size:10px;line-height:1.45;position:relative}.flow-preview li:before{content:"";border:2px solid var(--gold);background:#fffdf9;border-radius:50%;width:6px;height:6px;position:absolute;top:5px;left:1px}.flow-preview li:not(:last-child):before{box-shadow:0 10px 0 -3px #c28a3d73}.flow-preview li:not(:last-child):after{content:"";background:#c28a3d73;width:1px;height:8px;position:absolute;top:13px;left:4px}.date-button:hover .flow-preview,.date-button:focus-visible .flow-preview{border-top-color:#fff3}.date-button:hover .flow-preview li,.date-button:focus-visible .flow-preview li{color:#ffffffbf}.daily-section{background:radial-gradient(circle at 90% 5%,#366f8b1f,#0000 28%),#ebe9e2;padding:70px 20px}.detail-page{min-height:calc(100svh - 72px)}.detail-toolbar{max-width:880px;margin:0 auto 18px}.return-button{color:#fff;background:var(--navy);font:inherit;cursor:pointer;border:0;border-radius:999px;padding:11px 16px;font-size:11px;transition:transform .2s,background .2s;box-shadow:0 8px 20px #17334d24}.return-button:hover{background:var(--blue);transform:translate(-2px)}.day-card{background:#fffdf9;border:1px solid #17334d12;border-radius:24px;max-width:880px;margin:0 auto 32px;padding:clamp(24px,5vw,52px);scroll-margin-top:88px;animation:.35s both page-in;box-shadow:0 20px 55px #17334d1a}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.day-heading{border-bottom:1px solid #dedbd2;grid-template-columns:125px 1fr;align-items:center;gap:26px;padding-bottom:24px;display:grid}.day-date strong{color:var(--gold);font-family:Noto Serif TC,serif;font-size:32px;display:block}.day-date span{color:var(--muted);font-size:9px}.day-heading h2{color:var(--navy);margin:0;font-family:Noto Serif TC,serif;font-size:clamp(23px,3vw,34px);line-height:1.35}.day-card figure{border-radius:16px;margin:28px 0;overflow:hidden}.day-card figure img{object-fit:cover;width:100%;max-height:410px}.day-card figcaption{color:var(--muted);background:#f3f0e8;margin-top:0;padding:8px 11px;font-size:8px}.day-summary{color:#526572;margin:25px 0;font-family:Noto Serif TC,serif;font-size:14px;line-height:1.8}.schedule-list{border-top:1px solid #dedbd2}.schedule-row{border-bottom:1px solid #dedbd2;grid-template-columns:110px 1fr;gap:20px;padding:18px 0;display:grid}.schedule-row time{color:var(--blue);background:#366f8b17;border-radius:999px;align-self:start;width:fit-content;padding:5px 9px;font-family:Noto Serif TC,serif;font-size:12px;font-weight:700}.schedule-row h3{color:var(--navy);margin:0 0 5px;font-size:14px}.schedule-row p{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.travel-note{border-left:3px solid var(--gold);background:#f5ecdc;border-radius:0 12px 12px 0;margin-top:25px;padding:16px 18px}.travel-note strong{color:var(--gold);font-size:10px}.travel-note p{margin:5px 0 0;font-size:12px;line-height:1.7}.back-link{color:var(--blue);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:24px;padding:0;font-size:11px;font-weight:700;display:inline-block}footer{color:#ffffffa6;background:var(--navy);justify-content:space-between;padding:25px clamp(20px,6vw,80px);font-size:10px;display:flex}footer p{margin:0}footer button{color:#fff;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:10px}@media (width<=760px){.directory{min-height:auto}.date-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.date-button{min-height:240px}}@media (width<=500px){.simple-header{height:64px;padding:0 16px}.directory{padding:46px 16px 60px}.date-grid{grid-template-columns:1fr;gap:12px}.date-button{min-height:230px}.daily-section{padding:45px 12px}.day-card{padding:23px 17px}.day-heading{grid-template-columns:1fr;gap:10px}.schedule-row{grid-template-columns:76px 1fr;gap:13px}footer{flex-direction:column;gap:14px}}
