:root{--bg:#f7f6f3;--surface:#fff;--text:#1c2430;--muted:#5b6472;--line:#e4e2dc;--accent:#22374f;--accent-text:#fff;--gold:#ac8b4f;--tag-bg:#e8ecf2;--code-bg:#eef0f4;--band:#eaedf2;--tint-sky:#dcebfb;--tint-sage:#dcefe2;--tint-sand:#fbeed4;--tint-rose:#fde3db;--tint-lavender:#e7e2fb;--tile-inset:#ffffffa6;--tile-accent:#3a6ea8;--tile-accent-text:#fff;color-scheme:light dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1319;--surface:#171c24;--text:#eceef1;--muted:#a3abb7;--line:#283040;--accent:#d0ae6b;--accent-text:#141820;--gold:#d0ae6b;--tag-bg:#222a36;--code-bg:#1d2430;--band:#161d28;--tint-sky:#22405f;--tint-sage:#21453a;--tint-sand:#4a3c20;--tint-rose:#4d302b;--tint-lavender:#3a345f;--tile-inset:#ffffff14;--tile-accent:#d0ae6b;--tile-accent-text:#141820}}:root[data-theme=dark]{--bg:#0f1319;--surface:#171c24;--text:#eceef1;--muted:#a3abb7;--line:#283040;--accent:#d0ae6b;--accent-text:#141820;--gold:#d0ae6b;--tag-bg:#222a36;--code-bg:#1d2430;--band:#161d28;--tint-sky:#22405f;--tint-sage:#21453a;--tint-sand:#4a3c20;--tint-rose:#4d302b;--tint-lavender:#3a345f;--tile-inset:#ffffff14;--tile-accent:#d0ae6b;--tile-accent-text:#141820;color-scheme:dark}:root[data-theme=light]{color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,PingFang TC,Microsoft JhengHei,Noto Sans TC,Noto Sans CJK TC,sans-serif;line-height:1.7}a{color:var(--accent)}a:focus-visible,.btn:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}img{max-width:100%;height:auto}.skip{position:absolute;left:-9999px}.skip:focus{background:var(--surface);z-index:10;padding:8px 12px;top:8px;left:16px}.wrap{max-width:760px;margin:0 auto;padding:0 16px}.wrap.wide{max-width:1120px}.site-header{background:var(--bg)}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 20px;max-width:1120px;padding-top:10px;padding-bottom:10px;display:flex}.brand{display:block}.brand img{width:auto;height:52px;display:block}@media (width>=640px){.brand img{height:60px}}.site-nav ul{flex-wrap:wrap;gap:0 18px;margin:0;padding:0;list-style:none;display:flex}.site-nav a{color:var(--muted);padding:8px 0;text-decoration:none;display:inline-block}@media (width<=420px){.site-nav ul{gap:0 12px}}html[data-font=lg]{font-size:112.5%}html[data-font=xl]{font-size:125%}.font-size{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:2px;padding:2px;display:flex}.font-size button{width:32px;height:32px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;font-weight:700;line-height:1;display:grid}.font-size button:first-child{font-size:13px}.font-size button:nth-child(2){font-size:16px}.font-size button:nth-child(3){font-size:19px}.font-size button[aria-pressed=true]{background:var(--tile-accent);color:var(--tile-accent-text)}.font-size button:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.site-header .brand{order:1}.site-header .reader-tools{order:2;align-items:center;gap:6px;margin-left:auto;display:flex}.site-header .site-nav{order:3;width:100%}@media (width>=760px){.site-header .site-nav{order:2;width:auto;margin-left:auto}.site-header .reader-tools{order:3;margin-left:0}}.theme-toggle,.search-link{border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--text);cursor:pointer;border-radius:999px;place-items:center;padding:0;font-size:18px;line-height:1;text-decoration:none;display:grid}.theme-toggle:focus-visible,.search-link:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.search-link[aria-current=page]{border-color:var(--gold);color:var(--gold)}.brand .logo-dark{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .brand .logo-light{display:none}:root:not([data-theme=light]) .brand .logo-dark{display:block}}:root[data-theme=dark] .brand .logo-light{display:none}:root[data-theme=dark] .brand .logo-dark{display:block}:root[data-theme=light] .diagram-dark,:root[data-theme=dark] .diagram-light{display:none!important}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .diagram-dark{display:none!important}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .diagram-light{display:none!important}}.site-nav a:hover{color:var(--text)}.site-nav a[aria-current=page]{color:var(--text);box-shadow:inset 0 -2px 0 var(--gold);font-weight:700}main.wrap{padding-top:32px;padding-bottom:64px}h1{letter-spacing:.02em;margin:0 0 12px;font-size:2rem;line-height:1.3}h2{letter-spacing:.02em;margin:56px 0 16px;font-size:1.375rem;line-height:1.4}h3{margin:24px 0 8px;font-size:1.05rem}.lead{color:var(--muted);font-size:1.0625rem}.section-head{justify-content:space-between;align-items:baseline;gap:12px;margin:56px 0 16px;display:flex}.section-head h2{margin:0}.section-head a{white-space:nowrap;font-size:.9375rem}.cover{margin:0}.cover img{object-fit:cover;width:100%;height:clamp(240px,52vh,520px);display:block}.muted{color:var(--muted)}.small{font-size:.8125rem}.tags{flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.tags li{background:var(--tag-bg);border-radius:999px;padding:4px 12px;font-size:.875rem}.btn{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-block}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.cards{gap:12px;margin:0;padding:0;list-style:none;display:grid}.cards>li{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px}@media (width>=640px){.cards.two{grid-template-columns:1fr 1fr}}.cards h3{margin:0}.cards h3 a{color:var(--text);text-decoration:none}.cards h3 a:hover{color:var(--accent)}.cards p{margin:4px 0 0}.cards .meta{color:var(--accent);font-size:.875rem;font-weight:600}.empty{background:var(--surface);border:1px dashed var(--line);color:var(--muted);border-radius:12px;padding:16px}.photos{grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;list-style:none;display:grid}@media (width>=640px){.photos.wide{grid-template-columns:1fr 1fr 1fr}}.photos img{aspect-ratio:3/2;object-fit:cover;border-radius:10px;width:100%;height:auto;display:block}.photos.row,.photos.feature{grid-template-columns:1fr 1fr 1fr}.photos.feature li:first-child{grid-column:1/-1}.photos.feature li:first-child img{aspect-ratio:16/9}.photos.masonry{columns:2 160px;column-gap:10px;display:block}@media (width>=900px){.photos.masonry{columns:3}}.photos.masonry li{break-inside:avoid;margin-bottom:10px}.photos.masonry img{aspect-ratio:auto}.photo-link{cursor:zoom-in;border-radius:10px;display:block}#lightbox{background:0 0;border:0;max-width:100vw;max-height:100vh;padding:0;overflow:visible}#lightbox::backdrop{background:#000000d9}#lightbox img{border-radius:6px;width:auto;max-width:96vw;height:auto;max-height:88vh;display:block}#lightbox form{margin:0;position:fixed;top:12px;right:12px}#lightbox .close{color:#111;cursor:pointer;background:#ffffffe6;border:0;border-radius:50%;width:44px;height:44px;font-size:1.25rem}.prose{overflow-wrap:anywhere}.prose h2{border-bottom:1px solid var(--line);margin-top:44px;padding-bottom:6px}.chips{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.chips button{font:inherit;border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--text);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:.9375rem}.chips button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.trips{gap:16px;margin:20px 0 0;padding:0;list-style:none;display:grid}@media (width>=640px){.trips{grid-template-columns:1fr 1fr}}@media (width>=900px){.trips{grid-template-columns:1fr 1fr 1fr}}.trips a{color:var(--text);text-decoration:none;display:block}.trips img{aspect-ratio:3/2;object-fit:cover;border-radius:12px;width:100%;height:auto;display:block}.trip-title{margin-top:10px;font-size:1.0625rem;font-weight:700;display:block}.trips a:hover .trip-title{color:var(--accent)}.trip-meta{color:var(--muted);font-size:.875rem;display:block}.bento{grid-template-columns:1fr;gap:14px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:18px;flex-direction:column;gap:10px;min-width:0;padding:clamp(20px,3vw,28px);text-decoration:none;display:flex}a.tile{transition:border-color .15s,transform .15s}a.tile:hover{border-color:var(--gold);transform:translateY(-2px)}.tile-label{letter-spacing:.12em;color:var(--gold);margin:0;font-size:.8125rem;font-weight:700}.tile-more{margin-top:auto;font-weight:600;text-decoration:none}.tile p{margin:0}.tile-title{font-size:1.125rem;font-weight:700;line-height:1.45}.tile-desc{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.9375rem;line-height:1.65;display:-webkit-box;overflow:hidden}.tile-meta{color:var(--muted);font-size:.8125rem}.t-sky,.t-sage,.t-sand,.t-rose,.t-lavender{border-color:#0000}.t-sky{background:var(--tint-sky)}.t-sage{background:var(--tint-sage)}.t-sand{background:var(--tint-sand)}.t-rose{background:var(--tint-rose)}.t-lavender{background:var(--tint-lavender)}.t-accent{background:var(--tile-accent);border-color:var(--tile-accent);color:var(--tile-accent-text)}.t-accent .tile-label,.t-accent .tile-meta,.t-accent .tile-desc{color:inherit;opacity:.8}.t-accent a{color:inherit}.quiet-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.quiet-list a{border:1px solid var(--line);color:var(--text);border-radius:999px;padding:6px 12px;font-size:.9375rem;text-decoration:none;display:inline-block}.quiet-list a:hover{border-color:var(--accent);color:var(--accent)}.tile .quiet-list a{background:var(--tile-inset);border-color:#0000}.prose img{border-radius:8px;margin:16px auto;display:block}.prose a.diagram{cursor:zoom-in;display:block}.prose a.diagram:after{content:"點圖開原尺寸";text-align:center;color:var(--muted);margin-top:-8px;font-size:.75rem;display:block}.prose ol.timeline{margin:20px 0;padding:0 0 0 4px;list-style:none}.prose ol.timeline li{border-left:2px solid var(--line);margin:0;padding:0 0 18px 26px;position:relative}.prose ol.timeline li:last-child{border-left-color:#0000;padding-bottom:0}.prose ol.timeline li:before{content:"";background:var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;top:.45em;left:-7px}.prose ol.timeline .when{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700;display:block}.prose ol.timeline li.tl-section{color:var(--muted);letter-spacing:.05em;padding-top:6px;padding-bottom:12px;font-size:.9rem;font-weight:700}.prose ol.timeline li.tl-section:before{background:var(--muted);border-radius:4px;width:16px;height:16px;top:.6em;left:-9px}.prose blockquote{border-left:4px solid var(--accent);background:var(--surface);border-radius:0 8px 8px 0;margin:16px 0;padding:8px 16px}.prose code{background:var(--code-bg);border-radius:4px;padding:1px 6px;font-size:.9em}.prose pre{background:var(--code-bg);border-radius:8px;padding:12px 16px;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose table{border-collapse:collapse;width:100%;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:6px 10px}.prose th{background:var(--surface)}.prose hr{border:0;border-top:1px solid var(--line);margin:32px 0}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding:28px 0 44px;font-size:.875rem}.site-footer .wrap{max-width:1120px}.site-footer ul{flex-wrap:wrap;gap:4px 16px;margin:0 0 8px;padding:0;list-style:none;display:flex}
