*{box-sizing:border-box} :root{--pine:#10251e;--pine2:#19372c;--gold:#d9b86c;--cream:#fff8e9;--muted:#d7dfd4}
body{margin:0;min-height:100vh;background:radial-gradient(ellipse at top,#244a39 0,#10251e 58%,#091812 100%);color:var(--cream);font-family:Georgia,'Times New Roman',serif}
.snow{position:absolute;top:12px;width:100%;text-align:center;color:#dce8df;opacity:.65;letter-spacing:5px;pointer-events:none}
.wrap{width:min(900px,92vw);margin:auto;padding:55px 0 28px}
header{text-align:center;padding:25px 12px 34px}.eyebrow{font:700 .72rem Arial,sans-serif;letter-spacing:.23em;color:var(--gold)}
h1{font-size:clamp(2.3rem,7vw,4.5rem);font-weight:400;line-height:1.03;margin:14px 0;color:#fff5dc}
.intro{max-width:550px;margin:0 auto;color:var(--muted);font-size:1.05rem;line-height:1.6}
.panel{background:rgba(255,248,233,.07);border:1px solid rgba(217,184,108,.36);border-radius:22px;padding:clamp(20px,5vw,42px);box-shadow:0 20px 60px #0004;backdrop-filter:blur(5px)}
.panel h2{text-align:center;font-weight:400;font-size:clamp(1.6rem,4vw,2.4rem);margin:8px 0 12px}
.panel>p{text-align:center;color:var(--muted);line-height:1.55}
.ornament{text-align:center;color:var(--gold);font-size:2rem}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:28px auto 18px;max-width:620px}
.day{min-height:88px;border:1px solid #d9b86c88;border-radius:13px;background:linear-gradient(145deg,#315844,#19372c);color:#fff5dc;font:1.8rem Georgia;cursor:pointer;transition:.2s;box-shadow:inset 0 1px #ffffff20,0 5px 14px #0003}
.day:not(:disabled):hover{transform:translateY(-4px);border-color:var(--gold);background:linear-gradient(145deg,#426c50,#244533)}
.day:disabled{opacity:.35;cursor:not-allowed}.day.done{background:linear-gradient(145deg,#8b713a,#554522);opacity:1}
.note{font-size:.85rem}
.hidden{display:none!important}.back{background:none;border:0;color:var(--gold);font-size:1rem;cursor:pointer;padding:0 0 22px}
#day-label{text-align:left}#question{text-align:left;font-size:1.1rem}
label{display:block;margin:18px 0 8px;color:var(--gold)}
textarea{width:100%;border-radius:12px;border:1px solid #d9b86c88;background:#0b1c15;color:white;padding:14px;font:1rem Georgia;resize:vertical}
.gold-button{margin-top:14px;border:0;border-radius:30px;padding:13px 23px;background:var(--gold);color:#1a261d;font-weight:bold;cursor:pointer}
#choice-area{text-align:center;margin-top:30px}h3{font-weight:400;font-size:1.5rem}
.cubes{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:22px}
.cube{width:105px;height:105px;border:1px solid #e8ca7b;border-radius:15px;background:linear-gradient(145deg,#b78c43,#755325);color:#fff4d6;font-size:2.4rem;cursor:pointer;box-shadow:0 8px 18px #0004;transition:.2s}
.cube:hover{transform:translateY(-6px) rotate(-2deg)}.reveal{margin-top:24px;padding:20px;border:1px solid #d9b86c88;border-radius:14px;text-align:center;background:#ffffff0c;font-size:1.15rem;line-height:1.6}
footer{text-align:center;padding:26px 10px;color:#b9c9bd;font-size:.9rem}
@media(max-width:480px){.grid{gap:8px}.day{min-height:70px;font-size:1.5rem}.cube{width:88px;height:88px}}
