:root{--green-900:#104f64;--green-700:#176b84;--green-600:#1c7490;--green-100:#dceff3;--green-50:#f1f8fa;--amber-500:#d59a32;--ink:#18343d;--ink-soft:#586c73;--line:#c9dde2;--bg:#f8fbfc;--card-bg:#ffffff;--radius:8px;--shadow:0 1px 3px rgba(16, 79, 100, 0.08), 0 4px 14px rgba(16, 79, 100, 0.06);--font-sans:"PingFang TC", "Noto Sans TC", "Microsoft JhengHei", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.75;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}.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}img{max-width:100%;display:block}a{color:var(--green-700);text-decoration:none}a:hover{text-decoration:underline}:where(a,button):focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px var(--green-900)}.container{max-width:1080px;margin:0 auto;padding:0 1rem}.skip-link{position:absolute;left:-9999px;background:var(--green-900);color:#fff;padding:.5rem 1rem}.skip-link:focus{left:.5rem;top:.5rem;z-index:100}.site-header{background:var(--green-900);color:#fff;position:sticky;top:0;z-index:50}.header-inner{display:flex;align-items:center;align-content:flex-start;justify-content:space-between;flex-wrap:wrap;min-height:3.5rem}.brand{display:flex;align-items:center;gap:.5rem;min-height:3.5rem;color:#fff;font-weight:700;font-size:1.15rem}.brand:hover{text-decoration:none}.brand-mark{width:40px;height:40px;border-radius:4px;object-fit:cover}.nav-toggle{display:flex;flex-direction:column;gap:5px;background:0 0;border:0;padding:.6rem;cursor:pointer}.nav-toggle-bar{width:22px;height:2px;background:#fff;transition:transform .2s,opacity .2s}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(1){transform:translateY(7px)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.site-nav{flex-basis:100%;display:none}.site-nav.open{display:block}.site-nav ul{list-style:none;margin:0;padding:.5rem 0 .75rem;border-top:1px solid rgba(255,255,255,.16)}.site-nav a{display:block;color:#dceff3;padding:.55rem .25rem;border-radius:6px;font-weight:500}.site-nav a:hover{color:#fff;text-decoration:none;background:rgba(255,255,255,8%)}.site-nav a.active{color:#fff;font-weight:700}@media(min-width:768px){.nav-toggle{display:none}.site-nav{display:block;flex-basis:auto}.site-nav ul{display:flex;gap:.25rem;padding:0;border-top:0}.site-nav a{padding:.5rem .8rem}.site-nav a.active{background:rgba(255,255,255,.12)}}.hero{background-color:#1c7490;background-image:url(/images/bamboo-hero-mark.webp);background-repeat:no-repeat;background-position:50% 1rem;background-size:min(78vw,310px);color:#fff;padding:calc(min(78vw,310px) + 2rem)0 2.5rem;text-align:center}.hero-copy{max-width:34rem;margin:0 auto}.hero-kicker{margin:0 0 .65rem;color:#dceff3;font-size:.76rem;font-weight:700;line-height:1.4}.hero h1{margin:0 0 .5rem;font-size:2.5rem;line-height:1.15;letter-spacing:0}.hero-subtitle{margin:0 0 1.75rem;font-size:1.05rem;color:#eaf6f8}.hero-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}@media(min-width:768px){.hero{min-height:500px;display:flex;align-items:center;padding:4rem 0;text-align:left;background-position:calc(50% + 285px);background-size:520px}.hero>.container{width:100%}.hero-copy{width:clamp(22rem,48%,32rem);max-width:none;margin:0}.hero-kicker{font-size:.82rem}.hero h1{font-size:3.75rem}.hero-subtitle{font-size:1.15rem}.hero-actions{justify-content:flex-start}}.btn{display:inline-block;padding:.6rem 1.4rem;border-radius:6px;border:1.5px solid var(--green-700);color:var(--green-700);background:var(--card-bg);font:inherit;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.btn:hover{background:var(--green-100);text-decoration:none}.btn-primary{background:var(--amber-500);border-color:var(--amber-500);color:var(--ink)}.btn-primary:hover{background:#e1a73d;border-color:#e1a73d;color:var(--ink)}.btn-small{padding:.3rem .9rem;font-size:.9rem}.hero .btn-primary{background:#fff;border-color:#fff;color:var(--green-900)}.hero .btn-primary:hover{background:var(--green-100);border-color:var(--green-100)}.hero .btn:not(.btn-primary){background:0 0;border-color:#fff;color:#fff}.hero .btn:not(.btn-primary):hover{background:rgba(255,255,255,.12)}.section{padding:2.25rem 1rem}.section[id]{scroll-margin-top:4.5rem}.section-sub{margin-top:2.5rem}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-head h2,.section-sub h2{margin:0 0 .75rem;font-size:1.5rem;color:var(--green-900)}.more-link{font-size:.95rem;white-space:nowrap}.page-head h1{margin:0 0 .5rem;color:var(--green-900)}.card-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:640px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:960px){.card-grid{grid-template-columns:repeat(3,1fr)}}.card{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex}.card-body{padding:1rem 1.15rem;flex:1}.card-title{margin:.15rem 0 .4rem;font-size:1.1rem;line-height:1.45}.card-title a{color:var(--ink)}.card-title a:hover{color:var(--green-700)}.card-date{margin:0;font-size:.85rem;color:var(--ink-soft)}.card-summary{margin:.35rem 0 0;font-size:.95rem;color:var(--ink-soft)}.placeholder-card{background:var(--green-50);border:1px dashed var(--line);border-radius:var(--radius);padding:1.5rem;text-align:center;color:var(--ink-soft)}.placeholder-card p{margin:.25rem 0}.home-intro{max-width:62rem;margin:0 auto;text-align:center}.section-source-note{margin:-.35rem 0 1rem;color:var(--ink-soft)}.observe-update-card{flex-direction:column}.observe-update-card .card-title a::after{content:" ↗";font-size:.85em}.observe-update-media{display:block;background:var(--green-50);border-bottom:1px solid var(--line)}.observe-update-media img{width:100%;aspect-ratio:1/1;object-fit:cover;height:auto}.observe-updated{margin:.75rem 0 0;font-size:.82rem;color:var(--ink-soft)}.join-banner{text-align:center;background:var(--green-100);border-radius:var(--radius);margin:1rem auto 2.5rem;max-width:1048px}.join-banner h2{color:var(--green-900);margin-top:0}.join-banner-contact{margin:1rem 0 0;font-size:.9rem;color:var(--ink-soft)}.website-agent-launch{position:fixed;right:1rem;bottom:1rem;z-index:45;min-height:44px;padding:.65rem 1rem;border:1px solid #fff;border-radius:6px;color:#fff;background:var(--green-900);box-shadow:0 3px 12px rgba(16,79,100,.25);font:inherit;font-weight:700;cursor:pointer}.website-agent-launch:hover{background:var(--green-700)}.website-agent-dialog{width:min(420px,calc(100vw - 1.5rem));max-width:none;max-height:min(680px,calc(100dvh - 1.5rem));margin:auto .75rem .75rem auto;padding:0;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:var(--card-bg);box-shadow:0 10px 34px rgba(15,44,54,.24)}.website-agent-dialog::backdrop{background:rgba(15,44,54,.42)}.website-agent-shell{display:grid;grid-template-rows:auto auto minmax(260px,1fr)auto auto;height:min(680px,calc(100dvh - 1.5rem));max-height:min(680px,calc(100dvh - 1.5rem))}.website-agent-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .9rem;color:#fff;background:var(--green-900)}.website-agent-header h2{margin:0;font-size:1.1rem;color:#fff}.website-agent-header p{margin:.1rem 0 0;color:var(--green-100);font-size:.78rem}.website-agent-close{width:40px;height:40px;padding:0;border:0;color:#fff;background:0 0;font:inherit;font-size:1.65rem;line-height:1;cursor:pointer}.website-agent-close:hover{background:rgba(255,255,255,.1)}.website-agent-suggestions{display:flex;gap:.4rem;overflow-x:auto;padding:.65rem .85rem;border-bottom:1px solid var(--line);background:#fff}.website-agent-suggestions button{flex:none;padding:.4rem .65rem;border:1px solid var(--line);border-radius:6px;color:var(--green-900);background:var(--green-50);font:inherit;font-size:.85rem;cursor:pointer}.website-agent-suggestions button:hover{border-color:var(--green-700)}.website-agent-chat-stage{position:relative;width:100%;min-height:260px;overflow:hidden;background:#f5fafb}.website-agent-chat-stage deep-chat{display:block;width:100%;height:100%}.website-agent-chat-stage deep-chat[hidden]{display:none}.website-agent-loading{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:1rem;color:var(--ink-soft);font-size:.9rem;text-align:center}.website-agent-loading[hidden]{display:none}.website-agent-sources{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .7rem;min-height:38px;padding:.45rem .85rem;border-top:1px solid var(--line);color:var(--ink-soft);background:#fff;font-size:.78rem}.website-agent-sources[hidden]{display:none}.website-agent-sources a{text-decoration:underline}.website-agent-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:42px;padding:.45rem .85rem;border-top:1px solid var(--line);color:var(--ink-soft);background:#fff;font-size:.75rem}.website-agent-footer p{margin:0}.website-agent-footer button{flex:none;padding:.2rem;border:0;color:var(--green-700);background:0 0;font:inherit;cursor:pointer}.website-agent-footer button:hover{text-decoration:underline}@media(min-width:640px){.website-agent-launch{right:1.5rem;bottom:1.5rem}.website-agent-dialog{margin:auto 1.5rem 1.5rem auto}}@media(max-width:480px){.website-agent-dialog{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);margin:auto .5rem .5rem}.website-agent-shell{height:calc(100dvh - 1rem);max-height:calc(100dvh - 1rem)}}.album-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:640px){.album-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:960px){.album-grid{grid-template-columns:repeat(3,1fr)}}.album-card{display:block;background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);color:var(--ink);transition:transform .15s}.album-card:hover{text-decoration:none;transform:translateY(-2px)}.album-card img{width:100%;height:auto;aspect-ratio:640/420;object-fit:cover}.album-cover-placeholder{aspect-ratio:640/420;display:flex;align-items:center;justify-content:center;font-size:3rem;background:var(--green-100)}.album-card-body{padding:.85rem 1.1rem 1rem}.album-title{margin:0 0 .3rem;font-size:1.1rem;color:var(--green-900)}.photo-grid{display:grid;gap:.6rem;grid-template-columns:repeat(2,1fr)}@media(min-width:640px){.photo-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:960px){.photo-grid{grid-template-columns:repeat(4,1fr)}}.photo-item{display:block;border-radius:8px;overflow:hidden}.photo-item img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform .2s}.photo-item:hover img{transform:scale(1.03)}.lightbox{border:0;padding:0;background:0 0;max-width:94vw;max-height:94vh}.lightbox::backdrop{background:rgba(8,34,43,.88)}.lightbox img{max-width:94vw;max-height:88vh;width:auto;height:auto;border-radius:8px}.lightbox-close{position:fixed;top:.5rem;right:.75rem;background:rgba(0,0,0,.5);color:#fff;border:0;font-size:1.2rem;width:2.4rem;height:2.4rem;border-radius:999px;cursor:pointer}.chronology-contribute{margin:0 0 1.25rem;padding:.8rem 1.1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--green-50)}.chronology-contribute p{margin:0;font-size:.95rem}.chronology-contribute strong{color:var(--green-900)}.chronology-contribute h3{margin:.9rem 0 .4rem;font-size:1rem;color:var(--green-900)}.contribute-list{margin:0;padding-left:1.2rem;font-size:.92rem}.contribute-list li{margin-bottom:.35rem}.contribute-list li>*{margin-right:.45rem}.contribute-meta{font-weight:600;color:var(--green-900)}.contribute-who{color:var(--ink-soft);font-size:.85rem}.announce-dialog{width:min(560px,calc(100vw - 2rem));max-width:none;margin:auto;padding:0;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:var(--card-bg);box-shadow:0 10px 34px rgba(15,44,54,.24)}.announce-dialog::backdrop{background:rgba(15,44,54,.42)}.announce-body{padding:1.5rem 1.75rem 1.75rem}.announce-kicker{margin:0 0 .25rem;font-size:.85rem;font-weight:700;letter-spacing:.08em;color:var(--amber-500)}.announce-body h2{margin:0 0 .75rem;color:var(--green-900);font-size:1.3rem}.announce-body p{margin:0 0 .85rem}.announce-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.announce-support{margin:1.5rem 0 0;padding:.9rem 1.1rem;border-radius:var(--radius);background:var(--green-50);font-size:.9rem;color:var(--ink-soft)}.announce-support p{margin:0 0 .6rem}.announce-support p:last-child{margin-bottom:0}.announce-support strong{color:var(--ink)}.announce-fund{padding:.5rem .9rem;border:1px solid var(--line);border-radius:6px;background:var(--card-bg);color:var(--ink)}.announce-fund .announce-fund-date{font-size:.85rem;color:var(--ink-soft)}@media(max-width:480px){.announce-body{padding:1.25rem 1.25rem 1.5rem}.announce-actions .btn{flex:auto;text-align:center}}.calendar-embed{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}.calendar-embed iframe{width:100%;height:620px;border:0;display:block}@media(max-width:640px){.calendar-embed iframe{height:480px}}.calendar-note{font-size:.85rem;color:var(--ink-soft)}.calendar-meta{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.25rem 1rem}.calendar-meta .calendar-note{margin:.75rem 0 0}.calendar-meta .more-link{margin-top:.75rem}@media(max-width:639px){.section-head{align-items:flex-start;flex-direction:column;gap:.25rem}.section-head h2{margin-bottom:0}.more-link{white-space:normal}}.prose h1{color:var(--green-900)}.prose h2{color:var(--green-900);margin-top:2rem}.prose blockquote{margin:1rem 0;padding:.25rem 1rem;border-left:4px solid var(--green-600);background:var(--green-50);color:var(--ink-soft)}.prose table{border-collapse:collapse;width:100%;font-size:.95rem}.prose th,.prose td{border:1px solid var(--line);padding:.45rem .7rem;text-align:left}.prose th{background:var(--green-50)}.source-notes{margin-top:1.5rem;padding:1rem 1.15rem;border:1px solid var(--line);border-left:4px solid var(--amber-500);border-radius:var(--radius);background:var(--green-50)}.source-notes h2{margin-top:0;font-size:1.15rem}.source-notes p{margin-bottom:.55rem;color:var(--ink-soft);font-size:.9rem}.source-notes ul{margin:0;padding-left:1.25rem}.chronology-timeline{position:relative;margin:1.5rem 0 3rem;--chronology-time-width:12.5rem;--chronology-line-gap:1.25rem}.chronology-list{position:relative}.chronology-list::before{content:"";position:absolute;top:.65rem;bottom:.65rem;left:calc(var(--chronology-time-width) + (var(--chronology-line-gap)/2) - .5px);width:1px;background:var(--line)}.chronology-item{position:relative;display:grid;grid-template-columns:var(--chronology-time-width)var(--chronology-line-gap)minmax(0,1fr);padding:.45rem 0}.chronology-item::before{content:"";position:absolute;z-index:1;top:.95rem;left:calc(var(--chronology-time-width) + (var(--chronology-line-gap)/2) - .27rem);width:.54rem;height:.54rem;border:1px solid var(--green-700);border-radius:50%;background:var(--bg)}.chronology-event-time{grid-column:1;align-self:start;padding:.35rem .65rem 0;text-align:right;color:var(--green-700);font-size:.8rem;font-weight:800;line-height:1.35}.chronology-event-time time{display:flex;flex-direction:column;align-items:flex-end;gap:.08rem}.chronology-date-main{white-space:nowrap;font-variant-numeric:tabular-nums}.chronology-date-note{color:var(--ink-soft);font-size:.72rem;line-height:1.2;white-space:nowrap}.chronology-event-body{grid-column:3;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.32rem;padding:.05rem 0 .65rem}.chronology-event-statement{display:block;margin:0;color:var(--ink);font-size:.96rem;line-height:1.45}.chronology-source{display:inline-flex;align-items:center;gap:.15rem;color:var(--ink-soft);font-size:.72rem;font-weight:600;line-height:1.25;white-space:nowrap;margin:0}.chronology-source::before{content:"↗"}.chronology-source:hover{color:var(--green-900)}@media(max-width:639px){.chronology-timeline{--chronology-time-width:8.5rem;--chronology-line-gap:1rem}.chronology-event-time{padding:.4rem .45rem 0;font-size:.72rem}.chronology-date-note{font-size:.66rem}.chronology-event-statement{font-size:.9rem}}.back-link{margin-top:2rem}.link-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.link-list a{display:inline-flex;align-items:center;gap:.5rem;font-weight:500}.contact-primary{background:var(--green-50);border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem 1.25rem;margin-bottom:1.25rem}.contact-label{display:flex;align-items:center;gap:.4rem;margin:0;font-size:.9rem;font-weight:600;color:var(--green-700)}.contact-email{margin:.3rem 0 0;font-size:1.25rem;font-weight:700;word-break:break-all}.contact-note{margin:.4rem 0 0;font-size:.9rem;color:var(--ink-soft)}.contact-routes{list-style:none;padding:0;margin:0;display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:760px){.contact-routes{grid-template-columns:repeat(3,1fr)}}.contact-routes>li{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem 1.25rem;display:flex;flex-direction:column}.contact-routes h3{margin:0 0 .4rem;font-size:1.05rem;color:var(--green-900)}.contact-routes p{margin:0;font-size:.95rem;color:var(--ink-soft)}.contact-routes .contact-route-links{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin:auto 0 0;padding-top:.7rem;font-weight:500}.contact-social-head{margin:2rem 0 .75rem;font-size:1.05rem;color:var(--green-900)}.icon{width:1.1em;height:1.1em;vertical-align:-.15em;flex:none}.pagination{list-style:none;display:flex;gap:.25rem;justify-content:center;padding:0;margin:1.75rem 0 0}.pagination .page-link{display:inline-block;padding:.3rem .75rem;border:1px solid var(--line);border-radius:8px;color:var(--green-700)}.pagination .active .page-link{background:var(--green-700);color:#fff}.site-footer{background:var(--green-900);color:#cfe0d4;margin-top:2.5rem;padding:1.75rem 0;font-size:.9rem}.footer-inner{display:grid;gap:.75rem}.footer-links{display:flex;flex-wrap:wrap;gap:1rem}.footer-links a{color:#fff;display:inline-flex;align-items:center;gap:.4rem}.footer-meta{margin:0}.footer-meta a{color:#cfe0d4;text-decoration:underline}.footer-sync{font-size:.8rem;opacity:.75}