:root{color-scheme:dark;--gold:#ffe29a;--cream:#fff6e5;--rose:#e26a62;--red:#7e1c32;--night:#071e2c;--mint:#83cbb9}*{box-sizing:border-box}body{min-height:100vh;margin:0;background:radial-gradient(circle at 50% -7%,#b65155 0,transparent 27%),radial-gradient(circle at 3% 31%,#0e5a58 0,transparent 30%),linear-gradient(145deg,#061a2b,#4d1025 57%,#071e2d);font:15px Manrope,Arial,sans-serif;color:var(--cream)}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.56;background-image:radial-gradient(circle,#fff 0 1px,transparent 2px),radial-gradient(circle,#ffe4a3 0 1.5px,transparent 2.7px);background-size:108px 151px,183px 222px;animation:snow 18s linear infinite}@keyframes snow{to{background-position:33px 220px,57px 290px}}.calendar-shell{position:relative;width:min(980px,100%);margin:auto;padding:36px 20px 70px}.calendar-back{display:inline-flex;padding:9px 12px;border:1px solid #ffe6ac70;border-radius:999px;background:#061d2a70;color:var(--cream);font-size:11px;font-weight:800;text-decoration:none}.calendar-hero{text-align:center;padding:28px 0 22px}.calendar-hero p,.eyebrow{margin:0;color:var(--gold);font:700 10px "DM Mono",monospace;letter-spacing:1.8px}.calendar-hero h1{margin:12px 0 9px;font:700 clamp(42px,8vw,74px)/.94 "Playfair Display",Georgia,serif;letter-spacing:-3px}.calendar-hero em{color:var(--gold);font-style:normal}.calendar-hero span{color:#f4d6d0;font-size:12px}.calendar-card{border:1px solid #ffe6ac8c;border-radius:27px;background:linear-gradient(145deg,#75172fe8,#251023ed 62%,#07323ad9);box-shadow:0 34px 100px #0008,inset 0 1px #fff3;backdrop-filter:blur(12px)}.name-card{max-width:650px;margin:5px auto;padding:42px 35px;text-align:center}.gift-icon{display:grid;place-items:center;width:68px;height:68px;margin:auto;border:1px solid #ffe09b8a;border-radius:22px;background:#fff1;color:#7d1b32;font-size:32px}.name-card h2{margin:12px 0 8px;font-size:31px}.name-card>p:not(.eyebrow){max-width:455px;margin:0 auto 24px;color:#f5d8d2;line-height:1.65;font-size:13px}.name-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.name-grid button{min-height:52px;border:1px solid #ffe9b64a;border-radius:12px;background:#fff1;color:#fff7e9;font:800 12px Manrope;cursor:pointer;transition:.18s}.name-grid button:hover{transform:translateY(-2px);border-color:var(--gold);background:#ffe39a22}.board-card{padding:25px}.calendar-player{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid #ffe6ac38}.calendar-player span,.calendar-player button{color:#f4d5cf;font:700 9px "DM Mono",monospace;letter-spacing:1px}.calendar-player strong{font-size:21px}.calendar-player button{margin-left:auto;border:0;background:transparent;text-decoration:underline;cursor:pointer}.calendar-reward{display:flex;align-items:center;gap:17px;margin:18px 0;padding:13px 16px;border:1px solid #ffe7a450;border-radius:15px;background:#061d2a50}.calendar-reward>span{font-size:31px;color:var(--gold)}.calendar-reward div{padding-right:17px;border-right:1px solid #ffe7a440}.calendar-reward div:last-child{border:0}.calendar-reward b{display:block;color:var(--gold);font:800 25px "DM Mono",monospace;line-height:1}.calendar-reward small{display:block;margin-top:5px;color:#f5d9d3;font:700 8px "DM Mono",monospace;letter-spacing:.8px}.calendar-feedback{min-height:22px;margin:8px 0 15px;color:#f8e4aa;font-weight:700;font-size:12px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.calendar-day{position:relative;min-height:103px;border:1px solid #ffe7ac3d;border-radius:15px;background:#fff1;color:#fff7e9;overflow:hidden;cursor:pointer;transition:.2s}.calendar-day:disabled{cursor:default}.calendar-day strong{display:block;padding:14px 14px 0;color:var(--gold);font:800 24px "DM Mono",monospace}.calendar-day small{display:block;padding:6px 14px;color:#f4d4cf;font:700 8px "DM Mono",monospace;letter-spacing:.5px}.calendar-day i{position:absolute;right:10px;bottom:9px;font-size:18px;font-style:normal}.calendar-day.available{border-color:#ffe09a;background:linear-gradient(145deg,#d66954,#8a1d34);box-shadow:0 8px 20px #0004}.calendar-day.available:hover{transform:translateY(-3px);box-shadow:0 12px 26px #0006}.calendar-day.complete{border-color:#83cbb9;background:#1d665b}.calendar-day.cooldown{border-color:#e99e86;background:#6e2737}.day-dialog{width:min(590px,calc(100% - 28px));max-height:92vh;border:1px solid #ffe9ac9e;border-radius:23px;background:linear-gradient(145deg,#68142e,#132c37);color:var(--cream);box-shadow:0 30px 100px #000a;padding:28px}.day-dialog::backdrop{background:#050811b8;backdrop-filter:blur(7px)}.dialog-close{position:absolute;right:13px;top:9px;border:0;background:transparent;color:#fff7e9;font-size:29px;cursor:pointer}.day-kicker{color:var(--gold);font:700 10px "DM Mono",monospace;letter-spacing:1.5px}.day-dialog h2{margin:8px 0 11px;font:700 33px/1.05 "Playfair Display",Georgia,serif}.day-dialog p{color:#f3d8d2;line-height:1.55;font-size:13px}.day-video{display:block;width:100%;max-height:48vh;margin:18px 0 14px;border:1px solid #ffe9ac5e;border-radius:14px;background:#000}.answer-title{margin:15px 0 9px;color:var(--gold);font-weight:800}.calendar-answers{display:grid;grid-template-columns:1fr 1fr;gap:10px}.calendar-answers button{border:1px solid #ffe6ac6e;border-radius:12px;background:#fff1;color:var(--cream);padding:15px;font:800 14px Manrope;cursor:pointer}.calendar-answers button:hover{background:#ffe39a25;border-color:var(--gold)}.cooldown-copy{padding:13px;border:1px solid #e99e8690;border-radius:12px;background:#56182999;color:#ffe1d8;font-weight:700}.future-day{text-align:center;padding:38px 8px}.future-day span{display:grid;place-items:center;width:58px;height:58px;margin:auto;border:1px solid #ffe7ac60;border-radius:20px;background:#fff1;font-size:27px}.future-day h2{margin-top:17px}.day-opening{position:relative;min-height:360px;display:grid;place-content:center;justify-items:center;overflow:hidden;text-align:center}.day-opening:before{content:"";position:absolute;inset:8px;border:1px solid #ffe7ac40;border-radius:17px;background:radial-gradient(circle at 50% 35%,#ffe6a93b,transparent 31%)}.opening-gift{position:relative;display:grid;place-items:center;width:100px;height:100px;border:1px solid #ffe7ac9b;border-radius:28px;background:linear-gradient(145deg,#d36254,#7b1a32);box-shadow:0 0 0 10px #ffe5a111,0 0 52px #ffe39a80;animation:gift-open 1.5s cubic-bezier(.17,.67,.31,1.33) both}.opening-gift span{font-size:49px;animation:gift-pop 1.5s ease both}.day-opening p{position:relative;margin:22px 0 6px;color:var(--gold);font:700 10px "DM Mono",monospace;letter-spacing:1.8px}.day-opening h2{position:relative;margin:0;font:700 37px/1 "Playfair Display",Georgia,serif}.day-opening h2 em{color:var(--gold);font-style:normal}.day-opening small{position:relative;margin-top:12px;color:#f3d7d0;font-size:12px}.opening-sparkle{position:absolute;color:var(--gold);font-size:28px;animation:sparkle-float 1.5s ease both}.sparkle-one{top:55px;left:17%}.sparkle-two{right:18%;bottom:72px;animation-delay:.18s}@keyframes gift-open{0%{opacity:0;transform:scale(.15) rotate(-15deg)}55%{opacity:1;transform:scale(1.15) rotate(7deg)}100%{transform:scale(1) rotate(0)}}@keyframes gift-pop{0%,42%{transform:scale(.3);opacity:0}65%{transform:scale(1.22)}100%{transform:scale(1);opacity:1}}@keyframes sparkle-float{0%{opacity:0;transform:scale(.2) translateY(24px)}60%{opacity:1;transform:scale(1.25) translateY(-7px)}100%{opacity:0;transform:scale(.8) translateY(-27px)}}@media(max-width:650px){.calendar-shell{padding:20px 13px 44px}.calendar-hero{padding-top:22px}.calendar-hero h1{letter-spacing:-2px}.name-card{padding:30px 17px}.name-grid{grid-template-columns:repeat(2,1fr)}.board-card{padding:16px}.calendar-days{grid-template-columns:repeat(4,1fr);gap:7px}.calendar-day{min-height:94px}.calendar-day strong{padding:11px 10px 0;font-size:20px}.calendar-day small{padding:5px 10px;font-size:7px}.calendar-reward{gap:10px}.calendar-reward div{padding-right:10px}.calendar-reward b{font-size:21px}.day-dialog{padding:25px 17px}.day-dialog h2{font-size:28px}}@media(prefers-reduced-motion:reduce){body:before,.opening-gift,.opening-gift span,.opening-sparkle{animation:none}.calendar-day{transition:none}}
