.song__lyrics[data-v-f3e9b067]{gap:24px;margin-top:32px;display:grid}.song__stanza[data-v-f3e9b067]{gap:4px;display:grid}.song__stanza p[data-v-f3e9b067]{color:var(--ink);margin:0;font-size:1.1rem;line-height:1.6}@media (width<=760px){.song[data-v-f3e9b067]{min-height:auto}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fffaf0;--linen:#f5ead8;--mist:#eef3ee;--sage:#6f7d62;--olive:#3f4a35;--clay:#a2674c;--ink:#27231f;--muted:#71685f;--line:#3f4a352e;--shadow:0 18px 50px #50362524;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,Heiti TC,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--paper);color:var(--ink);margin:0;line-height:1.75}button{font:inherit}a{color:inherit}.hero{background:linear-gradient(90deg,#fffaf0f0,#fffaf09e),url(/assets/memorial-hero.png) 50%/cover;align-items:center;min-height:92svh;padding:28px clamp(18px,4vw,64px) 11vh;display:grid;position:relative;overflow:hidden}.hero:after{content:"";background:linear-gradient(0deg, var(--paper), #fffaf000);pointer-events:none;height:18vh;position:absolute;inset:auto 0 0}.topbar{z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffaf099;border:1px solid #fff6;border-radius:999px;gap:4px;padding:5px;display:flex;position:absolute;top:24px;left:24px;box-shadow:0 4px 20px #50362514}.language-switcher{z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffaf099;border:1px solid #fff6;border-radius:999px;gap:4px;padding:5px;display:flex;position:absolute;top:24px;right:24px;box-shadow:0 4px 20px #50362514}.lang-toggle-mobile{display:none}.topbar button{cursor:pointer;text-align:center;min-width:54px;color:var(--olive);background:0 0;border:0;border-radius:999px;padding:7px 14px;font-size:.92rem;font-weight:700;text-decoration:none}.topbar a{text-align:center;min-width:60px;color:var(--olive);border-radius:999px;padding:8px 18px;font-size:.94rem;font-weight:800;text-decoration:none;transition:all .24s cubic-bezier(.4,0,.2,1)}.language-switcher .lang-btn{min-width:54px;min-height:36px;color:var(--olive);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:999px;padding:7px 14px;font-size:.92rem;font-weight:800}.topbar a:hover,.topbar a:focus-visible{background:#6f7d621f}.language-switcher .lang-btn:hover,.language-switcher .lang-btn:focus-visible,.language-switcher .lang-btn.active{background:var(--olive);color:#fff;outline:none}.hero__portrait{aspect-ratio:1;background:var(--linen);border:6px solid #fff;border-radius:50%;flex-shrink:0;width:min(320px,40vw);overflow:hidden;box-shadow:0 20px 60px #0000001f}.hero__portrait img{object-fit:cover;width:100%;height:100%}.service-location{color:var(--olive);margin:12px 0 0;font-size:clamp(1rem,2.4vw,1.2rem);font-weight:800}.service-note{color:var(--clay);letter-spacing:.05em;margin:24px 0 0;font-size:.95rem;font-weight:800}.hero__content{z-index:1;text-align:left;justify-content:center;align-items:center;gap:clamp(32px,6vw,86px);width:min(1080px,100%);padding-top:10vh;animation:1.2s cubic-bezier(.2,.8,.2,1) forwards heroFadeIn;display:flex;position:relative}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero__text{flex:1}.hero__content h1{margin:0}.eyebrow,.section-kicker{color:var(--clay);letter-spacing:.1em;text-transform:uppercase;margin:0 0 18px;font-size:1rem;font-weight:800}h1,h2{color:var(--ink);margin:0;line-height:1.12}h1{max-width:14ch;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.8rem,8vw,6.2rem);font-weight:500}h2{font-size:clamp(1.85rem,5vw,3rem);font-weight:800}.chinese-name{color:var(--olive);margin:24px 0 0;font-size:clamp(1.35rem,3.5vw,2.1rem);font-weight:800}.date-line{margin:32px 0 0;font-size:clamp(1.1rem,2.5vw,1.4rem);font-weight:700}.service-time{max-width:620px;color:var(--muted);margin:10px 0 0;font-size:clamp(1rem,2.4vw,1.2rem);font-weight:700}main{z-index:1;position:relative}.section-inner{width:min(1120px,100% - 36px);margin:0 auto}.intro{background:var(--paper);padding:clamp(46px,8vw,86px) 0}.intro__grid{border-top:1px solid var(--line);grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(24px,5vw,70px);padding-top:clamp(28px,5vw,54px);display:grid}.intro p:last-child{color:var(--muted);margin:0;font-size:clamp(1.05rem,2.5vw,1.25rem);font-weight:650}.section{background:var(--mist);padding:clamp(80px,12vw,140px) 0 clamp(54px,9vw,110px)}.section--reading{background:linear-gradient(180deg, #fffaf0eb, #f5ead8e6), var(--linen)}.section--songs{background:var(--paper)}.section-heading{gap:10px;margin-bottom:clamp(28px,5vw,46px);display:grid}.section-heading h2{color:var(--ink);margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,5vw,3.2rem);font-weight:500;line-height:1.15}.section-heading--center{text-align:center;width:min(720px,100%);margin-inline:auto}.service-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.service-list li{border:1px solid var(--line);background:#fffaf0d1;border-radius:8px;grid-template-columns:1fr auto;align-items:baseline;gap:14px;min-height:58px;padding:16px clamp(16px,3vw,26px);display:grid;box-shadow:0 10px 30px #3f4a350f}.service-list__item{color:var(--olive);font-size:clamp(1.08rem,2.7vw,1.35rem);font-weight:850}.service-list__leader{color:var(--clay);text-align:right;justify-self:end;font-size:clamp(.95rem,2.2vw,1.1rem);font-weight:800}.reading-grid{grid-template-columns:1fr;gap:40px;display:grid}.reading{background:linear-gradient(90deg,#fffaf0,#fff9);border:1px solid #a2674c1a;border-radius:4px;gap:20px;min-height:220px;padding:clamp(24px,4vw,36px);transition:transform .3s;display:grid;box-shadow:0 10px 40px #5036250a}.reading:hover{transform:translateY(-4px)}.reading__ref{color:var(--clay);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.95rem;font-weight:800}.reading blockquote{color:var(--ink);margin:0;font-family:Georgia,Times New Roman,Noto Serif TC,serif;font-size:clamp(1.15rem,2.5vw,1.45rem);font-style:italic;line-height:1.7}.reading blockquote p{margin:0}.song-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,3vw,28px);display:grid}.song{border:1px solid var(--line);background:linear-gradient(135deg, #eef3eedb, #fffaf0eb), var(--mist);box-shadow:var(--shadow);border-radius:8px;align-content:start;gap:28px;padding:clamp(24px,4vw,38px);display:grid}.song__header{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:18px;display:grid}.song__number{width:44px;height:44px;color:var(--olive);border:1px solid #3f4a3538;border-radius:50%;place-items:center;margin:0 0 24px;font-family:Georgia,Times New Roman,serif;font-size:1rem;font-weight:800;display:grid}.song h3{color:var(--ink);margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.7rem,4vw,2.65rem);font-weight:500;line-height:1.13}.song__title-alt{color:var(--olive);margin:14px 0 0;font-size:clamp(1.05rem,2.5vw,1.32rem);font-weight:850}.song__lyrics{gap:22px;display:grid}.song__stanza{gap:6px;display:grid}.song__line{color:var(--ink);margin:0;font-size:clamp(1rem,2.1vw,1.14rem);font-weight:650;line-height:1.8}.mobile-nav{display:none}@media (width<=760px){.hero{background-position:58%;min-height:80svh;padding-top:40px;padding-bottom:12vh}.hero__content{text-align:center;flex-direction:column-reverse;gap:32px;padding-top:4vh}.hero__portrait{width:min(240px,50vw)}.hero__text h1{margin-inline:auto}.topbar{display:none}.desktop-only{display:none!important}.lang-toggle-mobile{z-index:1000;width:44px;height:44px;color:var(--olive);cursor:pointer;background:#fffaf0e6;border:1px solid #fff6;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:flex;position:absolute;top:16px;right:16px;box-shadow:0 4px 12px #00000014}.intro__grid{grid-template-columns:1fr}.service-list li{grid-template-columns:1fr;gap:2px}.service-list__leader{text-align:left;justify-self:start}.reading-grid{grid-template-columns:1fr}.reading{min-height:auto}.song-list{grid-template-columns:1fr}.song{gap:22px}.mobile-nav{z-index:10;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffaf0e6;border:1px solid #3f4a352e;border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;display:grid;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 14px 40px #27231f1f}.mobile-nav button{min-height:46px;color:var(--olive);cursor:pointer;background:#eef3eedb;border:0;border-radius:12px;font-size:1rem;font-weight:800}}.footer{text-align:center;background:var(--paper);padding:12px 0 40px}.rights-note{color:var(--muted);opacity:1;margin:0;font-size:1rem;font-weight:600}
