:root{color-scheme:light;--ink:#183e3d;--paper:#f5f2eb;--muted:#61736e;--line:#d5dcd3;--gold:#ae7b43;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;height:100dvh;display:grid;grid-template-rows:78px minmax(0,1fr) 68px;overflow:hidden}button,select{font:inherit;color:inherit}button,select{background:transparent;border:1px solid var(--line);border-radius:5px;padding:9px 16px;cursor:pointer}button:hover,select:hover{background:#e5eae3}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button:disabled{opacity:.3;cursor:default}header,footer{display:flex;align-items:center;justify-content:space-between;padding:0 4.5vw;gap:24px}header{border-bottom:1px solid var(--line)}.brand{text-decoration:none;color:var(--ink);font-family:"Songti SC","STSong","SimSun",serif;font-size:28px;letter-spacing:6px;white-space:nowrap}.brand span{font-family:-apple-system,"PingFang SC",sans-serif;font-size:14px;letter-spacing:2px;border-left:1px solid #a1afa4;margin-left:16px;padding-left:16px}#sectionLabel{margin-right:auto;color:var(--muted);font-size:14px;letter-spacing:2px}.tools{display:flex;gap:10px}#stage{overflow:auto;position:relative;outline:none}.slide{min-height:100%;padding:5vh 8vw 4vh;display:flex;flex-direction:column;justify-content:center;position:relative;animation:reveal .3s ease-out}.eyebrow{color:var(--gold);font-size:15px;letter-spacing:4px;margin:0 0 22px}.slide h1{font-family:"Songti SC","STSong","SimSun",serif;font-size:clamp(40px,4.5vw,72px);font-weight:500;letter-spacing:5px;line-height:1.25;margin:0 0 4vh}.slide h2{font-size:26px;font-weight:500}.slide p{margin:0}.verse{font-family:"Songti SC","STSong","SimSun",serif;font-size:clamp(25px,2.7vw,44px);line-height:1.9;letter-spacing:3px}.verse.large{font-size:clamp(32px,3.9vw,62px);line-height:1.9}.center{text-align:center;align-items:center}.subtle{font-size:18px;line-height:1.7;color:var(--muted)}.split{padding-right:44vw}.photo{position:absolute;right:0;top:0;width:35vw;height:100%;object-fit:cover}.opening .photo{object-position:70% center}.opening h1{font-size:clamp(46px,5vw,78px);margin-bottom:2vh}.opening .verse{font-size:clamp(24px,2.25vw,36px);line-height:1.8;letter-spacing:2px}.opening .subtle{margin-top:14px}audio{width:min(450px,100%);height:45px;margin-top:20px}.audio-error{font-size:16px;color:#993f2e}.sacred{background:var(--ink);color:var(--paper)}.sacred .eyebrow{color:#d6b389}.sacred .subtle{color:#c9d6cc}.sacred .verse{line-height:2.2}.reading{max-width:1250px;margin:auto;width:100%}.reading h1{font-size:clamp(38px,4vw,60px)}.guidelines{list-style:none;padding:0;margin:0;display:grid;gap:22px}.guidelines li{display:grid;grid-template-columns:45px 1fr;gap:18px}.num{color:var(--gold);font-family:Georgia,serif;font-size:27px;line-height:1.5}.guidelines h2{margin:0 0 8px;font-size:clamp(22px,2.1vw,32px)}.guidelines p{font-size:clamp(18px,1.75vw,27px);line-height:1.7;color:#425c56}.flow{list-style:none;padding:0;margin:0;display:grid;gap:0}.flow li{display:grid;grid-template-columns:40px 1fr auto;align-items:start;gap:18px;border-top:1px solid var(--line);padding:18px 0}.flow h2{font-size:clamp(21px,2.2vw,32px);margin:0 0 7px}.flow .subtle{font-size:clamp(17px,1.45vw,23px)}.time{font-family:Georgia,"Songti SC",serif;font-size:26px;color:var(--gold);white-space:nowrap}.trail{font-size:clamp(22px,2.4vw,38px);line-height:2;color:#426059;margin-bottom:3vh!important}.trail span{color:#9aa69c;font-size:.75em;margin:0 10px}.callout{border-left:3px solid var(--gold);padding:4px 0 4px 24px;font-size:clamp(23px,2.5vw,40px);line-height:1.8;margin-top:28px!important}.compact .eyebrow{margin-bottom:14px}.compact h1{margin-bottom:2vh}.affairs .photo{width:45vw}.affairs{padding-right:50vw}.affairs h1{line-height:1.65}.dedication{background:var(--ink);color:var(--paper)}.dedication .eyebrow{color:#d6b389}.dedication .verse{line-height:1.8}footer{font-size:14px;color:var(--muted)}.navigation{display:flex;align-items:center;gap:20px}.navigation button{border:0;font-size:23px;padding:5px 14px}.navigation span{min-width:60px;text-align:center;font-variant-numeric:tabular-nums}.hint,#nextLabel{width:30%}#nextLabel{text-align:right}.progress{height:3px;position:fixed;bottom:0;left:0;width:100%;background:#e0e6dc;z-index:5}.progress i{display:block;height:100%;background:var(--gold);transition:width .25s}dialog{width:min(660px,90vw);max-height:85dvh;border:1px solid var(--line);padding:32px;background:var(--paper);border-radius:8px;color:var(--ink)}dialog::backdrop{background:#0b2524aa;backdrop-filter:blur(6px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.dialog-head h2{margin:0;font-family:"Songti SC",serif;font-size:32px;font-weight:500}#slideLinks{display:grid;gap:2px}#slideLinks button{text-align:left;border:0;border-top:1px solid var(--line);border-radius:0;padding:14px;display:flex;gap:22px}#slideLinks button.active{background:#dce6dc}#slideLinks .index{color:var(--gold);font-family:Georgia,serif}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes reveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-height:700px) and (min-width:801px){body{grid-template-rows:62px minmax(0,1fr) 54px}.slide{padding-top:3vh;padding-bottom:3vh}.eyebrow{margin-bottom:12px}.slide h1{margin-bottom:2vh}.opening .verse{font-size:26px;line-height:1.6}.guidelines{gap:13px}.guidelines p{font-size:20px}.flow li{padding:12px 0}.verse{line-height:1.65}.verse.large{font-size:42px}}
@media(max-width:800px){body{grid-template-rows:65px minmax(0,1fr) 58px}header,footer{padding:0 5vw;gap:10px}.brand{font-size:24px;letter-spacing:3px}.brand span,#sectionLabel,.desktop,#nextLabel{display:none}.tools{gap:6px}.tools button,.tools select{padding:8px;font-size:14px}.slide{padding:32px 7vw;justify-content:center}.split,.affairs{padding-right:7vw;padding-bottom:30px}.photo{display:none}.opening{background:linear-gradient(90deg,#f5f2ebf2,#f5f2ebd9),url('assets/garden.jpg') center/cover}.opening .verse{font-size:clamp(24px,4.9vw,36px)}.opening h1{font-size:52px}.slide h1{font-size:38px;letter-spacing:3px;margin-bottom:25px}.verse{font-size:clamp(21px,4.9vw,32px);letter-spacing:1px}.verse.large{font-size:clamp(27px,6vw,44px)}.guidelines{gap:20px}.guidelines li{grid-template-columns:27px 1fr;gap:12px}.guidelines p{font-size:18px;line-height:1.75}.guidelines h2{font-size:23px}.reading{justify-content:flex-start}.flow li{grid-template-columns:26px 1fr;gap:10px;padding:14px 0}.flow h2{font-size:22px}.time{grid-column:2;font-size:22px}.flow .subtle{font-size:17px}.hint{width:auto;font-size:13px}.navigation{gap:8px}.trail{font-size:24px}.callout{font-size:25px;padding-left:15px}.affairs{background:linear-gradient(90deg,#f5f2ebf2,#f5f2ebba),url('assets/garden.jpg') center/cover}.affairs h1{font-size:45px}.compact .verse{line-height:2}.eyebrow{font-size:14px;letter-spacing:3px}}
@media print{body{display:block;height:auto;overflow:visible}header,footer,.progress,dialog{display:none}.slide{min-height:90vh;break-after:page}audio{display:none}}
@media(max-width:800px) and (max-height:800px){.opening{padding-top:20px;padding-bottom:20px}.opening h1{font-size:42px;margin-bottom:15px}.opening .eyebrow{margin-bottom:10px}.opening .verse{font-size:clamp(23px,3.6vw,29px);line-height:1.65}.opening .subtle{font-size:16px;margin-top:12px}.opening audio{margin-top:12px;height:40px}}

.liturgy h1{font-size:clamp(30px,3.4vw,52px);margin-bottom:12px;letter-spacing:3px}.liturgy .eyebrow{margin-bottom:16px}.liturgy .verse{font-size:clamp(27px,2.8vw,43px);line-height:1.85}.liturgy-divider{width:64px;height:1px;background:#74938a;margin:28px 0}.liturgy .subtle{font-size:18px}@media(max-height:750px){.liturgy{padding-top:20px;padding-bottom:20px}.liturgy h1{font-size:clamp(27px,3.2vw,42px)}.liturgy .verse{font-size:clamp(25px,2.5vw,36px);line-height:1.65}.liturgy-divider{margin:20px 0}.liturgy .eyebrow{margin-bottom:12px}}@media(max-width:800px){.liturgy h1{font-size:clamp(26px,5.5vw,40px);letter-spacing:1px}.liturgy .verse{font-size:clamp(25px,5.4vw,38px);letter-spacing:2px}.liturgy-divider{margin:26px 0}}
.flow-slide{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:4vw;align-items:center;padding:4vh 5vw;max-width:1600px;margin:auto}.flow-content{min-width:0}.flow-slide h1{font-size:clamp(34px,3.5vw,54px)}.flow-slide .flow li{grid-template-columns:30px minmax(0,1fr) auto;gap:12px;padding:14px 0}.flow-slide .flow h2{font-size:clamp(21px,1.9vw,29px)}.flow-slide .flow .subtle{font-size:clamp(17px,1.35vw,21px)}.time-buttons{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.time-buttons button,.personal-time{font:inherit;font-size:17px;color:#866033;padding:7px 10px;border-color:#c9b697;background:#fff7e8}.personal-time{display:inline-block;margin-top:10px;margin-bottom:4px}.timer-panel{align-self:center;background:#e7ece4;padding:28px 24px;border-top:3px solid var(--gold);border-radius:4px;color:var(--ink)}.timer-panel .eyebrow{font-size:14px;margin:0 0 15px}.timer-panel h2{font-size:22px;margin:0;line-height:1.4}.timer-panel #timerDigits{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums;font-size:64px;line-height:1.4;letter-spacing:-2px;margin:12px 0 0}.timer-panel #timerStatus{font-size:16px;min-height:25px;line-height:1.5}.timer-meter{height:4px;background:#ced7cc;margin:18px 0 24px}.timer-meter i{height:100%;display:block;background:var(--ink)}.timer-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.timer-panel button{font-size:16px;padding:11px;border-color:#b2c1b3}.timer-panel button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.next-speaker{width:100%;margin-top:10px}.custom-duration{display:flex;gap:10px;align-items:end;margin-top:24px}.custom-duration label{display:grid;gap:5px;font-size:14px;flex:1;min-width:0}.custom-duration input{width:100%;height:40px;background:#f8faf5;color:var(--ink);border:1px solid #b2c1b3;border-radius:4px;font:inherit;font-size:18px;padding:6px}.custom-duration span{padding-bottom:10px}.custom-duration button{height:40px;padding:8px}.timer-panel .timer-note{font-size:14px;line-height:1.8;color:#556b60;margin-top:18px}.timer-error{font-size:14px;color:#923b30;line-height:1.5;margin-top:8px!important}.time-warning #timerDigits,.time-warning #timerStatus{color:#986018}.time-warning .timer-meter i{background:#986018}.time-up{background:#f5e7df;border-color:#a34230}.time-up #timerDigits,.time-up #timerStatus{color:#a34230}.flow-slide input:focus-visible{outline:3px solid var(--gold);outline-offset:2px}@media(max-width:1100px){.flow-slide{grid-template-columns:minmax(0,1fr) 260px;gap:28px;padding:30px 4vw}.timer-panel{padding:22px 18px}.timer-panel #timerDigits{font-size:58px}.flow-slide .flow li{grid-template-columns:26px 1fr}.flow-slide .time{grid-column:2;justify-content:flex-start}.flow-slide .flow h2{font-size:23px}}@media(max-width:800px){.flow-slide{display:flex;flex-direction:column;justify-content:flex-start;gap:30px;padding:26px 6vw}.timer-panel{order:-1;align-self:stretch;padding:20px;display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.timer-panel .eyebrow,.timer-panel h2,.timer-panel #timerDigits,.timer-panel #timerStatus,.timer-meter{grid-column:1}.timer-panel .eyebrow{margin-bottom:8px}.timer-panel #timerDigits{font-size:50px;margin-top:8px}.timer-actions{grid-column:2;grid-row:1/3;align-self:start;gap:6px}.next-speaker{grid-column:2;grid-row:3;margin-top:6px;align-self:start}.timer-panel form{grid-column:2;grid-row:4/6}.custom-duration{margin-top:0;gap:5px}.timer-meter{margin:14px 0 0}.timer-panel .timer-note{grid-column:1/-1;margin-top:10px}.timer-error{grid-column:1/-1}.flow-content{width:100%}.flow-slide h1{font-size:34px}.timer-panel button{padding:9px 6px;font-size:14px}}@media(max-width:390px){.timer-panel{column-gap:12px;padding:16px}.timer-panel #timerDigits{font-size:44px}.timer-panel h2{font-size:19px}.custom-duration{gap:3px}.custom-duration input{padding:4px}.timer-actions{gap:4px}}
.group-reading h1{font-size:clamp(32px,3.4vw,52px)}.study-list{margin:0;padding-left:1.2em;font-size:clamp(23px,2.2vw,34px);line-height:1.85;display:grid;gap:14px}.discussion-question{font-size:clamp(24px,2.1vw,34px);line-height:1.95;letter-spacing:.02em}.question-slide .flow-content{max-width:900px}.question-slide h1{line-height:1.4}.group-flow-note{margin-top:12px!important}.group-timer-presets{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.group-timer-presets button{flex:1 1 100%;padding:7px;font-size:15px}.group-reading .guidelines{gap:18px}.group-reading .guidelines p{font-size:clamp(19px,1.65vw,25px)}#lesson[hidden]{display:none}@media(max-width:1200px){#sectionLabel{display:none}}@media(max-width:800px){.tools{gap:4px}.tools button,.tools select{padding:8px 5px;font-size:14px}header{padding:0 4vw;gap:8px}.brand{font-size:23px;letter-spacing:2px}.group-timer-presets{grid-column:1/-1;margin-top:16px}.group-timer-presets button{flex:1 1 auto}.study-list{font-size:23px;gap:14px}.discussion-question{font-size:24px;line-height:1.85}.group-reading h1{font-size:33px}.group-reading .guidelines p{font-size:19px}}

/* Refuge practice keeps the original gold liturgy / black instruction palette. */
[hidden]{display:none!important}
body.refuge-mode{grid-template-rows:78px minmax(0,1fr) auto 68px}
.refuge-mode #stage{background:#fff}
.refuge-page{padding:32px 7vw;color:#292d2f}
.refuge-sheet{width:min(1080px,100%);margin:auto}
.refuge-page .eyebrow{font-size:14px;letter-spacing:2px;color:#827464;margin:0 0 14px}
.refuge-page h1{color:#292d2f;font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;font-size:clamp(29px,3vw,43px);letter-spacing:1px;font-weight:500;margin:0 0 26px;line-height:1.4}
.refuge-text{font-size:clamp(24px,2.4vw,37px);line-height:1.85;letter-spacing:.035em}
.refuge-text p+p{margin-top:.65em}
.refuge-text.chant,.refuge-note{font-family:"Kaiti SC","STKaiti","KaiTi",serif;color:#985f20}
.refuge-text.instruction{font-size:clamp(23px,2.2vw,33px);line-height:1.95}
.refuge-text+.refuge-text{margin-top:26px}
.refuge-poem .refuge-text{font-size:clamp(25px,2.55vw,39px);line-height:1.7}
.refuge-poem .refuge-text p+p{margin-top:.15em}
.refuge-note{font-size:clamp(18px,1.65vw,25px);line-height:1.6;margin-top:22px!important}
.refuge-intro{font-size:clamp(20px,1.8vw,27px);line-height:1.8;margin-bottom:22px!important}
.refuge-immeasurable .refuge-text{font-size:clamp(24px,2.2vw,34px);line-height:2}
.mantra-facsimile{display:block;width:100%;height:auto;margin:20px 0 30px;overflow:hidden}
.refuge-cover{background:linear-gradient(90deg,#132b30c9,#183e3d38),url('assets/refuge-cover.jpg') center/cover;color:#fff;padding:8vh 9vw}
.refuge-cover-content{max-width:900px}
.refuge-cover .eyebrow{color:#eedcc0;margin-bottom:32px}
.refuge-cover h1{font-size:clamp(54px,7vw,110px);letter-spacing:.16em;margin-bottom:28px;text-shadow:0 2px 18px #142c2d55}
.refuge-cover .cover-subtitle{font-size:clamp(20px,2vw,30px);line-height:1.8;letter-spacing:.08em;color:#fff}
.cover-rule{height:1px;width:65px;background:#eedcc0;margin:32px 0}
.refuge-cover .cover-note{font-size:18px;line-height:1.9;color:#eef1e9}
.refuge-audio-dock{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:16px 4.5vw;border-top:1px solid var(--line);background:#eeeee6}
.refuge-audio-track{display:grid;grid-template-columns:minmax(125px,auto) minmax(180px,1fr) auto;align-items:center;gap:12px}
.refuge-audio-track strong{font-size:15px;font-weight:500;display:block;white-space:nowrap}
.refuge-audio-track span{font-size:12px;color:var(--muted);display:block;margin-top:5px}
.refuge-audio-track audio{width:100%;min-width:0;height:40px;margin:0}
.audio-toggle{font-size:14px;padding:8px 12px;background:var(--ink);color:white;border-color:var(--ink);white-space:nowrap}
.audio-toggle:hover{background:#2c5650}
.refuge-audio-dock .audio-error{grid-column:1/-1;margin:0}
@media(max-width:1150px){.refuge-audio-track{grid-template-columns:1fr auto;gap:8px}.refuge-audio-track>div{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px}.refuge-audio-track span{margin:0}.refuge-audio-dock{padding-top:12px;padding-bottom:12px}.refuge-audio-track audio{height:36px}}
@media(max-height:750px) and (min-width:801px){body.refuge-mode{grid-template-rows:62px minmax(0,1fr) auto 54px}.refuge-page{padding:24px 7vw}.refuge-page h1{font-size:30px;margin-bottom:16px}.refuge-text,.refuge-poem .refuge-text,.refuge-text.instruction{font-size:27px;line-height:1.6}.refuge-page .eyebrow{margin-bottom:8px}.refuge-note{font-size:19px;margin-top:14px!important}.refuge-intro{font-size:20px;margin-bottom:14px!important}}
@media(max-width:800px){body.refuge-mode{grid-template-rows:65px minmax(0,1fr) auto 58px}.refuge-page{padding:28px 6vw;justify-content:flex-start}.refuge-sheet{margin:auto}.refuge-page h1{font-size:29px;margin-bottom:20px}.refuge-page .eyebrow{font-size:12px;letter-spacing:1px}.refuge-text,.refuge-poem .refuge-text,.refuge-text.instruction{font-size:24px;line-height:1.8;letter-spacing:0}.refuge-poem .refuge-text p+p{margin-top:.45em}.refuge-note{font-size:19px}.refuge-intro{font-size:20px}.refuge-cover{padding:36px 7vw;background-position:60% center}.refuge-cover h1{font-size:54px;margin-bottom:22px}.refuge-cover .eyebrow{margin-bottom:24px}.refuge-cover .cover-note{font-size:16px}.cover-rule{margin:22px 0}.refuge-audio-dock{grid-template-columns:1fr;gap:10px;padding:10px 4vw}.refuge-audio-track{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px}.refuge-audio-track>div{grid-column:1/-1}.refuge-audio-track strong{font-size:13px}.refuge-audio-track span{font-size:11px}.refuge-audio-track audio{height:32px}.audio-toggle{padding:6px 13px;font-size:13px}.mantra-facsimile{min-width:620px}.mantra-scroll{overflow-x:auto;overscroll-behavior-x:contain}}
@media print{.refuge-audio-dock{display:none!important}body.refuge-mode{display:block}}

.mantra-scroll{max-width:100%}.refuge-page.refuge-vow h1{color:#985f20;font-family:"Kaiti SC","STKaiti","KaiTi",serif}

.mantra-mobile{display:none}@media(max-width:800px){.mantra-scroll{display:none}.mantra-mobile{display:flex;flex-wrap:wrap;align-items:center;gap:4px 5px;margin:12px 0 26px;font-size:24px}.mantra-mobile span{display:flex}.mantra-mobile svg{height:38px;width:auto;display:block;overflow:hidden}}
