.cake-scene{position:relative;width:300px;height:285px;margin:3px auto 0}.cake-button{display:block;position:absolute;inset:0;width:100%;height:100%;border-radius:40%;padding:0;transition:transform .4s;touch-action:manipulation}.cake-button:hover{transform:translateY(-3px)}.cake-image{position:absolute;width:100%;height:100%;object-fit:contain;inset:0;pointer-events:none}.candles{position:absolute;left:35%;right:35%;height:64px;top:3%;display:flex;justify-content:space-between;align-items:flex-end}.candle{position:relative;width:9px;display:block;height:50px}.candle-1{height:62px}.wax{position:absolute;bottom:0;left:0;width:9px;height:42px;border-radius:3px 3px 0 0;background:repeating-linear-gradient(125deg,#e5a595 0 4px,#f5e5cb 4px 8px);box-shadow:inset -2px 0 #bb796a25}.candle-1 .wax{height:54px}.wick{position:absolute;width:1px;background:#655441;height:8px;bottom:41px;left:4px}.candle-1 .wick{bottom:53px}.flame{position:absolute;left:0;bottom:48px;width:10px;height:21px;background:#f6d783;box-shadow:0 0 9px 3px #f1bd6d42;border-radius:85% 20% 70% 35%;transform:rotate(-15deg);transform-origin:bottom;animation:flame-flicker 1.4s infinite alternate;transition:opacity .3s,scale .3s}.flame:after{content:"";position:absolute;inset:7px 3px 3px;background:#fffbdf;border-radius:70% 20% 60% 35%}.candle-1 .flame{bottom:60px;animation-duration:.9s}.candle-2 .flame{animation-delay:-.6s}.wish-made .flame{opacity:0;scale:0}.smoke{position:absolute;left:3px;bottom:45px;width:12px;height:35px;border-left:1px solid #8f978f;opacity:0;border-radius:50%}.wish-made .smoke{animation:smoke-away 2s .1s both}.candle-1 .smoke{bottom:58px}.wish-invitation h2{font-size:24px;font-weight:400;margin:0 0 3px}.wish-invitation p{font-size:14px;letter-spacing:.4px;margin:0 0 18px}.birthday-content .button{min-height:47px}.relight{display:flex!important;margin:6px auto 0!important;font-size:13px!important;min-height:25px!important}.waiting-reveal{margin:16px 0 0;font-size:16px;line-height:1.3}.waiting-reveal strong{display:block;font-weight:400}.waiting-reveal em{display:block;font-size:21px;margin-top:3px}@keyframes emerge{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes tick-in{0%{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes foliage-left{0%,to{transform:rotate(0)}50%{transform:rotate(.7deg)}}@keyframes foliage-right{0%,to{transform:rotate(0)}50%{transform:rotate(-.6deg)}}@keyframes wing-left{0%,to{transform:scaleX(1)}50%{transform:scaleX(.26)}}@keyframes wing-right{0%,to{transform:scaleX(1)}50%{transform:scaleX(.34)}}@keyframes cat-breathe{0%,to{scale:1 1}50%{scale:1.01 1.018}}@keyframes cat-nuzzle{0%,to{rotate:0deg;translate:0 0}25%{rotate:-4deg;translate:0 -5px}60%{rotate:3deg;translate:0 -2px}}@keyframes cat-curious{0%,to{rotate:0deg}45%{rotate:4deg;translate:1px -3px}}@keyframes cookie-curious{0%,to{rotate:0deg}45%{rotate:-3deg;translate:0 -4px}}@keyframes purr-up{0%{opacity:0;translate:0 5px}20%,75%{opacity:1}to{opacity:0;translate:0 -20px}}@keyframes plant-sway{0%,to{rotate:-2deg}50%{rotate:3deg}}@keyframes flower-nod{0%,to{rotate:-4deg}50%{rotate:7deg}}@keyframes flower-bloom{0%{scale:.25;opacity:.3}to{scale:1;opacity:1}}@keyframes flame-flicker{0%{transform:rotate(-12deg) scale(.95,1.05)}45%{transform:rotate(6deg) scale(1.05,.9)}to{transform:rotate(-4deg) scale(.9,1.12)}}@keyframes smoke-away{0%{opacity:.7;transform:translateY(0) scale(.4)}to{opacity:0;transform:translateY(-45px) scale(1.7)}}@keyframes balloon-sway{0%,to{rotate:-4deg}50%{rotate:5deg;translate:0 -9px}}@keyframes balloon-arrive{0%{opacity:0;translate:0 100px}to{opacity:1;translate:0 0}}@keyframes petal-fall{0%{transform:translateY(-30px) rotate(0);opacity:0}10%{opacity:.7}85%{opacity:.6}to{transform:translate(70px,100vh) rotate(450deg);opacity:0}}@keyframes wish-burst{0%{opacity:0;transform:rotate(var(--angle)) translateY(0)}12%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateY(var(--distance)) rotate(150deg)}}@keyframes curtain{0%{opacity:0}12%,73%{opacity:1}to{opacity:0;pointer-events:none}}@keyframes reveal-words{0%,12%{opacity:0;translate:0 15px}40%,78%{opacity:1;translate:0 0}to{opacity:0}}@keyframes reveal-mark{0%{scale:.4;opacity:0;rotate:-40deg}45%,80%{scale:1;opacity:1;rotate:0deg}to{opacity:0}}@keyframes birthday-arrival{0%{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}@keyframes dialog-in{0%{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}@keyframes letter-arrival{0%{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}@keyframes spin{to{rotate:360deg}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-curtain,.reveal-curtain p,.reveal-flower img{opacity:1}.falling-petal,.wish-petals{display:none}.button:hover{transform:none}.time-value,.purr{opacity:1}.envelope:hover{translate:none}}.film-stack{position:absolute;inset:0;z-index:0}.film-stack .garden-film{opacity:0;pointer-events:none;transition:opacity .4s ease}.film-garden{z-index:1}.film-opening{z-index:2}.film-splash{z-index:3}.film-phase-loading .film-splash,.film-phase-ready .film-splash,.film-phase-opening .film-opening,.film-phase-handoff .film-opening{opacity:1}.film-phase-opening .film-splash{transition-duration:.15s}.film-phase-handoff .film-garden,.film-phase-entered .film-garden{opacity:1}.garden-intro .butterflies,.garden-intro .cat-hotspot,.garden-intro .celebration-dust{visibility:hidden}.video-shade,.scene-vignette{transition:opacity .8s ease}.garden-intro .video-shade,.garden-intro .scene-vignette{opacity:0}.garden-intro .garden-film{mask-image:none}.garden-content{position:absolute;inset:0;z-index:4;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 1s .15s ease}.garden-content-entered{opacity:1;visibility:visible}.garden-content .site-header,.garden-content .site-footer,.garden-content>button,.garden-content .dialog,.garden-content .reveal-curtain,.garden-content .skip-link{pointer-events:auto}main:focus{outline:none}.entrance{position:absolute;inset:0;z-index:20;text-align:center;color:#fff0d2;background:none;transition:opacity .35s ease;opacity:1}.entrance-opening{pointer-events:none}.entrance-action{position:absolute;left:28px;right:28px;bottom:23%;min-height:142px;display:flex;flex-direction:column;align-items:center;justify-content:center}.entrance-status{font-size:18px;line-height:1.4;margin:0 0 20px;max-width:290px;text-shadow:0 2px 12px #000;color:#f3dfba}.entrance-welcome{font-size:26px;font-style:italic;line-height:1.25;white-space:pre-line;margin:0 0 25px;color:#ffe9c3;text-shadow:0 2px 8px #071020;translate:0 calc(-1*clamp(45px,9svh,82px));animation:emerge .8s var(--ease) both}.entrance.entrance-opening .entrance-welcome{animation:entrance-text-away 1.2s cubic-bezier(.25,.1,.25,1) both;transform-origin:center}.entrance.entrance-opening .start-button{animation:entrance-button-away .95s .08s cubic-bezier(.4,0,.2,1) both}@keyframes entrance-text-away{0%{opacity:1;transform:scale(1);filter:blur(0)}to{opacity:0;transform:scale(.025);filter:blur(12px)}}@keyframes entrance-button-away{0%{transform:translateY(0)}to{transform:translateY(55svh)}}.entrance-loading{display:flex;flex-direction:column;align-items:center;gap:24px;animation:emerge .5s var(--ease) both}.paw-trail{display:flex;align-items:center;gap:7px;height:48px;direction:ltr;color:#f3d39b}.paw-step{display:block;width:19px;height:23px;transform:translateY(-9px) rotate(72deg)}.paw-step:nth-child(2n){transform:translateY(9px) rotate(108deg)}.paw-mark{display:block;width:100%;height:100%;opacity:.16;transition:opacity .25s ease;transform-origin:center}.paw-reached .paw-mark{opacity:.85}.paw-current .paw-mark{animation:paw-step 1s ease-in-out infinite;filter:drop-shadow(0 0 5px #e4b66780)}@keyframes paw-step{0%,to{transform:scale(.88);opacity:.6}50%{transform:scale(1.14);opacity:1}}.entrance-percent{font-family:Cormorant,Georgia,serif;font-variant-numeric:lining-nums tabular-nums;font-size:25px;line-height:1;color:#f4dbad;margin:0;text-shadow:0 2px 8px #071020}.entrance-percent span{font-size:14px;margin-left:4px}.entrance .start-button{min-width:215px;min-height:52px;font-size:22px;box-shadow:0 0 25px #b1833d20;animation:emerge .8s .1s var(--ease) both}.entrance .button.primary.start-button:hover{background:linear-gradient(110deg,#f4dfb5,#e5c187)}.entrance-error{font-size:14px;line-height:1.35;max-width:280px;margin:10px 0 0;color:#f2c9ae}:lang(ar) .entrance-welcome,:lang(ar) .entrance .start-button{font-family:Aref Ruqaa,Naskh,serif;font-weight:700}:lang(ar) .entrance-welcome{font-style:normal;font-size:38px;line-height:1.8;margin-bottom:22px;color:#fff0d2}:lang(ar) .entrance-status{font-size:18px;line-height:1.5}:lang(ar) .entrance .start-button{font-size:22px}@media(max-height:740px){.entrance-action{bottom:23%;min-height:126px}.entrance-welcome{font-size:24px;margin-bottom:20px}:lang(ar) .entrance-welcome{font-size:36px;margin-bottom:19px}}@media(max-width:350px){.entrance-action{left:20px;right:20px}.entrance-welcome{font-size:23px}.entrance .start-button{min-width:200px}:lang(ar) .entrance-welcome{font-size:32px}}@media(prefers-reduced-motion:reduce){.entrance,.film-stack .garden-film,.garden-content,.video-shade,.scene-vignette,.paw-mark{transition:none}.paw-current .paw-mark{opacity:1}.entrance-opening .entrance-welcome,.entrance-opening .start-button{opacity:0}}.message-count{display:flex;justify-content:center;align-items:baseline;gap:5px}.message-count strong{font-family:Cormorant,Georgia,serif;font-size:19px;font-weight:600;color:#f3d59d}dialog.message-dialog{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:calc(100% - 32px);max-width:386px;height:auto;max-height:calc(100dvh - 32px);margin:0;padding:0;border:1px solid #d8ba76;border-radius:25px;background:#f8f0df;color:#252b25;overflow:hidden;box-shadow:0 28px 80px #020817cc}.message-dialog::backdrop{background:#071023bd;backdrop-filter:blur(10px)}.message-dialog .dialog-inner{display:block;min-height:0;max-height:calc(100dvh - 34px);padding:0;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain}.message-dialog .dialog-close{position:absolute;z-index:5;top:28px;left:50%;right:auto;transform:translate(-50%);display:grid;place-items:center;width:34px;height:34px;min-height:34px;padding:0;border:1px solid #c9ab6d;border-radius:50%;background:#fffaf0d9;color:#17243c;box-shadow:0 4px 15px #17243c1a;transition:background .2s,transform .2s}.message-dialog .dialog-close:hover{background:#f2e1c1;transform:translate(-50%) rotate(5deg)}.message-card-shell{position:relative;min-height:0;padding:66px 40px 25px;overflow:hidden;background-image:linear-gradient(#fffaf012,#fff8ec1c),url(/media/message-card-bg.webp);background-position:center;background-size:100% 100%}.message-card-shell:before{content:"";position:absolute;inset:0;border-radius:24px;box-shadow:inset 0 0 55px #d6ad5930;pointer-events:none}.message-card-heading{position:relative;margin:0 0 16px;text-align:center;z-index:1}.message-card-heading h2{margin:0 0 3px;font-family:Aref Ruqaa,Naskh,serif;font-size:31px;font-weight:700;line-height:1.4;color:#17243c}.message-card-heading p{margin:0;color:#62695d;font-size:13px;line-height:1.55}.message-form{position:relative;z-index:1;padding:0}.identity-switch{display:grid;grid-template-columns:1fr 1fr;margin:0 0 15px;padding:3px;border:1px solid #cbb88e;border-radius:24px;background:#f4ead8de;box-shadow:0 3px 14px #5d482112}.identity-switch button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border-radius:21px;color:#625f54;font-family:Naskh,serif;font-size:15px;transition:.22s}.identity-switch button svg{width:17px}.identity-switch button.active{background:#14213a;color:#f9e6bb;box-shadow:0 5px 14px #101a3033}.message-form label:not(.honeypot){display:block;margin:0 0 12px;color:#30352f;font-size:14px;font-weight:600;text-align:start}.message-form input,.message-form textarea{display:block;width:100%;margin-top:5px;padding:10px 13px;border:1px solid #cdbb94;border-radius:12px;background:#fffdf7e8;color:#303523;font-family:Naskh,serif;font-size:16px;outline:0;box-shadow:0 2px 9px #503c1410;transition:border-color .2s,box-shadow .2s}.message-form input{height:45px}.message-form textarea{min-height:116px;max-height:230px;resize:vertical;line-height:1.65}.message-form input:focus,.message-form textarea:focus{border-color:#a77c36;box-shadow:0 0 0 3px #bd93472b}.message-form input::placeholder,.message-form textarea::placeholder{color:#8a887d;font-weight:400}.message-dialog .message-form .button.primary{display:flex;width:max-content;min-width:168px;min-height:44px;margin:4px auto 0;padding:9px 23px;background:#14213a;border-color:#d9b66d;color:#f9e6bb;font-size:17px;box-shadow:0 8px 20px #101a3020}.message-dialog .message-form .button.primary:hover{background:#14213a}.message-form .button svg,.message-export-actions svg{width:17px}.message-privacy-link{position:relative;top:14px;display:flex;align-items:flex-end;justify-content:center;width:max-content;min-height:32px;margin:6px auto -7px;padding:0 12px;color:#4d5048;font-size:13px;font-weight:700;line-height:1;text-decoration:underline;text-underline-offset:4px}.message-success{position:relative;z-index:1;padding:18px 2px 3px;text-align:center}.message-success-mark{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 9px;border-radius:50%;background:#17243c;color:#e6c47b}.message-success h2{margin:0 0 4px;font-family:Aref Ruqaa,Naskh,serif;font-size:31px;font-weight:700;color:#17243c}.message-success>p{max-width:300px;margin:0 auto 14px;color:#68705e;font-size:13px;line-height:1.55}.message-success blockquote{min-height:130px;display:grid;place-items:center;margin:0;padding:20px 17px;border:1px solid #cfb983;border-radius:15px;background:#fffaf0df;font-family:Naskh,serif;font-size:21px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.message-success>strong{display:block;margin:11px 0 15px;color:#927039;font-family:Aref Ruqaa,Naskh,serif;font-size:18px;font-weight:700}.message-export-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.message-export-actions button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:45px;padding:8px;border-radius:24px;font-size:14px}.message-secondary{border:1px solid #a78955;background:#fffaf0b8;color:#263148}.message-success .text-button{display:flex;align-items:center;justify-content:center;gap:5px;margin:8px auto 0;min-height:35px;font-size:12px}.message-success .text-button svg{width:15px}@media(max-height:700px){.message-card-shell{padding:56px 36px 18px}.message-card-heading{margin-bottom:12px}.message-card-heading h2{font-size:27px}.identity-switch{margin-bottom:11px}.message-form label:not(.honeypot){margin-bottom:9px}.message-form textarea{min-height:90px}.message-privacy-link{display:none}}.admin-body{margin:0;min-width:300px;background:#071326;color:#172033;color-scheme:light;font-family:Naskh,Arial,sans-serif}.admin-body button,.admin-body input{font-family:inherit}.admin-shell{--navy:#08162c;--navy-2:#10213d;--paper:#fffaf0;--ivory:#f6eedf;--gold:#d4a95e;--gold-soft:#f0d39b;--line:#dfd2bb;min-height:100dvh;background:#071326;color:#172033;direction:rtl}.admin-shell>aside{position:fixed;z-index:20;top:0;right:0;bottom:0;width:248px;padding:30px 18px 20px;display:flex;flex-direction:column;overflow:hidden;color:#f9e8c5;background:linear-gradient(180deg,#071326,#0d1d37 70%,#071326);border-left:1px solid #ddb76a33}.admin-shell>aside:after{content:"";position:absolute;z-index:-1;inset:auto 0 0;height:300px;opacity:.16;background:url(/media/moonlit-garden.webp) center bottom/cover;mask-image:linear-gradient(transparent,#000)}.admin-brand{padding:12px 6px 38px;text-align:center}.admin-brand svg{width:32px;height:32px;color:#e1b964;fill:#e1b9641c}.admin-brand strong{display:block;margin-top:8px;font-family:Aref Ruqaa,Naskh,serif;font-size:34px;line-height:1.2}.admin-brand span{display:block;margin-top:5px;color:#cdbb98;font-size:12px}.admin-shell>aside nav{display:grid;gap:7px}.admin-shell>aside nav button,.admin-logout{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:10px 15px;border:1px solid transparent;border-radius:12px;color:#dfd0b2;font-size:14px;text-align:right;transition:background .18s,border-color .18s,color .18s}.admin-shell>aside nav button svg,.admin-logout svg{width:19px}.admin-shell>aside nav button:hover,.admin-shell>aside nav button.active{border-color:#d4aa5d55;background:#d4aa5d12;color:#ffe2a9}.admin-logout{margin-top:auto;color:#c4b79f}.admin-main{min-height:100dvh;margin-right:248px;padding:0 30px 48px;background:#f0ece5}.admin-main>header{min-height:170px;margin:0 -30px 24px;padding:31px 40px 70px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;color:#fff1d2;background:linear-gradient(90deg,#071326f2,#071326a8),url(/media/moonlit-garden.webp) center 42%/cover}.admin-welcome{display:flex;align-items:center;gap:14px}.admin-avatar{display:grid;place-items:center;width:48px;height:48px;flex:0 0 auto;border:1px solid #e2bd7080;border-radius:50%;background:#0d1d37cc;color:#f5d99d;font-family:Aref Ruqaa,Naskh,serif;font-size:24px;font-weight:700}.admin-welcome h1{margin:0 0 3px;font-family:Aref Ruqaa,Naskh,serif;font-size:34px;line-height:1.3}.admin-welcome p{margin:0;color:#d8c8ab;font-size:13px}.admin-header-actions{display:flex;gap:8px}.refresh-button,.admin-mobile-logout{min-height:43px;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 14px;border:1px solid #e6c57e70;border-radius:11px;background:#0b1a31b5;color:#f5dca9;font-size:12px}.refresh-button svg,.admin-mobile-logout svg{width:17px}.admin-mobile-logout{display:none;width:43px;padding:8px}.metrics{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:-73px}.metrics.recipient-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics article{min-height:120px;padding:18px 20px;display:grid;grid-template-columns:1fr auto;grid-template-rows:1fr auto;gap:3px 12px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:0 12px 34px #14203912}.metrics article svg{grid-row:1/3;align-self:center;width:27px;height:27px;color:#b8893f}.metrics article strong{align-self:end;font-family:Cormorant,Georgia,serif;font-size:42px;line-height:1;font-weight:600;color:#12203a}.metrics article span{color:#697063;font-size:13px}.analytics-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:13px;margin-top:13px}.overview-bottom{display:grid;grid-template-columns:1.3fr 1fr;gap:13px;margin-top:13px}.overview-bottom.recipient-overview{grid-template-columns:1fr}.visits-panel,.distribution-panel,.messages-panel,.activity-panel,.visitor-table{border:1px solid var(--line);border-radius:17px;background:var(--paper);box-shadow:0 8px 26px #1420390d}.visits-panel{padding:22px 22px 15px}.visits-panel h2,.distribution-panel h3{margin:0 0 14px;font-family:Aref Ruqaa,Naskh,serif;font-size:21px}.admin-chart svg{display:block;width:100%;height:205px;overflow:visible}.admin-chart line{stroke:#ddd4c6;stroke-width:1}.admin-chart polyline{fill:none;stroke:#c7923e;stroke-width:3}.admin-chart circle{fill:#fff7e5;stroke:#c7923e;stroke-width:3}.chart-labels{display:flex;justify-content:space-between;margin-top:2px;color:#857d70;font-size:10px}.distribution-panel{padding:21px 18px}.distribution-body{display:flex;align-items:center;gap:15px}.donut{position:relative;display:grid;place-items:center;width:100px;aspect-ratio:1;flex-shrink:0;border-radius:50%;background:conic-gradient(#c99b50 0 var(--first),#17243c var(--first) var(--second),#728474 var(--second) 87%,#ddd1ba 87%)}.donut:after{content:"";position:absolute;inset:19px;border-radius:50%;background:var(--paper)}.donut strong,.donut span{position:relative;z-index:1}.donut strong{align-self:end;font-family:Cormorant,serif;font-size:21px}.donut span{align-self:start;color:#777266;font-size:9px}.distribution-body ol{list-style:none;padding:0;margin:0;display:grid;gap:8px;min-width:0;flex:1}.distribution-body li{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:6px;font-size:11px}.distribution-body li i{width:8px;height:8px;border-radius:50%;background:#c99b50}.distribution-body li i[data-color="1"]{background:#17243c}.distribution-body li i[data-color="2"]{background:#728474}.distribution-body li i[data-color="3"]{background:#d3c7af}.distribution-body li strong{font-family:Cormorant,serif;font-size:13px}.distribution-empty{margin:0;color:#817968;font-size:12px;line-height:1.6}.messages-panel,.activity-panel,.visitor-table{padding:21px}.panel-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:14px;border-bottom:1px solid #e3d9c7}.panel-title h2{margin:0;font-family:Aref Ruqaa,Naskh,serif;font-size:25px;line-height:1.25;color:#101e36}.panel-title p{margin:4px 0 0;color:#77776d;font-size:12px}.panel-title>svg{width:22px;color:#b18440}.message-list article{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 2px;border-bottom:1px solid #e8dfd1}.message-list article:last-child{border-bottom:0}.message-dot{width:7px;height:7px;border-radius:50%;background:#c99b50;opacity:0;box-shadow:0 0 0 4px #c99b5018}.message-list article.unread .message-dot{opacity:1}.message-copy{min-width:0}.message-copy strong{font-size:14px;color:#16233a}.message-copy p{margin:3px 0;color:#5f655d;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-copy time,.activity-panel time{color:#91897b;font-size:10px}.row-actions{display:flex;gap:6px}.row-actions button{min-height:36px;padding:6px 10px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #d8c7a7;border-radius:9px;background:#fffdf8;color:#28354a;font-size:10px;font-weight:600}.row-actions button:hover{background:#f1e6d1}.row-actions button.open-action{border-color:#14213a;background:#14213a;color:#fae5b8}.row-actions svg{width:14px}.activity-panel ol{list-style:none;padding:0;margin:0}.activity-panel li{display:grid;grid-template-columns:33px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #e8dfd1}.activity-panel li:last-child{border-bottom:0}.activity-panel li>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ecdfc9;color:#9b7136}.activity-panel li svg{width:14px}.activity-panel li strong{font-size:12px}.activity-panel li p{margin:1px 0;color:#7c7a72;font-size:10px}.messages-panel:not(.compact),.visitors-view,.activity-panel:not(.compact){position:relative;margin-top:-73px;min-height:600px}.messages-panel:not(.compact) .message-list article{padding:18px 4px}.visitor-distributions{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:13px}.table-scroll{overflow:auto}.visitor-table table{width:100%;border-collapse:collapse;text-align:right;font-size:12px;white-space:nowrap}.visitor-table th{padding:13px 10px;border-bottom:1px solid #d9cfbd;color:#817968;font-weight:600}.visitor-table td{padding:13px 10px;border-bottom:1px solid #e7dfd2}.locked-view{position:relative;display:grid;place-items:center;min-height:calc(100dvh - 220px);margin-top:-73px}.locked-card{width:min(540px,100%);padding:42px 38px;text-align:center;border:1px solid #dfcca8;border-radius:24px;background:var(--paper);box-shadow:0 20px 60px #020b1b24}.locked-card>span{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 17px;border:1px solid #d0a65b;border-radius:18px;background:#f5e7cc;color:#91672d}.locked-card>span svg{width:27px}.locked-card h2{margin:0 0 8px;font-family:Aref Ruqaa,Naskh,serif;font-size:31px;color:#14213a}.locked-card p{max-width:370px;margin:0 auto 20px;color:#667064;font-size:15px;line-height:1.75}.locked-card>strong{display:block;font-family:Cormorant,serif;font-size:78px;line-height:1;color:#14213a}.locked-card small{font-size:14px;color:#5e665c}.locked-preview-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;margin:20px auto 0;padding:9px 22px;border:1px solid #c99b50;border-radius:24px;background:#14213a;color:#f6ddb0;font-size:14px;font-weight:700;box-shadow:0 8px 22px #14213a24;transition:background .2s,transform .2s,box-shadow .2s}.locked-preview-button:hover{background:#203250;box-shadow:0 10px 26px #14213a35;transform:translateY(-1px)}.locked-preview-button svg{width:18px}.locked-card time{display:block;margin-top:22px;padding-top:16px;border-top:1px solid #e0d3bd;color:#876f4a;font-size:12px;font-weight:600}.message-viewer{position:fixed;z-index:50;inset:18px;margin:auto;width:min(820px,calc(100vw - 36px));height:min(900px,calc(100dvh - 36px));padding:28px;display:grid;grid-template-columns:minmax(270px,360px) minmax(260px,1fr);align-items:center;justify-content:center;gap:30px;border:1px solid #d8b66f66;border-radius:24px;background:#09162c;color:#fff1d3;box-shadow:0 30px 110px #010713dd}.message-viewer:before{content:"";position:fixed;z-index:-1;inset:0;background:#030a17d4;backdrop-filter:blur(10px)}.viewer-close{position:absolute;z-index:2;top:16px;left:16px;display:grid;place-items:center;width:42px;height:42px;border:1px solid #dfbd7877;border-radius:50%;background:#10213d;color:#f5dda9}.viewer-close svg{width:18px}.story-preview{position:relative;width:100%;aspect-ratio:9/16;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:19% 11% 16%;border:1px solid #e2bc6d99;border-radius:18px;background:url(/media/message-story-bg-v1.webp) center/cover;box-shadow:0 18px 50px #020713a6;text-align:center}.story-preview:after{content:"";position:absolute;inset:14% 6% 16%;z-index:0;background:radial-gradient(circle,#07162b61,transparent 72%);pointer-events:none}.story-preview>span,.story-preview>p,.story-preview>footer{position:relative;z-index:1}.story-preview>span{position:absolute;top:10.7%;font-family:Aref Ruqaa,Naskh,serif;font-size:clamp(19px,2.2vw,28px);font-weight:700;color:#f2d08c}.story-preview>p{width:100%;max-height:none;margin:0;overflow:visible;color:#fff4dc;font-size:clamp(12px,1.55vw,19px);font-weight:500;line-height:1.58;white-space:pre-wrap;text-shadow:0 2px 14px #000}.story-preview>footer{position:absolute;left:10%;right:10%;bottom:17%;display:flex;flex-direction:column;gap:2px}.story-preview>footer strong{font-family:Aref Ruqaa,Naskh,serif;color:#efcb83;font-size:clamp(15px,1.8vw,21px)}.story-preview>footer time{color:#eadbbdb8;font-size:clamp(8px,1vw,11px)}.viewer-details{display:flex;flex-direction:column;gap:22px}.viewer-details>div:first-child{padding-bottom:18px;border-bottom:1px solid #e4c47c2c}.viewer-details>div:first-child strong{display:block;font-family:Aref Ruqaa,Naskh,serif;font-size:27px;color:#f3d18c}.viewer-details>div:first-child time{display:block;margin-top:4px;color:#c7b89c;font-size:11px}.row-actions.large{display:grid;grid-template-columns:1fr 1fr;gap:8px}.row-actions.large button{min-height:48px;border-color:#dab66b66;background:#f8efde;color:#12203a;font-size:12px}.mobile-admin-nav{display:none}.admin-loading,.admin-login{min-height:100dvh;display:grid;place-items:center}.admin-loading{gap:14px;align-content:center;background:#071326;color:#f6ddb0}.admin-loading svg{width:48px;height:48px;color:#d7ac5f}.admin-login{padding:24px;background:#f3f4f6;color:#172033;pointer-events:auto}.login-card{width:min(380px,100%);padding:32px;border:1px solid #d8dde5;border-radius:14px;background:#fff;color:#172033;text-align:right;box-shadow:0 14px 40px #17203314}.login-card h1{margin:0 0 27px;font-family:Naskh,Arial,sans-serif;font-size:28px;font-weight:700;line-height:1.35;text-align:center}.login-card form{display:block;text-align:right}.login-card label{display:block;margin:0 0 7px;color:#293244;font-size:14px;font-weight:600}.login-card input{display:block;width:100%;height:50px;margin:0 0 18px;padding:0 14px;border:1.5px solid #b9c1cc;border-radius:9px;background:#fff;color:#172033;font-family:Arial,sans-serif;font-size:16px;line-height:50px;direction:ltr;text-align:left;outline:0;caret-color:#172033;box-shadow:none;transition:border-color .18s,box-shadow .18s}.login-card input:hover{border-color:#8d98a8}.login-card input:focus{border-color:#315887;box-shadow:0 0 0 3px #31588722}.password-field{position:relative;display:block}.password-field input{padding-left:50px}.password-field button{position:absolute;left:4px;top:5px;display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;border-radius:7px;color:#596474}.password-field button:hover{background:#eef1f5}.password-field svg{width:18px}.admin-primary{width:100%;min-height:50px;margin-top:5px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;background:#17243c;color:#fff;font-size:16px;font-weight:700;transition:background .18s}.admin-primary:hover{background:#243858}.admin-primary svg{width:18px}.admin-error{margin:0 0 14px;color:#a22f2f;font-size:13px;line-height:1.5}.spinning{animation:admin-spin .8s linear infinite}@keyframes admin-spin{to{rotate:360deg}}.admin-shell button:focus-visible,.admin-login button:focus-visible{outline:2px solid #d6a958;outline-offset:2px}@media(max-width:1120px){.analytics-grid{grid-template-columns:1.4fr 1fr}.analytics-grid .distribution-panel:last-child{grid-column:2}.visits-panel{grid-row:span 2}.distribution-body{align-items:flex-start;flex-direction:column}.overview-bottom{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.admin-shell{background:#071326}.admin-shell>aside{display:none!important}.admin-main{margin-right:0;padding:0 14px 92px;background:linear-gradient(#071326,#0b1b35)}.admin-main>header{min-height:142px;margin:0 -14px 16px;padding:calc(18px + env(safe-area-inset-top)) 17px 47px;align-items:flex-start;background:linear-gradient(180deg,#071326c7,#071326fa),url(/media/moonlit-garden.webp) center 18%/cover}.admin-welcome{gap:10px;min-width:0}.admin-avatar{width:41px;height:41px;font-size:21px}.admin-welcome h1{font-size:26px;white-space:nowrap}.admin-welcome p{font-size:10px;white-space:nowrap}.admin-header-actions{gap:6px}.refresh-button{width:41px;min-height:41px;padding:7px}.refresh-button span{display:none}.admin-mobile-logout{display:grid;width:41px;min-height:41px;padding:7px}.metrics,.metrics.recipient-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:-44px}.metrics:not(.recipient-metrics){grid-template-columns:repeat(2,minmax(0,1fr))}.metrics article{min-height:91px;padding:12px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;border-color:#d8bd8866;border-radius:14px;background:#fff9ed}.metrics article svg{order:-1;width:20px;height:20px}.metrics article strong{font-size:31px}.metrics article span{font-size:9px;line-height:1.25}.analytics-grid{display:block;margin-top:9px}.visits-panel,.distribution-panel{margin-top:9px}.distribution-body{flex-direction:row;align-items:center}.overview-bottom,.overview-bottom.recipient-overview{display:block;margin-top:9px}.overview-bottom>*+*{margin-top:9px}.visits-panel,.distribution-panel,.messages-panel,.activity-panel,.visitor-table{border-radius:16px;box-shadow:none}.messages-panel,.activity-panel,.visitor-table{padding:17px 14px}.panel-title{padding-bottom:12px}.panel-title h2{font-size:23px}.panel-title p{font-size:10px}.messages-panel:not(.compact),.visitors-view,.activity-panel:not(.compact){margin-top:-44px;min-height:calc(100dvh - 200px)}.message-list article{grid-template-columns:7px minmax(0,1fr);gap:9px;padding:14px 0}.message-copy strong{font-size:13px}.message-copy p{font-size:11px}.row-actions{grid-column:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:3px}.row-actions button{min-width:0;min-height:38px;padding:5px 4px;flex-direction:column;gap:1px;border-radius:8px;font-size:8px;line-height:1.15}.row-actions svg{width:14px;height:14px}.activity-panel li{grid-template-columns:31px minmax(0,1fr)}.activity-panel li time{grid-column:2}.visitor-distributions{grid-template-columns:1fr;gap:9px}.table-scroll{margin-inline:-5px}.locked-view{min-height:calc(100dvh - 190px);margin-top:-44px;padding:0}.locked-card{padding:29px 20px;border-radius:20px;background:#fff9ed}.locked-card>span{width:53px;height:53px;margin-bottom:13px;border-radius:15px}.locked-card h2{font-size:26px}.locked-card p{font-size:13px;margin-bottom:16px}.locked-card>strong{font-size:66px}.locked-card time{font-size:11px;margin-top:17px;padding-top:13px}.mobile-admin-nav{position:fixed;z-index:30;left:0;right:0;bottom:0;display:flex;justify-content:space-around;padding:7px 7px calc(7px + env(safe-area-inset-bottom));border-top:1px solid #d4ac6055;background:#09172ef2;color:#aeb8c7;backdrop-filter:blur(16px)}.mobile-admin-nav button{display:grid;place-items:center;gap:2px;min-width:62px;min-height:47px;color:inherit;font-size:9px}.mobile-admin-nav svg{width:19px}.mobile-admin-nav button.active{color:#efc979}.message-viewer{inset:0;width:100%;height:100dvh;padding:18px 18px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:13px;border:0;border-radius:0;overflow:auto}.viewer-close{position:fixed;top:calc(12px + env(safe-area-inset-top));left:12px;width:39px;height:39px;background:#10213df2}.story-preview{width:min(285px,calc(100vw - 64px));flex:0 0 auto;margin:calc(30px + env(safe-area-inset-top)) auto 0;padding:96px 31px 81px;border-radius:15px}.story-preview>span{font-size:20px}.story-preview>p{font-size:12px;line-height:1.55}.story-preview>footer strong{font-size:15px}.story-preview>footer time{font-size:8px}.viewer-details{width:min(360px,100%);margin:0 auto;gap:9px;text-align:center}.viewer-details>div:first-child{padding-bottom:8px}.viewer-details>div:first-child strong{font-size:20px}.viewer-details>div:first-child time{font-size:9px}.row-actions.large{grid-column:auto;grid-template-columns:1fr 1fr;width:100%;margin-top:0}.row-actions.large button{min-height:46px;flex-direction:row;font-size:10px}.login-card{padding:27px 22px}}@media(max-width:360px){.admin-welcome p{display:none}.admin-welcome h1{font-size:23px}.metrics article{padding-inline:6px}.story-preview{width:260px;padding:88px 28px 73px}}@media(prefers-reduced-motion:reduce){.spinning{animation:none}}.analytics-view,.sessions-panel{position:relative;margin-top:-73px}.analytics-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:13px}.analytics-summary article{min-height:104px;padding:16px 14px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 10px;border:1px solid var(--line);border-radius:15px;background:var(--paper);box-shadow:0 8px 26px #1420390d}.analytics-summary svg{grid-row:1/3;width:23px;color:#b8893f}.analytics-summary span{align-self:end;color:#72766e;font-size:11px}.analytics-summary strong{align-self:start;font-family:Cormorant,Georgia,serif;font-size:29px;color:#12203a}.analytics-view .analytics-grid{grid-template-columns:2fr repeat(2,minmax(0,1fr));margin-top:0}.analytics-view .visits-panel{grid-row:span 2}.analytics-view .visits-panel .panel-title{margin-bottom:8px}.analytics-view .analytics-activity{margin-top:13px;min-height:0}.visitor-directory,.sessions-panel{padding:21px;border:1px solid var(--line);border-radius:17px;background:var(--paper);box-shadow:0 8px 26px #1420390d}.visitor-search{height:46px;margin:16px 0 12px;padding:0 13px;display:flex;align-items:center;gap:9px;border:1px solid #d9cfbd;border-radius:11px;background:#fffdf8}.visitor-search svg{width:18px;color:#9b7a44}.visitor-search input{width:100%;height:100%;border:0;background:transparent;color:#17243c;outline:0;font:inherit;font-size:13px}.visitor-cards{display:grid;gap:8px}.visitor-card{position:relative;width:100%;min-height:86px;padding:12px 14px;display:grid;grid-template-columns:1.15fr 1.2fr 1.5fr 18px;align-items:center;gap:15px;border:1px solid #e2d9ca;border-radius:13px;background:#fffdf9;color:#17243c;text-align:right;transition:border-color .18s,transform .18s,box-shadow .18s}.visitor-card:hover{border-color:#c9a867;box-shadow:0 8px 20px #10203a0d;transform:translateY(-1px)}.visitor-card>svg{width:17px;color:#a77d3d}.visitor-card>span{min-width:0}.visitor-card b{display:block;font-size:12px}.visitor-card small{display:block;margin-top:3px;color:#858174;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visitor-id{display:grid!important;grid-template-columns:35px 1fr;grid-template-rows:auto auto;gap:0 9px;align-items:center}.visitor-id i{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#17243c;color:#edcd8c}.visitor-id i svg{width:16px}.visitor-id b,.visitor-id small{grid-column:2}.visitor-numbers{display:grid!important;grid-template-columns:repeat(4,1fr);gap:6px}.visitor-numbers em{font-style:normal;text-align:center}.visitor-numbers em b{font-family:Cormorant,serif;font-size:18px}.visitor-numbers em small{font-size:8px}.visitor-viewer{position:fixed;z-index:60;inset:0;padding:22px;display:grid;place-items:center;background:#030a17d4;backdrop-filter:blur(9px)}.visitor-detail{width:min(920px,100%);max-height:calc(100dvh - 44px);padding:24px;overflow:auto;border:1px solid #d8b66f55;border-radius:22px;background:#f7f2e9;color:#17243c;box-shadow:0 30px 100px #0009}.visitor-detail>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding-bottom:18px;border-bottom:1px solid #dfd3c0}.visitor-detail>header span{color:#98723a;font-size:10px;font-weight:700}.visitor-detail>header h2{margin:5px 0 3px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:17px;letter-spacing:.03em;overflow-wrap:anywhere}.visitor-detail>header p{margin:0;color:#72766e;font-size:11px}.visitor-detail>header button{display:grid;place-items:center;width:39px;height:39px;flex:0 0 auto;border:1px solid #d4c4aa;border-radius:50%;background:#fffaf0;color:#17243c}.visitor-detail>header button svg{width:17px}.visitor-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.visitor-facts article{padding:13px;border:1px solid #e2d8c7;border-radius:12px;background:#fffcf6}.visitor-facts span{display:block;color:#827d73;font-size:9px}.visitor-facts strong{display:block;margin-top:4px;font-size:12px;line-height:1.5}.visitor-tech,.visitor-session-list,.visitor-timeline,.visitor-messages{margin-top:12px;padding:16px;border:1px solid #e0d5c3;border-radius:14px;background:#fffdf8}.visitor-detail h3{margin:0 0 12px;font-family:Aref Ruqaa,Naskh,serif;font-size:20px}.visitor-tech dl,.session-list dl{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.visitor-tech dl div,.session-list dl div{min-width:0;padding:9px 10px;border-radius:9px;background:#f2ece1}.visitor-tech dt,.session-list dt{color:#847e72;font-size:8px}.visitor-tech dd,.session-list dd{margin:2px 0 0;font-size:10px;overflow-wrap:anywhere}.visitor-tech details{margin-top:10px}.visitor-tech summary{cursor:pointer;color:#896933;font-size:10px;font-weight:700}.visitor-tech details p{padding:9px;border-radius:9px;background:#f2ece1;font:9px/1.6 ui-monospace,monospace;overflow-wrap:anywhere}.visitor-session-list article{display:grid;grid-template-columns:1fr auto 1.2fr;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #e8dfd2}.visitor-session-list article:last-child{border-bottom:0}.visitor-session-list span b,.visitor-session-list span small{display:block;font-size:10px}.visitor-session-list span small{margin-top:2px;color:#858174;font-size:8px}.visitor-session-list em{padding:5px 8px;border-radius:14px;background:#efe1c8;color:#795820;font-size:9px;font-style:normal;font-weight:700}.visitor-timeline ol{list-style:none;padding:0;margin:0}.visitor-timeline li{display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #e8dfd2}.visitor-timeline li:last-child{border-bottom:0}.visitor-timeline svg{width:14px;color:#a77d3d}.visitor-timeline strong,.visitor-timeline small{display:block;font-size:10px}.visitor-timeline small,.visitor-timeline time{color:#898377;font-size:8px}.visitor-messages{display:grid;gap:7px}.visitor-messages h3{margin-bottom:4px}.visitor-messages button{width:100%;padding:10px;display:grid;grid-template-columns:28px 1fr 16px;align-items:center;gap:8px;border:1px solid #e2d7c5;border-radius:10px;background:#fffaf0;color:#17243c;text-align:right}.visitor-messages button>svg{width:15px}.visitor-messages button span b,.visitor-messages button span small{display:block;font-size:10px}.visitor-messages button span small{color:#898377;font-size:8px}.sessions-panel{min-height:600px}.session-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}.session-list article{padding:15px;border:1px solid #e2d8c8;border-radius:13px;background:#fffdf9}.session-list article header{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center;padding-bottom:10px;border-bottom:1px solid #e7dfd2}.session-list header span b,.session-list header span small{display:block;font-size:10px}.session-list header span small{color:#8d877b;font-size:8px}.session-list header em{padding:6px 9px;border-radius:14px;background:#17243c;color:#f3d69c;font-size:9px;font-style:normal}.session-list dl{grid-template-columns:repeat(2,1fr);margin-top:10px}.analytics-activity li{grid-template-columns:33px minmax(0,1fr) minmax(170px,auto)}.analytics-activity li small{display:block;margin-top:2px;color:#9a9388;font-size:8px}.analytics-activity time{direction:ltr;text-align:left;font-size:9px}@media(max-width:1120px){.analytics-summary{grid-template-columns:repeat(3,1fr)}.analytics-view .analytics-grid{grid-template-columns:1.4fr 1fr}.analytics-view .analytics-grid .distribution-panel{grid-column:auto}.visitor-card{grid-template-columns:1.1fr 1fr 1.4fr 18px}.visitor-tech dl{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.analytics-view,.sessions-panel{margin-top:-44px}.analytics-summary{grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:9px}.analytics-summary article{min-height:87px;padding:10px 7px;display:flex;flex-direction:column;justify-content:center;gap:2px;text-align:center;border-color:#d8bd8866;border-radius:13px;background:#fff9ed}.analytics-summary svg{width:19px;height:19px}.analytics-summary span{order:2;font-size:8px}.analytics-summary strong{font-size:25px}.analytics-view .analytics-grid{display:block}.analytics-view .analytics-grid>*{margin-top:9px}.analytics-view .analytics-activity{margin-top:9px}.visitor-directory,.sessions-panel{padding:16px 12px;border-radius:16px;box-shadow:none}.visitor-search{height:43px;margin-top:13px}.visitor-cards{gap:7px}.visitor-card{min-height:0;padding:12px 10px;grid-template-columns:1fr 18px;gap:8px}.visitor-card>span:nth-of-type(2){grid-column:1}.visitor-card>.visitor-numbers{grid-column:1/3}.visitor-card>svg{grid-column:2;grid-row:1/3}.visitor-id{grid-template-columns:32px 1fr!important}.visitor-id i{width:31px;height:31px}.visitor-numbers em b{font-size:17px}.visitor-viewer{padding:0;display:block}.visitor-detail{width:100%;max-height:100dvh;min-height:100dvh;padding:18px 13px calc(22px + env(safe-area-inset-bottom));border:0;border-radius:0}.visitor-detail>header{padding-top:calc(2px + env(safe-area-inset-top))}.visitor-detail>header h2{font-size:12px}.visitor-facts{grid-template-columns:repeat(2,1fr);gap:6px}.visitor-facts article{padding:10px}.visitor-facts strong{font-size:10px}.visitor-tech,.visitor-session-list,.visitor-timeline,.visitor-messages{padding:13px}.visitor-tech dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.visitor-session-list article{grid-template-columns:1fr auto}.visitor-session-list article>span:last-child{grid-column:1/3}.visitor-timeline li{grid-template-columns:22px 1fr}.visitor-timeline time{grid-column:2;direction:ltr;text-align:right}.visitor-detail h3{font-size:18px}.session-list{grid-template-columns:1fr;gap:8px}.session-list article{padding:12px}.session-list article header{grid-template-columns:1fr 1fr auto;gap:6px}.session-list dl{grid-template-columns:1fr 1fr;gap:6px}.session-list dl div:last-child{grid-column:1/3}.analytics-activity li{grid-template-columns:31px minmax(0,1fr)}.analytics-activity time{grid-column:2;direction:ltr;text-align:right}}.settings-button{min-height:43px;width:43px;display:grid;place-items:center;padding:8px;border:1px solid #e6c57e70;border-radius:11px;background:#0b1a31b5;color:#f5dca9}.settings-button svg{width:17px}.password-modal{position:fixed;z-index:70;inset:0;padding:18px;display:grid;place-items:center;background:#030a17d9;backdrop-filter:blur(10px)}.settings-view,.juhaina-panel{position:relative;margin-top:-73px}.settings-view{min-height:600px;padding:22px;display:grid;place-items:start center;border:1px solid var(--line);border-radius:17px;background:var(--paper)}.password-card{width:min(470px,100%);padding:28px;border:1px solid #dbc9a7;border-radius:20px;background:#fffaf0;color:#17243c;box-shadow:0 22px 60px #0511262b;text-align:center}.password-card.first-login{background:linear-gradient(150deg,#fffaf0,#f4ead8)}.password-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 11px;border-radius:15px;background:#17243c;color:#efcf8f}.password-icon svg{width:23px}.password-card h2{margin:0;font-family:Aref Ruqaa,Naskh,serif;font-size:29px}.password-card>p{max-width:390px;margin:5px auto 18px;color:#6e716a;font-size:12px;line-height:1.7}.password-card form{text-align:right}.password-card label{display:block;margin:0 0 6px;font-size:11px;font-weight:700}.password-card input{width:100%;height:47px;margin:5px 0 12px;padding:0 13px;border:1.5px solid #c9c1b4;border-radius:9px;background:#fff;color:#17243c;font:16px Arial,sans-serif;direction:ltr;text-align:left;outline:0}.password-card input:focus{border-color:#a87a37;box-shadow:0 0 0 3px #c69a4c22}.password-card .password-field input{padding-left:48px}.password-card .password-field button{position:absolute;left:4px;top:8px}.password-later{display:block;margin:12px auto 0;padding:5px 14px;color:#6e675c;font-size:11px;text-decoration:underline}.password-success{padding:15px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;background:#dce9de;color:#285637;font-size:13px;font-weight:700}.password-success svg{width:19px}.juhaina-panel{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.4fr);gap:13px}.juhaina-profile,.admin-journey{padding:21px;border:1px solid var(--line);border-radius:17px;background:var(--paper);box-shadow:0 8px 26px #1420390d}.juhaina-profile>span{display:grid;place-items:center;width:62px;height:62px;border-radius:18px;background:#17243c;color:#efcf8f}.juhaina-profile>span svg{width:28px}.juhaina-profile>div small{display:block;margin-top:15px;color:#96713b;font-size:9px;font-weight:700}.juhaina-profile h2{margin:1px 0;font-family:Aref Ruqaa,Naskh,serif;font-size:31px}.juhaina-profile p{margin:0;color:#7f7b72;font-size:11px}.juhaina-profile dl{margin:19px 0 0;display:grid;gap:7px}.juhaina-profile dl div{padding:11px;border-radius:10px;background:#f1eadf}.juhaina-profile dt{color:#817a6e;font-size:9px}.juhaina-profile dd{margin:3px 0 0;font-size:11px;font-weight:700}.admin-journey ol{list-style:none;padding:0;margin:0}.admin-journey li{display:grid;grid-template-columns:31px minmax(0,1fr) auto;gap:9px;align-items:center;padding:11px 0;border-bottom:1px solid #e8dfd1}.admin-journey li:last-child{border-bottom:0}.admin-journey li>span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#eee0c8;color:#9b7136}.admin-journey svg{width:14px}.admin-journey strong{font-size:11px}.admin-journey p{margin:2px 0 0;color:#7d796f;font-size:9px}.admin-journey time{direction:ltr;color:#8b8579;font-size:9px}@media(max-width:760px){.settings-button,.refresh-button,.admin-mobile-logout{width:37px;min-height:37px;padding:6px}.admin-header-actions{gap:4px}.settings-view,.juhaina-panel{margin-top:-44px}.settings-view{min-height:calc(100dvh - 200px);padding:13px}.password-card{padding:22px 17px;border-radius:17px}.password-modal{padding:13px}.juhaina-panel{grid-template-columns:1fr;gap:9px}.juhaina-profile,.admin-journey{padding:16px 13px;border-radius:16px;box-shadow:none}.admin-journey li{grid-template-columns:29px minmax(0,1fr)}.admin-journey time{grid-column:2;text-align:right}.mobile-admin-nav button{min-width:0;flex:1}.mobile-admin-nav button span{font-size:8px}}@font-face{font-family:Cormorant;src:url(/fonts/cormorant-garamond-latin.woff2) format("woff2");font-style:normal;font-weight:400 600;font-display:swap}@font-face{font-family:Cormorant;src:url(/fonts/cormorant-garamond-italic.woff2) format("woff2");font-style:italic;font-weight:400 600;font-display:swap}@font-face{font-family:Naskh;src:url(/fonts/noto-naskh-arabic.woff2) format("woff2");font-style:normal;font-weight:400 600;font-display:swap}@font-face{font-family:Aref Ruqaa;src:url(/fonts/arabic/ArefRuqaa-Regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Aref Ruqaa;src:url(/fonts/arabic/ArefRuqaa-Bold.ttf) format("truetype");font-style:normal;font-weight:700;font-display:swap}:root{font-family:Cormorant,Georgia,serif;color:#fff0d2;background:#080d18;font-synthesis:none;font-weight:400;--paper:#f8f0df;--ink:#303523;--muted:#b2b5b5;--gold:#edc782;--ease:cubic-bezier(.2,.65,.25,1);color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:280px}button,input,textarea{font:inherit;color:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;touch-action:manipulation}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}a{color:inherit;text-decoration:none}button svg,a svg{flex-shrink:0;stroke-width:1.4}::selection{background:#eed19c;color:#162039}p,h1,h2{margin-top:0}button{min-height:44px}.experience{container-type:inline-size;position:relative;isolation:isolate;width:100%;max-width:480px;height:100svh;min-height:680px;max-height:1100px;margin:0 auto;overflow:hidden;background:#101a30;box-shadow:0 0 100px #0007}.skip-link{position:fixed;top:-100px;left:15px;background:var(--paper);color:var(--ink);padding:12px;z-index:100}.skip-link:focus{top:10px}.site-header{position:absolute;z-index:10;top:0;left:0;right:0;height:calc(72px + env(safe-area-inset-top));padding:calc(14px + env(safe-area-inset-top)) 23px 14px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#080e21b3,transparent);gap:12px}.brand{display:flex;gap:8px;align-items:center;font-size:25px;letter-spacing:-1px;font-variant-numeric:lining-nums;direction:ltr}.brand svg{color:var(--gold);width:15px}.site-header nav{display:flex;align-items:center;gap:7px;direction:ltr}.sound-button{display:grid;place-items:center;min-width:44px;height:44px;border-radius:50%;background:#0d152a55;color:#fce8c3;transition:background .2s;border:1px solid #ffecbf22}.sound-button span{display:none}.sound-button[aria-pressed=true]{background:#e7c38726;border-color:#e7c38766}.site-header nav button:hover{background:#e7c38726}.garden{position:absolute;inset:0;z-index:0;pointer-events:none;direction:ltr}.video-plane{position:absolute;top:50%;left:50%;width:auto;min-width:100%;height:100%;min-height:calc(100cqw * 1916 / 1080);aspect-ratio:1080/1916;transform:translate(-50%,-50%)}.garden-film{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;mask-image:linear-gradient(transparent,#000 6%,#000 86%,transparent)}.video-shade{position:absolute;inset:0;background:linear-gradient(#0f193019,transparent 40%,transparent 62%,#101a3055 78%,#101a30)}.scene-vignette{position:absolute;inset:0;background:linear-gradient(#0b142c33,transparent 24%,transparent 66%,#0d162cc7 82%,#0d162c);pointer-events:none}main{position:absolute;inset:0;z-index:4;pointer-events:none}main button,main a{pointer-events:auto}.waiting-content{position:absolute;inset:0;text-align:center}.sky-story{position:absolute;top:20.2%;left:30px;right:30px;text-shadow:0 2px 20px #071024a6;animation:emerge 1.6s var(--ease) both}.eyebrow{text-transform:uppercase;letter-spacing:2.1px;font-family:Georgia,serif;font-size:8px;color:#ead5b2;margin:0 0 8px}.date-title{font-size:clamp(86px,26cqw,125px);font-weight:400;line-height:.94;letter-spacing:-6px;margin:0 0 12px;font-variant-numeric:lining-nums;color:#fff0d4}.hero-heading{font-size:clamp(24px,6.7cqw,32px);font-weight:400;line-height:1.04;font-style:italic;white-space:pre-line;letter-spacing:-.25px;margin:0}.invitation-dock{position:absolute;bottom:calc(85px + env(safe-area-inset-bottom));left:28px;right:28px;animation:emerge 1.7s .3s var(--ease) both}.dock-kicker{font-size:12px;font-style:italic;letter-spacing:.3px;display:flex;align-items:center;justify-content:center;gap:12px;color:#ead2a5;margin:0 0 10px}.dock-kicker span{width:27px;height:1px;background:linear-gradient(90deg,transparent,#dbbc7777)}.dock-kicker span:last-child{rotate:180deg}.countdown{display:flex;justify-content:center;max-width:320px;margin:0 auto}.time-part{flex:1;min-width:0;position:relative;display:flex;flex-direction:column;align-items:center}.time-value{font-size:43px;font-variant-numeric:lining-nums tabular-nums;line-height:1;letter-spacing:-1px;font-weight:400;animation:tick-in .35s var(--ease)}.time-part+.time-part:before{content:":";position:absolute;left:-2px;top:6px;font-size:23px;color:#e0c79570}.time-label{text-transform:uppercase;letter-spacing:2px;font-family:Georgia,serif;font-size:7px;margin-top:6px;color:#d3c7b2}.event-date{font-family:Georgia,serif;font-size:8px;letter-spacing:1.3px;text-transform:uppercase;margin:18px -10px 17px;color:#d7c8ae;white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;border-radius:50px;min-height:50px;padding:12px 28px;font-size:20px;line-height:1.2;transition:transform .25s,box-shadow .25s,background .25s}.button:active{transform:scale(.98)}.button.primary{color:#342b1e;background:linear-gradient(110deg,#f4dfb5,#e5c187);border:1px solid #ffe8b9;box-shadow:0 3px 25px #e4b96a18;min-width:235px}.button.primary:hover{box-shadow:0 4px 28px #e4b96a3a;background:#f9e1b5}.button.full{width:100%}.join-button{position:relative;overflow:hidden}.join-button:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,#fff6 48%,transparent 62%);transform:translate(-160%);animation:button-shimmer 11s 4s infinite;pointer-events:none}.join-hint{font-size:12px;letter-spacing:.25px;color:#d1c7b7;margin:10px 0 0}.connection-status{font-size:12px;background:#101a30f0;border-radius:6px;padding:6px;margin:8px 0 -8px}.connection-status button{margin-inline-start:8px}.site-footer{position:absolute;z-index:5;bottom:calc(8px + env(safe-area-inset-bottom));left:23px;right:23px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0;color:#c3bdaf}.participant-count{order:-1;flex-basis:100%;display:flex;gap:7px;align-items:center;justify-content:center;color:#e1d0b3;font-size:11px;letter-spacing:.15px;margin-bottom:3px}.participant-count p{margin:0}.participant-count strong{font-weight:500}.participant-count svg{color:#d2ad72}.footer-share,.footer-privacy{font-size:11px;display:flex;align-items:center;gap:6px;min-height:36px;padding:7px 0}.footer-share svg{width:12px}.footer-share:hover,.footer-privacy:hover{color:#fff0d4}.footer-privacy{margin-inline-start:auto}.cat-hotspot{position:absolute;pointer-events:auto;z-index:3;border-radius:48%;padding:0;min-height:44px;outline-offset:0;touch-action:manipulation}.jojo-hotspot{left:2%;top:45%;width:28%;height:17%}.cookie-hotspot{left:76%;top:52%;width:20%;height:14%}.cat-focus-name{position:absolute;top:100%;left:50%;transform:translate(-50%);font-size:12px;border-radius:20px;background:#101a30d9;padding:4px 14px;opacity:0;white-space:nowrap;color:#f7dfb7}.cat-hotspot:focus-visible .cat-focus-name,.cat-hotspot:hover .cat-focus-name{opacity:1}.cat-reaction{position:absolute;inset:0;pointer-events:none}.purr{position:absolute;bottom:90%;left:50%;transform:translate(-50%);color:#fff0d2;white-space:nowrap;text-shadow:0 1px 9px #091126;font-size:18px;animation:purr-rise 2.4s both;text-align:center}.purr i{display:block;color:#ffe0a0;font-style:normal;font-size:24px;line-height:1}.purr em{display:block;font-size:14px;margin-top:2px}.pet-heart{position:absolute;left:45%;top:32%;font-size:18px;color:#ffdd9a;font-style:normal;text-shadow:0 0 10px #efb143;opacity:0;animation:heart-rise 1.7s calc(var(--i)*.1s) both}.pet-ring{position:absolute;inset:20% 10%;border-radius:50%;border:1px solid #ffd481;box-shadow:0 0 20px #ffcf6755;animation:pet-ring 1.8s both}.butterflies{position:absolute;inset:0;overflow:hidden}.butterfly{position:absolute;width:22px;height:22px;top:43%;left:50%;offset-rotate:auto;offset-anchor:50% 50%;offset-path:path("M 0 0 C 30 -35, 65 -10, 42 26 S -20 55, -45 12 S -15 -35, 0 0");animation:butterfly-flight 19s linear infinite;filter:drop-shadow(0 0 4px #ffc259) drop-shadow(0 0 9px #ffb94780)}.butterfly-1{top:64%;left:44%;width:14px;height:14px;animation-duration:26s;animation-delay:-8s}.butterfly-2{top:29%;left:22%;width:13px;height:13px;animation-duration:31s;animation-delay:-16s}.butterfly-body{display:block;rotate:90deg;animation:butterfly-bob 2.3s infinite ease-in-out}.butterfly svg{width:100%;height:100%;overflow:visible}.wing-left,.wing-right{transform-origin:22px 23px;animation:wing-left .24s infinite ease-in-out}.wing-right{animation-name:wing-right;animation-delay:-15ms}.butterfly-1 .wing-left,.butterfly-1 .wing-right{animation-duration:.32s}.celebration-dust{position:absolute;inset:0;overflow:hidden;pointer-events:none}.celebration-dust i{position:absolute;left:var(--x);top:-20px;width:4px;height:7px;border-radius:70% 15%;background:#ffe3a2;box-shadow:0 0 7px #f9c660;animation:petal-fall var(--duration) var(--delay) linear infinite}.motion-paused .butterflies *,.motion-paused .celebration-dust *,.world-still *,.world-still *:before,.world-still *:after{animation-play-state:paused!important}.world-still .reveal-curtain,.world-still .reveal-curtain *{animation-play-state:running!important}.birthday-content{position:absolute;inset:0;text-align:center;animation:emerge 1.8s var(--ease) both}.birthday-content h1{position:absolute;top:18%;left:20px;right:20px;font-weight:400;line-height:1;margin:0;text-shadow:0 2px 20px #0b1630}.birthday-content h1 span{display:block;font-size:32px;font-style:italic}.birthday-content h1 em{display:block;font-size:78px;font-weight:400;line-height:1.05;letter-spacing:-2px;margin-top:5px}.birthday-subtitle{position:absolute;top:33%;left:25px;right:25px;font-size:15px;color:#f0dbb9}.cake-scene{position:absolute;top:42%;left:50%;transform:translate(-50%);width:225px;height:218px;margin:0;filter:drop-shadow(0 8px 15px #0005)}.cake-button{border-radius:40%;min-height:44px}.cake-image{filter:brightness(.87) sepia(.15)}.candles{transform:scale(.75);transform-origin:bottom;top:-2%}.wish-invitation{position:absolute;bottom:calc(178px + env(safe-area-inset-bottom));left:20px;right:20px}.wish-invitation h2{font-size:25px;font-style:italic;font-weight:400}.wish-invitation p{font-size:12px;color:#d4c6ad;margin:5px 0 0;letter-spacing:0}.birthday-content>.button{position:absolute;bottom:calc(112px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);white-space:nowrap;font-size:19px}.birthday-content .relight{position:absolute;bottom:calc(65px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);margin:0!important;min-height:44px!important;font-size:12px!important;white-space:nowrap}.birthday-content .waiting-reveal{display:none}.birthday-state .participant-count{margin-bottom:3px}.birthday-leave{position:absolute;z-index:6;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);font-size:12px;white-space:nowrap;margin:0;min-height:44px}.birthday-state .participant-count{display:none}.wish-petals{position:absolute;left:50%;top:35%;pointer-events:none}.wish-petals i{position:absolute;width:7px;height:13px;background:#f2c37c;border-radius:80% 15% 70% 20%;animation:wish-burst 2.8s var(--delay) var(--ease) both}.wish-petals i:nth-child(3n){background:#d9948c}.reveal-curtain{position:absolute;inset:0;z-index:40;background:radial-gradient(ellipse,#26354b,#0d172b);display:flex;flex-direction:column;align-items:center;justify-content:center;animation:curtain 4.2s ease both;padding:35px;text-align:center}.reveal-curtain p{font-size:34px;font-style:italic;animation:reveal-words 4.2s both}.reveal-flower img{width:45px;height:45px;filter:sepia(1) brightness(2);animation:reveal-mark 4.2s both}.loading-world{padding-top:30vh;text-align:center;font-size:24px}.dialog{color-scheme:light;position:fixed;inset:0;margin:0 auto;border:0;border-radius:0;max-width:480px;width:100%;height:100dvh;max-height:100dvh;color:#303523;background:#f8f0df;overflow:auto;overflow-x:hidden;box-shadow:0 0 80px #0008}.dialog::backdrop{background:#071023c7;backdrop-filter:blur(8px)}.dialog-inner{padding:calc(55px + env(safe-area-inset-top)) 27px calc(30px + env(safe-area-inset-bottom));min-height:100%;display:flex;flex-direction:column;justify-content:center}.dialog-close{top:calc(12px + env(safe-area-inset-top));inset-inline-end:15px}.dialog h2{font-size:39px;line-height:1.15;margin:10px 0 15px}.dialog-description{font-size:17px;line-height:1.5;margin-bottom:23px;color:#68705e}.invitation-mark{color:#a37e47;margin-bottom:12px}.form-row{grid-template-columns:1fr;gap:17px}.dialog form{text-align:start}.dialog label:not(.checkbox){font-size:15px}.dialog input,.dialog textarea{font-size:16px;min-height:49px;padding:12px 14px;border-color:#c9c2ad;background:#fffbf2;color:#303523}.dialog input::placeholder,.dialog textarea::placeholder{font-size:14px;color:#81806d}.dialog input:focus,.dialog textarea:focus{border-color:#9c7b43;box-shadow:0 0 0 2px #b9965330}.dialog input[type=checkbox]{min-height:19px;width:19px;height:19px;padding:0}.checkbox{font-size:14px;line-height:1.5;gap:12px}.field-foot{font-size:12px}.calendar-hint{font-size:14px;line-height:1.45}.dialog .button.primary{background:#263c37;border-color:#263c37;color:#fff2dc;box-shadow:none;min-height:51px}.dialog .button.primary:hover{background:#38564d}.dialog .button:focus-visible,.dialog a:focus-visible{outline-color:#496652}.fine-print{font-size:12px;color:#707561}.honeypot{position:absolute!important;left:0!important;top:0;width:1px;height:1px;clip-path:inset(50%);pointer-events:none;white-space:nowrap;overflow:hidden}.privacy-body{font-size:20px;line-height:1.7;text-align:start}.date-ticket>span{font-variant-numeric:lining-nums}.date-ticket{margin:30px 0;border-color:#cbc4b0}.date-ticket p{font-size:10px}.handwritten{color:#947143}.wishes-dialog .dialog-inner{padding:65px 27px 35px}.wishes-dialog h2{font-size:35px}.letter-garden{grid-template-columns:repeat(2,1fr);gap:24px 18px;padding:20px 9px 28px;max-height:none}.envelope{height:110px}.opened-letter{min-height:500px}.opened-letter blockquote{font-size:30px}.preview-label{background:#253450;color:#f5e6cc;font-size:9px}:lang(ar){font-family:Naskh,Georgia,serif}:lang(ar) .brand,:lang(ar) .date-title,:lang(ar) .time-value,:lang(ar) .date-ticket>span{font-family:Cormorant,Georgia,serif}:lang(ar) .eyebrow{font-family:Naskh,serif;letter-spacing:0;font-size:13px;margin-bottom:4px}:lang(ar) .hero-heading{font-size:28px;font-style:normal;line-height:1.2;letter-spacing:0}:lang(ar) .date-title{margin-bottom:8px}:lang(ar) .dock-kicker{font-style:normal;font-size:14px;letter-spacing:0;margin-bottom:6px}:lang(ar) .time-label{font-family:Naskh,serif;letter-spacing:0;font-size:11px;margin-top:3px}:lang(ar) .event-date{font-family:Naskh,serif;letter-spacing:0;font-size:12px;margin:11px 0 13px}:lang(ar) .button{font-size:19px;line-height:1.3;padding-block:10px}:lang(ar) .join-hint{font-size:13px;letter-spacing:0;margin-top:8px}:lang(ar) .participant-count{font-size:12px;letter-spacing:0}:lang(ar) .footer-privacy,:lang(ar) .footer-share{font-size:12px}:lang(ar) .birthday-content h1 span{font-size:29px;font-style:normal;line-height:1.3}:lang(ar) .birthday-content h1 em{font-size:69px;font-style:normal;line-height:1.3;letter-spacing:0;margin-top:0}:lang(ar) .birthday-subtitle{font-size:16px}:lang(ar) .wish-invitation h2{font-style:normal;font-size:26px}:lang(ar) .wish-invitation p{font-size:13px}:lang(ar) .dialog h2{font-size:34px;line-height:1.4;letter-spacing:0}:lang(ar) .dialog-description{font-size:17px;line-height:1.65}:lang(ar) .dialog input,:lang(ar) .dialog textarea{font-family:Naskh,serif;font-size:17px}:lang(ar) .dialog input[type=email]{font-family:Georgia,serif;font-size:16px}:lang(ar) .checkbox{font-size:15px;line-height:1.6}:lang(ar) .privacy-body{font-size:19px;line-height:1.9}:lang(ar) .opened-letter blockquote{font-style:normal}:lang(ar) .date-ticket p{letter-spacing:0;font-size:14px}:lang(ar) .purr em{font-style:normal}@media(max-height:740px){.sky-story{top:17%}.date-title{font-size:94px}.hero-heading{font-size:24px}.invitation-dock{bottom:75px}.dock-kicker{margin-bottom:5px}.time-value{font-size:37px}.event-date{margin:12px -10px}.join-hint{margin-top:7px}.site-footer{bottom:4px}.birthday-content h1{top:15%}.birthday-content h1 em{font-size:67px}.birthday-subtitle{top:31%}.cake-scene{width:185px;height:180px;top:38%}.wish-invitation{bottom:174px}.dialog-inner{justify-content:flex-start}:lang(ar) .hero-heading{font-size:25px}:lang(ar) .birthday-content h1 em{font-size:61px}}@media(max-width:350px){.site-header{padding-inline:16px}.site-header nav{gap:4px}.brand{font-size:23px}.sky-story{left:20px;right:20px}.eyebrow{font-size:7px;letter-spacing:1.7px}.invitation-dock{left:21px;right:21px}.event-date{letter-spacing:.8px;font-size:7.5px}.site-footer{left:20px;right:20px}.button.primary{min-width:225px}.birthday-content h1 span{font-size:29px}.birthday-subtitle{font-size:13px}.birthday-content h1 em{font-size:65px}.butterfly{scale:.8}.cake-scene{width:180px;height:180px;top:38%}.wish-invitation p{font-size:11px}}@keyframes button-shimmer{0%,85%{transform:translate(-160%)}to{transform:translate(160%)}}@keyframes butterfly-flight{to{offset-distance:100%}}@keyframes butterfly-bob{50%{translate:0 -5px}}@keyframes purr-rise{0%{opacity:0;translate:0 10px}18%,70%{opacity:1}to{opacity:0;translate:0 -25px}}@keyframes heart-rise{0%{opacity:0;transform:translate(0) scale(.5)}20%{opacity:1}to{opacity:0;transform:translate(var(--drift),-95px) scale(1.15)}}@keyframes pet-ring{0%{opacity:.8;scale:.5}to{opacity:0;scale:1.5}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-curtain,.reveal-curtain p,.reveal-flower img{opacity:1}.celebration-dust,.pet-heart,.pet-ring,.wish-petals{display:none}.purr{opacity:1}.button:hover{transform:none}.birthday-content>.button{transform:translate(-50%)}}.privacy-dialog{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:calc(100% - 36px);max-width:380px;height:auto;max-height:calc(100dvh - 36px);margin:0;padding:0;border:1px solid #ddc695;border-radius:27px;background:linear-gradient(145deg,#fffaf0,#f4ead5);overflow:hidden;box-shadow:0 28px 75px #050c1dcc,0 1px #fff inset}.privacy-dialog::backdrop{background:#071023b8;backdrop-filter:blur(10px)}.privacy-dialog .dialog-inner{position:relative;display:block;min-height:0;padding:31px 28px 27px;overflow:hidden}.privacy-dialog .dialog-inner:before{content:"";position:absolute;width:150px;height:150px;top:-92px;inset-inline-start:-72px;border-radius:50%;background:#e9c98538;pointer-events:none}.privacy-dialog .dialog-close{position:absolute;z-index:2;top:15px;inset-inline-end:15px;display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;border:1px solid #d7c39c;border-radius:50%;background:#fff9edcc;color:#3c493f;transition:transform .2s,background .2s}.privacy-dialog .dialog-close:hover{background:#efe1c8;transform:rotate(4deg)}.privacy-mark{display:grid;place-items:center;width:44px;height:44px;margin:0 0 17px;border:1px solid #cfad69;border-radius:15px;background:#17263e;color:#f0cf89;box-shadow:0 7px 20px #17263e20}.privacy-dialog h2{margin:0 0 11px;padding-inline-end:38px;font-family:Aref Ruqaa,Naskh,serif;font-size:31px;font-weight:700;line-height:1.3;color:#17263e}:lang(ar) .privacy-dialog .privacy-body{margin:0;color:#525b50;font-size:17px;line-height:1.85;text-align:start}.privacy-lock{position:relative;margin:18px 0 0;padding:13px 37px 13px 15px;border:1px solid #ddc797;border-radius:14px;background:#f1e3c8a8;color:#5c4930;font-size:14px;line-height:1.7;text-align:start}.privacy-lock:before{content:"✦";position:absolute;right:15px;top:12px;color:#a97a31}.garden-film{mask-image:linear-gradient(transparent,#000 6% 100%)}.video-shade{background:linear-gradient(#0f193019,transparent 40%,transparent 93%,#101a30b8)}.scene-vignette{background:linear-gradient(#0b142c33,transparent 24%,transparent 94%,#0d162cd9)}.site-footer{flex-wrap:nowrap;justify-content:center}.footer-privacy{margin:0;padding:7px 16px;color:#d8d0c0;font-size:12px;font-weight:600}.event-date{margin:9px -10px 3px;color:#f4d18c;font-family:Naskh,serif;font-size:14px;font-weight:600;-webkit-text-stroke:.25px currentColor;text-shadow:0 2px 3px #050a15,0 0 13px #050a15}.invitation-dock .message-count{color:#fff0d6;font-family:Naskh,serif;font-size:14px;font-weight:600;-webkit-text-stroke:.2px currentColor;text-shadow:0 2px 3px #050a15,0 0 13px #050a15}.invitation-dock .message-count strong{color:#f4d18c;font-size:21px;font-weight:600;-webkit-text-stroke:.2px currentColor}.waiting-state .garden-content{transition:none}.waiting-content .sky-story,.waiting-content .invitation-dock{animation:none}.garden-content-entered .garden-reveal{animation:garden-part-in .75s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0s) both}.reveal-header{--reveal-delay:0s}.reveal-eyebrow{--reveal-delay:.18s}.reveal-date{--reveal-delay:.38s}.reveal-countdown{--reveal-delay:.72s}.reveal-event-date{--reveal-delay:1s}.reveal-join{--reveal-delay:1.2s}.reveal-hint{--reveal-delay:1.4s}.reveal-footer{--reveal-delay:1.6s}@keyframes garden-part-in{0%{opacity:0;translate:0 12px;visibility:hidden}to{opacity:1;translate:0 0;visibility:visible}}.site-header .brand{gap:7px;letter-spacing:0}.site-header .brand-date{font-family:Cormorant,Georgia,serif;font-size:22px;font-weight:500;white-space:nowrap}.waiting-content .sky-story{top:auto;bottom:calc(50% + max(5%,8.88cqw) + 24px);left:24px;right:24px}.sky-story .sky-intro{font-family:Cormorant,Georgia,serif;font-size:23px;font-weight:500;font-style:italic;line-height:1.4;margin:0 0 8px;color:#f5dfb9}.sky-story .countdown{margin:20px auto 0}.waiting-content .date-title{display:flex;align-items:baseline;justify-content:center;gap:14px;line-height:1.05;letter-spacing:0;margin:4px 0 14px;font-size:clamp(78px,23cqw,110px);font-weight:500}.date-title .date-day{font-family:Cormorant,Georgia,serif;font-variant-numeric:lining-nums;letter-spacing:-3px}.date-title .date-month{font-family:Cormorant,Georgia,serif;font-size:clamp(32px,9cqw,43px);font-weight:500;letter-spacing:-.8px}:lang(ar) .site-header .brand-date{font-family:Aref Ruqaa,Naskh,serif;font-size:23px;font-weight:700}:lang(ar) .site-header .brand{direction:rtl}:lang(ar) .waiting-content .date-title{gap:18px;margin:4px 0 12px}:lang(ar) .date-title .date-month{font-family:Aref Ruqaa,Naskh,serif;font-size:clamp(42px,12cqw,57px);font-weight:700;letter-spacing:0}:lang(ar) .sky-story .sky-intro{font-family:Aref Ruqaa,Naskh,serif;font-size:26px;font-weight:700;font-style:normal;line-height:1.6;margin-bottom:5px}:lang(ar) .invitation-dock .join-button{font-family:Aref Ruqaa,Naskh,serif;font-size:23px;font-weight:700}:lang(ar) .invitation-dock .join-hint{font-size:14px;font-weight:500}:lang(ar) .invitation-dock .event-date{font-size:13px;font-weight:500}.countdown .time-value{display:flex;justify-content:center;height:1.14em;font-size:44px;line-height:1.14;font-weight:500;letter-spacing:0;animation:none}.time-value .digit-window{display:block;overflow:hidden;width:.54em;height:1.14em;font:inherit}.time-value .digit-stack{display:block;font:inherit}.time-value .digit-face{display:block;height:1.14em;line-height:1.14em;font-family:inherit;font-weight:inherit}.digit-stack.digit-rolling{transform:translateY(-50%);animation:digit-push-up .6s cubic-bezier(.22,.8,.25,1) both}@keyframes digit-push-up{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.countdown .time-part+.time-part:before{font-family:Cormorant,Georgia,serif;top:12px;left:-3px;line-height:1}.countdown .time-label{margin-top:7px}:lang(ar) .countdown .time-label{font-size:12px;font-weight:500}@media(max-height:740px){.waiting-content .date-title{font-size:76px;margin-bottom:6px}.sky-story .sky-intro{font-size:21px}.sky-story .countdown{margin-top:12px}:lang(ar) .date-title .date-month{font-size:45px}:lang(ar) .sky-story .sky-intro{font-size:24px}.countdown .time-value{font-size:39px}.countdown .time-part+.time-part:before{top:9px}}@media(max-width:350px){.site-header .brand-date{font-size:19px}:lang(ar) .site-header .brand-date{font-size:21px}.waiting-content .sky-story{left:20px;right:20px}.waiting-content .date-title{font-size:75px;gap:10px}.date-title .date-month{font-size:31px}:lang(ar) .date-title .date-month{font-size:42px}.sky-story .sky-intro{font-size:20px}:lang(ar) .sky-story .sky-intro{font-size:23px}}.cat-tap-cue{position:absolute;top:67%;left:50%;translate:-50% 0;display:flex;align-items:center;gap:5px;white-space:nowrap;pointer-events:none;color:#ffe6b6;animation:cat-cue-in .8s 2.1s both}.cookie-hotspot .cat-tap-cue{animation-delay:2.5s}.jojo-hotspot .cat-tap-cue{left:max(32%,calc(171.43% - 50cqw + 12px));translate:0 0}.cookie-hotspot .cat-tap-cue{left:auto;right:max(2%,calc(230% - 50cqw + 12px));translate:0 0}.cat-tap-icon{position:relative;display:grid;place-items:center;width:30px;height:30px;border:1px solid #efd093a6;border-radius:50%;background:#111c30c9;box-shadow:0 2px 12px #0004}.cat-tap-icon:after{content:"";position:absolute;inset:-1px;border:1px solid #f7d79c;border-radius:50%;animation:cat-tap-pulse 3.8s .8s infinite ease-out}.cookie-hotspot .cat-tap-icon:after{animation-delay:2.7s}.cat-tap-label{font-family:Cormorant,Georgia,serif;font-size:14px;font-weight:500;line-height:1.4;padding:2px 6px;border-radius:8px;background:#101a30b3;text-shadow:0 1px 5px #000}:lang(ar) .cat-tap-label{font-family:Naskh,serif;font-size:12px;font-weight:500}.cat-focus-name{transform:translate(-50%) translateY(5px) scale(.94);transition:opacity .28s,transform .28s;box-shadow:0 4px 16px #0006;border:1px solid #efd09366;font-family:Aref Ruqaa,Naskh,serif;font-size:15px;font-weight:700}.cat-hotspot:focus-visible .cat-focus-name,.cat-hotspot:hover .cat-focus-name{transform:translate(-50%) translateY(0) scale(1)}.cat-hotspot.is-hinting .cat-focus-name{animation:cat-name-hint 3.1s both cubic-bezier(.22,.8,.25,1)}.cat-hotspot.is-petted .cat-focus-name{opacity:0;animation:none}.jojo-hotspot.is-hinting .cat-focus-name{animation-delay:0s}.cookie-hotspot.is-hinting .cat-focus-name{animation-delay:1.2s}@keyframes cat-cue-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes cat-tap-pulse{0%{scale:1;opacity:.75}55%,to{scale:1.85;opacity:0}}@keyframes cat-name-hint{0%{opacity:0;transform:translate(-50%) translateY(7px) scale(.9)}18%,72%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-4px) scale(.96)}}.pet-butterfly{position:absolute;left:var(--start-x);top:var(--start-y);width:var(--size);height:var(--size);opacity:0;filter:drop-shadow(0 0 5px #ffc259);animation:pet-butterfly-flight var(--duration) var(--delay) both cubic-bezier(.2,.6,.35,1)}.pet-butterfly svg{display:block;width:100%;height:100%;overflow:visible}.pet-butterfly .wing-left,.pet-butterfly .wing-right{animation-duration:.3s}.cat-reaction .purr{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:18px;animation-duration:3s}.jojo-hotspot .cat-reaction .purr{left:max(32%,calc(171.43% - 50cqw + 12px));transform:none;align-items:flex-start}.cookie-hotspot .cat-reaction .purr{left:auto;right:max(2%,calc(230% - 50cqw + 12px));transform:none;align-items:flex-end}.cat-reaction .purr strong{padding:3px 11px 2px;border:1px solid #f4d49355;border-radius:999px;background:#0d172bbf;font-family:Aref Ruqaa,Naskh,serif;font-size:15px;line-height:1.35}.cat-reaction .purr strong,.cat-reaction .purr em{direction:rtl;unicode-bidi:isolate;text-align:right}.cat-reaction .purr em{padding:5px 10px 6px;border-radius:12px;background:#101a30d9;font-family:Naskh,serif;font-size:14px;font-weight:600;line-height:1.35;box-shadow:0 5px 18px #0006}.butterfly-pattern-1 .pet-butterfly{filter:drop-shadow(0 0 6px #fff0af) drop-shadow(0 0 9px #ffc259)}.butterfly-pattern-2 .pet-butterfly{animation-timing-function:cubic-bezier(.16,.72,.25,1)}@keyframes pet-butterfly-flight{0%{opacity:0;transform:translate(0) scale(.35) rotate(var(--tilt))}14%{opacity:1}52%{opacity:1;transform:translate(var(--curve),var(--mid-rise)) scale(.72) rotate(var(--mid-tilt))}78%{opacity:1}to{opacity:0;transform:translate(var(--drift),var(--rise)) scale(1) rotate(var(--tilt))}}.garden-intro .cat-tap-cue{visibility:hidden}.motion-paused .cat-tap-cue,.motion-paused .cat-tap-icon:after,.motion-paused .cat-reaction *{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){.garden-content-entered .garden-reveal{opacity:1;translate:none;visibility:visible}.digit-stack.digit-rolling{animation:none;transform:translateY(-50%)}.cat-tap-cue{opacity:1}.cat-tap-icon:after{display:none}.cat-hotspot.is-hinting .cat-focus-name{animation:none;opacity:1;transform:translate(-50%)}.pet-butterfly{animation:none;opacity:1;transform:translate(var(--drift),var(--rise)) scale(.8)}}
