:root{--bg-top: #071124;--bg-bottom: #0b3b22;--bg-image: url(https://images.unsplash.com/photo-1519681393784-d120267933ba?auto=format&fit=crop&w=1600&q=80&sat=-20);--card: rgba(255,255,255,.98);--accent: #c92a2a;--accent-2: #2aa13a;--muted: rgba(2,6,23,.08)}html,body{height:100%;width:100%;overflow-x:hidden}body{margin:0;font-family:Inter,system-ui,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;background-image:linear-gradient(180deg,#071124cc,#0b3b22b3),var(--bg-image);background-size:cover,cover;background-position:center center,center center;background-repeat:no-repeat;background-blend-mode:overlay;color:#0b1220;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-y:auto}.logo{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial;letter-spacing:.6px;position:relative;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.28) 0%,rgba(255,255,255,.06) 6%,transparent 14%),linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);box-shadow:0 10px 30px #02061773,inset 0 2px 6px #ffffff0f;border:2px solid rgba(255,255,255,.06);transform-origin:center center;transition:transform .18s cubic-bezier(.22,.9,.3,1),box-shadow .18s}.logo:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);width:22px;height:12px;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#d4c6b8,#9e8f7e);box-shadow:0 2px 6px #00000040}.logo:after{content:"";position:absolute;right:8px;top:12px;width:10px;height:10px;background:radial-gradient(circle at 30% 30%,#fff 0%,rgba(255,255,255,.5) 35%,transparent 36%);opacity:.95;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25));transform:rotate(18deg)}.logo:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 18px 48px #02061780}.day .label{margin-top:8px;color:#0009;font-weight:600;font-size:13px}.day:before{content:"";position:absolute;top:-10%;left:-30%;width:160%;height:30%;background:linear-gradient(90deg,#ca2828f2,#2aa13af2);transform:rotate(-8deg);opacity:.12;pointer-events:none}.login{max-width:420px;margin:40px auto;padding:24px;border-radius:12px;background:var(--card);box-shadow:0 12px 36px #02061740;z-index:2}.login h2{margin:0 0 12px;color:#0b1220}.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.form-row label{font-size:13px;color:#334155}.form-row input{padding:10px 12px;border-radius:8px;border:1px solid rgba(2,6,23,.08);font-size:15px}.btn{display:inline-block;background:linear-gradient(90deg,var(--accent),#ff7b7b);color:#fff;border:none;padding:10px 16px;border-radius:10px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px #c92a2a2e}.btn.secondary{background:linear-gradient(90deg,var(--accent-2),#7bed7b);box-shadow:0 8px 20px #2aa13a1f}.modal{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#02061780;z-index:60;padding:16px;box-sizing:border-box}.modal .card{background:transparent;padding:0;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:90vw;max-height:90vh;box-sizing:border-box}.modal .card button{position:absolute;top:16px;left:16px;z-index:70;padding:8px 16px;background:linear-gradient(90deg,var(--accent),#ff7b7b);color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #c92a2a4d}.modal .card button:hover{transform:scale(1.05);box-shadow:0 8px 16px #c92a2a66}.modal img{max-width:95%;max-height:calc(90vh - 70px);height:auto;width:auto;display:block;border-radius:12px;border:4px solid;border-image:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%) 1;box-shadow:0 16px 40px #0006}@media (max-width:640px){.modal img{max-width:calc(100vw - 48px);max-height:calc(100vh - 100px)}}@keyframes presentOpen{0%{transform:scale(1) rotate(0)}50%{transform:scale(1.15) rotate(2deg)}to{transform:scale(0);opacity:0}}.day.opening{animation:presentOpen .3s cubic-bezier(.22,.9,.3,1) forwards;pointer-events:none}@media (max-width:900px){.grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:640px){.grid{grid-template-columns:repeat(3,1fr)}.container{padding:12px;margin:20px auto}}@media (max-width:480px){.grid{grid-template-columns:repeat(2,1fr);gap:10px}.container{padding:8px;margin:16px auto}}@keyframes fall{to{transform:translateY(100vh);opacity:0}}.snowflake{position:fixed;top:-5vh;left:50%;width:6px;height:6px;border-radius:50%;background:#ffffffe6;animation:fall 8s linear infinite;pointer-events:none;z-index:0}.center{display:flex;align-items:center;justify-content:center}:root{--bg-top: #071124;--bg-bottom: #0b3b22;--card: rgba(255,255,255,.98);--accent: #c92a2a;--accent-2: #2aa13a;--muted: rgba(2,6,23,.08)}html,body{height:100%}body{margin:0;font-family:Inter,system-ui,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;background:linear-gradient(180deg,var(--bg-top) 0%,var(--bg-bottom) 100%);color:#0b1220;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-y:auto}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:40px 40px;opacity:.6;pointer-events:none}.container{position:relative;z-index:1;max-width:1100px;margin:36px auto;padding:28px}.header{display:flex;align-items:center;gap:12px;margin-bottom:18px}.logo{width:64px;height:64px}.title{color:#fff;font-size:28px;margin:0;text-shadow:0 2px 6px rgba(0,0,0,.4)}.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.day{position:relative;background:linear-gradient(180deg,#fffaf6,#fff);border-radius:14px;padding:20px 14px;text-align:center;box-shadow:0 12px 30px #02061747,inset 0 -6px 12px #00000008;cursor:pointer;overflow:hidden;border:1px solid rgba(255,255,255,.06);transition:transform .22s cubic-bezier(.22,.9,.3,1),box-shadow .22s}.day .number{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:#fff;background:linear-gradient(180deg,var(--accent) 0%,#9e1b1b 100%);border-radius:999px;box-shadow:0 8px 22px #c92a2a52,0 1px #ffffff14 inset;border:2px solid rgba(255,255,255,.12)}.day .label{margin-top:8px;color:#db247a99;font-weight:999;font-size:17px}.day:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(45deg,rgba(0,0,0,.02) 0 6px,transparent 6px 12px);pointer-events:none;border-radius:12px}.day.disabled{opacity:.9;cursor:not-allowed;filter:grayscale(40%)}.day.disabled .number{filter:grayscale(40%);opacity:.95}.day:before{content:""}@media (max-width:900px){.grid{grid-template-columns:repeat(4,1fr)}.title{font-size:24px}}@media (max-width:640px){.grid{grid-template-columns:repeat(3,1fr)}.container{padding:12px}.logo{width:54px;height:54px}}@media (max-width:480px){.grid{grid-template-columns:repeat(2,1fr);gap:10px}.login{margin:18px 12px;padding:18px}.title{font-size:20px}}@media (max-width:360px){.grid{grid-template-columns:repeat(1,1fr)}}.btn{width:100%;padding:12px 14px;border-radius:12px}@media (min-height:700px) and (min-width:700px){.login{margin-top:80px}}.garland{position:relative;height:34px;margin-bottom:14px}.garland:before{content:"";position:absolute;left:0;right:0;top:8px;height:6px;background:linear-gradient(90deg,#2c5,#c22);border-radius:999px;transform:skew(-12deg);opacity:.9}.garland:after{content:"";position:absolute;left:6%;right:6%;top:0;height:34px;background-image:radial-gradient(circle at 6% 30%,#f8e71c 6px,transparent 7px),radial-gradient(circle at 18% 40%,#ff6b6b 6px,transparent 7px),radial-gradient(circle at 30% 30%,#77dd77 6px,transparent 7px),radial-gradient(circle at 44% 40%,#ffd1dc 6px,transparent 7px),radial-gradient(circle at 58% 30%,#ffec66 6px,transparent 7px),radial-gradient(circle at 72% 40%,#ff6b6b 6px,transparent 7px),radial-gradient(circle at 86% 30%,#77dd77 6px,transparent 7px);background-size:100% 100%;background-repeat:no-repeat;mix-blend-mode:screen}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}.garland:after{animation:blink 2.6s linear infinite}.day .sparkle{position:absolute;right:8px;top:8px;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff 0%,rgba(255,255,255,.6) 30%,transparent 31%);box-shadow:0 0 12px #fff9;opacity:.9}.day:hover{transform:translateY(-6px) scale(1.02);transition:transform .22s cubic-bezier(.22,.9,.3,1);box-shadow:0 18px 40px #02061740}.input-wrap{position:relative}.input-wrap input{padding-left:40px}.input-wrap .icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:16px;color:var(--accent);opacity:.9}.present-wrap{position:relative;width:100%;height:100%;min-height:110px;display:flex;align-items:center;justify-content:center}.present-content{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center}.ribbon-vertical{position:absolute;left:50%;transform:translate(-50%);top:-10%;bottom:-10%;width:22%;background:linear-gradient(180deg,#ffffff0f,#0000000f);border-radius:4px;z-index:1;box-shadow:inset 0 2px #ffffff14}.ribbon-horizontal{position:absolute;top:50%;left:-10%;right:-10%;height:20%;transform:translateY(-50%);background:linear-gradient(90deg,#ffffff0f,#0000000f);border-radius:4px;z-index:1;box-shadow:inset 0 2px #ffffff14}.day .ribbon-vertical,.day .ribbon-horizontal{background:var(--accent);opacity:.95}.grid .day:nth-child(3n) .ribbon-vertical,.grid .day:nth-child(3n) .ribbon-horizontal{background:var(--accent-2)}.grid .day:nth-child(5n) .ribbon-vertical,.grid .day:nth-child(5n) .ribbon-horizontal{background:#e0b300}.grid .day:nth-child(3n+1) .ribbon-vertical,.grid .day:nth-child(3n+1) .ribbon-horizontal{background:var(--accent)}.grid .day:nth-child(3n+2) .ribbon-vertical,.grid .day:nth-child(3n+2) .ribbon-horizontal{background:var(--accent-2)}.grid .day:nth-child(3n) .ribbon-vertical,.grid .day:nth-child(3n) .ribbon-horizontal{background:#e0b300}@keyframes popIn{0%{transform:translateY(-8px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal .card{animation:popIn .26s cubic-bezier(.22,.9,.3,1) both;transform-origin:center center}.bow{position:absolute;z-index:2;width:36px;height:36px;left:50%;top:50%;transform:translate(-50%,-50%)}.bow:before,.bow:after{content:"";position:absolute;width:18px;height:28px;background:linear-gradient(135deg,#fff8,#0000000f);border-radius:6px}.bow:before{transform:rotate(-25deg);left:-6px;top:2px;background:linear-gradient(135deg,#fff8,#0000000f),linear-gradient(90deg,#ffffff1f,#0000000a)}.bow:after{transform:rotate(25deg);right:-6px;top:2px}.bow:after,.bow:before{background:var(--accent);box-shadow:0 4px 10px #0000002e}.bow:before{border-radius:6px 2px 6px 6px}.bow:after{border-radius:2px 6px 6px}.bow .knot{position:absolute;left:50%;top:50%;width:12px;height:12px;background:#fff;border-radius:50%;transform:translate(-50%,-50%);z-index:3}.day{background:linear-gradient(135deg,#ffffff0d,#00000005)}.grid .day:nth-child(2n){background:linear-gradient(135deg,#fff0f00f,#00000005)}.grid .day:nth-child(3n){background:linear-gradient(135deg,#f0fff00f,#00000005)}.grid .day:nth-child(4n){background:linear-gradient(135deg,#f0f0ff0f,#00000005)}.present-wrap{min-height:90px}@media (max-width:480px){.present-wrap{min-height:80px}.bow{width:28px;height:28px}}
