:root{--gold:#997025;--line:#d9c5a1;--paper:#f9f5e9;--card:#fffaf0;--teal:#173e47}
body{background:#142f37}
main{background:radial-gradient(ellipse at 95% 0%,#e4c16c21,transparent 42%),var(--paper)}
.sidebar{background:linear-gradient(160deg,#163b43,#102a33);color:#eee3c9;border-color:#846b3f}.sidebar .brand small,.side-bottom{color:#c5ba9c}.sidebar nav a.active{background:#c8a65f22;color:#f0d68f;border:1px solid #b2904a55}.sidebar nav a{border:1px solid transparent}.sidebar .tiny{color:#d7b974}
.topbar{border-image:linear-gradient(90deg,#bc923a20,#ab7b29,#eed49a,#ab7b29,#bc923a20) 1}.topbar>.leaf{display:none}.brand>.icon{filter:drop-shadow(0 1px 2px #c8943922)}
.motion-button{position:absolute;top:40px;left:5px;width:39px;height:39px;border:1px solid #bc9b5e88;border-radius:50%;padding:8px;background:transparent;color:var(--gold);display:grid;place-items:center}.motion-button svg{width:21px;height:21px}.motion-button[aria-pressed=false]{color:#7c8179;background:#dedacc55}
.festival-card{background:radial-gradient(ellipse at 80% 30%,#53757533,transparent 70%),linear-gradient(130deg,#1b4850,#102e37);border:1px solid #bda267;box-shadow:inset 0 0 0 3px #d4b57416,0 7px 22px #163d481a}.festival-card:after{content:'';position:absolute;inset:5px;border:1px solid #d1ad5840;border-radius:12px;pointer-events:none;z-index:-1}.festival-pill{color:#fff3cd;background:linear-gradient(110deg,#80602d,#ad9254,#80602d);box-shadow:0 1px 9px #b4935f22}.festival-icon{border-color:#d0b477;box-shadow:0 0 20px #d5b86a12}
.prayer-card,.reader,.story-card,.context-card,.folk,.catalog button,.story-body{background:linear-gradient(135deg,#fffdf7,#fbf5e7);box-shadow:0 3px 16px #76542007,inset 0 0 0 3px #fffaf144}.reader{border-color:#ccb17c}.reader-cross{color:#a87928}.read-mark[aria-pressed=true]{background:linear-gradient(115deg,#e0d6ae,#ede2ba,#d8cfa7);border-color:#b5995b}.read-mark[aria-pressed=true] .tick{background:#35544e;border-color:#35544e}.day-mark[aria-pressed=true] .tick{background:#35544e;border-color:#bda165}
.mobile-nav{background:linear-gradient(180deg,#fcf9ef,#f5eddb);border-top-color:#bb944f}.mobile-nav a{position:relative}.mobile-nav a.active:before{content:'';position:absolute;top:-9px;width:30px;height:2px;border-radius:3px;background:linear-gradient(90deg,#8d6424,#ecd38a,#8d6424)}
.mosaic-card{overflow:hidden;border:1px solid #a17c37;border-radius:14px;margin-bottom:18px;background:#17373f;color:#f6ecd3;box-shadow:0 7px 25px #12353d1a}.mosaic-art{position:relative;overflow:hidden;aspect-ratio:3/2}.mosaic-art img{width:100%;height:100%;object-fit:cover;display:block}.mosaic-art:after{content:'';position:absolute;inset:5px;border:1px solid #dfc07577;border-radius:4px;pointer-events:none}.mosaic-light{position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#fff1b918 40%,#fff3c83b 50%,transparent 65%);transform:translateX(-115%);pointer-events:none}.mosaic-copy{padding:21px}.mosaic-copy .eyebrow{color:#d5b370;font-size:9px}.mosaic-copy h3{font-size:25px;line-height:1.2}.mosaic-links{display:flex;flex-direction:column;gap:0;margin:14px 0}.mosaic-links a{padding:11px 0;border-bottom:1px solid #d5b37044;display:flex;justify-content:space-between;font-size:13px;text-decoration:none;min-height:44px}.mosaic-copy .fine{color:#c2b99f;font-size:10px}
.diorama{--shift:0px;--rise:0px;position:relative;isolation:isolate;overflow:hidden;aspect-ratio:3/2;width:100%;background:#c9b184;border:1px solid #bc995c;border-radius:13px;touch-action:pan-y;box-shadow:inset 0 0 20px #3e2e291a}.diorama:after{content:'';position:absolute;inset:6px;border:1px solid #ffebc077;border-radius:8px;pointer-events:none;z-index:4}.diorama-layer{position:absolute;inset:0;pointer-events:none;transform-origin:50% 75%;transition:transform .3s ease-out}.diorama-layer img,.story-cover .diorama-layer img{display:block;width:100%;height:100%;object-fit:fill;border-radius:0}.landscape{inset:-4%;transform:translate(calc(var(--shift)*-.3),calc(var(--rise)*-.3)) scale(1.02)}.people{inset:5% 9% -3%;transform:translate(calc(var(--shift)*.55),calc(var(--rise)*.5));filter:drop-shadow(0 4px 3px #30251640)}.foreground{inset:-3%;transform:translate(var(--shift),var(--rise));filter:drop-shadow(0 3px 3px #34271935)}.scene-caption{position:absolute;left:18px;top:16px;font:9px/1.2 'Segoe UI',sans-serif;letter-spacing:1.7px;color:#564328;background:#fff9eac9;padding:7px 9px;border:1px solid #b6955b44;border-radius:20px;z-index:3}.story-cover .diorama{aspect-ratio:1.85}.story-cover .people{inset:-6% 10% -14%}.story-cover .scene-caption{top:10px;left:10px;font-size:8px;padding:5px 7px}.scene-tools{display:flex;align-items:center;gap:12px;justify-content:space-between;border:1px solid var(--line);padding:12px 15px;border-radius:10px;margin-top:9px;font-size:11px}.scene-tools label{min-width:110px}.scene-range{min-width:0;flex:1;width:110px;accent-color:#a7823e;min-height:28px}.scene-tools small{color:var(--muted)}
.day-calendar-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin:10px 0 14px}.day-calendar-controls button{min-height:38px;border:1px solid var(--line);background:var(--card);border-radius:22px;padding:6px 13px;font-size:12px}.day-calendar-controls .date-arrow{width:38px;padding:5px;font-size:19px;text-align:center}.day-calendar-controls button:disabled{opacity:.25}
.calendar-dialog{width:min(94vw,430px);max-height:86dvh;overflow:auto;padding:23px;border:1px solid #b99852;border-radius:18px;color:var(--ink);background:var(--paper);box-shadow:0 20px 90px #051d3670}.calendar-dialog::backdrop{background:#0c263bc9;backdrop-filter:blur(3px)}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.calendar-head h2{font-size:26px}.calendar-head button{border:1px solid var(--line);border-radius:50%;width:38px;height:38px;background:transparent;text-align:center;font-size:23px}.calendar-months{display:flex;gap:5px;margin:0 0 20px}.calendar-months button{flex:1;min-height:40px;border:1px solid var(--line);border-radius:8px;background:transparent;font-size:12px;text-align:center}.calendar-months button.active{background:var(--teal);color:var(--paper);border-color:var(--teal)}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.calendar-week{font-size:10px;color:var(--muted);margin-bottom:8px}.calendar-grid button{position:relative;aspect-ratio:1;min-height:36px;padding:0;border:1px solid transparent;background:transparent;text-align:center;border-radius:50%;font-size:14px}.calendar-grid button.selected{background:#b18c49;color:#fff}.calendar-grid button.holiday:not(.selected){color:#a4402a;background:#a4402a09}.calendar-grid button:hover{border-color:var(--gold)}.calendar-dialog .fine{margin-top:16px;font-size:11px}
.daily-observance{min-height:235px;display:block;padding:26px!important}.daily-observance h2{font-size:29px;line-height:1.2}.daily-observance .day-week{font-size:12px;color:#d7ccae;margin:17px 0}.daily-observance .source-link{color:#e7cb8a}.observance-list{padding-left:18px;line-height:1.7;font-size:13px}.observance-list li{margin-bottom:9px}.practice-card{margin:15px 0 0;padding:22px;border:1px solid #ceb074;border-radius:13px;background:linear-gradient(130deg,#e4d3aa40,#fffaf0)}.practice-card h3{font-size:24px;margin-bottom:10px}.practice-card p{font-size:14px;line-height:1.7;color:#4d605d}.practice-card .fine{font-size:10px;margin-top:9px}.daily-observance .festival-pill{margin-bottom:13px}.daily-observance .ornament{margin-top:18px}.calendar-launch{font-size:13px!important}.story-title-tag{font-size:10px;color:var(--gold);letter-spacing:1px}
@media(max-width:900px){.motion-button{top:28px;width:34px;height:34px;padding:7px}.mosaic-card{max-width:580px;margin-left:auto;margin-right:auto}}
@media(max-width:580px){.scene-tools{padding:9px 12px;gap:9px}.scene-tools small{display:none}.mosaic-copy{padding:19px}.mosaic-copy h3{font-size:29px}.mosaic-links{flex-direction:row;gap:19px}.mosaic-links a{flex:1;font-size:12px}.diorama{aspect-ratio:1.1}.landscape{inset:-4% -19%}.people{inset:19% -9% -1%}.foreground{inset:5% -20% -3%}.scene-caption{font-size:8px;left:12px;top:13px}.story-cover .diorama{aspect-ratio:1.8}.story-cover .landscape{inset:-7%}.story-cover .people{inset:-5% 10% -17%}.story-cover .foreground{inset:-5%}.daily-observance h2{font-size:26px}.practice-card{padding:19px}.day-calendar-controls{margin:8px 0 12px}.date-heading{padding-bottom:0}.calendar-dialog{padding:19px}}
@keyframes page-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes golden-pass{0%,15%{transform:translateX(-115%)}65%,100%{transform:translateX(115%)}}
@keyframes check-bloom{0%{transform:scale(.75)}65%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes paper-breathe{0%,100%{translate:0 0}50%{translate:2px -2px}}
@media(prefers-reduced-motion:no-preference){.motion-on #view{animation:page-enter .35s ease-out}.motion-on button,.motion-on a{transition:background-color .2s,color .2s,box-shadow .2s}.motion-on button:active{transform:scale(.97)}.motion-on .read-mark[aria-pressed=true] .tick,.motion-on .day-mark[aria-pressed=true] .tick{animation:check-bloom .38s ease-out}.motion-on .mosaic-card.is-visible .mosaic-light{animation:golden-pass 14s ease-in-out infinite}.motion-on .diorama.is-visible .people{animation:paper-breathe 9s ease-in-out infinite}.motion-on .diorama.is-visible .foreground{animation:paper-breathe 7s ease-in-out infinite reverse}.motion-on .catalog button:hover{box-shadow:0 4px 15px #a17a3920;border-color:#b99b63}}
body:not(.motion-on) *,body.app-hidden *{animation:none!important;transition:none!important}body:not(.motion-on) button:active{transform:none}.app-hidden .diorama-layer{will-change:auto}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.diorama-layer{transform:none!important}}
