:root{--bg: #1c1a17;--card: #2a2723;--card2: #24211e;--text: #f4f1ec;--muted: #b6b0a6;--green: #4f7f6a;--orange: #c46a3b;--radius: 14px;--shadow: 0 14px 40px rgba(0,0,0,.45);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input{font-family:inherit}.app{min-height:100%;display:grid;place-items:center;padding:28px;background:radial-gradient(80% 60% at 50% 35%,rgba(255,190,130,.1),transparent 60%),radial-gradient(70% 55% at 40% 70%,rgba(79,127,106,.1),transparent 60%),linear-gradient(180deg,#00000073,#000000bf),url(/assets/bg-CSTxTJsS.png);background-size:cover;background-position:center;background-attachment:fixed}@media(max-width:640px){.app{background:radial-gradient(80% 60% at 50% 35%,rgba(255,190,130,.1),transparent 60%),radial-gradient(70% 55% at 40% 70%,rgba(79,127,106,.1),transparent 60%),linear-gradient(180deg,#00000073,#000000bf),url(/assets/bg-mob-BBha3-co.png);background-size:cover;background-position:center;background-attachment:scroll}}.app:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(70% 55% at 50% 40%,transparent 30%,rgba(0,0,0,.35) 80%,rgba(0,0,0,.75) 100%)}.homeScene{position:relative;z-index:2;width:min(420px,92vw);display:flex;flex-direction:column;align-items:center}.calendarHeader{width:100%;display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:14px}.archiveButton{cursor:pointer;border:1px solid rgba(255,220,180,.28);border-radius:12px;padding:12px 22px;background:radial-gradient(120% 80% at 30% 20%,rgba(255,255,255,.1),transparent 60%),linear-gradient(180deg,#91502df2,#5a2d19f2);color:#f3eadb;font-family:Cormorant Garamond,Georgia,serif;font-size:1.15rem;letter-spacing:.06em;box-shadow:0 12px 35px #0000008c}.archiveButton:hover{filter:brightness(1.08)}.timerPlaque{width:min(320px,100%);border-radius:16px;padding:18px 24px;background:radial-gradient(120% 80% at 30% 20%,rgba(255,255,255,.1),transparent 60%),linear-gradient(180deg,#5f3420d1,#371e14eb);border:1px solid rgba(255,220,180,.25);color:#f3eadb;text-align:center;box-shadow:0 16px 45px #0009}.timerDay{font-family:Cormorant Garamond,Georgia,serif;font-size:1.45rem;letter-spacing:.14em}.timerTime{margin-top:4px;font-family:Cormorant Garamond,Georgia,serif;font-size:2.25rem;letter-spacing:.04em}.timerSub{margin-top:6px;font-size:.9rem;color:#f3eadbc7}.calendarObject{position:relative;width:100%;transform-style:preserve-3d;perspective:1200px}.calendarTopBar{position:relative;z-index:4;margin:0 auto -8px;width:92%;padding:14px 18px;border-radius:12px;background:radial-gradient(120% 80% at 30% 20%,rgba(255,255,255,.1),transparent 60%),linear-gradient(180deg,#494e37f5,#262c20fa);border:1px solid rgba(230,215,170,.28);color:#f3eadb;text-align:center;font-family:Cormorant Garamond,Georgia,serif;font-size:1.25rem;letter-spacing:.04em;box-shadow:0 14px 30px #0000008c,inset 0 1px #ffffff14;cursor:pointer}.pageStack{position:relative;min-height:265px;cursor:pointer;transform-style:preserve-3d}.pageShadow,.calendarPage{position:absolute;left:50%;width:88%;min-height:245px;border-radius:12px;transform:translate(-50%)}.pageShadow{background:#d8c4a2;border:1px solid rgba(80,55,35,.3);box-shadow:0 12px 35px #0000008c}.pageShadowOne{top:14px;transform:translate(-50%) rotate(-1.2deg);opacity:.65}.pageShadowTwo{top:22px;transform:translate(-50%) rotate(1.4deg);opacity:.45}.calendarPage{top:0;z-index:3;padding:18px;background:radial-gradient(120% 80% at 25% 20%,rgba(255,255,255,.26),transparent 55%),radial-gradient(120% 80% at 75% 85%,rgba(90,60,30,.12),transparent 55%),linear-gradient(180deg,#f2e5cc,#dcc49d);border:1px solid rgba(90,65,40,.35);box-shadow:0 18px 50px #00000094,inset 0 2px #ffffff59;transform-origin:top center;transition:transform .65s cubic-bezier(.2,.8,.2,1),opacity .65s ease,filter .65s ease}.calendarPage:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.18;background-image:repeating-radial-gradient(circle at 20% 30%,rgba(80,55,35,.25) 0 1px,transparent 1px 7px),repeating-radial-gradient(circle at 75% 65%,rgba(255,255,255,.3) 0 1px,transparent 1px 8px);mix-blend-mode:multiply}.pageInnerBorder{position:relative;min-height:205px;border:1px solid rgba(90,65,40,.18);border-radius:9px;padding:18px 16px;text-align:center;color:#2e241b}.pageDay{font-family:Cormorant Garamond,Georgia,serif;font-size:1.8rem;font-weight:600}.pageDate{margin-top:2px;font-size:.9rem;opacity:.72}.pageTitle{margin-top:14px;font-family:Cormorant Garamond,Georgia,serif;font-size:1.55rem;font-weight:600}.pageText,.pageHint{margin:12px auto 0;max-width:250px;font-size:.95rem;line-height:1.55}.pageHint{opacity:.7}.calendarFooter{margin-top:-4px;color:#f3eadbb3;text-align:center;font-size:.85rem}.tearButton{display:block;margin:12px auto 0;cursor:pointer;border:1px solid rgba(255,220,180,.22);border-radius:999px;padding:9px 16px;background:#00000047;color:#f3eadb;font-size:.9rem}.tearButton:hover{background:#00000061}.calendarPage.tearAway{transform:translate(-50%) rotateX(-72deg) rotate(7deg) translateY(-70px) translateZ(80px);opacity:0;filter:blur(1px)}@media(max-width:640px){.app{padding:18px}.homeScene{width:min(360px,94vw)}.timerPlaque{width:100%}.timerDay{font-size:1.25rem}.timerTime{font-size:1.85rem}.calendarTopBar{font-size:1.1rem;padding:12px 14px}.pageStack{min-height:245px}.calendarPage,.pageShadow{width:92%;min-height:225px}.pageInnerBorder{min-height:185px}.pageDay{font-size:1.55rem}.pageTitle{font-size:1.35rem}}.pillButton{cursor:pointer;border:1px solid rgba(255,255,255,.1);background:#00000038;color:var(--text);transition:transform .12s ease,background .12s ease}.pillButton:hover{background:#00000047}.pillButton:active{transform:translateY(1px)}.mutedPill{color:var(--muted)}.archiveCard{border-radius:18px;padding:18px;background:#0003;border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 60px #0000008c}.archiveHeader{display:flex;flex-direction:column;gap:6px;padding:10px 10px 16px}.archiveTitle{font-family:Cormorant Garamond,Georgia,serif;font-size:1.9rem;letter-spacing:.02em}.archiveSubtitle{color:var(--muted);font-size:.95rem}.tileGrid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:980px){.tileGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.tileGrid{grid-template-columns:1fr}}.tile{position:relative;text-align:left;border:none;cursor:pointer;padding:16px 16px 14px;border-radius:16px;background:radial-gradient(120% 80% at 25% 25%,rgba(255,255,255,.12),transparent 60%),radial-gradient(120% 80% at 75% 85%,rgba(0,0,0,.14),transparent 55%),linear-gradient(180deg,#f5ebdc1f,#f5ebdc12);border:1px solid rgba(255,220,180,.16);box-shadow:0 10px 25px #00000073,0 2px #ffffff0a inset;transform-style:preserve-3d;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.tile:hover{transform:perspective(900px) rotateX(3deg) rotateY(-3deg) translateY(-2px);border-color:#c46a3b59;box-shadow:0 18px 40px #0000008c,0 2px #ffffff0d inset}.tile:active{transform:perspective(900px) rotateX(1deg) rotateY(-1deg) translateY(0)}.tileEdge{position:absolute;inset:0;border-radius:16px;pointer-events:none;opacity:.09;background-image:repeating-radial-gradient(circle at 20% 30%,rgba(255,255,255,.18) 0 1px,transparent 1px 7px),repeating-radial-gradient(circle at 80% 70%,rgba(0,0,0,.18) 0 1px,transparent 1px 8px);mix-blend-mode:overlay}.tileTop{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.tileDay{font-family:Cormorant Garamond,Georgia,serif;font-size:1.25rem;color:#ffffffeb}.tileDate{color:#ffffff8c;font-size:.85rem}.tilePreview{margin-top:10px;font-family:Cormorant Garamond,Georgia,serif;font-size:1.05rem;line-height:1.5;color:#ffffffd1;min-height:2.7em}.tileBottom{margin-top:12px;display:flex;justify-content:flex-end}.tileBadge{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#0000002e}.tileLocked{cursor:not-allowed;opacity:.55;filter:grayscale(.15)}.tileLocked:hover{transform:none;box-shadow:0 10px 25px #00000073,0 2px #ffffff0a inset;border-color:#ffdcb429}.modalOverlay{position:fixed;inset:0;background:#000000a6;display:grid;place-items:center;padding:18px;z-index:50}.modal{width:min(720px,100%);border-radius:18px;padding:18px;background:radial-gradient(120% 80% at 25% 25%,rgba(255,255,255,.12),transparent 60%),radial-gradient(120% 80% at 75% 85%,rgba(0,0,0,.14),transparent 55%),linear-gradient(180deg,#f5ebdc24,#f5ebdc14);border:1px solid rgba(255,220,180,.18);box-shadow:0 24px 70px #000000a6}.modalHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}.modalTitle{font-family:Cormorant Garamond,Georgia,serif;font-size:1.6rem}.modalSub{color:#fff9;font-size:.95rem;margin-top:2px}.modalBody{padding-top:12px}.modalP{margin:0 0 12px;font-family:Cormorant Garamond,Georgia,serif;font-size:1.25rem;line-height:1.75;color:#ffffffe6}.adminSmallLink{cursor:pointer;border:none;background:transparent;color:#f3eadba6;font-size:.85rem;text-decoration:underline}.adminSmallLink:hover{color:#f3eadb}.adminPanel{position:relative;z-index:2;width:min(760px,94vw);padding:22px;border-radius:20px;background:radial-gradient(120% 80% at 25% 20%,rgba(255,255,255,.1),transparent 60%),linear-gradient(180deg,#2d231ce0,#181411f0);border:1px solid rgba(255,220,180,.16);box-shadow:0 24px 70px #000000a6}.adminTop{display:flex;justify-content:space-between;gap:12px}.adminTitle{margin:18px 0 6px;font-family:Cormorant Garamond,Georgia,serif;font-size:2rem}.adminSub{margin:0 0 18px;color:var(--muted)}.adminForm{display:grid;gap:12px;margin-bottom:22px}.adminInput,.adminTextarea{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#0000003d;color:var(--text);padding:12px 14px;outline:none}.adminTextarea{min-height:150px;resize:vertical;line-height:1.5}.adminInput:focus,.adminTextarea:focus{border-color:#c46a3b8c}.adminButton{cursor:pointer;border:1px solid rgba(255,220,180,.22);border-radius:12px;padding:12px 16px;background:linear-gradient(180deg,#91502df2,#5a2d19f2);color:#f3eadb;font-weight:600}.adminButton.secondary{background:#00000047}.adminList{display:grid;gap:12px}.adminMessageCard{display:flex;justify-content:space-between;gap:14px;padding:14px;border-radius:14px;background:#0003;border:1px solid rgba(255,255,255,.1)}.adminMessageTitle{font-family:Cormorant Garamond,Georgia,serif;font-size:1.25rem;margin-bottom:6px}.adminMessageText{color:#ffffffb8;line-height:1.45;white-space:pre-wrap}.adminActions{display:flex;flex-direction:column;gap:8px}.adminActions button{cursor:pointer;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#0000003d;color:var(--text);padding:8px 10px}.adminActions button:hover{background:#0000005c}@media(max-width:640px){.adminMessageCard{flex-direction:column}.adminActions{flex-direction:row}}.adminCornerButton{position:fixed;right:18px;bottom:18px;z-index:20;cursor:pointer;border:1px solid rgba(255,220,180,.2);border-radius:999px;padding:8px 12px;background:#00000047;color:#f3eadba6;font-size:.8rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.adminCornerButton:hover{color:#f3eadb;background:#0000006b}.specialVideoButton{cursor:pointer;border:1px solid rgba(230,215,170,.26);border-radius:12px;padding:12px 20px;background:radial-gradient(120% 80% at 30% 20%,rgba(255,255,255,.08),transparent 60%),linear-gradient(180deg,#494e37f5,#262c20fa);color:#f3eadb;font-family:Cormorant Garamond,Georgia,serif;font-size:1.05rem;letter-spacing:.04em;box-shadow:0 12px 35px #00000073}.specialVideoButton:hover{filter:brightness(1.08)}.redeemModal{max-width:520px;background:radial-gradient(120% 80% at 25% 20%,rgba(255,255,255,.07),transparent 60%),linear-gradient(180deg,#2a211bf0,#181411f5);border:1px solid rgba(255,220,180,.18);box-shadow:0 24px 70px #000000b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.redeemError{margin:10px 0;color:#ffb4a8;font-size:.9rem}.videoModal{max-width:900px;background:radial-gradient(120% 80% at 25% 20%,rgba(255,255,255,.08),transparent 60%),linear-gradient(180deg,#1e1813fa,#0c0a08fc);border:1px solid rgba(255,220,180,.22);box-shadow:0 30px 90px #000000d9}.videoWrap{margin-top:16px;border-radius:16px;overflow:hidden;background:#00000059;border:1px solid rgba(255,255,255,.1)}.specialVideoPlayer{display:block;width:100%;max-height:70vh;background:#000}.unlockedVideosBox{width:100%;margin-top:18px;padding:14px;border-radius:16px;background:#00000038;border:1px solid rgba(255,255,255,.1);box-shadow:0 12px 35px #00000073}.unlockedVideosTitle{margin-bottom:10px;color:#f3eadbbf;font-size:.9rem}.unlockedVideoItem{width:100%;cursor:pointer;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px 12px;margin-top:8px;background:#00000038;color:#f3eadb;text-align:left}.unlockedVideoItem:hover{background:#00000057}.adminSection{margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1)}.adminSectionTitle{margin:0 0 10px;font-family:Cormorant Garamond,Georgia,serif;font-size:1.55rem}.specialVideoCornerButton{position:fixed;left:18px;bottom:18px;z-index:20;cursor:pointer;border:1px solid rgba(230,215,170,.24);border-radius:999px;padding:8px 13px;background:#262c206b;color:#f3eadbb8;font-size:.82rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 30px #00000059}.specialVideoCornerButton:hover{color:#f3eadb;background:#262c209e}.unlockButtonNoError{margin-top:8px}.topRow{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.topRow .pill{white-space:nowrap}@media(max-width:640px){.topRow{flex-wrap:wrap;justify-content:center;gap:10px}}.modal{background:radial-gradient(120% 80% at 25% 20%,rgba(255,255,255,.07),transparent 60%),linear-gradient(180deg,#2a211bf0,#181411f5);border:1px solid rgba(255,220,180,.2);box-shadow:0 24px 70px #000000c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.videoUploadBox{display:grid;gap:10px;padding:12px;border-radius:14px;background:#0000002e;border:1px solid rgba(255,255,255,.1)}.specialVideoPlayer{width:100%;aspect-ratio:16 / 9;border:none;border-radius:14px}.adminPanel .adminInput+.adminButton{margin-top:18px}
