:root{color-scheme:light;--ink:#243a3e;--night:#142c36;--gold:#bd9149;--paper:#fff9ec;--muted:#5c685f}*{box-sizing:border-box}body{margin:0;background:#f4eedf;color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}header{background:radial-gradient(ellipse at 50% 0,#355360,transparent 70%),var(--night);text-align:center;padding:36px 18px 46px;color:#f7e9c9}header h1{font:normal clamp(2.8rem,8vw,4.8rem)/1.2 Georgia,serif;margin:7px 0 14px}header p{margin:6px 0}.star{font-size:35px;color:#e5c885}.eyebrow{font-size:.7rem;letter-spacing:.17em;font-weight:700}.review{padding:10px 20px;background:#f8dfa4;text-align:center;font-size:.85rem;color:#513d19}main{width:min(960px,100%);margin:auto;padding:0 20px}h2,h3{font-family:Georgia,serif;font-weight:normal;line-height:1.25}h2{font-size:clamp(1.6rem,5vw,2.3rem)}.calendar{padding:28px 0 32px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2{font-size:1.35rem;margin:0}.section-heading span{font-size:.65rem;letter-spacing:.12em}#calendar-note{color:var(--muted);font-size:.85rem}.day-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px}button{font:inherit;cursor:pointer;min-height:48px;border:1px solid #c6b995;border-radius:12px;padding:11px 15px;background:transparent;color:var(--ink);touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #0d7287;outline-offset:4px}button:disabled{cursor:default;opacity:.45}button.day{padding:6px 2px;background:#fcf8ed;font:1.15rem Georgia,serif;position:relative}button.day[aria-current="date"]{background:var(--night);color:#ffebbd;border-color:var(--night);box-shadow:0 3px 8px #142c3622}.day.done:after{content:'✦';position:absolute;right:3px;top:1px;font-size:9px;color:var(--gold)}article{border-radius:22px;overflow:hidden;background:var(--paper);box-shadow:0 16px 50px #63482614}.picture{background:#eee1c8;text-align:center}.picture img{display:block;width:100%;height:auto;object-fit:contain}.picture p{padding:70px 20px}.story-panel{padding:clamp(22px,6vw,54px)}#day-label{color:#796130;margin:0}#day-title{margin:10px 0 24px}.notice{border-left:3px solid var(--gold);padding:10px 15px;background:#f4ebd6;font-size:.9rem}.primary{background:var(--night);border-color:var(--night);color:#fff5da;padding:13px 24px;border-radius:40px}.quiet{border:0;font-size:.9rem}progress{display:block;width:100%;height:6px;margin:18px 0 28px;accent-color:var(--gold)}.story-text{font-family:Georgia,serif;font-size:1.2rem;line-height:1.9}.story-text p{padding:5px 10px;border-radius:8px;transition:background .3s}.story-text .active{background:#f1ddb2;color:#172d33}.story-nav{display:flex;justify-content:space-between;gap:10px;margin-top:32px;border-top:1px solid #e7ddc6;padding-top:24px}.story-nav button{font-size:.8rem;flex:1}.reward{text-align:center;background:#f6e6bf;padding:26px 20px;border-radius:18px;margin:24px 0}.reward img{max-width:150px;max-height:180px;object-fit:contain}.reward h3{font-size:1.5rem}.prayer{background:#f0ecdf;border-radius:14px;padding:22px;margin-top:16px;white-space:pre-line}.collection{text-align:center;padding:48px 0 32px}.collection h2{margin:10px 0}.collection>p{color:var(--muted)}.treasure-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:14px;background:#8a6445;border-radius:18px;box-shadow:inset 0 0 0 4px #a9835d}.slot{min-height:90px;background:#6f4b33;border:2px solid #a5815b;border-radius:5px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#f1d7ad;font:1.2rem Georgia,serif;padding:6px}.slot img{max-width:100%;height:62px;object-fit:contain}.slot small{font:11px system-ui;text-align:center}.parents{padding:20px 0 30px;border-top:1px solid #d8cdb6;font-size:.85rem}summary{cursor:pointer;font-weight:600;padding:12px 0}footer{text-align:center;padding:24px 18px 36px;color:var(--muted);font-size:.75rem}footer span{padding:0 12px;color:var(--gold)}.skip{position:absolute;left:8px;top:-100px;background:white;padding:12px;z-index:5}.skip:focus{top:8px}[hidden]{display:none!important}#nativity{width:100%;height:auto}.illuminated{border-radius:16px;overflow:hidden;margin:24px 0;box-shadow:0 0 38px #dab253aa;animation:glow 3s ease-in-out infinite alternate}@keyframes glow{to{box-shadow:0 0 60px #dab253}}@media(max-width:600px){main{padding:0 12px}header{padding:24px 16px 30px}.day-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.treasure-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:10px}.story-panel{padding:24px 18px}.section-heading span{font-size:.56rem}.section-heading h2{font-size:1.15rem}.story-text{font-size:1.13rem}.story-nav button{padding:10px 5px}.collection{padding-top:35px}.slot{min-height:80px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.assembly{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:4/3;border-radius:18px;margin:24px 0;background:#142c36;animation:golden-arrival 6s both}.assembly-background{width:100%;height:100%;object-fit:contain}.assembly-piece{position:absolute;height:auto;object-fit:contain;animation:gather 1.5s both}.final-stars{position:absolute;inset:5% 4% auto;text-align:center;color:#ffe5a4;font-size:clamp(20px,6vw,40px);letter-spacing:.3em;animation:twinkle 3s 4s infinite alternate}@keyframes gather{from{opacity:0;transform:translateY(35px) scale(.5)}to{opacity:1;transform:none}}@keyframes golden-arrival{from{box-shadow:0 0 0 #e4bb6300}to{box-shadow:0 0 55px #e4bb63bb}}@keyframes twinkle{from{opacity:.25}to{opacity:1}}@media(prefers-reduced-motion:reduce){.assembly,.assembly-piece,.final-stars{animation:none!important}}

.story-nav a{display:block;flex:1;color:var(--night);font-size:.85rem;min-height:44px;padding:10px;text-align:center;border:1px solid #d8cdb6;border-radius:12px;text-decoration:none;overflow-wrap:anywhere}.story-nav a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.test-controls{margin:18px 0;padding:16px;border:1px dashed #b4934e;border-radius:12px;background:#fff4dc}.test-controls p{font-size:.85rem;margin-bottom:0}.slot{position:relative;min-height:116px;cursor:pointer;padding:8px}.slot:disabled{opacity:1;cursor:default}.slot-number{position:absolute;top:4px;left:7px;font:14px Georgia,serif;z-index:1}.slot.filled{background:#fff1d0;border-color:#dcba74}.slot.filled .slot-number{color:#352814;background:#fff1d0;border-radius:50%;padding:2px 4px}.slot img{height:96px;max-width:100%;border-radius:6px}.slot:focus-visible{outline:3px solid #ffe2a0;outline-offset:3px}.reward img{max-width:min(280px,100%);max-height:340px;border-radius:18px}.treasure-arrival{animation:treasure-light 1.7s ease-out both}.just-arrived{animation:case-light 1.4s ease-out both}.treasure-flight{position:fixed;z-index:40;pointer-events:none;object-fit:contain;border-radius:12px;filter:drop-shadow(0 0 22px #ffe2a0);transform-origin:center}.treasure-view{position:fixed;inset:0;z-index:50;background:#122b36bd;display:flex;align-items:center;justify-content:center;padding:16px}.treasure-card{background:#fff5df;padding:24px;border-radius:24px;max-width:440px;width:100%;max-height:90vh;overflow:auto;text-align:center;box-shadow:0 0 45px #e5c17f80}.treasure-card img{max-width:100%;max-height:55vh;border-radius:16px}.treasure-card h2{font-size:1.8rem}.treasure-card button{display:block;margin-left:auto}.assembly{aspect-ratio:auto;overflow:hidden}.assembly-background{display:block;width:100%;height:auto}.final-treasures{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:14px;background:#fff0d1}.final-treasures img{width:100%;height:auto;border-radius:8px}@keyframes treasure-light{0%{opacity:0;transform:scale(.85);box-shadow:0 0 0 #d5aa5700}60%{opacity:1;transform:scale(1.02);box-shadow:0 0 65px #e8be70}100%{transform:scale(1);box-shadow:0 0 35px #e8be7080}}@keyframes case-light{from{box-shadow:0 0 32px #ffe1a0;transform:scale(1.04)}to{box-shadow:0 0 0 #ffe1a000;transform:none}}@media(max-width:600px){.slot{min-height:105px}.slot img{height:84px}.final-treasures{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.treasure-arrival,.just-arrived{animation:none!important}.treasure-flight{display:none}}
