@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap");:root{--night:#101a20;--deep:#14262a;--cream:#fff6e8;--muted:#c9d4ce;--gold:#f5c76b;--red:#b94748;--green:#477b61}*{box-sizing:border-box}html{min-height:100%}body{margin:0;background:var(--night);color:var(--cream);font-family:DM Sans,sans-serif}button{font:inherit}.page-shell{min-height:100vh;overflow:hidden;position:relative;background:radial-gradient(ellipse at 50% 22%,#25413c 0,#172d2d 32%,#101a20 72%)}.page-shell:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;background-image:radial-gradient(#fff 1px,transparent 0);background-size:48px 48px;-webkit-mask-image:linear-gradient(180deg,black,transparent 70%);mask-image:linear-gradient(180deg,black,transparent 70%)}.topbar{position:relative;z-index:1;max-width:1180px;margin:auto;padding:26px 28px;justify-content:space-between;border-bottom:1px solid #ffffff18}.brand,.topbar{display:flex;align-items:center}.brand{gap:12px;color:var(--cream);text-decoration:none;font-size:15px;font-weight:800;letter-spacing:.13em}.brand b{color:var(--gold)}.brand small{display:block;margin-top:4px;color:#b8c9bf;font-size:10px;letter-spacing:.08em;font-weight:500}.brand-mark{width:42px;height:42px;border:1px solid #e7c77d;border-radius:13px;display:grid;place-items:center;color:var(--gold);font-family:Playfair Display;font-size:26px}.top-actions{gap:14px}.season-pill,.top-actions{display:flex;align-items:center}.season-pill{gap:7px;color:#f4d89a;font-size:12px}.login-button{border:1px solid #e9c77d88;color:var(--cream);background:#ffffff0b;border-radius:999px;padding:10px 18px;cursor:pointer}.hero{position:relative;z-index:1;text-align:center;padding:78px 20px 56px}.eyebrow,.section-kicker{color:var(--gold);letter-spacing:.2em;font-size:10px;font-weight:800}.eyebrow{display:flex;justify-content:center;align-items:center;gap:12px}.hero h1{font-family:Playfair Display,serif;font-size:clamp(42px,6vw,76px);line-height:1.06;margin:22px 0 18px;letter-spacing:-.035em}.hero h1 em{color:var(--gold);font-weight:600}.hero-copy{color:#d0ddd4;line-height:1.8;font-size:15px}.hero-note{display:inline-flex;align-items:center;gap:10px;margin-top:18px;border:1px solid #e8c87855;border-radius:999px;padding:12px 18px;background:#f5c76b0d;color:#f5d99e;font-size:12px}.calendar-section{position:relative;z-index:1;max-width:1050px;margin:0 auto;padding:30px 28px 72px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:24px}.how-section h2,.section-heading h2{font-family:Playfair Display,serif;font-size:30px;margin:7px 0 0}.calendar-count{display:flex;align-items:center;gap:8px;color:#c7d4cb;font-size:12px}.calendar-count b{color:var(--gold);font-size:18px}.calendar-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:13px;gap:13px}.day-card{min-height:142px;border:1px solid #f0d28b66;border-radius:12px 12px 18px 18px;color:var(--cream);background:linear-gradient(145deg,#315c4c,#1c3a34);box-shadow:inset 0 0 0 4px #ffffff08,0 9px 22px #0003;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .2s,filter .2s,box-shadow .2s;overflow:hidden}.day-card:after{content:"";position:absolute;inset:7px;border:1px solid #f5d78c55;border-radius:8px 8px 13px 13px;pointer-events:none}.day-card-opened{border-width:2px;box-shadow:inset 0 0 0 4px #ffffff08}.day-card-opened:after{border-color:#f5d78c55;box-shadow:none;animation:none}.day-card-opened:before{content:"NYITVA";position:absolute;top:10px;left:12px;z-index:1;padding:4px 7px;border-radius:5px;color:#fff6e8;background:#101a20a8;font-size:9px;font-weight:900;letter-spacing:.13em}.day-card-opened .day-number{color:#fff4dc}.day-card-opened .day-label{color:#f5dcae}.day-card-opened .day-gift{opacity:1;color:#f5dcae}.day-card-opened .day-spark{color:#f8d98e}.day-card-opened:hover{transform:translateY(-5px)}.day-1.day-card-opened{--door-pulse-color:#75b995}.day-2.day-card-opened{--door-pulse-color:#ed777b}.day-3.day-card-opened{--door-pulse-color:#82aeea}.day-4.day-card-opened{--door-pulse-color:#e0b16c}.day-card:hover{transform:translateY(-5px);filter:brightness(1.16);box-shadow:0 14px 28px #0005}.day-2{background:linear-gradient(145deg,#9b4548,#622d37)}.day-3{background:linear-gradient(145deg,#344e70,#202f4c)}.day-4{background:linear-gradient(145deg,#98713c,#614528)}.day-spark{position:absolute;top:13px;right:16px;color:#f8d98e;font-size:13px}.day-number{font-family:Playfair Display,serif;font-size:43px;line-height:1;color:#fff4dc;text-shadow:0 2px 8px #0004}.day-label{margin-top:7px;font-size:8px;letter-spacing:.22em;color:#f5dcae}.day-gift{position:absolute;bottom:11px;left:13px;opacity:.65;color:#f5dcae}.calendar-hint{justify-content:center;gap:8px;margin-top:22px;color:#b8c8be;font-size:11px}.calendar-hint,.how-section{display:flex;align-items:center}.how-section{position:relative;z-index:1;max-width:994px;margin:0 auto 70px;padding:26px 30px;gap:22px;background:#ffffff08;border:1px solid #ffffff20;border-radius:18px}.how-icon{width:58px;height:58px;flex:0 0 auto;display:grid;place-items:center;border-radius:16px;color:var(--gold);background:#f5c76b17}.how-section p{max-width:700px;color:#c3d0c7;line-height:1.7;font-size:13px;margin-bottom:0}footer{position:relative;z-index:1;max-width:1180px;margin:auto;border-top:1px solid #ffffff18;padding:22px 28px;display:flex;justify-content:space-between;color:#91a59a;font-size:11px}footer b{color:var(--gold)}.snow{position:absolute;inset:-100px 0 auto;height:600px;pointer-events:none;opacity:.35;background-image:radial-gradient(2px 2px at 20px 30px,#fff 99%,transparent),radial-gradient(1px 1px at 100px 80px,#fff 99%,transparent),radial-gradient(2px 2px at 180px 150px,#fff 99%,transparent);background-size:230px 210px;animation:snowfall 18s linear infinite}.snow-two{opacity:.18;background-position:80px 40px;animation-duration:28s}@keyframes snowfall{to{transform:translateY(210px)}}.modal-backdrop{position:fixed;z-index:5;inset:0;display:grid;place-items:center;padding:20px;background:#071014cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.day-modal{position:relative;width:min(100%,430px);padding:38px 32px 32px;border:1px solid #e7c77d66;border-radius:22px;text-align:center;background:linear-gradient(145deg,#25443b,#14252b);box-shadow:0 24px 80px #0008}.modal-close{position:absolute;top:12px;right:16px;border:0;background:transparent;color:var(--cream);font-size:28px;cursor:pointer}.modal-gift{width:68px;height:68px;margin:0 auto 20px;display:grid;place-items:center;border-radius:20px;color:var(--gold);background:#f5c76b18}.day-modal h2{font-family:Playfair Display,serif;font-size:27px;margin:10px 0}.day-modal p{color:#c4d3ca;font-size:13px;line-height:1.7}.primary-button{margin-top:16px;padding:12px 20px;border:0;border-radius:999px;background:var(--gold);color:#26352e;font-weight:800;display:inline-flex;align-items:center;gap:8px;cursor:pointer}@media (max-width:760px){.topbar{padding:18px}.season-pill{display:none}.hero{padding-top:58px}.hero-copy{font-size:13px}.desktop-break{display:none}.calendar-section{padding:24px 16px 52px}.calendar-grid{grid-template-columns:repeat(3,1fr);gap:9px}.day-card{min-height:116px}.day-number{font-size:36px}.section-heading h2{font-size:26px}.calendar-count{font-size:10px}.how-section{margin:0 16px 45px;padding:22px;align-items:flex-start}.how-section h2{font-size:23px}footer{padding:18px;flex-direction:column;gap:8px}}.auth-form{gap:9px;margin-top:20px;text-align:left}.auth-form label{color:#f5dcae;font-size:12px;font-weight:700}.auth-form input{padding:12px 14px;outline:none}.auth-form input:focus{border-color:#f5c76b}.auth-submit:disabled{opacity:.65;cursor:wait}.auth-switch{margin-top:16px;font-size:12px}.auth-error{color:#ffaaaa!important;font-size:12px!important}.auth-success{color:#b9efc5!important;font-size:12px!important}.auth-modal{width:min(100%,460px)}.auth-form{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%}.auth-form label{display:block;width:100%;margin-top:7px}.auth-form input{display:block;width:100%;min-width:0;height:44px;padding:10px 13px;border:1px solid #e9c77d66;border-radius:10px;background:#101a20;color:#fff6e8;font:inherit}.auth-submit{display:flex;width:100%;justify-content:center}.auth-switch{display:block;width:100%;padding:10px 8px;border:0;border-radius:9px;background:transparent;color:#f5d99e;cursor:pointer;font:inherit;font-size:13px;text-decoration:underline}.admin-shell{min-height:100vh}.admin-topbar{position:relative;z-index:1;max-width:1180px;margin:auto;padding:22px 28px;justify-content:space-between;border-bottom:1px solid #ffffff18}.admin-topbar,.admin-user{display:flex;align-items:center}.admin-user{gap:14px;color:#c9d4ce;font-size:12px}.admin-action,.admin-user button{border:1px solid #e9c77d88;color:var(--cream);background:#ffffff0b;border-radius:999px;padding:10px 18px;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center}.admin-content{position:relative;z-index:1;max-width:1050px;margin:0 auto;padding:54px 28px 80px}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.admin-heading h1,.admin-panel h1{font-family:Playfair Display,serif;font-size:clamp(30px,5vw,46px);margin:9px 0}.admin-heading p,.admin-panel p{color:#c3d0c7;line-height:1.7;font-size:13px}.admin-pill,.admin-status{border:1px solid #77bd8b66;background:#477b6125;color:#b9efc5;border-radius:999px;padding:9px 13px;font-size:11px;white-space:nowrap}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin-bottom:28px}.admin-panel,.admin-section,.admin-stats article{border:1px solid #ffffff20;border-radius:16px;background:#ffffff08}.admin-stats article{padding:20px;display:flex;flex-direction:column;gap:5px}.admin-stats strong{color:var(--gold);font-family:Playfair Display,serif;font-size:30px}.admin-stats span{color:#c3d0c7;font-size:12px}.admin-section{padding:24px}.admin-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;color:#c3d0c7;font-size:12px}.admin-section-title h2{margin:7px 0 0;font:600 26px Playfair Display,serif;color:var(--cream)}.admin-day-list{display:flex;flex-direction:column;gap:9px}.admin-day-row{display:flex;gap:14px;padding:12px;border:1px solid #ffffff16;border-radius:12px;background:#07101455}.admin-day-number{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border:1px solid #e9c77d66;border-radius:10px;color:var(--gold);font:22px Playfair Display,serif}.admin-day-info{display:flex;flex-direction:column;gap:4px;flex:1 1;min-width:0}.admin-day-info strong{color:var(--cream);font-size:13px}.admin-day-info span,.admin-empty,.admin-footnote{color:#aebfb4;font-size:11px}.admin-pill{border-color:#ffffff25;background:#ffffff0b;color:#c3d0c7}.admin-pill.active{border-color:#77bd8b66;background:#477b6125;color:#b9efc5}.admin-footnote{line-height:1.7;margin-top:18px}.admin-error{color:#ffaaaa;border:1px solid #ffaaaa55;padding:12px;border-radius:10px}.admin-notice{color:#b9efc5}.admin-panel{position:relative;z-index:1;width:min(100% - 32px,560px);margin:12vh auto;padding:34px;text-align:center}.admin-panel .admin-action{margin-top:14px}.admin-back{display:block;margin-top:18px;color:#f5d99e;font-size:12px}@media (max-width:700px){.admin-topbar{padding:18px;align-items:flex-start;gap:12px}.admin-user{flex-direction:column;align-items:flex-end}.admin-user span{max-width:170px;overflow-wrap:anywhere;text-align:right}.admin-content{padding:34px 16px 60px}.admin-heading{align-items:flex-start;flex-direction:column}.admin-stats{gap:8px}.admin-stats article{padding:14px 10px}.admin-stats strong{font-size:24px}.admin-stats span{font-size:10px}.admin-section{padding:16px}.admin-day-row{gap:9px}}.admin-toggle{border:1px solid #e9c77d88;color:#fff6e8;background:#f5c76b18;border-radius:999px;padding:9px 14px;cursor:pointer;font-size:11px;font-weight:700;white-space:nowrap}.admin-toggle:hover:not(:disabled){background:#f5c76b33}.admin-toggle:disabled{opacity:.55;cursor:wait}@media (max-width:520px){.admin-day-row{flex-wrap:wrap}.admin-day-info{flex-basis:calc(100% - 60px)}.admin-day-row .admin-pill{margin-left:51px}}.admin-hint-editor{display:flex;flex-wrap:wrap;align-items:center;gap:9px;width:100%;padding:12px 0 2px 56px}.admin-hint-editor label{width:100%;color:#f5dcae;font-size:11px;font-weight:700}.admin-hint-editor textarea{flex:1 1 280px;resize:vertical;border:1px solid #e9c77d55;border-radius:10px;padding:10px 12px;color:var(--cream);background:#101a20;font:inherit;font-size:12px}.admin-hint-editor textarea:focus{outline:1px solid var(--gold)}@media (max-width:520px){.admin-hint-editor{padding-left:0}}.day-hint-tooltip{position:absolute;z-index:3;left:50%;bottom:calc(100% - 2px);transform:translate(-50%,7px);width:max-content;max-width:min(240px,80vw);padding:10px 13px;border:1px solid #f5c76b88;border-radius:10px;background:#14262a;color:#fff6e8;box-shadow:0 8px 24px #0008;font-size:11px;line-height:1.5;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s}.day-card:focus-visible .day-hint-tooltip,.day-card:hover .day-hint-tooltip{opacity:1;visibility:visible;transform:translate(-50%)}.day-modal-hint{margin-top:18px!important;padding:12px 14px;border:1px solid #f5c76b66;border-radius:12px;background:#f5c76b12;color:#f5dcae!important}.day-card{position:relative}.day-card-locked{filter:saturate(.72) brightness(.82)}.day-card-locked:hover{filter:saturate(.82) brightness(.95)}.day-card-active{border-color:#f5c76b;animation:active-door-gold-glow 2.4s ease-in-out infinite alternate;will-change:box-shadow}@keyframes active-door-gold-glow{0%{box-shadow:inset 0 0 0 4px #ffffff10,0 0 9px 2px #f5c76b66,0 0 20px 4px #f5c76b33}to{box-shadow:inset 0 0 0 4px #ffffff10,0 0 16px 4px #ffd978cc,0 0 32px 8px #f5c76b66}}@media (prefers-reduced-motion:reduce){.day-card-active{animation:none;box-shadow:inset 0 0 0 4px #ffffff10,0 0 16px 4px #f5c76b66}}.day-opened-message{color:#f5dcae!important;font-family:Playfair Display,serif;font-size:20px!important}.admin-day-row{display:grid;grid-template-columns:52px minmax(180px,1fr) auto auto;align-items:center;grid-column-gap:14px;column-gap:14px;grid-row-gap:12px;row-gap:12px}.admin-day-info strong{line-height:1.4;overflow-wrap:anywhere}.admin-day-info span{white-space:nowrap}.admin-day-row>.admin-pill{grid-column:3;grid-row:1}.admin-day-row>.admin-toggle{grid-column:4;grid-row:1}.admin-hint-editor{grid-column:2/-1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:8px 10px;gap:8px 10px;width:auto;min-width:0;padding:2px 0 0}.admin-hint-editor label{grid-column:1/-1}.admin-hint-editor textarea{width:100%;min-width:0;min-height:64px}.admin-hint-editor .admin-toggle{align-self:end}@media (max-width:760px){.admin-day-row{grid-template-columns:46px minmax(0,1fr);column-gap:10px}.admin-day-number{grid-column:1;grid-row:1/span 2;align-self:start}.admin-day-info{grid-column:2;grid-row:1}.admin-day-info span{white-space:normal}.admin-day-row>.admin-pill{grid-column:2;grid-row:2;justify-self:start}.admin-day-row>.admin-toggle{grid-column:2;grid-row:3;justify-self:start}.admin-hint-editor{grid-column:1/-1;grid-row:4;grid-template-columns:minmax(0,1fr);padding:4px 0 0}.admin-hint-editor .admin-toggle,.admin-hint-editor label,.admin-hint-editor textarea{grid-column:1}.admin-hint-editor .admin-toggle{justify-self:start}}.admin-prize-editor{grid-column:2/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:8px 12px;gap:8px 12px;padding:14px 0 2px;border-top:1px solid #ffffff18}.admin-prize-editor button,.admin-prize-editor label,.admin-prize-editor strong{grid-column:1/-1}.admin-prize-editor strong{color:var(--gold);font-size:12px}.admin-prize-editor label{color:#f5dcae;font-size:11px;font-weight:700;margin-top:4px}.admin-prize-editor input,.admin-prize-editor textarea{width:100%;min-width:0;border:1px solid #e9c77d55;border-radius:10px;padding:10px 12px;color:var(--cream);background:#101a20;font:inherit;font-size:12px}.admin-prize-editor textarea{min-height:62px;resize:vertical}.admin-prize-editor input:focus,.admin-prize-editor textarea:focus{outline:1px solid var(--gold)}.admin-prize-editor button{justify-self:start}@media (max-width:760px){.admin-prize-editor{grid-column:1/-1;grid-template-columns:minmax(0,1fr)}.admin-prize-editor button,.admin-prize-editor input,.admin-prize-editor label,.admin-prize-editor strong,.admin-prize-editor textarea{grid-column:1}}.prize-preview-modal{max-height:min(88vh,820px);overflow-y:auto}.prize-preview-image{display:block;width:100%;max-height:230px;object-fit:cover;margin:18px auto;border-radius:14px;border:1px solid #e9c77d55}.prize-preview-name{margin:14px 0 8px;color:var(--gold);font:600 25px Playfair Display,serif}.admin-day-row{grid-template-columns:52px minmax(0,1fr);align-items:start}.admin-day-number{grid-column:1;grid-row:1}.admin-day-info{grid-column:2;grid-row:1}.admin-day-actions{grid-column:2/-1;grid-row:2;display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.admin-day-actions .admin-footnote{flex:1 1 100%;margin:0}.admin-day-actions .admin-toggle{white-space:normal}.admin-hint-editor{grid-column:1/-1;grid-row:3}.admin-prize-editor{grid-column:1/-1;grid-row:4}@media (max-width:760px){.admin-day-row{grid-template-columns:42px minmax(0,1fr)}.admin-day-number{grid-column:1;grid-row:1}.admin-day-info{grid-column:2;grid-row:1}.admin-day-actions{grid-column:1/-1;grid-row:2}.admin-hint-editor{grid-column:1/-1;grid-row:3}.admin-prize-editor{grid-column:1/-1;grid-row:4}}.modal-backdrop{display:flex;align-items:center;justify-content:center}.day-modal,.modal-backdrop{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.day-modal{flex:0 0 auto;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px)}@media (max-width:600px){.modal-backdrop{align-items:flex-start;padding:12px}.day-modal{width:100%;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);margin:auto 0;padding:34px 22px 24px}.modal-close{position:-webkit-sticky;position:sticky;top:0;float:right;z-index:2;margin:-20px -10px 0 0}}