:root{color-scheme:light;--night:#26233e;--night-2:#343150;--gold:#f9c772;--cream:#fff8ed;--peach:#f9debf;--ink:#443748;--white:#fffdf7;--lilac:#b5a5d6;--leaf:#8bbaa1;--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif;color:var(--white);-webkit-font-smoothing:antialiased}button{font:inherit}a:focus-visible,button:focus-visible{outline:4px solid #ffce72;outline-offset:5px}[hidden]{display:none!important}.skip-link{position:absolute;left:12px;top:-80px;z-index:300;background:#fff;color:#30233a;padding:14px 20px;border-radius:10px}.skip-link:focus{top:12px}.page-shell{isolation:isolate;min-height:100vh;overflow:hidden;background:radial-gradient(ellipse at 55% 24%,#47405f 0,#302b4d 45%,#24223c 87%);position:relative}.starfield{inset:0;position:absolute;z-index:-1;pointer-events:none;background-image:radial-gradient(circle,#ffe8af 1px,transparent 2px),radial-gradient(circle,rgba(255,241,212,.68) 1px,transparent 2px),radial-gradient(circle,rgba(255,255,255,.37) 1px,transparent 2px);background-size:127px 173px,193px 149px,83px 117px;background-position:5px 21px,71px 42px,35px 91px;opacity:.66}.twinkle{position:absolute;width:6px;height:6px;background:#fff4cc;transform:rotate(45deg);box-shadow:0 0 15px 3px rgba(255,217,144,.4);animation:shimmer 4s ease-in-out infinite alternate}.twinkle::after,.twinkle::before{content:'';position:absolute;background:inherit;inset:-4px 2px;border-radius:90%}.twinkle::after{inset:2px -4px}.t1{top:9%;left:12%}.t2{top:22%;right:17%;animation-delay:-1.8s}.t3{top:46%;left:7%;animation-delay:-2.4s}.t4{top:62%;right:9%;animation-delay:-3.3s}.t5{top:30%;left:70%;animation-delay:-1.3s}.t6{top:12%;left:84%;animation-delay:-2.6s}@keyframes shimmer{from{opacity:.35;scale:.75}to{opacity:1;scale:1.18}}.hero{padding:clamp(28px,4.2vh,48px) 20px 10px;text-align:center;position:relative;z-index:2}.eyebrow{color:#e8bd78;font-size:clamp(10px, 1.05vw, 13px);font-weight:800;letter-spacing:.27em}.eyebrow-star{font-size:20px;padding:0 14px;vertical-align:middle}.hero-heading{margin:15px 0 0;line-height:.93}.hero-small{display:block;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400;color:#fff5df;font-size:clamp(23px, 2.7vw, 39px);letter-spacing:.005em}.hero h1{display:inline-block;position:relative;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(64px, 7vw, 104px);letter-spacing:-.045em;font-weight:500;line-height:1.07;color:#fff7e9;text-shadow:0 8px 24px rgba(16,12,33,.19)}.hero-accent{position:absolute;top:3px;right:-34px;color:var(--gold);font-size:clamp(28px, 2.8vw, 41px);animation:shimmer 4.3s infinite alternate}.hero-subtitle{font-size:clamp(15px, 1.5vw, 21px);color:#eadfef;margin:11px 0 14px;letter-spacing:.01em}.hero-status{display:inline-flex;align-items:center;justify-content:center;min-height:31px;border:1px solid rgba(253,214,147,.3);background:rgba(255,238,213,.095);border-radius:99px;font-size:13px;padding:6px 17px;color:#f4e5d3}.calendar-main{position:relative;z-index:1}.village{max-width:1240px;width:calc(100% - 36px);margin:10px auto 0;padding:40px clamp(25px,4vw,68px) 42px;min-height:455px;position:relative;border:1px solid rgba(241,221,197,.13);border-radius:34px 34px 25px 25px;background:linear-gradient(180deg,rgba(112,102,141,.16),rgba(74,64,105,.2) 50%,rgba(35,48,59,.4));box-shadow:0 20px 80px #0e10203a}.hills{pointer-events:none;position:absolute;bottom:0;left:0;right:0;z-index:0}.hills-back{height:54%;background:#46435f;clip-path:ellipse(73% 49% at 30% 100%);opacity:.65}.hills-front{height:30%;background:linear-gradient(#3e4c50,#2f4148);clip-path:polygon(0 66%,9% 48%,22% 59%,36% 35%,48% 49%,62% 27%,74% 50%,86% 36%,100% 60%,100% 100%,0 100%);opacity:.75;border-radius:0 0 22px 22px}.sky-moon{position:absolute;top:17px;right:52px;width:70px;height:70px;background:radial-gradient(circle at 35% 35%,#fff5d6,#f8dca4);border-radius:50%;box-shadow:0 0 50px 11px rgba(255,226,170,.12);opacity:.8}.little-church{position:absolute;bottom:46px;right:13px;width:33px;height:62px;z-index:1;background:#605169;border-radius:2px 2px 0 0;opacity:.6}.church-roof{position:absolute;top:-23px;left:-8px;width:49px;height:27px;background:#765e73;clip-path:polygon(50% 0,100% 100%,0 100%)}.church-cross{position:absolute;top:-35px;left:15px;width:4px;height:19px;background:#f1cc8d}.church-cross::after{content:'';position:absolute;width:15px;height:4px;top:5px;left:-5px;background:inherit}.church-window{position:absolute;width:12px;height:21px;top:17px;left:11px;border-radius:8px 8px 0 0;background:#ffe2ad}.calendar-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:25px 17px;align-items:end}.house{--front:#c99b8d;--roof:#8f778f;--trim:#ead9bd;position:relative;display:flex;flex-flow:column nowrap;align-items:center;justify-content:end;height:clamp(126px,11.1vw,144px);width:100%;padding:0;background:0 0;border:0;cursor:pointer;border-radius:15px;-webkit-tap-highlight-color:transparent;transition:transform .25s var(--ease),filter .25s ease}.house:nth-child(8n+2),.house:nth-child(8n+6){translate:0 -11px}.house:nth-child(8n+4),.house:nth-child(8n+8){translate:0 6px}.house:nth-child(5n+2){--front:#e6ba9c;--roof:#9a7d89;--trim:#fff0db}.house:nth-child(5n+3){--front:#94aca6;--roof:#647b81;--trim:#d9e3d6}.house:nth-child(5n+4){--front:#ab9abd;--roof:#746d9b;--trim:#e9dceb}.house:nth-child(5n+5){--front:#d6aa78;--roof:#917178;--trim:#f2ddad}.house:hover{transform:translateY(-6px)}.house:active{transform:scale(.96)}.house:focus-visible{outline:3px solid #ffce72;outline-offset:4px}.house-roof{position:absolute;left:3%;right:3%;top:0;height:48%;background:var(--roof);clip-path:polygon(50% 0,100% 76%,94% 87%,6% 87%,0 76%);filter:drop-shadow(0 2px 0 #0002)}.house-roof::after{content:'';position:absolute;width:64%;height:5px;background:#fff6df36;left:18%;top:57%;border-radius:10px}.house-body{position:relative;width:87%;height:78%;background:var(--front);border:4px solid #382e42;border-radius:8px 8px 4px 4px;box-shadow:inset 0 -6px #0002,2px 6px 0 #0004,0 10px 16px #15102055;display:flex;justify-content:center;align-items:end;padding:5px 7px 0}.house-body::before{content:'';position:absolute;top:10px;left:9px;width:12px;height:15px;border:2px solid #56455688;border-radius:7px 7px 2px 2px;background:#f7dcac;box-shadow:inset 0 -4px #b57e7480}.house-body::after{content:'';position:absolute;top:10px;right:9px;width:12px;height:15px;border:2px solid #56455688;border-radius:7px 7px 2px 2px;background:#f7dcac;box-shadow:inset 0 -4px #b57e7480}.house-door{position:relative;display:flex;align-items:center;justify-content:center;width:64%;height:80%;border-radius:26px 26px 2px 2px;border:3px solid #574357;background:linear-gradient(115deg,#644663,#775675 65%,#563d5c);box-shadow:inset 3px 0 #ffffff24,0 2px 0 #2a213e;transition:background .25s,box-shadow .25s}.house-door::before{content:'';position:absolute;top:10px;bottom:10px;left:50%;border-left:1px solid #ffffff24}.house-door::after{content:'';position:absolute;right:10%;bottom:31%;width:6px;height:6px;background:#ffe4a2;border-radius:50%;box-shadow:0 0 6px #fff0c7}.house-number{position:relative;z-index:1;font-size:clamp(22px, 2.55vw, 31px);font-weight:900;line-height:1;color:#fff3d3;text-shadow:0 2px 2px #3e2546bb}.house.current .house-door{background:linear-gradient(135deg,#ecc37e,#f7d99d 65%,#ddaa61);border-color:#ffebba;box-shadow:0 0 22px 5px #fbd18a55,inset 3px 0 #fff7c4aa}.house.current .house-number{color:#5e3a51;text-shadow:0 1px #fff8d4}.house.current::after{content:'✦';z-index:3;position:absolute;right:-6px;top:16%;font-size:27px;color:#ffdd86;text-shadow:0 0 16px #ffde7b;animation:shimmer 1.7s infinite alternate ease-in-out}.house.past{filter:saturate(.66) brightness(.8)}.house.future{filter:saturate(.88)}.house.test-open{filter:brightness(1.08)}.house.test-open .house-door{background:linear-gradient(125deg,#edd39e,#dba872)}.house.test-open .house-number{color:#5e3a51;text-shadow:0 1px #fff8d4}.village-footer{pointer-events:none;position:relative;z-index:3;text-align:center;margin-top:24px;color:#e0c7a2;letter-spacing:.24em;font-weight:800;font-size:11px}.village-footer span{color:#f7cf86;margin:0 15px}.footer-message{text-align:center;margin:15px 10px 6px;font-family:Georgia,serif;font-size:17px;font-style:italic;color:#ecd6c5}.footer-message span{color:#f0c78e}.site-footer{color:#adabc0;display:flex;gap:15px;justify-content:center;align-items:center;font-size:12px;letter-spacing:.025em;padding:8px 10px 20px}.test-label{display:inline-flex;border-radius:100px;border:1px solid #e9c27b77;color:#ffe6b4;padding:4px 10px;font-size:11px}.toast{position:fixed;z-index:130;left:50%;bottom:32px;transform:translate(-50%,20px);border:1px solid #e7d1a5;border-radius:20px;padding:14px 24px;background:#fffaee;color:#55415a;box-shadow:0 8px 26px #211a3060;font-size:17px;font-weight:700;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;text-align:center;max-width:calc(100vw - 32px)}.toast.visible{opacity:1;transform:translate(-50%,0)}dialog{max-width:none;max-height:none;padding:0;border:0}dialog::backdrop{background:rgba(20,16,37,.8);backdrop-filter:blur(9px)}.day-dialog{background:0 0;width:min(1190px,calc(100% - 44px));max-height:min(900px,calc(100% - 35px));overflow:auto;margin:auto;border-radius:28px;box-shadow:0 20px 80px #130e21a0}.day-dialog[open]{animation:popin .35s var(--ease)}@keyframes popin{from{opacity:0;transform:scale(.94) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.day-content{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);min-height:min(660px,84vh);position:relative;background:#fff9ee}.day-art-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:22px;background:linear-gradient(175deg,#f2dbc1 0,#edd2b5 100%);position:relative}.art-decoration{font-size:12px;font-weight:800;letter-spacing:.18em;color:#916b6c;padding:4px 0 16px}.art-decoration span{padding:0 12px;color:#be9165}.day-art-panel img{object-fit:contain;width:100%;height:auto;max-height:min(510px,65vh);border-radius:20px;box-shadow:0 10px 35px #98684921}.expand-button{display:inline-flex;align-items:center;gap:8px;border-radius:100px;padding:10px 17px;color:#654b55;background:#fff6e8;border:1px solid #d7bca0;margin-top:16px;font-size:13px;font-weight:800;cursor:pointer}.expand-button svg{width:18px;height:18px}.expand-button:hover{background:#fff}.day-text-panel{display:flex;flex-direction:column;padding:clamp(30px,4vw,64px) clamp(25px,3.6vw,53px) 26px;color:var(--ink)}.day-tag{color:#a4777d;font-size:13px;font-weight:900;letter-spacing:.19em}.day-text-panel h2{font-family:Georgia,"Times New Roman",serif;margin:14px 0 13px;font-size:clamp(34px, 3.8vw, 55px);font-weight:500;line-height:1.08;letter-spacing:-.04em;color:#583f53}.day-message{margin:0 0 26px;color:#6e5366;font-size:clamp(20px, 2vw, 28px);font-weight:800;line-height:1.3}.activity{display:flex;gap:16px;align-items:flex-start;padding:15px 18px;border-radius:17px;margin:0 0 13px}.activity-icon{flex:none;font-size:29px;width:35px;text-align:center;line-height:1}.activity h3{font-size:14px;text-transform:uppercase;letter-spacing:.08em;margin:1px 0 8px}.activity p{font-size:clamp(16px, 1.45vw, 20px);line-height:1.4;margin:0;font-weight:600}.activity-prayer{background:#eee7f1;color:#614e75}.activity-action{background:#e7eee1;color:#446955}.back-button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;gap:8px;margin-top:auto;padding:12px 17px;color:#fff9ec;background:#735972;border:0;border-radius:14px;font-size:16px;font-weight:800;cursor:pointer;box-shadow:0 5px 0 #49354a}.back-button svg{width:20px;height:20px}.back-button:hover{background:#5d4661}.back-button:active{transform:translateY(3px);box-shadow:0 2px 0 #49354a}.close-button{position:absolute;z-index:4;right:16px;top:15px;width:44px;height:44px;border-radius:50%;background:#f4e8d8;border:1px solid #a8809c66;color:#69526b;font-size:31px;cursor:pointer;line-height:1}.close-button:hover{background:#fff4e9}.image-dialog{width:min(1000px,calc(100% - 40px));max-height:min(92vh,850px);margin:auto;background:#f6e4d2;border-radius:25px;padding:20px;box-shadow:0 20px 80px #130e21a0}.image-dialog img{display:block;width:100%;height:auto;max-height:calc(92vh - 40px);object-fit:contain;border-radius:15px}.image-close-button{position:absolute;top:25px;right:25px;z-index:2;border:1px solid #a8809c55;color:#604960;border-radius:50%;width:46px;height:46px;background:#fff9e9ee;font-size:30px;cursor:pointer}@media (max-width:1000px){.calendar-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px 14px}.house{height:140px}.house:nth-child(n){translate:0 0}.house:nth-child(6n+2),.house:nth-child(6n+5){translate:0 -8px}.village{padding:42px 35px 36px}.day-content{grid-template-columns:1fr 1fr}.day-text-panel{padding:47px 24px 25px}}@media (max-width:730px){.hero{padding-top:25px}.hero h1{font-size:clamp(58px, 13vw, 82px)}.hero-accent{right:-22px;font-size:25px}.hero-heading{margin-top:10px}.hero-subtitle{max-width:330px;margin:12px auto 14px;line-height:1.4}.eyebrow{letter-spacing:.12em}.eyebrow-star{padding:0 4px}.village{width:calc(100% - 22px);border-radius:24px;padding:43px 19px 32px}.calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 8px}.house:nth-child(n){translate:0 0;height:clamp(104px,25vw,140px)}.house:nth-child(4n+2){translate:0 -4px}.house-body{border-width:3px;padding:4px 4px 0}.house-roof{height:42%}.house-door{width:68%;border-width:2px}.house-body::after,.house-body::before{width:8px;height:11px;top:11px}.house-body::before{left:4px}.house-body::after{right:4px}.house-number{font-size:clamp(20px, 6vw, 30px)}.sky-moon{right:20px;top:14px;width:46px;height:46px}.village-footer{font-size:9px;letter-spacing:.1em}.village-footer span{margin:0 4px}.day-dialog{width:calc(100% - 24px);max-height:calc(100% - 20px);border-radius:22px}.day-content{grid-template-columns:1fr}.day-art-panel{padding:17px}.day-art-panel img{max-height:32vh}.art-decoration{padding:2px 0 10px}.expand-button{margin-top:10px}.day-text-panel{padding:23px 24px 27px}.day-text-panel h2{font-size:clamp(30px, 7vw, 44px);margin:7px 0}.day-message{font-size:20px;margin-bottom:17px}.activity{margin-bottom:9px;padding:12px 14px}.activity h3{font-size:11px;margin-bottom:4px}.activity p{font-size:16px}.close-button{right:10px;top:10px}.back-button{margin-top:8px;padding:10px 14px}}@media (max-width:360px){.village{padding-left:12px;padding-right:12px}.house{height:99px}.house-door::after{width:4px;height:4px}.day-text-panel{padding-left:15px;padding-right:15px}}@media (max-height:700px) and (min-width:1001px){.hero{padding-top:16px}.hero-heading{margin-top:4px}.hero h1{font-size:68px}.hero-small{font-size:26px}.hero-subtitle{margin:3px 0 8px}.village{margin-top:4px;padding-top:29px;min-height:0}.house{height:112px}.calendar-grid{gap:14px 16px}.village-footer{margin-top:18px}.footer-message{margin-top:7px}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:NaNs!important;animation-iteration-count:1!important;transition-duration:NaNs!important;scroll-behavior:auto!important}}.no-animations *,.no-animations ::after,.no-animations ::before{animation:none!important;transition:none!important}