:root{--gold:#d7a347;--gold2:#f4d18c;--ink:#f7ead0;--night:#070503;--panel:rgba(12,8,4,.78)}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0}body{overflow:hidden;background:radial-gradient(circle at 50% 18%,rgba(174,105,22,.22),transparent 34%),linear-gradient(145deg,#020202,#0d0803 50%,#020202);color:var(--ink);font-family:Georgia,"Times New Roman",serif}button{font:inherit}
.welcome{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:linear-gradient(rgba(2,2,2,.7),rgba(2,2,2,.9)),url("assets/pages/page-01.webp") center/cover no-repeat;transition:opacity .8s,visibility .8s}.welcome:before{content:"";position:absolute;inset:0;backdrop-filter:blur(14px)}.welcome-card{position:relative;display:grid;grid-template-columns:minmax(220px,390px) minmax(280px,480px);align-items:center;gap:clamp(28px,5vw,72px);width:min(1020px,94vw)}.welcome-cover{display:block;max-width:100%;max-height:82vh;border-radius:5px;box-shadow:0 30px 90px #000,0 0 0 1px rgba(236,187,90,.45),0 0 46px rgba(216,145,42,.2)}.eyebrow{margin:0 0 12px;color:var(--gold2);font-size:.9rem;letter-spacing:.18em;text-transform:uppercase}h1{margin:0;font-size:clamp(2.5rem,6vw,5.5rem);line-height:.95;font-weight:500;color:#f6d695}.subtitle{margin:20px 0 32px;font-size:clamp(1.05rem,2vw,1.45rem)}.open-button{display:inline-flex;gap:12px;align-items:center;justify-content:center;min-width:220px;padding:16px 28px;border:1px solid #f5cf80;border-radius:999px;background:linear-gradient(#f6d690,#c98d2f);color:#1b1003;font-weight:700;cursor:pointer;box-shadow:0 12px 34px #0008,inset 0 1px #fff9}.welcome.is-closed{opacity:0;visibility:hidden;pointer-events:none}
.reader{position:fixed;inset:0;display:grid;grid-template-rows:58px minmax(0,1fr) 72px;opacity:0;visibility:hidden;transition:opacity .7s .1s,visibility .7s .1s}.reader.is-open{opacity:1;visibility:visible}.topbar{z-index:10;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:8px max(12px,env(safe-area-inset-right)) 6px max(12px,env(safe-area-inset-left));background:linear-gradient(#000c,transparent)}.book-title{text-align:center;color:#e8c67d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{display:flex;gap:8px}.icon-button,.read-button,.nav-button{border:1px solid rgba(219,166,73,.45);color:#f3d59a;background:rgba(16,10,4,.68);box-shadow:inset 0 1px #fff1,0 6px 20px #0005;cursor:pointer}.icon-button{width:42px;height:42px;border-radius:50%;font-size:1.2rem}.read-button{height:42px;padding:0 14px;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.08em}.icon-button.is-playing{color:#1b1003;background:linear-gradient(#f7d99d,#c98d2f);animation:pulse 1.8s infinite}.orientation-hint{position:absolute;top:62px;left:50%;z-index:8;transform:translate(-50%,-12px);opacity:0;padding:8px 14px;border-radius:999px;background:#100b07e8;border:1px solid #d7a34766;color:#f4ddb0;font-size:.78rem;pointer-events:none;transition:.3s}.orientation-hint.is-visible{opacity:1;transform:translate(-50%,0)}
.book-stage{position:relative;min-height:0;display:grid;place-items:center;perspective:2800px;padding:6px clamp(14px,5vw,82px);touch-action:pan-y}.book{position:relative;display:grid;place-items:center;max-width:min(94vw,1500px);max-height:calc(100vh - 150px);transform-style:preserve-3d;filter:drop-shadow(0 26px 35px #000b)}.page{position:relative;display:grid;place-items:center;max-width:100%;max-height:inherit;transform-style:preserve-3d;backface-visibility:hidden}.page img{display:block;max-width:100%;max-height:inherit;width:auto;height:auto;object-fit:contain;user-select:none;border-radius:5px}.book:not(.cover-mode) .page img{box-shadow:0 0 0 1px #c89c5455}.book.cover-mode{max-width:min(72vw,780px)}.book-shadow{position:absolute;left:7%;right:7%;bottom:-26px;height:34px;background:radial-gradient(ellipse,#000b,transparent 68%);filter:blur(7px)}.page-stack{position:absolute;inset:6px -6px -6px 6px;border-radius:5px;background:#eee0c8;box-shadow:0 0 0 1px #63431e55}.stack-back{transform:translateZ(-10px)}.stack-front{inset:3px -3px -3px 3px;transform:translateZ(-4px)}.page-gloss{position:absolute;inset:0;border-radius:5px;pointer-events:none;background:linear-gradient(100deg,rgba(255,255,255,.09),transparent 13%,transparent 86%,rgba(0,0,0,.1))}.center-gutter{position:absolute;top:0;bottom:0;left:50%;width:5.5%;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(0,0,0,.16) 40%,rgba(255,255,255,.07) 52%,rgba(0,0,0,.15) 63%,transparent);mix-blend-mode:multiply;opacity:.72;pointer-events:none}.cover-mode .center-gutter{display:none}
.turn-zone{position:absolute;top:0;bottom:0;width:28%;z-index:6;border:0;background:transparent;cursor:pointer}.turn-zone.left{left:0}.turn-zone.right{right:0}.turn-zone:disabled{cursor:default}.controls{display:grid;grid-template-columns:54px minmax(150px,360px) 54px;justify-content:center;align-items:center;gap:14px;padding:8px 14px max(10px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#000b)}.nav-button{width:52px;height:52px;border-radius:50%;font-size:2rem}.nav-button:disabled{opacity:.25}.page-status{text-align:center;color:#e8cb91;font-size:.88rem}.progress-track{height:3px;margin-top:8px;border-radius:99px;background:#fff2;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,#9f6b22,#f1ca7c);transition:width .45s}
/* V7 turning leaf */
.turn-leaf{position:absolute;inset:0;z-index:20;transform-style:preserve-3d;pointer-events:none;will-change:transform,filter}.turn-leaf .leaf-face{position:absolute;inset:0;display:grid;place-items:center;backface-visibility:hidden;overflow:hidden;border-radius:5px}.turn-leaf img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.turn-leaf .leaf-back{transform:rotateY(180deg);background:#efe4cf}.turn-leaf .leaf-back img{transform:scaleX(-1);filter:sepia(.15) brightness(.94)}.turn-leaf:after{content:"";position:absolute;inset:0;border-radius:5px;background:linear-gradient(90deg,transparent 0%,transparent 55%,rgba(0,0,0,.08) 72%,rgba(0,0,0,.5) 98%);backface-visibility:hidden}.turn-leaf.next{transform-origin:left center;animation:turnNext 1.12s cubic-bezier(.32,.03,.16,1) forwards}.turn-leaf.prev{transform-origin:right center;animation:turnPrev 1.12s cubic-bezier(.32,.03,.16,1) forwards}.turn-leaf.prev:after{background:linear-gradient(270deg,transparent 0%,transparent 55%,rgba(0,0,0,.08) 72%,rgba(0,0,0,.5) 98%)}.book.turning-next .current-page{animation:revealNext 1.12s ease both}.book.turning-prev .current-page{animation:revealPrev 1.12s ease both}@keyframes turnNext{0%{transform:rotateY(0) translateZ(2px);filter:drop-shadow(0 0 0 transparent)}38%{transform:rotateY(-68deg) translateZ(18px) skewY(-.25deg);filter:drop-shadow(25px 18px 22px #0008)}72%{transform:rotateY(-132deg) translateZ(10px) skewY(.18deg);filter:drop-shadow(12px 12px 16px #0007)}100%{transform:rotateY(-180deg) translateZ(0);filter:drop-shadow(0 0 0 transparent)}}@keyframes turnPrev{0%{transform:rotateY(0) translateZ(2px)}38%{transform:rotateY(68deg) translateZ(18px) skewY(.25deg);filter:drop-shadow(-25px 18px 22px #0008)}72%{transform:rotateY(132deg) translateZ(10px) skewY(-.18deg);filter:drop-shadow(-12px 12px 16px #0007)}100%{transform:rotateY(180deg)}}@keyframes revealNext{0%{filter:brightness(.72)}60%{filter:brightness(.9)}100%{filter:brightness(1)}}@keyframes revealPrev{0%{filter:brightness(.72)}60%{filter:brightness(.9)}100%{filter:brightness(1)}}
.reading-overlay{position:fixed;inset:0;z-index:50;display:none;background:#020202;overflow:hidden;touch-action:none}.reading-overlay.is-open{display:block}.reading-canvas{position:absolute;inset:0;overflow:auto;display:flex;align-items:center;justify-content:center;padding:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.reading-image-wrap{}.reading-canvas img{display:block;max-width:100vw;max-height:100vh;width:auto;height:auto;transform-origin:center center;transition:transform .25s;user-select:none}.reading-chrome{position:absolute;z-index:5;top:max(12px,env(safe-area-inset-top));left:12px;right:12px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;opacity:0;transform:translateY(-12px);transition:.25s;pointer-events:none}.reading-overlay.show-chrome .reading-chrome{opacity:1;transform:none;pointer-events:auto}.reading-title{text-align:center;color:#eed39e;text-shadow:0 2px 10px #000}.pill{border:1px solid #d6a85688;border-radius:999px;padding:10px 15px;color:#f3d59a;background:#120c07df}.reading-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:50px;height:70px;border:0;border-radius:12px;background:#09060399;color:#f3d59a;font-size:2.4rem;opacity:0;transition:.25s}.reading-overlay.show-chrome .reading-arrow{opacity:1}.reading-arrow.prev{left:max(8px,env(safe-area-inset-left))}.reading-arrow.next{right:max(8px,env(safe-area-inset-right))}.reading-arrow:disabled{opacity:.15!important}.reading-status{position:absolute;z-index:4;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);padding:8px 14px;border-radius:999px;background:#090603b8;color:#e9cd98;font-size:.8rem;opacity:0;transition:.25s}.reading-overlay.show-chrome .reading-status{opacity:1}.toast{position:fixed;z-index:80;left:50%;bottom:96px;transform:translate(-50%,12px);padding:10px 16px;border:1px solid #d7a34766;border-radius:999px;background:#100b07eb;color:#f4ddb0;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes pulse{50%{box-shadow:0 0 0 7px rgba(215,163,71,0)}}
@media(max-width:760px){.welcome-card{grid-template-columns:1fr;text-align:center}.welcome-cover{justify-self:center;max-height:51vh}.welcome-copy{margin-top:-6px}.eyebrow{display:none}h1{font-size:clamp(2.1rem,11vw,3.7rem)}.subtitle{margin:12px 0 20px}.book-title{font-size:.9rem}.reader{grid-template-rows:54px minmax(0,1fr) 62px}.book-stage{padding:3px 8px}.book{max-width:98vw;max-height:calc(100vh - 122px)}.book.cover-mode{max-width:77vw}.controls{grid-template-columns:48px minmax(120px,240px) 48px}.nav-button{width:46px;height:46px}.icon-button{width:38px;height:38px}.read-button{height:38px;padding:0 11px}.top-actions{gap:5px}.center-gutter{width:7%}}
@media(max-width:760px) and (orientation:landscape){.reader{grid-template-rows:42px minmax(0,1fr) 42px}.topbar{padding-top:3px}.icon-button{width:34px;height:34px}.read-button{height:34px}.controls{padding:0 8px}.nav-button{width:36px;height:36px}.book{max-height:calc(100vh - 84px);max-width:99vw}.book.cover-mode{max-width:42vw}.page-status{font-size:.72rem}.progress-track{margin-top:4px}.orientation-hint{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* V7.1 hotfix: keep decorative paper stacks behind the visible artwork. */
.book-shadow{z-index:-3;pointer-events:none}
.page-stack{z-index:0;pointer-events:none}
.current-page{z-index:3;isolation:isolate}
.current-page>img{position:relative;z-index:1}
.page-gloss,.center-gutter{z-index:2}
.turn-leaf{z-index:20}

/* V7.2 — softer, more organic page movement + prominent music control */
.book-stage{padding-top:64px}
.music-cta{position:absolute;top:6px;left:50%;z-index:12;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:210px;height:48px;padding:0 24px;border:1px solid rgba(244,209,140,.78);border-radius:999px;background:linear-gradient(180deg,rgba(31,20,8,.96),rgba(12,8,4,.94));color:#f4d18c;font-weight:700;letter-spacing:.025em;cursor:pointer;box-shadow:0 10px 28px #0009,inset 0 1px rgba(255,255,255,.12);transition:transform .22s,background .22s,color .22s,box-shadow .22s}
.music-cta:hover{transform:translateX(-50%) translateY(-1px);box-shadow:0 14px 34px #000b,0 0 22px rgba(215,163,71,.16),inset 0 1px rgba(255,255,255,.15)}
.music-cta:active{transform:translateX(-50%) translateY(1px)}
.music-cta .music-note{font-size:1.35rem;line-height:1}
.music-cta.is-playing{color:#1b1003;background:linear-gradient(#f8dca2,#c98d2f);box-shadow:0 12px 34px #0009,0 0 24px rgba(215,163,71,.28),inset 0 1px #fff9}
.music-cta.is-playing .music-note{animation:musicFloat 1.3s ease-in-out infinite}
@keyframes musicFloat{50%{transform:translateY(-2px) rotate(-7deg)}}

/* Replace rigid hinge motion with an eased paper sweep and a travelling curl. */
.turn-leaf{overflow:visible;transform-origin:left center}
.turn-leaf.prev{transform-origin:right center}
.turn-leaf .leaf-face{transition:border-radius .2s;box-shadow:inset 0 0 0 1px rgba(92,57,22,.08)}
.turn-leaf:before{content:"";position:absolute;z-index:5;top:-1%;bottom:-1%;width:16%;opacity:0;pointer-events:none;filter:blur(.2px);background:linear-gradient(90deg,transparent,rgba(255,249,231,.52) 34%,rgba(96,57,19,.28) 66%,transparent);mix-blend-mode:soft-light}
.turn-leaf.next:before{right:-3%;animation:curlSweepNext 1.34s cubic-bezier(.22,.68,.18,1) forwards}
.turn-leaf.prev:before{left:-3%;transform:scaleX(-1);animation:curlSweepPrev 1.34s cubic-bezier(.22,.68,.18,1) forwards}
.turn-leaf.next{animation:softTurnNext 1.34s cubic-bezier(.22,.68,.18,1) forwards}
.turn-leaf.prev{animation:softTurnPrev 1.34s cubic-bezier(.22,.68,.18,1) forwards}
.book.turning-next .current-page,.book.turning-prev .current-page{animation:softReveal 1.34s ease-out both}
@keyframes softTurnNext{
  0%{transform:perspective(2400px) rotateY(0deg) translateX(0) translateZ(1px) skewY(0deg) scaleX(1);filter:drop-shadow(0 0 0 transparent)}
  16%{transform:perspective(2400px) rotateY(-9deg) translateX(-.15%) translateZ(7px) skewY(-.18deg) scaleX(.998);filter:drop-shadow(8px 8px 10px rgba(0,0,0,.22))}
  42%{transform:perspective(2400px) rotateY(-58deg) translateX(-1.2%) translateZ(25px) skewY(-.72deg) scaleX(.982);filter:drop-shadow(26px 20px 26px rgba(0,0,0,.48))}
  64%{transform:perspective(2400px) rotateY(-116deg) translateX(-1.35%) translateZ(22px) skewY(.42deg) scaleX(.976);filter:drop-shadow(20px 16px 22px rgba(0,0,0,.42))}
  84%{transform:perspective(2400px) rotateY(-163deg) translateX(-.35%) translateZ(7px) skewY(.12deg) scaleX(.996);filter:drop-shadow(7px 8px 10px rgba(0,0,0,.22))}
  100%{transform:perspective(2400px) rotateY(-180deg) translateX(0) translateZ(0) skewY(0) scaleX(1);filter:drop-shadow(0 0 0 transparent)}
}
@keyframes softTurnPrev{
  0%{transform:perspective(2400px) rotateY(0deg) translateX(0) translateZ(1px) skewY(0deg) scaleX(1);filter:drop-shadow(0 0 0 transparent)}
  16%{transform:perspective(2400px) rotateY(9deg) translateX(.15%) translateZ(7px) skewY(.18deg) scaleX(.998);filter:drop-shadow(-8px 8px 10px rgba(0,0,0,.22))}
  42%{transform:perspective(2400px) rotateY(58deg) translateX(1.2%) translateZ(25px) skewY(.72deg) scaleX(.982);filter:drop-shadow(-26px 20px 26px rgba(0,0,0,.48))}
  64%{transform:perspective(2400px) rotateY(116deg) translateX(1.35%) translateZ(22px) skewY(-.42deg) scaleX(.976);filter:drop-shadow(-20px 16px 22px rgba(0,0,0,.42))}
  84%{transform:perspective(2400px) rotateY(163deg) translateX(.35%) translateZ(7px) skewY(-.12deg) scaleX(.996);filter:drop-shadow(-7px 8px 10px rgba(0,0,0,.22))}
  100%{transform:perspective(2400px) rotateY(180deg) translateX(0) translateZ(0) skewY(0) scaleX(1);filter:drop-shadow(0 0 0 transparent)}
}
@keyframes curlSweepNext{0%{right:-5%;opacity:0;transform:scaleX(.35)}18%{opacity:.75}52%{right:42%;opacity:1;transform:scaleX(1.05)}82%{right:83%;opacity:.45;transform:scaleX(.5)}100%{right:96%;opacity:0;transform:scaleX(.2)}}
@keyframes curlSweepPrev{0%{left:-5%;opacity:0;transform:scaleX(-.35)}18%{opacity:.75}52%{left:42%;opacity:1;transform:scaleX(-1.05)}82%{left:83%;opacity:.45;transform:scaleX(-.5)}100%{left:96%;opacity:0;transform:scaleX(-.2)}}
@keyframes softReveal{0%{filter:brightness(.76) saturate(.96)}42%{filter:brightness(.84) saturate(.98)}100%{filter:brightness(1) saturate(1)}}

@media(max-width:760px){.book-stage{padding-top:58px}.music-cta{top:5px;min-width:190px;height:44px;padding:0 19px;font-size:.9rem}}
@media(max-width:760px) and (orientation:landscape){.book-stage{padding-top:43px}.music-cta{top:2px;height:36px;min-width:170px;padding:0 15px;font-size:.78rem}.music-cta .music-note{font-size:1.08rem}}

/* V8 — cinematic dual-entry welcome screen and embedded film */
.welcome{overflow:auto;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:radial-gradient(circle at 50% 12%,rgba(203,137,45,.2),transparent 34%),linear-gradient(rgba(2,2,2,.72),rgba(2,2,2,.93)),url("assets/pages/page-01.webp") center/cover no-repeat}
.welcome:before{backdrop-filter:blur(17px) saturate(.85)}
.welcome-shell{position:relative;z-index:1;width:min(1180px,95vw);margin:auto;text-align:center;padding:24px 0 18px}
.welcome-heading{margin-bottom:clamp(18px,3vh,34px)}
.welcome-heading .eyebrow{margin-bottom:9px}
.welcome-heading h1{font-size:clamp(2.2rem,5.3vw,5rem);line-height:.98;text-shadow:0 7px 34px #000}
.welcome-heading .subtitle{margin:12px 0 0;color:#f3dfbb}
.welcome-grid{display:grid;grid-template-columns:minmax(240px,1fr) minmax(240px,1fr);gap:clamp(22px,4.5vw,62px);align-items:start;width:min(900px,92vw);margin:0 auto}
.choice-card{display:grid;gap:16px;justify-items:center;min-width:0}
.choice-media{position:relative;display:grid;place-items:center;width:100%;height:clamp(285px,48vh,515px);padding:0;border:1px solid rgba(239,196,112,.45);border-radius:14px;overflow:hidden;background:#080604;cursor:pointer;box-shadow:0 28px 75px #000c,0 0 0 1px rgba(255,255,255,.035) inset;transition:transform .48s cubic-bezier(.2,.8,.2,1),box-shadow .48s, border-color .48s}
.choice-media:hover{transform:translateY(-7px) scale(1.018);border-color:rgba(248,214,147,.8);box-shadow:0 36px 90px #000e,0 0 44px rgba(209,146,49,.19)}
.book-choice .choice-media{background:radial-gradient(circle at 50% 46%,rgba(197,130,39,.18),transparent 60%),#050403}
.welcome-cover{display:block;width:auto;height:92%;max-width:94%;object-fit:contain;border-radius:5px;box-shadow:0 22px 55px #000,0 0 0 1px rgba(236,187,90,.42);transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.book-choice .choice-media:hover .welcome-cover{transform:perspective(1100px) rotateY(-5deg) rotateX(1.3deg) scale(1.025)}
.choice-glow{position:absolute;inset:auto 12% 3% 12%;height:18%;background:radial-gradient(ellipse,rgba(218,155,55,.24),transparent 68%);filter:blur(16px);pointer-events:none}
.video-preview video{width:100%;height:100%;object-fit:cover;transform:scale(1.015);transition:transform 1s cubic-bezier(.2,.8,.2,1),filter .5s;filter:saturate(.9) brightness(.9)}
.video-preview:hover video{transform:scale(1.065);filter:saturate(1.06) brightness(1)}
.video-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.12) 55%,rgba(0,0,0,.58));pointer-events:none}
.play-orbit{position:absolute;display:grid;place-items:center;width:76px;height:76px;border-radius:50%;border:1px solid rgba(255,228,176,.72);background:rgba(8,5,2,.45);box-shadow:0 0 0 10px rgba(255,255,255,.035),0 12px 34px #0009;backdrop-filter:blur(8px);transition:transform .35s,background .35s}
.video-preview:hover .play-orbit{transform:scale(1.1);background:rgba(198,134,44,.76)}
.play-icon{margin-left:5px;color:#fff0d1;font-size:1.55rem;text-shadow:0 2px 9px #000}
.choice-card .open-button{min-width:210px}
.video-button{background:linear-gradient(180deg,#2b1b0b,#100a04);color:#f4d18c;border-color:#e7b966}
.welcome-quote{max-width:830px;margin:clamp(24px,4vh,42px) auto 8px;padding:0 18px;color:#f7e6c5;font-size:clamp(1rem,2vw,1.32rem);line-height:1.55;font-style:italic;text-shadow:0 2px 16px #000}
.welcome-signature{color:#d8b774;font-size:.92rem;letter-spacing:.11em}
.welcome-signature span{display:inline-block;margin:0 6px;color:#d98b74;animation:heartBeat 2.4s ease-in-out infinite}
@keyframes heartBeat{0%,70%,100%{transform:scale(1)}78%{transform:scale(1.2)}86%{transform:scale(.96)}94%{transform:scale(1.12)}}

.video-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:rgba(0,0,0,.92);backdrop-filter:blur(14px);opacity:0;visibility:hidden;transition:opacity .45s,visibility .45s}
.video-overlay.is-open{opacity:1;visibility:visible}
.video-frame{position:relative;display:grid;place-items:center;width:min(1180px,96vw);height:min(88vh,760px);border-radius:16px;overflow:hidden;background:#000;box-shadow:0 35px 100px #000,0 0 0 1px rgba(239,196,112,.3)}
.video-frame>video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.video-close{position:absolute;z-index:5;top:12px;right:12px;width:46px;height:46px;border:1px solid rgba(244,209,140,.55);border-radius:50%;background:rgba(12,8,4,.72);color:#f6ddb0;font-size:2rem;line-height:1;cursor:pointer;backdrop-filter:blur(8px)}
.video-end-card{position:absolute;inset:0;z-index:4;display:grid;place-content:center;gap:22px;padding:24px;background:radial-gradient(circle at center,rgba(151,91,20,.28),transparent 42%),rgba(2,2,2,.88);opacity:0;visibility:hidden;transition:.5s;text-align:center}
.video-end-card.is-visible{opacity:1;visibility:visible}
.video-end-card p{margin:0;color:#f3d59a;font-size:clamp(1.8rem,4vw,3.5rem)}
.video-end-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

@media(max-width:760px){
  .welcome{place-items:start center}
  .welcome-shell{padding-top:8px}
  .welcome-heading{margin-bottom:16px}
  .welcome-heading h1{font-size:clamp(2rem,10vw,3.35rem)}
  .welcome-heading .subtitle{font-size:1rem}
  .welcome-grid{grid-template-columns:1fr 1fr;gap:12px;width:100%}
  .choice-media{height:min(42vh,360px);border-radius:10px}
  .welcome-cover{height:92%;max-width:96%}
  .play-orbit{width:58px;height:58px}
  .play-icon{font-size:1.15rem}
  .choice-card{gap:10px}
  .choice-card .open-button{min-width:0;width:100%;padding:13px 10px;font-size:.88rem}
  .welcome-quote{margin:20px auto 7px;font-size:.95rem;line-height:1.45}
  .welcome-signature{font-size:.78rem}
  .video-frame{width:100%;height:82vh;border-radius:10px}
}
@media(max-width:520px) and (orientation:portrait){
  .welcome-heading .eyebrow{display:none}
  .welcome-grid{align-items:start}
  .choice-media{height:34vh;min-height:225px}
  .welcome-heading h1{font-size:2.3rem}
}
@media(max-height:580px) and (orientation:landscape){
  .welcome-shell{padding:2px 0}
  .welcome-heading{margin-bottom:8px}
  .welcome-heading .eyebrow,.welcome-heading .subtitle{display:none}
  .welcome-heading h1{font-size:2rem}
  .welcome-grid{width:min(730px,88vw);gap:20px}
  .choice-media{height:55vh;min-height:240px}
  .choice-card{gap:8px}
  .choice-card .open-button{height:38px;padding:8px 18px}
  .welcome-quote{margin:8px auto 2px;font-size:.82rem}
  .welcome-signature{font-size:.72rem}
}

/* V9 — dikey video için mobil ve masaüstü sinematik oynatıcı */
.video-preview{background:#090603;isolation:isolate}
.video-preview .preview-blur{position:absolute;inset:-8%;z-index:0;width:116%;height:116%;object-fit:cover;filter:blur(18px) brightness(.58) saturate(.9);transform:scale(1.08);opacity:.9}
.video-preview .preview-main{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:contain;transform:none!important;filter:none!important;drop-shadow:0 10px 30px #000}
.video-preview .video-shade,.video-preview .play-orbit{z-index:2}
.video-frame{isolation:isolate;background:#030303}
.video-backdrop{position:absolute;inset:-7%;z-index:0;width:114%;height:114%;object-fit:cover;filter:blur(34px) brightness(.38) saturate(.95);transform:scale(1.12);pointer-events:none}
.video-frame>video#storyVideo{position:relative;z-index:1;width:auto;height:100%;max-width:100%;max-height:100%;aspect-ratio:9/16;object-fit:contain;background:#000;box-shadow:0 0 65px #000}
.video-close{z-index:8}
.video-end-card{z-index:7}
.video-overlay.is-open .video-frame{animation:videoReveal .48s cubic-bezier(.2,.8,.2,1) both}
@keyframes videoReveal{from{opacity:0;transform:scale(.965)}to{opacity:1;transform:scale(1)}}

@media (max-width:900px){
  .video-overlay{padding:0;background:#000;backdrop-filter:none}
  .video-frame{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;box-shadow:none;border:0}
  .video-frame>video#storyVideo{height:100dvh;width:auto;max-width:100vw;max-height:100dvh;object-fit:contain}
  .video-backdrop{inset:-12%;width:124%;height:124%;filter:blur(26px) brightness(.32);opacity:.92}
  .video-close{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:48px;height:48px;background:rgba(0,0,0,.66)}
}
@media (max-width:900px) and (orientation:landscape){
  .video-frame>video#storyVideo{height:100dvh;width:auto;max-width:min(56.25dvh,100vw);max-height:100dvh}
}
/* V9.1: mobile-data friendly single-video system */
.video-preview .video-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#090603;transform:scale(1);transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s;filter:saturate(.94) brightness(.9)}
.video-preview:hover .video-poster{transform:scale(1.035);filter:saturate(1.04) brightness(1)}
.video-poster-backdrop{position:absolute;inset:-8%;z-index:0;background:url('assets/video/ta-ki-poster.jpg') center/cover no-repeat;filter:blur(34px) brightness(.35) saturate(.9);transform:scale(1.12);pointer-events:none}
.video-frame>video#storyVideo{position:relative;z-index:1}


/* V9.3 — romantic hidden-meaning countdown + heartbeat */
.countdown-wrap{position:relative;display:grid;justify-items:center;margin:clamp(18px,3vh,30px) auto 10px;z-index:2}
.countdown-button{position:relative;display:flex;align-items:center;justify-content:center;gap:clamp(8px,1.6vw,20px);max-width:min(92vw,720px);padding:13px clamp(16px,3vw,34px);border:1px solid rgba(244,209,140,.5);border-radius:24px;background:linear-gradient(145deg,rgba(24,12,7,.86),rgba(7,4,3,.93));color:#f8dfaa;box-shadow:0 14px 42px rgba(0,0,0,.46),inset 0 1px rgba(255,255,255,.1),0 0 34px rgba(215,163,71,.12);cursor:pointer;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;overflow:hidden}
.countdown-button:before{content:"";position:absolute;inset:-2px;background:linear-gradient(110deg,transparent 25%,rgba(255,228,174,.16) 47%,transparent 68%);transform:translateX(-120%);animation:countdownShimmer 5s ease-in-out infinite;pointer-events:none}
.countdown-button:hover,.countdown-button:focus-visible{transform:translateY(-2px);border-color:rgba(255,224,162,.85);box-shadow:0 18px 50px rgba(0,0,0,.55),0 0 42px rgba(215,163,71,.22)}
.countdown-grid{display:flex;align-items:center;justify-content:center;gap:clamp(5px,1.25vw,14px)}
.countdown-unit{display:grid;min-width:clamp(48px,8vw,78px);text-align:center}
.countdown-unit strong{font-family:"Baskerville","Palatino Linotype",Georgia,serif;font-size:clamp(1.55rem,4vw,2.8rem);line-height:.95;font-weight:500;letter-spacing:.035em;text-shadow:0 0 18px rgba(244,209,140,.28)}
.countdown-unit small{margin-top:7px;font-family:Arial,sans-serif;font-size:clamp(.5rem,1.2vw,.68rem);letter-spacing:.19em;color:rgba(244,218,165,.72)}
.countdown-divider{margin-top:-15px;font-size:clamp(1.2rem,3vw,2rem);color:rgba(244,209,140,.45);animation:countdownBlink 1s steps(1,end) infinite}
.countdown-sparkle{font-size:clamp(.8rem,1.5vw,1.1rem);color:#e8bc67;animation:sparklePulse 2.4s ease-in-out infinite}
.countdown-sparkle:last-child{animation-delay:1.2s}
.countdown-reveal{display:grid;justify-items:center;max-height:0;opacity:0;transform:translateY(-8px);overflow:hidden;padding:0 18px;color:#f5d899;text-align:center;transition:max-height .55s ease,opacity .45s ease,transform .45s ease,padding .45s ease}
.countdown-reveal.is-visible{max-height:170px;opacity:1;transform:translateY(0);padding-top:14px}
.countdown-reveal>span{font-family:"Segoe Script","Brush Script MT","Lucida Handwriting",cursive;font-size:clamp(1.15rem,2.8vw,1.75rem);line-height:1.25}
.countdown-reveal small{margin-top:3px;font-family:Georgia,serif;font-size:.78rem;letter-spacing:.12em;color:rgba(245,216,153,.64)}
.heartbeat-scene{display:flex;align-items:center;justify-content:center;gap:10px;width:min(78vw,330px);height:34px;margin-bottom:3px}
.countdown-heart{color:#e2a05b;font-size:1.55rem;line-height:1;filter:drop-shadow(0 0 10px rgba(226,160,91,.45));animation:heartBeat 1.25s ease-in-out infinite}
.heartbeat-line{position:relative;display:block;flex:1;height:24px;overflow:hidden;opacity:.9}
.heartbeat-line:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(238,187,112,.45),transparent)}
.heartbeat-line i{position:absolute;inset:0;width:200%;background-repeat:repeat-x;background-size:160px 24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='24' viewBox='0 0 160 24'%3E%3Cpath d='M0 12h44l7-8 8 17 10-20 10 11h81' fill='none' stroke='%23e8b66d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");filter:drop-shadow(0 0 5px rgba(232,182,109,.5));animation:heartbeatTrace 2.5s linear infinite}
.countdown-reveal.is-visible .heartbeat-scene{animation:heartbeatGlow 1.25s ease-in-out infinite}
@keyframes countdownShimmer{0%,55%{transform:translateX(-120%)}75%,100%{transform:translateX(120%)}}
@keyframes countdownBlink{0%,48%{opacity:.35}49%,100%{opacity:.85}}
@keyframes sparklePulse{0%,100%{opacity:.35;transform:scale(.85) rotate(0)}50%{opacity:1;transform:scale(1.12) rotate(20deg)}}
@keyframes heartBeat{0%,100%{transform:scale(1)}10%{transform:scale(1.32)}18%{transform:scale(1)}28%{transform:scale(1.20)}38%{transform:scale(1)}}
@keyframes heartbeatTrace{from{transform:translateX(0)}to{transform:translateX(-160px)}}
@keyframes heartbeatGlow{0%,100%{filter:brightness(.92)}16%{filter:brightness(1.22)}32%{filter:brightness(1)}}
@media(max-width:620px){
  .countdown-wrap{margin-top:14px}
  .countdown-button{gap:6px;padding:11px 10px;border-radius:20px}
  .countdown-sparkle{display:none}
  .countdown-grid{gap:4px}
  .countdown-unit{min-width:48px}
  .countdown-divider{margin-top:-13px}
}
@media(max-height:760px) and (orientation:landscape){
  .countdown-wrap{margin:8px auto 2px}
  .countdown-button{padding:7px 16px}
  .countdown-unit strong{font-size:1.45rem}
  .countdown-unit small{margin-top:3px;font-size:.48rem}
  .countdown-reveal.is-visible{padding-top:7px}
}


/* V9.6 — Kader Küresi */
.welcome{overflow-y:auto;overflow-x:hidden;place-items:start center}
.fortune-section{position:relative;z-index:2;display:grid;justify-items:center;margin:clamp(22px,4vh,44px) auto 8px;padding:8px 0;width:min(92vw,760px)}
.fortune-invitation{margin:0 0 12px;font-family:"Segoe Script","Brush Script MT","Lucida Handwriting",cursive;font-size:clamp(1.25rem,2.7vw,2rem);color:#f6dda8;text-shadow:0 0 20px rgba(216,160,225,.38),0 2px 8px #000;letter-spacing:.02em}
.fortune-ball{position:relative;width:clamp(210px,27vw,330px);height:clamp(270px,34vw,410px);padding:0;border:0;background:transparent;cursor:pointer;filter:drop-shadow(0 28px 35px rgba(0,0,0,.75));transition:transform .55s cubic-bezier(.2,.8,.2,1);-webkit-tap-highlight-color:transparent}
.fortune-ball:hover,.fortune-ball:focus-visible{transform:translateY(-5px) scale(1.025);outline:none}
.fortune-aura{position:absolute;left:50%;top:43%;width:94%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(171,105,224,.28),rgba(74,134,231,.13) 42%,transparent 70%);filter:blur(16px);animation:fortuneAura 4.8s ease-in-out infinite}
.fortune-glass{position:absolute;left:50%;top:42%;width:88%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 38% 30%,rgba(255,255,255,.28),transparent 12%),radial-gradient(circle at 48% 54%,rgba(58,40,111,.32),rgba(7,12,36,.82) 66%,#03030b 100%);border:2px solid rgba(240,222,255,.48);box-shadow:inset -24px -28px 48px rgba(0,0,0,.62),inset 16px 15px 34px rgba(255,255,255,.13),0 0 32px rgba(134,98,220,.38),0 0 90px rgba(56,118,223,.18)}
.fortune-glass:after{content:"";position:absolute;inset:2.5%;z-index:20;border-radius:50%;border:1px solid rgba(255,255,255,.17);box-shadow:inset 0 0 24px rgba(255,255,255,.08);pointer-events:none}
.fortune-stars{position:absolute;inset:0;z-index:1;opacity:.72;background-image:radial-gradient(circle at 12% 25%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 72% 17%,#f6d4ff 0 1.2px,transparent 1.8px),radial-gradient(circle at 82% 68%,#b8d9ff 0 1px,transparent 1.7px),radial-gradient(circle at 31% 79%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 55% 43%,#fff 0 .8px,transparent 1.4px);background-size:72px 68px,91px 88px,64px 79px,83px 66px,52px 55px;animation:fortuneStars 18s linear infinite}
.fortune-mist{position:absolute;z-index:8;left:-30%;width:160%;height:36%;border-radius:50%;background:radial-gradient(ellipse,rgba(221,196,255,.32),rgba(103,118,230,.13) 46%,transparent 73%);filter:blur(12px);mix-blend-mode:screen;pointer-events:none}
.mist-one{top:23%;animation:fortuneMistOne 10s ease-in-out infinite}
.mist-two{top:57%;opacity:.65;animation:fortuneMistTwo 13s ease-in-out infinite reverse}
.fortune-memory{position:absolute;z-index:4;display:block;width:48%;height:55%;overflow:hidden;border-radius:46% 54% 42% 58%/55% 38% 62% 45%;opacity:0;filter:blur(.2px) saturate(.78) brightness(.72);mix-blend-mode:screen;box-shadow:0 0 28px rgba(207,177,255,.26)}
.fortune-memory img{width:100%;height:100%;object-fit:cover}
.memory-one{left:4%;top:17%;animation:memoryOne 18s ease-in-out infinite}
.memory-two{right:1%;top:20%;animation:memoryTwo 18s 4.5s ease-in-out infinite}
.memory-three{left:22%;bottom:3%;animation:memoryThree 18s 9s ease-in-out infinite}
.memory-four{right:17%;top:7%;animation:memoryFour 18s 13.5s ease-in-out infinite}
.future-clue{position:absolute;z-index:12;left:50%;top:50%;width:48%;height:48%;transform:translate(-50%,-48%) scale(.72);opacity:0;pointer-events:none;filter:drop-shadow(0 0 14px rgba(219,190,255,.72));transition:opacity .45s ease,transform .65s cubic-bezier(.2,.8,.2,1);}
.future-clue.is-visible{opacity:1;transform:translate(-50%,-48%) scale(1)}
.future-clue::before,.future-clue::after{content:"";position:absolute;box-sizing:border-box}
/* Tek taş yüzük */
.future-clue[data-clue="ring"]::before{left:30%;top:37%;width:40%;height:40%;border:7px solid #e8edf6;border-radius:50%;box-shadow:inset 0 0 5px #fff,0 0 12px rgba(212,228,255,.9);transform:rotate(-12deg)}
.future-clue[data-clue="ring"]::after{left:43%;top:18%;width:22%;height:22%;background:linear-gradient(135deg,#fff 8%,#c8e8ff 35%,#fefefe 58%,#9fc8f2 82%);clip-path:polygon(50% 0,88% 22%,100% 62%,50% 100%,0 62%,12% 22%);box-shadow:0 0 18px #fff,0 0 30px rgba(149,206,255,.8)}
/* Bebek: yüzü ve battaniyesi belirgin */
.future-clue[data-clue="baby"]::before{left:31%;top:14%;width:38%;height:38%;border-radius:50%;background:radial-gradient(circle at 40% 42%,#3a2419 0 2px,transparent 3px),radial-gradient(circle at 61% 42%,#3a2419 0 2px,transparent 3px),radial-gradient(ellipse at 50% 64%,#c47b6c 0 5%,transparent 6%),radial-gradient(circle at 50% 50%,#f3c8a8 0 67%,#704632 69% 76%,transparent 77%);box-shadow:0 0 14px rgba(255,220,200,.45)}
.future-clue[data-clue="baby"]::after{left:18%;top:43%;width:64%;height:48%;border-radius:48% 48% 34% 34%;background:repeating-linear-gradient(135deg,rgba(255,255,255,.18) 0 4px,transparent 4px 9px),linear-gradient(#f7f3ef,#d8e7f4);border:2px solid rgba(255,255,255,.85);box-shadow:inset 0 0 18px rgba(117,151,180,.3),0 0 18px rgba(210,229,255,.55)}
/* Ev: çatı, gövde ve sıcak pencereler */
.future-clue[data-clue="home"]::before{left:17%;top:36%;width:66%;height:48%;border-radius:5px;background:linear-gradient(#e9d6b7,#9b7654);border:2px solid rgba(255,235,197,.8);box-shadow:inset 0 -16px 18px rgba(72,39,15,.22),0 0 18px rgba(255,188,91,.35)}
.future-clue[data-clue="home"]::after{left:12%;top:10%;width:76%;height:48%;background:linear-gradient(135deg,transparent 49%,#6c2d22 50%) left,linear-gradient(225deg,transparent 49%,#6c2d22 50%) right;background-size:50% 100%;background-repeat:no-repeat;clip-path:polygon(50% 0,100% 62%,91% 62%,91% 100%,9% 100%,9% 62%,0 62%);filter:drop-shadow(0 4px 4px rgba(0,0,0,.4))}
.future-clue[data-clue="home"]{background:linear-gradient(#ffd36b,#ffba35) 34% 61%/13% 17% no-repeat,linear-gradient(#ffd36b,#ffba35) 66% 61%/13% 17% no-repeat,linear-gradient(#6b351c,#32190e) 50% 72%/15% 28% no-repeat}
/* Uçak */
.future-clue[data-clue="flight"]::before{left:10%;top:38%;width:80%;height:24%;background:linear-gradient(90deg,#dce7f0,#fff 45%,#9fb8cd);clip-path:polygon(0 45%,38% 38%,56% 0,64% 2%,59% 38%,100% 48%,100% 58%,59% 62%,64% 98%,56% 100%,38% 64%,0 58%);box-shadow:0 0 14px rgba(210,235,255,.8)}
.future-clue[data-clue="flight"]::after{left:5%;top:62%;width:74%;height:3px;background:linear-gradient(90deg,transparent,rgba(255,221,149,.9),transparent);filter:blur(2px)}
/* Kristal kalp */
.future-clue[data-clue="heart"]::before{left:27%;top:20%;width:46%;height:58%;background:linear-gradient(135deg,#fff4fb 0 12%,#ef8bb8 24%,#a3134f 58%,#ffb8d4 100%);transform:rotate(45deg);border-radius:50% 50% 8% 50%;box-shadow:inset 8px 8px 16px rgba(255,255,255,.45),0 0 24px rgba(255,80,151,.65)}
/* Mavi orkide */
.future-clue[data-clue="orchid"]::before{left:47%;top:17%;width:8%;height:70%;background:linear-gradient(#83b384,#355b40);border-radius:999px;transform:rotate(8deg)}
.future-clue[data-clue="orchid"]::after{left:19%;top:9%;width:67%;height:60%;background:radial-gradient(ellipse at 25% 36%,#b8d7ff 0 12%,#5e75c8 13% 24%,transparent 25%),radial-gradient(ellipse at 51% 21%,#d5e4ff 0 12%,#6d7fd0 13% 24%,transparent 25%),radial-gradient(ellipse at 74% 38%,#b8d7ff 0 12%,#5268bf 13% 24%,transparent 25%),radial-gradient(ellipse at 48% 58%,#8ea9f4 0 12%,#4051aa 13% 24%,transparent 25%);filter:drop-shadow(0 0 10px rgba(126,159,255,.8))}
/* Beyaz yolcu gemisi */
.future-clue[data-clue="ship"]::before{left:10%;top:47%;width:80%;height:29%;background:linear-gradient(#fff,#c6d4de);clip-path:polygon(5% 0,95% 0,82% 100%,18% 100%);border-bottom:8px solid #264d78;box-shadow:0 0 16px rgba(211,235,255,.55)}
.future-clue[data-clue="ship"]::after{left:30%;top:23%;width:42%;height:30%;background:linear-gradient(#e8f5ff,#a7c3d9);border:3px solid #fff;box-shadow:-18px 16px 0 -10px #fff,18px 16px 0 -10px #fff}
.fortune-glint{position:absolute;z-index:18;left:17%;top:10%;width:24%;height:12%;border-radius:50%;transform:rotate(-34deg);background:linear-gradient(135deg,rgba(255,255,255,.62),rgba(255,255,255,.08),transparent);filter:blur(1px)}
.fortune-base{position:absolute;z-index:-1;left:50%;bottom:4%;width:72%;height:26%;transform:translateX(-50%);border-radius:50% 50% 20% 20%/55% 55% 30% 30%;background:linear-gradient(90deg,#3e200c,#b17a32 19%,#f0c56e 45%,#744213 72%,#251006);border:1px solid rgba(255,220,145,.48);box-shadow:inset 0 5px 8px rgba(255,255,255,.16),inset 0 -12px 18px rgba(0,0,0,.6),0 20px 30px rgba(0,0,0,.62)}
.fortune-base:before{content:"";position:absolute;left:8%;right:8%;top:-17%;height:42%;border-radius:50%;background:radial-gradient(ellipse at 50% 35%,#eac276,#8b541c 55%,#2a1306 78%);border:1px solid rgba(255,224,158,.38);box-shadow:inset 0 5px 8px rgba(255,255,255,.15)}
.fortune-base i{position:absolute;left:16%;right:16%;bottom:12%;height:22%;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,230,165,.38),transparent)}
.fortune-whisper{margin:3px 0 0;font-size:.76rem;letter-spacing:.12em;color:rgba(233,211,250,.52);opacity:0;transform:translateY(-5px);transition:.5s}
.fortune-ball:hover+.fortune-whisper,.fortune-ball:focus-visible+.fortune-whisper,.fortune-ball.is-awake+.fortune-whisper{opacity:1;transform:none}
.fortune-ball.is-awake{animation:fortuneAwake 2.2s ease-in-out infinite}
.fortune-ball.is-awake .fortune-glass{box-shadow:inset -24px -28px 48px rgba(0,0,0,.48),inset 16px 15px 34px rgba(255,255,255,.18),0 0 38px rgba(198,128,255,.7),0 0 120px rgba(65,145,255,.35)}
.fortune-ball.is-awake .fortune-memory{animation-duration:8s}
.fortune-ball.is-awake .fortune-mist{animation-duration:5s}
@keyframes fortuneAura{0%,100%{transform:translate(-50%,-50%) scale(.9);opacity:.55}50%{transform:translate(-50%,-50%) scale(1.12);opacity:1}}
@keyframes fortuneStars{to{transform:rotate(360deg) scale(1.06)}}
@keyframes fortuneMistOne{0%,100%{transform:translateX(-12%) rotate(-4deg)}50%{transform:translateX(13%) rotate(5deg)}}
@keyframes fortuneMistTwo{0%,100%{transform:translateX(9%) rotate(4deg)}50%{transform:translateX(-14%) rotate(-5deg)}}
@keyframes memoryOne{0%,7%,28%,100%{opacity:0;transform:scale(.75) rotate(-8deg)}12%,22%{opacity:.58;transform:scale(1.03) rotate(1deg)}}
@keyframes memoryTwo{0%,8%,31%,100%{opacity:0;transform:scale(.74) rotate(7deg)}13%,24%{opacity:.53;transform:scale(1.02) rotate(-2deg)}}
@keyframes memoryThree{0%,9%,33%,100%{opacity:0;transform:scale(.72) rotate(-5deg)}15%,25%{opacity:.5;transform:scale(1.04) rotate(2deg)}}
@keyframes memoryFour{0%,9%,31%,100%{opacity:0;transform:scale(.7) rotate(6deg)}14%,23%{opacity:.48;transform:scale(1.02) rotate(-1deg)}}
@keyframes futureSign{0%,8%,24%,100%{opacity:0;transform:translateY(8px) scale(.72)}12%,18%{opacity:.72;transform:translateY(0) scale(1)}}
@keyframes fortuneAwake{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.018)}}
@media(max-width:620px){.fortune-section{margin-top:18px}.fortune-ball{width:210px;height:270px}.fortune-invitation{font-size:1.2rem;margin-bottom:6px}.fortune-whisper{font-size:.62rem;letter-spacing:.08em}.welcome-shell{padding-bottom:34px}}
@media(max-height:760px) and (orientation:landscape){.fortune-section{margin:12px auto 2px}.fortune-ball{width:165px;height:205px}.fortune-invitation{font-size:1rem;margin-bottom:2px}.fortune-whisper{display:none}}
@media(prefers-reduced-motion:reduce){.fortune-aura,.fortune-stars,.fortune-mist,.fortune-memory,.future-sign,.fortune-ball.is-awake{animation:none!important}.fortune-memory:first-of-type{opacity:.42}}


/* V10.3 — Sihirli kelime paneli */
.fortune-whisper{display:none!important}
.magic-panel{position:relative;z-index:25;width:min(92vw,560px);max-height:0;margin:0 auto;overflow:hidden;text-align:center;opacity:0;transform:translateY(-14px);transition:max-height .65s ease,opacity .45s ease,transform .55s ease,padding .55s ease}
.magic-panel.is-visible{max-height:310px;padding:13px 14px 8px;opacity:1;transform:none;overflow:visible}
.magic-title{margin:0;color:#f8dfa9;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1rem,2.2vw,1.28rem);font-weight:700;text-shadow:0 2px 10px #000,0 0 20px rgba(223,169,255,.32)}
.magic-hint{margin:7px 0 13px;color:rgba(242,220,250,.76);font-family:Georgia,"Times New Roman",serif;font-size:.84rem;font-style:italic}
.magic-input-wrap{display:flex;gap:9px;justify-content:center;align-items:center;transition:opacity .75s ease,filter .75s ease,transform .75s ease}
.magic-input-wrap.is-absorbed{opacity:0;filter:blur(9px) brightness(1.9);transform:scale(.88) translateY(-8px);pointer-events:none}
.magic-input{width:min(320px,62vw);min-height:44px;padding:10px 15px;border:1px solid rgba(226,184,255,.47);border-radius:999px;outline:none;background:linear-gradient(135deg,rgba(29,18,45,.82),rgba(8,8,22,.9));box-shadow:inset 0 0 18px rgba(176,116,235,.12),0 0 22px rgba(87,82,182,.14);color:#fff3cf;font:600 .95rem Georgia,"Times New Roman",serif;text-align:center;transition:.3s}
.magic-input::placeholder{color:rgba(240,218,250,.52);font-style:italic}
.magic-input:focus{border-color:rgba(255,219,139,.83);box-shadow:inset 0 0 20px rgba(225,170,255,.2),0 0 27px rgba(217,164,255,.31)}
.magic-submit{min-height:44px;padding:10px 17px;border:1px solid rgba(239,193,92,.62);border-radius:999px;background:linear-gradient(180deg,rgba(90,51,14,.92),rgba(31,17,5,.95));box-shadow:inset 0 1px rgba(255,239,186,.2),0 7px 20px rgba(0,0,0,.38);color:#f7dfa5;font:700 .86rem Georgia,"Times New Roman",serif;cursor:pointer;transition:.25s}
.magic-submit:hover,.magic-submit:focus-visible{transform:translateY(-2px);box-shadow:inset 0 1px rgba(255,239,186,.28),0 9px 25px rgba(0,0,0,.45),0 0 18px rgba(236,186,86,.22);outline:none}
.magic-result{min-height:42px;margin:9px 0 0;color:#f7dfa5;font-family:Georgia,"Times New Roman",serif;line-height:1.35;text-shadow:0 2px 9px #000}
.magic-result strong,.magic-result span{display:block}
.magic-result span{margin-top:3px;color:rgba(235,213,241,.72);font-size:.78rem;font-style:italic}
.magic-panel.is-success .magic-result{font-size:1.05rem;animation:magicSuccess 1.35s ease-in-out infinite alternate}
.magic-panel.is-wrong .magic-input{animation:magicShake .42s ease;border-color:rgba(255,128,155,.54)}
.fortune-ball.is-listening .fortune-aura{animation-duration:2.8s}
.fortune-ball[data-magic-level="1"] .fortune-glass{box-shadow:inset -24px -28px 48px rgba(0,0,0,.55),inset 16px 15px 34px rgba(255,255,255,.16),0 0 38px rgba(91,151,255,.48),0 0 80px rgba(91,151,255,.2)}
.fortune-ball[data-magic-level="2"] .fortune-mist{animation-duration:7s;opacity:.9}
.fortune-ball[data-magic-level="3"] .fortune-stars{animation-duration:9s}.fortune-ball[data-magic-level="3"] .fortune-aura{filter:blur(13px);opacity:1}
.fortune-ball[data-magic-level="4"] .fortune-glass{box-shadow:inset -24px -28px 48px rgba(0,0,0,.4),inset 16px 15px 34px rgba(255,255,255,.2),0 0 42px rgba(255,201,104,.66),0 0 110px rgba(150,96,238,.42)}
.fortune-ball[data-magic-level="4"] .fortune-mist{animation-duration:3.8s;opacity:1}.fortune-ball[data-magic-level="4"] .fortune-stars{animation-duration:5.8s}
.fortune-ball.is-unlocked .fortune-mist{opacity:1;filter:blur(16px);animation-duration:3.4s}.fortune-ball.is-unlocked .future-sign{filter:brightness(1.35)}
@keyframes magicShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}50%{transform:translateX(6px)}75%{transform:translateX(-4px)}}
@keyframes magicSuccess{from{opacity:.78;text-shadow:0 0 8px rgba(255,219,132,.2)}to{opacity:1;text-shadow:0 0 18px rgba(255,219,132,.75),0 2px 9px #000}}
@media(max-width:620px){.magic-panel.is-visible{max-height:360px}.magic-input-wrap{flex-direction:column}.magic-input{width:min(82vw,340px)}.magic-submit{width:min(82vw,260px)}.magic-title{font-size:1rem}.magic-hint{font-size:.75rem}}


/* V10.4 — Site giriş kapısı */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.is-gated{overflow:hidden}
.site-gate{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:24px;background:#000;opacity:1;visibility:visible;transition:opacity .8s ease,visibility .8s ease}
.site-gate.is-open{opacity:0;visibility:hidden;pointer-events:none}
.gate-stars{position:absolute;inset:0;opacity:.55;background-image:radial-gradient(circle at 15% 23%,#fff 0 1px,transparent 1.7px),radial-gradient(circle at 72% 18%,#f5dbff 0 1.2px,transparent 1.8px),radial-gradient(circle at 83% 72%,#ffe8b0 0 1px,transparent 1.7px),radial-gradient(circle at 35% 81%,#fff 0 1px,transparent 1.5px);background-size:110px 100px,137px 121px,95px 117px,124px 99px;animation:gateStars 22s linear infinite;pointer-events:none}
.gate-card{position:relative;width:min(92vw,520px);padding:clamp(28px,5vw,48px);text-align:center;border:1px solid rgba(244,211,145,.4);border-radius:28px;background:linear-gradient(145deg,rgba(28,15,33,.86),rgba(8,5,14,.94));box-shadow:0 30px 90px rgba(0,0,0,.75),inset 0 1px rgba(255,255,255,.08),0 0 55px rgba(171,111,212,.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.gate-mark{width:62px;height:62px;margin:0 auto 20px;display:grid;place-items:center;border-radius:50%;color:#f2d29a;font-size:1.65rem;background:radial-gradient(circle,rgba(183,114,204,.32),rgba(62,30,72,.18));border:1px solid rgba(246,210,145,.4);box-shadow:0 0 30px rgba(203,136,221,.28);animation:gateHeart 2.4s ease-in-out infinite}
.gate-message{margin:0 auto 26px;max-width:420px;color:#f7dfaa;font-family:"Segoe Script","Brush Script MT","Lucida Handwriting",cursive;font-size:clamp(1.35rem,4vw,2.05rem);line-height:1.5;text-shadow:0 2px 12px #000,0 0 18px rgba(225,172,255,.22)}
.gate-form{display:grid;gap:12px}
.gate-input{width:100%;min-height:52px;padding:12px 18px;border:1px solid rgba(222,183,244,.44);border-radius:999px;outline:none;background:rgba(8,6,17,.72);color:#fff3cf;font:600 1rem Georgia,"Times New Roman",serif;text-align:center;letter-spacing:.04em;box-shadow:inset 0 0 20px rgba(167,100,203,.1);transition:.3s}
.gate-input::placeholder{color:rgba(235,214,241,.46);font-style:italic}
.gate-input:focus{border-color:rgba(248,211,138,.85);box-shadow:inset 0 0 22px rgba(217,154,235,.16),0 0 25px rgba(221,166,239,.22)}
.gate-submit{min-height:50px;padding:12px 20px;border:1px solid rgba(240,197,103,.62);border-radius:999px;background:linear-gradient(180deg,rgba(106,63,20,.96),rgba(40,22,7,.98));color:#f8dfa5;font:700 .95rem Georgia,"Times New Roman",serif;cursor:pointer;box-shadow:inset 0 1px rgba(255,241,193,.22),0 10px 25px rgba(0,0,0,.38);transition:.25s}
.gate-submit:hover,.gate-submit:focus-visible{transform:translateY(-2px);outline:none;box-shadow:inset 0 1px rgba(255,241,193,.3),0 12px 30px rgba(0,0,0,.48),0 0 20px rgba(236,188,91,.18)}
.gate-result{min-height:24px;margin:13px 0 0;color:#efc9dc;font:italic .86rem Georgia,"Times New Roman",serif}
.gate-card.is-wrong{animation:gateShake .42s ease}
.gate-card.is-wrong .gate-input{border-color:rgba(235,127,151,.72);box-shadow:0 0 20px rgba(217,92,126,.2)}
@keyframes gateStars{to{transform:translateY(-30px) rotate(.8deg)}}
@keyframes gateHeart{0%,100%{transform:scale(1);box-shadow:0 0 25px rgba(203,136,221,.22)}50%{transform:scale(1.08);box-shadow:0 0 42px rgba(226,170,239,.38)}}
@keyframes gateShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}
@media(max-width:520px){.site-gate{padding:16px}.gate-card{padding:28px 20px;border-radius:22px}.gate-message{font-size:1.35rem}.gate-mark{width:54px;height:54px}}
@media(prefers-reduced-motion:reduce){.gate-stars,.gate-mark,.gate-card.is-wrong{animation:none!important}}


/* V11 — Kürede eşit olasılıklı, tek ve daha anlaşılır altı gelecek ipucu */
.future-clue{width:54%;height:54%;filter:drop-shadow(0 0 16px rgba(220,196,255,.85));}
.future-clue.is-visible{animation:v11ClueFloat 1.5s ease-in-out both}
@keyframes v11ClueFloat{0%{opacity:0;transform:translate(-50%,-43%) scale(.7) rotate(-2deg)}24%{opacity:1;transform:translate(-50%,-49%) scale(1.04) rotate(1deg)}72%{opacity:1;transform:translate(-50%,-51%) scale(1) rotate(0)}100%{opacity:0;transform:translate(-50%,-57%) scale(.9) rotate(2deg)}}

/* Bebek yüzü: saç, kulaklar, gözler, burun ve gülümseme daha belirgin */
.future-clue[data-clue="baby"]::before{
  left:23%;top:11%;width:54%;height:54%;border-radius:48% 48% 46% 46%;
  background:
    radial-gradient(circle at 35% 43%,#2b1a12 0 3px,#fff 4px 6px,transparent 7px),
    radial-gradient(circle at 65% 43%,#2b1a12 0 3px,#fff 4px 6px,transparent 7px),
    radial-gradient(ellipse at 50% 58%,#e0a07d 0 4px,transparent 5px),
    radial-gradient(ellipse at 50% 70%,transparent 0 7px,#a95655 8px 10px,transparent 11px),
    radial-gradient(ellipse at 50% 10%,#68402a 0 22%,transparent 23%),
    radial-gradient(circle at 50% 50%,#f6ceb0 0 69%,#d99e7d 70% 74%,transparent 75%);
  box-shadow:0 0 20px rgba(255,220,198,.72),inset 0 -7px 12px rgba(175,102,69,.16)
}
.future-clue[data-clue="baby"]::after{
  left:10%;top:51%;width:80%;height:42%;border-radius:52% 52% 34% 34%;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.22) 0 5px,transparent 5px 11px),linear-gradient(180deg,#f8fbff,#b9d1e7);
  border:3px solid rgba(255,255,255,.9);box-shadow:inset 0 0 22px rgba(85,124,158,.35),0 0 20px rgba(205,229,255,.65)
}

/* Tek taş: iri kesim pırlanta ve platin halka */
.future-clue[data-clue="ring"]::before{
  left:25%;top:38%;width:50%;height:40%;border:9px solid #eef5ff;border-radius:50%;
  box-shadow:inset 0 0 7px #fff,0 0 15px rgba(223,237,255,.95),0 0 30px rgba(149,205,255,.45);transform:rotate(-12deg)
}
.future-clue[data-clue="ring"]::after{
  left:38%;top:8%;width:30%;height:32%;
  background:linear-gradient(135deg,#ffffff 0 15%,#b9e3ff 16% 33%,#ffffff 34% 52%,#86bcec 53% 70%,#fefefe 71% 100%);
  clip-path:polygon(50% 0,84% 15%,100% 46%,77% 100%,23% 100%,0 46%,16% 15%);
  box-shadow:0 0 22px #fff,0 0 42px rgba(132,205,255,.95);transform:rotate(3deg)
}

/* Uçak: gövde, kanatlar ve kuyruk daha okunaklı */
.future-clue[data-clue="flight"]::before{
  left:5%;top:35%;width:90%;height:30%;
  background:linear-gradient(90deg,#abc3d9 0,#fff 28%,#f7fbff 63%,#8faac1 100%);
  clip-path:polygon(0 44%,37% 37%,53% 0,63% 2%,58% 37%,92% 43%,100% 51%,92% 59%,58% 63%,63% 98%,53% 100%,37% 64%,0 57%);
  box-shadow:0 0 18px rgba(219,239,255,.9)
}
.future-clue[data-clue="flight"]::after{left:2%;top:67%;width:88%;height:4px;background:linear-gradient(90deg,transparent,#ffd98b 25%,rgba(255,255,255,.9) 55%,transparent);filter:blur(2px)}

/* Gemi: beyaz yolcu gemisi, güverte ve pencereler */
.future-clue[data-clue="ship"]::before{
  left:4%;top:48%;width:92%;height:31%;
  background:linear-gradient(180deg,#fff 0 42%,#d7e6ef 43% 78%,#234e77 79% 100%);
  clip-path:polygon(3% 0,97% 0,84% 100%,19% 100%);box-shadow:0 0 20px rgba(214,239,255,.75)
}
.future-clue[data-clue="ship"]::after{
  left:22%;top:18%;width:57%;height:35%;border-radius:5px 5px 1px 1px;
  background:repeating-linear-gradient(90deg,#dff3ff 0 8px,#557b9a 9px 12px),linear-gradient(#fff,#b9cfdf);
  border:3px solid #fff;box-shadow:-20px 18px 0 -11px #fff,20px 18px 0 -11px #fff,0 0 12px rgba(255,255,255,.55)
}

/* Kristal kalp */
.future-clue[data-clue="heart"]::before{
  left:25%;top:18%;width:50%;height:60%;
  background:linear-gradient(135deg,#fff1f7 0 10%,#ff9abd 20%,#cc1d5c 47%,#7f0637 69%,#ffb8d3 100%);
  transform:rotate(45deg);border-radius:50% 50% 8% 50%;
  box-shadow:inset 10px 10px 18px rgba(255,255,255,.5),0 0 28px rgba(255,67,139,.8)
}
.future-clue[data-clue="heart"]::after{left:43%;top:22%;width:12%;height:36%;background:linear-gradient(180deg,rgba(255,255,255,.9),transparent);transform:rotate(-28deg);border-radius:999px;filter:blur(2px)}

/* Mavi orkide: üç büyük taç yaprak, merkez ve yeşil sap */
.future-clue[data-clue="orchid"]::before{left:48%;top:23%;width:7%;height:66%;background:linear-gradient(#88bd88,#315d3d);border-radius:999px;transform:rotate(7deg);box-shadow:0 0 8px rgba(104,180,121,.55)}
.future-clue[data-clue="orchid"]::after{
  left:12%;top:4%;width:78%;height:65%;
  background:
    radial-gradient(ellipse at 25% 42%,#d8e8ff 0 14%,#718ce5 15% 30%,transparent 31%),
    radial-gradient(ellipse at 51% 21%,#eef5ff 0 13%,#8198ec 14% 29%,transparent 30%),
    radial-gradient(ellipse at 77% 42%,#d5e6ff 0 14%,#6078d4 15% 30%,transparent 31%),
    radial-gradient(ellipse at 38% 67%,#a9c0ff 0 12%,#536bc6 13% 27%,transparent 28%),
    radial-gradient(ellipse at 65% 67%,#a9c0ff 0 12%,#465bb6 13% 27%,transparent 28%),
    radial-gradient(circle at 51% 51%,#ffd968 0 6%,#9a52ba 7% 13%,transparent 14%);
  filter:drop-shadow(0 0 13px rgba(108,146,255,.95))
}

@media(max-width:560px){.future-clue{width:58%;height:58%}}


/* V12 — Gelecekten Hatıralar: tam ekran sinematik film şeridi */
.future-film{position:fixed;inset:0;z-index:1200;background:#020203;color:#f8ead0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s;overflow:hidden;font-family:Georgia,'Times New Roman',serif}
.future-film.is-open{opacity:1;visibility:visible}.future-film.is-closing{opacity:0}
.film-grain{position:absolute;inset:-50%;pointer-events:none;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");animation:filmGrain .25s steps(2) infinite;z-index:8}
@keyframes filmGrain{0%{transform:translate(0)}25%{transform:translate(-2%,1%)}50%{transform:translate(1%,-2%)}75%{transform:translate(2%,2%)}100%{transform:translate(-1%,-1%)}}
.film-perforation{position:absolute;left:0;right:0;height:26px;z-index:10;background:repeating-linear-gradient(90deg,#060606 0 18px,transparent 18px 34px);opacity:.9}.film-perforation.top{top:0}.film-perforation.bottom{bottom:0}
.film-toolbar{position:absolute;top:32px;left:0;right:0;z-index:14;display:flex;justify-content:space-between;align-items:center;padding:16px clamp(18px,4vw,64px);background:linear-gradient(180deg,rgba(0,0,0,.72),transparent)}
.film-brand{font-size:clamp(15px,2.2vw,25px);letter-spacing:.12em;text-transform:uppercase;color:#dfb766;text-shadow:0 0 18px rgba(223,183,102,.25)}.film-brand span{margin-right:.45em}.film-actions{display:flex;gap:10px}.film-control,.film-replay{border:1px solid rgba(223,183,102,.48);color:#f6dfb2;background:rgba(6,5,6,.55);backdrop-filter:blur(8px);cursor:pointer}.film-control{width:42px;height:42px;border-radius:50%;font-size:21px}.film-replay{padding:10px 16px;border-radius:999px;font:inherit}
.film-stage{position:absolute;inset:0;overflow:hidden;background:#030304}.film-slide{position:absolute;inset:0;opacity:0;transform:scale(1.025);transition:opacity .85s ease,transform 6s ease;display:grid;place-items:center;overflow:hidden}.film-slide.is-active{opacity:1;transform:scale(1)}.film-slide.is-leaving{opacity:0;transform:scale(.985)}
.film-image{position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover;filter:saturate(.88) contrast(1.06) brightness(.76);animation:kenBurns 6.5s ease-out both}.film-slide[data-direction='right'] .film-image{animation-name:kenBurnsRight}.film-slide[data-direction='left'] .film-image{animation-name:kenBurnsLeft}
@keyframes kenBurns{from{transform:scale(1.02)}to{transform:scale(1.11) translateY(-1%)}}@keyframes kenBurnsRight{from{transform:scale(1.03) translateX(-2%)}to{transform:scale(1.12) translateX(2%)}}@keyframes kenBurnsLeft{from{transform:scale(1.03) translateX(2%)}to{transform:scale(1.12) translateX(-2%)}}
.film-vignette{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,transparent 24%,rgba(0,0,0,.25) 68%,rgba(0,0,0,.86) 100%),linear-gradient(180deg,rgba(0,0,0,.18),transparent 35%,rgba(0,0,0,.58));z-index:2}
.film-caption{position:relative;z-index:4;text-align:center;max-width:min(88vw,950px);padding:30px;text-shadow:0 3px 22px #000}.film-kicker{display:block;color:#d8ad5d;font-size:clamp(12px,1.5vw,18px);letter-spacing:.28em;text-transform:uppercase;margin-bottom:14px}.film-title{margin:0;font-size:clamp(32px,6vw,82px);font-weight:400;line-height:1.03}.film-subtitle{margin:18px auto 0;font-size:clamp(16px,2.2vw,29px);line-height:1.45;color:#f0dfc3;max-width:760px}
.film-duo{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#000}.film-duo img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.05) brightness(.74)}.film-duo img:first-child{object-position:center 28%}.film-duo img:last-child{object-position:center 28%}.film-duo::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.25),transparent 35%,rgba(0,0,0,.35) 50%,transparent 66%,rgba(0,0,0,.25))}
.film-final{background:radial-gradient(circle at 50% 42%,#29170d 0,#080504 45%,#000 78%)}.film-final .film-caption{max-width:1000px}.film-final .film-title{font-size:clamp(29px,5vw,68px);line-height:1.2}.film-final .film-subtitle{color:#d8ad5d;font-size:clamp(19px,2.8vw,34px);margin-top:36px}.film-heart{font-size:clamp(42px,7vw,90px);color:#d9a94c;filter:drop-shadow(0 0 20px rgba(225,172,73,.7));animation:filmHeart 1.25s ease-in-out infinite}@keyframes filmHeart{50%{transform:scale(1.1)}}
.film-progress{position:absolute;left:clamp(18px,4vw,64px);right:clamp(18px,4vw,64px);bottom:53px;height:2px;background:rgba(255,255,255,.16);z-index:15}.film-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#8d5b19,#f4d28a);box-shadow:0 0 12px rgba(244,210,138,.65);transition:width .2s linear}.film-footer{position:absolute;left:clamp(18px,4vw,64px);right:clamp(18px,4vw,64px);bottom:29px;z-index:15;display:flex;justify-content:space-between;align-items:center;color:#bda982;font:12px ui-monospace,monospace;letter-spacing:.12em}.film-footer .film-replay{display:none}.future-film.is-ended .film-footer .film-replay{display:block}
body.film-open{overflow:hidden}.fortune-ball.is-unlocked{cursor:pointer}.magic-result .film-ready{display:block;margin-top:14px;color:#dfb766;font-size:.85em;letter-spacing:.08em}
@media(max-width:680px){.film-toolbar{top:24px;padding:12px 14px}.film-brand{max-width:70%;line-height:1.35}.film-control{width:38px;height:38px}.film-caption{padding:20px}.film-duo{grid-template-columns:1fr}.film-duo img{position:absolute;inset:0}.film-duo img:first-child{clip-path:polygon(0 0,100% 0,100% 51%,0 64%)}.film-duo img:last-child{clip-path:polygon(0 59%,100% 47%,100% 100%,0 100%)}.film-progress{bottom:48px}.film-footer{bottom:25px}.film-perforation{height:18px}}
@media(prefers-reduced-motion:reduce){.film-image,.film-grain,.film-heart{animation:none!important}.film-slide{transition:opacity .2s}}


/* V13 — Cinematic Edition */
.film-loading{background:radial-gradient(circle at 50% 45%,#26190d 0,#090604 42%,#000 78%)}
.film-loading .film-caption{transform:translate(-50%,-68%)}
.future-loader{position:absolute;left:50%;top:64%;z-index:8;width:min(520px,78vw);transform:translate(-50%,-50%);text-align:center;color:#dac18f;font-family:ui-monospace,monospace;letter-spacing:.08em}
.future-loader span{display:block;margin-bottom:16px;font-size:clamp(12px,2vw,16px)}
.future-loader-track{height:3px;background:rgba(255,255,255,.12);overflow:hidden;border-radius:999px;box-shadow:0 0 18px rgba(214,171,86,.15)}
.future-loader-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#7d4d15,#f3d18a,#fff2c4);animation:futureLoading 4.3s cubic-bezier(.2,.7,.2,1) .35s forwards;box-shadow:0 0 15px #d9a84f}

@keyframes futureLoading{to{width:100%}}
.film-ending .film-caption{bottom:17%;top:auto;transform:translateX(-50%)}
.film-ending .film-subtitle{font-style:italic;color:#f0d69a}
.film-end-actions{position:absolute;z-index:40;left:50%;bottom:8%;width:min(760px,90vw);transform:translate(-50%,24px);display:flex;gap:18px;justify-content:center;opacity:0;visibility:hidden;transition:opacity .8s ease,transform .8s ease,visibility .8s}
.film-end-actions.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0)}
.film-ending-button{appearance:none;min-width:min(310px,42vw);padding:15px 22px;border:1px solid rgba(232,193,111,.62);border-radius:16px;background:linear-gradient(180deg,rgba(49,34,16,.82),rgba(12,9,6,.9));color:#f2d69a;box-shadow:inset 0 0 20px rgba(222,180,93,.08),0 10px 36px rgba(0,0,0,.42);cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.film-ending-button:hover,.film-ending-button:focus-visible{transform:translateY(-3px) scale(1.025);border-color:#f4d386;box-shadow:inset 0 0 25px rgba(243,207,133,.15),0 0 25px rgba(217,168,71,.25),0 14px 40px rgba(0,0,0,.5)}
.film-ending-button b{display:block;font:600 clamp(16px,2vw,20px) Georgia,serif;letter-spacing:.03em}
.film-ending-button small{display:block;margin-top:6px;color:#bba981;font:12px/1.35 system-ui,sans-serif}
.film-secret-note{position:absolute;left:50%;bottom:112%;width:min(440px,80vw);transform:translate(-50%,10px);padding:17px 22px;border:1px solid rgba(226,186,105,.45);border-radius:14px;background:rgba(7,5,3,.9);color:#ead39e;opacity:0;pointer-events:none;transition:.6s ease;font:italic 15px/1.6 Georgia,serif;box-shadow:0 10px 34px rgba(0,0,0,.65)}
.film-secret-note.is-visible{opacity:1;transform:translate(-50%,0)}
.film-secret-note strong{color:#d5a344}
@media(max-width:640px){.film-end-actions{flex-direction:column;bottom:6%;gap:10px}.film-ending-button{width:100%;min-width:0;padding:12px 16px}.film-ending .film-caption{bottom:28%}.future-film.is-ended .film-progress,.future-film.is-ended .film-footer{opacity:.25}}

#filmCounter{display:none!important}


/* V14 — Wishing Genie / Netlify Forms */
.wish-genie{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:980;font-family:Georgia,'Times New Roman',serif}
.genie-lamp-button{position:relative;display:flex;align-items:center;gap:10px;border:1px solid rgba(230,192,111,.5);border-radius:999px;padding:9px 14px 9px 10px;background:linear-gradient(180deg,rgba(22,16,8,.93),rgba(6,5,4,.94));color:#f0d79d;box-shadow:0 10px 30px rgba(0,0,0,.48),inset 0 0 18px rgba(228,185,91,.08);cursor:pointer;transition:.3s ease;backdrop-filter:blur(10px)}
.genie-lamp-button:hover,.genie-lamp-button:focus-visible{transform:translateY(-3px);border-color:#f3d184;box-shadow:0 0 28px rgba(72,154,255,.24),0 14px 34px rgba(0,0,0,.55)}
.magic-lamp{position:relative;width:48px;height:35px;display:block;filter:drop-shadow(0 0 9px rgba(247,194,80,.5))}
.magic-lamp::before{content:"";position:absolute;left:8px;top:11px;width:28px;height:17px;border-radius:55% 45% 60% 50%;background:linear-gradient(145deg,#fff0a8,#c88a23 48%,#69400b);transform:rotate(-7deg);box-shadow:inset 3px 3px 5px rgba(255,255,255,.45)}
.magic-lamp::after{content:"";position:absolute;left:31px;top:10px;width:17px;height:7px;border:4px solid #d6a23e;border-left:0;border-radius:0 60% 60% 0;transform:rotate(-13deg)}
.magic-lamp i{position:absolute;left:4px;top:7px;width:12px;height:8px;border-radius:50%;background:#e8bb56;transform:rotate(-18deg);box-shadow:0 0 8px #f4d47c}
.magic-lamp b{position:absolute;left:13px;top:27px;width:24px;height:4px;border-radius:50%;background:#a96d16;box-shadow:0 2px 0 #4b2b08}
.lamp-sparkles{position:absolute;left:10px;top:-10px;color:#88d7ff;text-shadow:16px 8px 0 #eac66e,-5px 18px 0 #fff1b0;animation:genieSpark 2s ease-in-out infinite}
@keyframes genieSpark{50%{opacity:.35;transform:translateY(-4px) rotate(10deg)}}
.lamp-label{font-size:13px;letter-spacing:.06em;white-space:nowrap}
.genie-panel{position:fixed;inset:0;z-index:1500;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s}
.genie-panel.is-open{opacity:1;visibility:visible}
.genie-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 75% 80%,rgba(40,107,167,.22),transparent 35%),rgba(0,0,0,.76);backdrop-filter:blur(8px)}
.genie-card{position:absolute;left:50%;top:50%;width:min(560px,92vw);max-height:min(760px,90vh);overflow:auto;transform:translate(-50%,-46%) scale(.96);padding:clamp(25px,5vw,48px);border:1px solid rgba(230,190,104,.55);border-radius:28px;background:radial-gradient(circle at 50% 0,rgba(31,103,164,.22),transparent 38%),linear-gradient(180deg,rgba(18,14,11,.98),rgba(4,5,9,.98));box-shadow:0 35px 100px rgba(0,0,0,.75),inset 0 0 55px rgba(42,125,194,.08);text-align:center;color:#f7e7c7;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.genie-panel.is-open .genie-card{transform:translate(-50%,-50%) scale(1)}
.genie-close{position:absolute;right:16px;top:14px;width:39px;height:39px;border-radius:50%;border:1px solid rgba(231,195,117,.4);background:rgba(0,0,0,.28);color:#f0d394;font-size:25px;cursor:pointer;z-index:3}
.genie-smoke{height:58px;position:relative;margin:-10px auto 2px;width:150px;filter:blur(.2px)}
.genie-smoke i{position:absolute;bottom:0;left:50%;width:56px;height:56px;border-radius:50%;background:radial-gradient(circle,rgba(103,196,255,.35),rgba(64,93,214,.06) 70%,transparent);animation:smokeRise 2.8s ease-in-out infinite}
.genie-smoke i:nth-child(2){margin-left:-48px;animation-delay:-.9s}.genie-smoke i:nth-child(3){margin-left:22px;animation-delay:-1.7s}
@keyframes smokeRise{0%{transform:translate(-50%,22px) scale(.55);opacity:0}40%{opacity:.9}100%{transform:translate(-50%,-28px) scale(1.3);opacity:0}}
.genie-avatar{width:84px;height:84px;margin:-25px auto 18px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 42% 34%,#dbf5ff,#5596d2 43%,#17264f 75%);box-shadow:0 0 35px rgba(77,165,235,.42),inset 0 0 18px rgba(255,255,255,.3);position:relative}
.genie-face{font-size:42px;color:#fff1c2;transform:rotate(-16deg)}.genie-turban{position:absolute;top:-12px;color:#f0c768;font-size:30px;text-shadow:0 0 14px rgba(242,199,100,.65)}
.genie-view{display:none}.genie-view.is-visible{display:block;animation:genieView .5s ease both}@keyframes genieView{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.genie-eyebrow{margin:0 0 8px;color:#66c9ff;text-transform:uppercase;letter-spacing:.25em;font:11px system-ui,sans-serif}.genie-card h2{margin:0;color:#efcc7f;font-size:clamp(28px,5vw,42px);font-weight:400}.genie-copy{margin:14px auto 24px;color:#cbbda5;line-height:1.65;font-size:15px}
.wish-form{text-align:left}.wish-form label{display:block;margin-bottom:9px;color:#ead7af;font-size:15px}.wish-form textarea{width:100%;resize:vertical;min-height:132px;border:1px solid rgba(220,183,103,.42);border-radius:16px;padding:16px;background:rgba(2,8,16,.62);color:#fff4dc;font:16px/1.5 Georgia,serif;outline:none;box-shadow:inset 0 0 20px rgba(67,139,203,.06)}.wish-form textarea:focus{border-color:#82cfff;box-shadow:0 0 0 3px rgba(82,174,239,.12),inset 0 0 22px rgba(67,139,203,.08)}
.wish-submit,.wish-new{width:100%;margin-top:16px;padding:14px 18px;border:1px solid rgba(241,202,117,.66);border-radius:14px;background:linear-gradient(180deg,#88601f,#3f2809);color:#fff1c7;font:600 16px Georgia,serif;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.2);transition:.25s}.wish-submit:hover,.wish-new:hover{transform:translateY(-2px);box-shadow:0 0 25px rgba(89,177,240,.2),0 11px 28px rgba(0,0,0,.4)}.wish-submit[disabled]{opacity:.55;cursor:wait;transform:none}
.wish-status{min-height:20px;margin:11px 0 0;text-align:center;color:#e8b9a9;font:13px system-ui,sans-serif}.hidden-field{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.genie-success .wish-heart{font-size:58px;color:#d74b6b;text-shadow:0 0 25px rgba(221,65,104,.6);animation:wishPulse 1.35s infinite}@keyframes wishPulse{50%{transform:scale(1.13)}}.genie-success p{font-size:18px;color:#e8d6b8}.genie-success blockquote{margin:24px 0;padding:18px;border-top:1px solid rgba(226,185,98,.25);border-bottom:1px solid rgba(226,185,98,.25);color:#cbb994;font-style:italic;line-height:1.6}.wish-new{width:auto;min-width:220px}
body.genie-open{overflow:hidden}.film-open .wish-genie,.reading-overlay.is-open~.wish-genie{opacity:0;pointer-events:none}
@media(max-width:600px){.wish-genie{right:12px;bottom:max(12px,env(safe-area-inset-bottom))}.lamp-label{display:none}.genie-lamp-button{padding:8px}.magic-lamp{width:44px}.genie-card{padding:30px 20px 24px;border-radius:22px}.genie-copy br{display:none}}

/* V14.1 — Animated Wishing Genie theatre */
.genie-theatre .genie-backdrop{background:radial-gradient(circle at 27% 65%,rgba(45,112,186,.3),transparent 35%),radial-gradient(circle at 70% 30%,rgba(198,137,38,.16),transparent 28%),rgba(0,0,0,.84)}
.genie-stage{position:absolute;inset:5vh 5vw;display:grid;grid-template-columns:minmax(280px,42%) minmax(360px,560px);align-items:center;justify-content:center;gap:clamp(20px,5vw,80px);overflow:hidden}
.genie-character-wrap{position:relative;height:min(78vh,650px);display:grid;place-items:end center;transform:translateY(110%) scale(.55);opacity:0;filter:drop-shadow(0 35px 45px #0009)}
.genie-panel.is-open .genie-character-wrap{animation:genieEmerge 1.35s cubic-bezier(.16,.84,.25,1.08) .08s forwards}
@keyframes genieEmerge{0%{transform:translateY(110%) scale(.42) rotate(8deg);opacity:0}65%{opacity:1}100%{transform:translateY(0) scale(1);opacity:1}}
.genie-character{width:min(100%,390px);height:auto;transform-origin:50% 85%;animation:genieFloat 3.4s ease-in-out infinite 1.5s}
@keyframes genieFloat{50%{transform:translateY(-12px) rotate(-1deg)}}
.genie-head{transform-origin:170px 220px;animation:genieNod 4s ease-in-out infinite 1.8s}.genie-arm.left{transform-origin:110px 260px;animation:genieWave 2.4s ease-in-out 1.3s 2}.genie-arm.right{transform-origin:230px 260px;animation:genieWaveR 3.8s ease-in-out infinite 1.8s}
@keyframes genieNod{0%,75%,100%{transform:none}82%{transform:rotate(4deg)}90%{transform:rotate(-3deg)}}@keyframes genieWave{0%,100%{transform:rotate(0)}40%{transform:rotate(16deg)}}@keyframes genieWaveR{50%{transform:rotate(-7deg)}}
.genie-lamp-large{position:absolute;bottom:0;left:50%;transform:translateX(-50%) scale(1.7);filter:drop-shadow(0 0 18px #e8b44199)}
.genie-cloud{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(102,196,255,.38),rgba(42,81,176,.05) 65%,transparent 72%);filter:blur(4px);animation:cloudDrift 3s ease-in-out infinite}.cloud-one{width:190px;height:115px;bottom:50px;left:10%}.cloud-two{width:150px;height:100px;bottom:130px;right:2%;animation-delay:-1.4s}@keyframes cloudDrift{50%{transform:translate(12px,-18px) scale(1.12);opacity:.55}}
.genie-stars i{position:absolute;width:6px;height:6px;border-radius:50%;background:#ffe89f;box-shadow:0 0 16px #ffe89f;animation:starPop 2.8s infinite}.genie-stars i:nth-child(1){left:18%;top:18%}.genie-stars i:nth-child(2){left:38%;top:12%;animation-delay:-.8s}.genie-stars i:nth-child(3){right:24%;top:24%;animation-delay:-1.5s}.genie-stars i:nth-child(4){right:12%;bottom:18%;animation-delay:-2s}.genie-stars i:nth-child(5){left:9%;bottom:24%;animation-delay:-.3s}@keyframes starPop{50%{transform:scale(2);opacity:.25}}
.genie-speech{position:relative;width:min(100%,560px);padding:clamp(25px,4vw,44px);border:1px solid rgba(238,204,129,.72);border-radius:34px;background:radial-gradient(circle at 25% 0,rgba(55,138,207,.17),transparent 38%),linear-gradient(160deg,rgba(20,16,14,.97),rgba(4,8,17,.98));box-shadow:0 35px 90px #000b,inset 0 0 45px rgba(65,154,220,.08);color:#f7e7c7;opacity:0;transform:translateX(80px) scale(.92);text-align:center}
.genie-speech:before{content:"";position:absolute;left:-28px;top:44%;width:52px;height:52px;background:#0d1018;border-left:1px solid rgba(238,204,129,.72);border-bottom:1px solid rgba(238,204,129,.72);transform:rotate(45deg);border-radius:0 0 0 12px}
.genie-panel.is-open .genie-speech{animation:speechAppear .7s cubic-bezier(.2,.8,.2,1) .75s forwards}@keyframes speechAppear{to{opacity:1;transform:none}}
.genie-stage .genie-close{right:1vw;top:1vh;z-index:9}
.genie-panel.is-returning .genie-speech{animation:speechVanish .45s ease forwards}.genie-panel.is-returning .genie-character-wrap{animation:genieReturn 1.45s cubic-bezier(.7,0,.9,.4) .18s forwards}.genie-panel.is-returning .eye-right{animation:genieWink .55s ease 2}.genie-panel.is-returning .genie-head{animation:genieFarewell .75s ease 1}.genie-panel.is-returning .genie-lamp-large{animation:lampFlash 1.6s ease forwards}
@keyframes genieWink{50%{ry:1.5;transform:translateY(12px)}}@keyframes genieFarewell{45%{transform:rotate(-8deg) translateY(-5px)}}@keyframes speechVanish{to{opacity:0;transform:translateX(55px) scale(.85);filter:blur(8px)}}@keyframes genieReturn{0%{transform:translateY(0) scale(1);opacity:1}35%{transform:translateY(15%) scale(.78) rotate(-8deg)}100%{transform:translateY(110%) scale(.16) rotate(540deg);opacity:0;filter:blur(10px)}}@keyframes lampFlash{45%{filter:drop-shadow(0 0 55px #fff2a7);transform:translateX(-50%) scale(2.1)}100%{filter:drop-shadow(0 0 16px #e8b44199);transform:translateX(-50%) scale(1.7)}}
.genie-lamp-button.is-celebrating{animation:lampCelebrate 1.5s ease}@keyframes lampCelebrate{35%{transform:translateY(-8px) scale(1.08);box-shadow:0 0 45px #68cfff99}70%{transform:translateY(0) rotate(-3deg)}}
@media(max-width:820px){.genie-stage{inset:3vh 3vw;grid-template-columns:1fr;grid-template-rows:35vh minmax(0,1fr);gap:0;overflow:auto;padding:38px 0 20px}.genie-character-wrap{height:38vh;min-height:250px}.genie-character{width:min(55vw,245px)}.genie-lamp-large{transform:translateX(-50%) scale(1.25)}.genie-speech{width:min(94vw,560px);margin:-12px auto 0;border-radius:24px}.genie-speech:before{left:50%;top:-20px;transform:translateX(-50%) rotate(135deg);width:38px;height:38px}.genie-stage .genie-close{position:fixed;right:14px;top:14px}}

/* V14.2 — Desktop genie composition + responsive polish */
@media (min-width:821px){
  .genie-stage{
    inset:auto;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:min(1280px,92vw);
    height:min(760px,88vh);
    display:grid;
    grid-template-columns:minmax(320px,.88fr) minmax(520px,1.12fr);
    align-items:center;
    justify-items:center;
    gap:clamp(28px,4vw,72px);
    overflow:visible;
    padding:44px 54px 38px;
  }
  .genie-character-wrap{
    width:100%;
    height:min(680px,76vh);
    place-items:center;
    align-self:center;
  }
  .genie-character{
    width:min(390px,30vw);
    max-height:70vh;
  }
  .genie-lamp-large{bottom:10px}
  .genie-speech{
    width:min(620px,100%);
    max-height:78vh;
    overflow:auto;
    align-self:center;
    padding:clamp(30px,3vw,48px);
    border-radius:38px;
  }
  .genie-speech:before{left:-25px;top:50%;margin-top:-25px}
  .genie-stage .genie-close{position:fixed;right:22px;top:18px}
  .genie-copy{font-size:16px}
  .wish-form textarea{min-height:145px}
}

@media (min-width:821px) and (max-height:720px){
  .genie-stage{height:94vh;padding-top:28px;padding-bottom:22px}
  .genie-character-wrap{height:88vh}
  .genie-character{width:min(315px,27vw);max-height:66vh}
  .genie-lamp-large{transform:translateX(-50%) scale(1.35)}
  .genie-speech{max-height:86vh;padding:26px 34px}
  .genie-speech h2{font-size:34px}
  .genie-copy{margin:10px auto 16px;line-height:1.45}
  .wish-form textarea{min-height:105px}
}

/* Spoken affirmation shown briefly while the genie returns to the lamp. */
.genie-voice-caption{
  position:fixed;
  left:50%;
  bottom:max(30px,env(safe-area-inset-bottom));
  transform:translate(-50%,18px);
  z-index:1700;
  padding:11px 19px;
  border:1px solid rgba(238,204,129,.68);
  border-radius:999px;
  background:rgba(3,8,16,.9);
  color:#f5d58d;
  font:italic 17px Georgia,'Times New Roman',serif;
  box-shadow:0 0 28px rgba(81,177,255,.2),0 12px 35px #0009;
  opacity:0;
  pointer-events:none;
  transition:opacity .28s ease,transform .28s ease;
}
.genie-voice-caption.is-visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:820px){
  .genie-voice-caption{width:max-content;max-width:86vw;text-align:center;font-size:15px;bottom:18px}
}


/* V14.3 — realistic lamp genie, stable desktop/mobile composition */
.genie-character-wrap{
  position:relative;
  overflow:visible;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.genie-realistic{
  width:min(35vw,520px)!important;
  max-width:100%;
  height:auto!important;
  max-height:78vh;
  object-fit:contain;
  filter:drop-shadow(0 24px 42px rgba(0,0,0,.65)) drop-shadow(0 0 34px rgba(31,116,255,.2));
  animation:realGenieEnter 1.05s cubic-bezier(.18,.84,.24,1) both,realGenieFloat 4.4s ease-in-out 1.05s infinite;
  transform-origin:50% 92%;
}
.genie-panel.is-returning .genie-realistic{
  animation:realGenieReturn 1.45s cubic-bezier(.65,0,.95,.35) forwards!important;
}
@keyframes realGenieEnter{
  0%{opacity:0;transform:translateY(48%) scale(.3);filter:blur(12px) drop-shadow(0 0 50px #4ca9ff)}
  60%{opacity:1;transform:translateY(-2%) scale(1.04);filter:blur(0) drop-shadow(0 0 48px rgba(46,146,255,.5))}
  100%{opacity:1;transform:none}
}
@keyframes realGenieFloat{50%{transform:translateY(-10px) rotate(.7deg)}}
@keyframes realGenieReturn{
  0%{opacity:1;transform:translateY(0) scale(1)}
  30%{transform:translateY(4%) scale(.92) rotate(-2deg)}
  100%{opacity:0;transform:translateY(70%) scale(.18) rotate(18deg);filter:blur(10px) drop-shadow(0 0 70px #55b8ff)}
}
@media(min-width:821px){
  .genie-stage{
    grid-template-columns:minmax(360px,46vw) minmax(420px,560px)!important;
    justify-content:center!important;
    align-items:center!important;
    gap:clamp(28px,4vw,72px)!important;
    padding:clamp(30px,4vh,54px) clamp(34px,4vw,72px)!important;
  }
  .genie-character-wrap{height:min(82vh,780px)!important;min-height:560px!important}
  .genie-realistic{width:min(41vw,560px)!important;max-height:82vh!important}
  .genie-speech{align-self:center!important;max-height:84vh;overflow:auto}
}
@media(max-width:820px){
  .genie-stage{grid-template-rows:auto auto!important;min-height:100dvh!important;height:auto!important;overflow-y:auto!important;padding:56px 14px 26px!important}
  .genie-character-wrap{height:auto!important;min-height:300px!important;padding-top:4px}
  .genie-realistic{width:min(76vw,340px)!important;max-height:44vh!important}
  .genie-lamp-large{bottom:-4px!important}
  .genie-speech{margin:0 auto!important;width:min(94vw,560px)!important}
}


/* V14.7 — 300. Gün Sinematik Sürprizi */
.countdown-celebration{display:none;flex-direction:column;align-items:center;gap:.35rem;text-align:center;padding:.25rem 1rem}.countdown-celebration b{font-family:Georgia,serif;font-size:clamp(1.25rem,3.5vw,2rem);letter-spacing:.04em;color:#fff3c9;text-shadow:0 0 18px rgba(255,197,84,.65)}.countdown-celebration small{font-size:.78rem;color:#e6c985;letter-spacing:.05em}.countdown-button.is-celebration{min-width:min(92vw,520px);padding:1.05rem 1.35rem;border-color:rgba(255,202,99,.72);animation:annivButtonPulse 2.2s ease-in-out infinite}.countdown-button.is-celebration .countdown-grid{display:none}.countdown-button.is-celebration .countdown-celebration{display:flex}.countdown-button.is-celebration+.countdown-reveal{display:none!important}@keyframes annivButtonPulse{50%{box-shadow:0 0 36px rgba(255,183,70,.32),inset 0 0 20px rgba(255,225,160,.08);transform:translateY(-2px)}}
.anniversary300-overlay{position:fixed;inset:0;z-index:10050;background:#030205;color:#fff;display:none;overflow:hidden}.anniversary300-overlay.is-open{display:block;animation:annivFadeIn .7s ease both}.anniversary300-close{position:absolute;z-index:20;right:max(16px,env(safe-area-inset-right));top:max(14px,env(safe-area-inset-top));width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,224,163,.5);background:rgba(10,7,5,.62);color:#fff2cb;font-size:1.8rem;cursor:pointer;backdrop-filter:blur(10px)}.anniversary300-stars{position:absolute;inset:-20%;background:radial-gradient(circle at 20% 30%,rgba(255,220,150,.32) 0 1px,transparent 2px),radial-gradient(circle at 70% 60%,rgba(255,255,255,.28) 0 1px,transparent 2px),radial-gradient(circle at 40% 80%,rgba(255,193,100,.25) 0 1.5px,transparent 2px);background-size:90px 90px,130px 130px,170px 170px;animation:annivStars 22s linear infinite;pointer-events:none}.anniversary300-slideshow,.anniversary300-video-wrap,.anniversary300-surprise,.anniversary300-final{position:absolute;inset:0}.anniversary300-slideshow{display:grid;place-items:center}.anniversary300-bg,.anniversary300-video-blur{position:absolute;inset:-7%;background-position:center;background-size:cover;filter:blur(32px) brightness(.38) saturate(1.15);transform:scale(1.12);transition:background-image 1.1s ease}.anniversary300-image{position:relative;z-index:2;max-width:min(92vw,1100px);max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:18px;box-shadow:0 26px 85px rgba(0,0,0,.72);opacity:0;transform:scale(1.04);transition:opacity 1.05s ease,transform 8s ease}.anniversary300-image.is-visible{opacity:1;transform:scale(1.10)}.anniversary300-image.pan-left{transform:scale(1.11) translateX(-1.5%)}.anniversary300-image.pan-right{transform:scale(1.11) translateX(1.5%)}.anniversary300-vignette{position:absolute;inset:0;z-index:3;background:radial-gradient(ellipse at center,transparent 42%,rgba(0,0,0,.42) 78%,rgba(0,0,0,.8) 100%);pointer-events:none}.anniversary300-intro{position:absolute;z-index:5;inset:0;display:grid;place-items:center;text-align:center;padding:8vw;font-family:Georgia,serif;font-size:clamp(1.8rem,5vw,4.6rem);line-height:1.35;color:#fff6dd;text-shadow:0 3px 24px #000;opacity:0;transition:opacity .8s ease}.anniversary300-intro.is-visible{opacity:1}.anniversary300-progress{position:absolute;z-index:7;left:5%;right:5%;bottom:max(18px,env(safe-area-inset-bottom));height:2px;background:rgba(255,255,255,.15)}.anniversary300-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#c99037,#fff0b4);box-shadow:0 0 12px #e8ba63}.anniversary300-surprise{display:none;place-items:center;text-align:center;padding:2rem;background:radial-gradient(circle at center,rgba(77,41,95,.34),rgba(2,2,5,.96) 65%);z-index:10}.anniversary300-surprise.is-visible{display:grid;animation:annivFadeIn .9s ease both}.anniversary300-surprise p{font-family:Georgia,serif;font-size:1.3rem;color:#dcb86d}.anniversary300-surprise h2{font-family:Georgia,serif;font-size:clamp(2rem,6vw,4.5rem);max-width:900px;color:#fff4d0}.anniversary300-gift{font-size:clamp(4rem,13vw,8rem);animation:giftFloat 1.7s ease-in-out infinite}.anniversary300-surprise button{margin-top:1.5rem;border:1px solid #d9aa50;border-radius:999px;background:linear-gradient(135deg,#6e4817,#d8aa50);color:#fff7dc;padding:1rem 2rem;font-weight:700;font-size:1rem;cursor:pointer;box-shadow:0 0 32px rgba(221,169,76,.28)}.anniversary300-video-wrap{display:none;place-items:center;background:#000;z-index:12}.anniversary300-video-wrap.is-visible{display:grid}.anniversary300-video-wrap video{position:relative;z-index:2;max-width:100vw;max-height:100vh;width:auto;height:100%;object-fit:contain}.anniversary300-video-blur{background-image:url('assets/anniversary300/photo-01.webp');filter:blur(35px) brightness(.28)}.anniversary300-final{display:none;place-items:center;text-align:center;padding:2rem;background:radial-gradient(circle at 50% 40%,rgba(88,39,76,.28),#020204 68%);z-index:14}.anniversary300-final.is-visible{display:grid}.anniversary300-final-heart{font-size:clamp(3rem,10vw,6rem);color:#c83258;animation:annivHeart 1.1s ease-in-out infinite}.anniversary300-final p{font-family:Georgia,serif;font-size:clamp(2rem,6vw,5rem);line-height:1.3;color:#fff2d1;text-shadow:0 0 26px rgba(255,193,108,.25);max-width:1050px;white-space:pre-line}.anniversary300-final p.is-changing{animation:annivText .75s ease both}@keyframes annivFadeIn{from{opacity:0}to{opacity:1}}@keyframes annivStars{to{transform:translate3d(5%,4%,0) rotate(3deg)}}@keyframes giftFloat{50%{transform:translateY(-12px) rotate(3deg)}}@keyframes annivHeart{50%{transform:scale(1.16)}}@keyframes annivText{0%{opacity:0;transform:translateY(15px)}100%{opacity:1;transform:none}}
body.anniversary300-open{overflow:hidden}.anniversary300-overlay [hidden]{display:none!important}@media(max-width:700px){.anniversary300-image{max-width:96vw;max-height:82vh;border-radius:12px}.anniversary300-close{width:42px;height:42px}.anniversary300-video-wrap video{width:100%;height:auto;max-height:100vh}.anniversary300-intro{padding:15vw 8vw}.anniversary300-final p{font-size:clamp(1.8rem,8vw,3rem)}}
@media(prefers-reduced-motion:reduce){.anniversary300-image,.countdown-button.is-celebration,.anniversary300-stars,.anniversary300-gift,.anniversary300-final-heart{animation:none!important;transition:none!important}}

/* V14.8 — 300. Gün: kendi sesim vurgusu, caz/şehir atmosferi ve oynatma kontrolleri */
.anniversary300-audio-controls{position:absolute;z-index:9;left:50%;bottom:max(38px,calc(env(safe-area-inset-bottom) + 22px));transform:translateX(-50%)}
.anniversary300-audio-controls button{display:flex;align-items:center;justify-content:center;gap:.65rem;min-width:142px;padding:.78rem 1.2rem;border-radius:999px;border:1px solid rgba(255,218,147,.68);background:rgba(8,7,11,.66);color:#fff1c8;font:600 .86rem/1.1 system-ui,-apple-system,sans-serif;letter-spacing:.04em;box-shadow:0 8px 30px rgba(0,0,0,.35),inset 0 0 18px rgba(222,171,77,.08);backdrop-filter:blur(14px);cursor:pointer;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.anniversary300-audio-controls button:hover{transform:translateY(-2px);background:rgba(52,35,20,.78);box-shadow:0 10px 34px rgba(0,0,0,.45),0 0 18px rgba(226,179,91,.16)}
.anniversary300-audio-controls button:active{transform:scale(.97)}
#anniversary300AudioIcon{font-size:.98rem;color:#e6b85e}.anniversary300-intro{max-width:1100px;margin:auto}.anniversary300-image{filter:saturate(.92) contrast(1.03) brightness(.88)}
@media(max-width:700px){.anniversary300-audio-controls{bottom:max(34px,calc(env(safe-area-inset-bottom) + 20px))}.anniversary300-audio-controls button{min-width:132px;padding:.72rem 1rem;font-size:.8rem}}


/* V15 — Rayo girişinden sonra 300. gün kutlama sahnesi */
.entry-celebration{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;overflow:hidden;padding:24px;background:radial-gradient(circle at 50% 45%,rgba(74,22,63,.78),rgba(8,3,13,.98) 62%,#020103);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s ease,visibility .55s ease}
.entry-celebration.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.entry-celebration.is-leaving{opacity:0}
.entry-celebration-sky{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(255,105,180,.12),transparent 25%),radial-gradient(circle at 82% 28%,rgba(255,203,92,.12),transparent 23%),radial-gradient(circle at 50% 92%,rgba(168,95,255,.14),transparent 30%)}
.entry-celebration-content{position:relative;z-index:3;width:min(92vw,900px);text-align:center;color:#fff5d2;animation:entryContentRise 1.15s cubic-bezier(.2,.8,.2,1) both}
.entry-celebration-kicker{margin:0 0 12px;color:#efc987;font:italic clamp(.92rem,2vw,1.3rem) Georgia,serif;letter-spacing:.08em;text-shadow:0 0 18px rgba(255,189,102,.35)}
.entry-celebration h2{margin:0 auto;max-width:850px;font-family:"Segoe Script","Brush Script MT","Lucida Handwriting",cursive;font-size:clamp(2.2rem,7vw,5.8rem);font-weight:600;line-height:1.16;color:#ffe7a9;text-shadow:0 3px 15px #000,0 0 18px rgba(255,182,79,.72),0 0 42px rgba(255,92,165,.38)}
.entry-flower-crown{margin-bottom:18px;font-size:clamp(1.25rem,4vw,2.2rem);letter-spacing:.2em;filter:drop-shadow(0 0 12px rgba(255,175,210,.45));animation:entryCrownFloat 2.2s ease-in-out infinite}
.entry-celebration-heart{margin:20px auto 10px;font-size:clamp(2.2rem,6vw,4.5rem);color:#ff6f9f;text-shadow:0 0 18px #ff5d91,0 0 42px rgba(255,91,154,.75);animation:entryHeartBeat 1.15s ease-in-out infinite}
.entry-celebration-note{margin:0;color:#f6d8b0;font:italic clamp(1rem,2.5vw,1.45rem) Georgia,serif;letter-spacing:.06em}
.entry-firework{position:absolute;width:10px;height:10px;border-radius:50%;opacity:0;box-shadow:0 -74px 0 #ffd36e,52px -52px 0 #ff7fb7,74px 0 0 #fff0b5,52px 52px 0 #d895ff,0 74px 0 #ff8e8e,-52px 52px 0 #9fe6ff,-74px 0 0 #ffd36e,-52px -52px 0 #fff;animation:entryFirework 2.6s ease-out infinite}
.entry-firework:before,.entry-firework:after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 -42px 0 #fff,30px -30px 0 #f3b44c,42px 0 0 #ff88b7,30px 30px 0 #fff,0 42px 0 #d5a1ff,-30px 30px 0 #ffcf72,-42px 0 0 #9de8ff,-30px -30px 0 #fff4c6;transform:rotate(22.5deg)}
.fw-one{left:16%;top:28%;animation-delay:.1s}.fw-two{right:17%;top:24%;animation-delay:.75s}.fw-three{left:27%;bottom:22%;animation-delay:1.35s}.fw-four{right:25%;bottom:18%;animation-delay:1.95s}
.entry-petals:before,.entry-hearts:before{content:"🌸  ♥  🌹  ♥  🌸  ♥  🌺  ♥  🌸  ♥  🌹  ♥  🌸";position:absolute;left:-15%;top:-12%;width:130%;font-size:clamp(1rem,2vw,1.75rem);word-spacing:4vw;letter-spacing:2vw;white-space:nowrap;opacity:.72;animation:entryPetalFall 6.5s linear infinite;filter:drop-shadow(0 0 8px rgba(255,130,183,.45))}
.entry-hearts:before{content:"♥  ♡  ♥  ♡  ♥  ♡  ♥  ♡  ♥  ♡  ♥";top:20%;color:#ff709f;font-size:clamp(1.1rem,2.4vw,2rem);animation-duration:8s;animation-delay:-3s;opacity:.55}
@keyframes entryFirework{0%{transform:scale(.08);opacity:0}18%{opacity:1}58%{transform:scale(1);opacity:.95}100%{transform:scale(1.28);opacity:0}}
@keyframes entryPetalFall{0%{transform:translate3d(0,-18vh,0) rotate(0)}100%{transform:translate3d(8vw,125vh,0) rotate(18deg)}}
@keyframes entryContentRise{0%{opacity:0;transform:translateY(28px) scale(.96);filter:blur(7px)}100%{opacity:1;transform:none;filter:none}}
@keyframes entryCrownFloat{50%{transform:translateY(-8px) scale(1.03)}}
@keyframes entryHeartBeat{0%,100%{transform:scale(1)}15%{transform:scale(1.18)}28%{transform:scale(1)}42%{transform:scale(1.12)}55%{transform:scale(1)}}
@media(max-width:600px){.entry-celebration{padding:18px}.entry-celebration h2{font-size:clamp(2rem,11vw,3.4rem)}.entry-celebration-content{margin-top:-3vh}.entry-firework{transform-origin:center}.fw-three,.fw-four{bottom:14%}}
@media(prefers-reduced-motion:reduce){.entry-firework,.entry-petals:before,.entry-hearts:before,.entry-celebration-content,.entry-flower-crown,.entry-celebration-heart{animation:none!important}}


/* V16 — Film Kutumuz */
.movie-box{position:fixed;left:18px;bottom:18px;z-index:2200}
.movie-box-button{display:flex;align-items:center;gap:9px;border:1px solid rgba(213,168,70,.65);background:linear-gradient(135deg,rgba(23,16,8,.96),rgba(55,34,10,.96));color:#f6d88c;border-radius:999px;padding:11px 16px;box-shadow:0 10px 30px rgba(0,0,0,.42),0 0 24px rgba(212,160,53,.13);cursor:pointer;font-family:Georgia,serif;font-size:14px;transition:.25s ease}
.movie-box-button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 14px 34px rgba(0,0,0,.5),0 0 28px rgba(212,160,53,.23)}
.movie-box-icon{font-size:19px}.movie-box-label{white-space:nowrap}
.movie-box-panel{position:fixed;inset:0;z-index:3300;display:none;align-items:center;justify-content:center;padding:24px}
.movie-box-panel.is-open{display:flex}
.movie-box-backdrop{position:absolute;inset:0;background:rgba(1,1,2,.86);backdrop-filter:blur(10px)}
.movie-box-card{position:relative;width:min(720px,94vw);max-height:min(780px,88vh);overflow:auto;border:1px solid rgba(216,170,72,.55);border-radius:28px;padding:34px;background:
radial-gradient(circle at 18% 12%,rgba(73,42,91,.18),transparent 36%),
radial-gradient(circle at 84% 82%,rgba(182,111,32,.13),transparent 32%),
linear-gradient(180deg,#0b0b0f 0%,#100c08 100%);
box-shadow:0 28px 80px rgba(0,0,0,.65),0 0 55px rgba(222,169,63,.11);color:#f7e7bb}
.movie-box-close{position:absolute;right:16px;top:14px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(216,170,72,.55);background:#0d0b08;color:#eccb77;font-size:25px;cursor:pointer}
.movie-box-stars{text-align:center;color:#dfb755;letter-spacing:8px;font-size:19px}.movie-box-eyebrow{text-align:center;text-transform:uppercase;letter-spacing:.26em;font-size:11px;color:#cda453;margin:10px 0 6px}
.movie-box-card h2{text-align:center;font-family:Georgia,serif;font-size:clamp(30px,4vw,48px);font-weight:500;margin:0;color:#f2ce78}
.movie-box-copy{text-align:center;max-width:570px;margin:12px auto 26px;color:#dfd0ab;line-height:1.65}
.movie-form{margin:0 auto 24px}.movie-input-row{display:grid;grid-template-columns:1fr auto;gap:10px}
.movie-input-row input{min-width:0;border:1px solid rgba(212,165,66,.48);background:#07090e;color:#fff2cc;border-radius:16px;padding:15px 16px;font-size:16px;outline:none}
.movie-input-row input:focus{border-color:#efc869;box-shadow:0 0 0 3px rgba(239,200,105,.1)}
.movie-input-row button,.movie-draw-button,.movie-draw-actions button{border:1px solid #d8aa4d;background:linear-gradient(180deg,#b97b17,#704507);color:#fff1c6;border-radius:15px;padding:13px 18px;font-weight:700;cursor:pointer}
.movie-input-row button:disabled{opacity:.55;cursor:wait}.movie-status{min-height:20px;margin:9px 4px 0;color:#dfbf76;font-size:13px}
.movie-list-head{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid rgba(219,173,70,.18);padding-top:20px;margin-bottom:12px;color:#d9c59a}
.movie-draw-button{font-size:13px;background:linear-gradient(180deg,#6947a0,#382152);border-color:#8e6cb7}.movie-draw-button:disabled{opacity:.38;cursor:not-allowed}
.movie-list{display:grid;gap:9px;max-height:310px;overflow:auto;padding-right:4px}
.movie-empty{padding:28px 16px;text-align:center;border:1px dashed rgba(210,165,68,.28);border-radius:16px;color:#ad9d7b}
.movie-item{display:grid;grid-template-columns:36px 1fr 38px;align-items:center;gap:10px;border:1px solid rgba(220,175,75,.19);background:rgba(255,255,255,.025);border-radius:15px;padding:10px 11px}
.movie-item-index{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(217,169,65,.11);color:#e6bf64;font-size:12px}
.movie-item-title{font-size:15px;color:#f5e4ba;overflow-wrap:anywhere}.movie-remove{width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#8f7956;cursor:pointer;font-size:18px}.movie-remove:hover{background:rgba(255,90,90,.08);color:#e58d86}
.movie-draw-result{display:none;margin-top:22px;padding:24px;border:1px solid rgba(222,176,77,.45);border-radius:22px;text-align:center;background:radial-gradient(circle at 50% 0,rgba(126,75,161,.19),transparent 70%),rgba(7,6,8,.86)}
.movie-draw-result.is-visible{display:block;animation:movieReveal .6s ease both}.movie-draw-result p{margin:0;color:#d6c39b}.movie-draw-result strong{display:block;font-family:Georgia,serif;font-size:clamp(25px,4vw,38px);color:#f2cc74;margin:14px 0 18px}
.movie-draw-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.movie-box-footnote{text-align:center;font-size:11px;color:#766b58;margin:20px 0 0}
@keyframes movieReveal{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
body.movie-box-open{overflow:hidden}
@media(max-width:700px){
  .movie-box{left:10px;bottom:12px}.movie-box-button{padding:10px 12px}.movie-box-label{display:none}
  .movie-box-panel{padding:10px}.movie-box-card{width:100%;max-height:92vh;border-radius:22px;padding:28px 16px 22px}
  .movie-input-row{grid-template-columns:1fr}.movie-input-row button{width:100%}
  .movie-list-head{align-items:flex-start;flex-direction:column}.movie-draw-button{width:100%}
  .movie-box-copy{font-size:14px}.movie-box-card h2{font-size:31px}
}


/* V16.3 — Coming Soon */
.coming-soon-wrap{display:flex;justify-content:center;margin:28px auto 8px}
.coming-soon-button{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:12px;overflow:hidden;border:1px solid rgba(232,190,93,.72);border-radius:999px;padding:13px 22px;background:linear-gradient(135deg,rgba(33,19,8,.96),rgba(81,50,12,.96));color:#f8db8c;box-shadow:0 12px 34px rgba(0,0,0,.38),0 0 30px rgba(225,172,55,.15);font-family:Georgia,serif;letter-spacing:.12em;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}
.coming-soon-button:hover{transform:translateY(-2px) scale(1.025);box-shadow:0 16px 42px rgba(0,0,0,.46),0 0 36px rgba(225,172,55,.26)}
.coming-soon-gift{font-size:20px;filter:drop-shadow(0 0 10px rgba(255,210,102,.4))}
.coming-soon-label{font-size:13px;font-weight:700;white-space:nowrap}
.coming-soon-shine{position:absolute;inset:-60% auto -60% -40%;width:30%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,241,196,.55),transparent);animation:comingShine 3.8s ease-in-out infinite;z-index:-1}
@keyframes comingShine{0%,60%{left:-45%;opacity:0}72%{opacity:1}100%{left:120%;opacity:0}}
.coming-soon-overlay{position:fixed;inset:0;z-index:5200;display:none;align-items:center;justify-content:center;padding:24px}
.coming-soon-overlay.is-open{display:flex}
.coming-soon-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 38%,rgba(116,72,15,.18),transparent 30%),radial-gradient(circle at 20% 20%,rgba(255,215,128,.04),transparent 22%),rgba(0,0,0,.96);backdrop-filter:blur(7px)}
.coming-soon-card{position:relative;width:min(610px,94vw);overflow:hidden;border:1px solid rgba(228,185,84,.58);border-radius:30px;padding:46px 34px 38px;text-align:center;background:radial-gradient(circle at 50% 0%,rgba(115,74,20,.25),transparent 36%),linear-gradient(180deg,rgba(19,13,7,.98),rgba(5,4,3,.99));box-shadow:0 28px 90px rgba(0,0,0,.75),0 0 50px rgba(208,151,37,.12)}
.coming-soon-card:before{content:"";position:absolute;inset:9px;border:1px solid rgba(238,204,127,.13);border-radius:23px;pointer-events:none}
.coming-soon-close{position:absolute;right:16px;top:14px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(223,178,76,.48);background:#0d0905;color:#ebcb79;font-size:25px;cursor:pointer;z-index:2}
.coming-soon-stars{position:absolute;inset:0;pointer-events:none}
.coming-soon-stars i{position:absolute;width:4px;height:4px;border-radius:50%;background:#f1cf78;box-shadow:0 0 12px #e9bd5a;animation:comingTwinkle 2.4s ease-in-out infinite}
.coming-soon-stars i:nth-child(1){left:14%;top:20%}.coming-soon-stars i:nth-child(2){right:16%;top:24%;animation-delay:.6s}.coming-soon-stars i:nth-child(3){left:22%;bottom:25%;animation-delay:1.2s}.coming-soon-stars i:nth-child(4){right:23%;bottom:19%;animation-delay:1.7s}.coming-soon-stars i:nth-child(5){left:51%;top:13%;animation-delay:2s}
@keyframes comingTwinkle{0%,100%{opacity:.18;transform:scale(.7)}50%{opacity:1;transform:scale(1.6)}}
.coming-soon-icon{font-size:58px;margin-bottom:10px;filter:drop-shadow(0 0 22px rgba(242,190,72,.34));animation:comingFloat 3s ease-in-out infinite}
@keyframes comingFloat{50%{transform:translateY(-7px) rotate(2deg)}}
.coming-soon-eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.28em;font-size:10px;color:#b99243}
.coming-soon-card h2{font-family:Georgia,serif;font-size:clamp(34px,5vw,52px);font-weight:500;color:#f0cb72;margin:0 0 20px}
.coming-soon-copy{display:grid;gap:16px;max-width:500px;margin:0 auto;color:#e7dac0;font-size:clamp(16px,2.2vw,19px);line-height:1.7}
.coming-soon-copy strong{font-weight:500;color:#fff0c4}
.coming-soon-copy span:last-child{color:#f0d48d}
.coming-soon-patience{font-family:Georgia,serif;font-style:italic;color:#a9946b;margin:26px 0 20px}
.coming-soon-back{border:1px solid rgba(229,184,80,.62);border-radius:999px;padding:12px 24px;background:linear-gradient(135deg,#7b5116,#ae7b24);color:#fff5d9;font-family:Georgia,serif;font-size:15px;cursor:pointer;box-shadow:0 9px 24px rgba(0,0,0,.3);transition:.2s ease}
.coming-soon-back:hover{transform:translateY(-1px) scale(1.02)}
body.coming-soon-open{overflow:hidden}
@media(max-width:640px){
  .coming-soon-wrap{margin-top:22px}
  .coming-soon-button{padding:11px 16px}
  .coming-soon-overlay{padding:12px}
  .coming-soon-card{padding:42px 20px 30px;border-radius:24px}
  .coming-soon-icon{font-size:48px}
  .coming-soon-copy{font-size:15px;gap:13px}
}

.gift-password-wrap{width:min(440px,100%);margin:24px auto 0;display:grid;gap:10px}
.gift-password-label{font-family:Georgia,serif;font-size:13px;letter-spacing:.13em;text-transform:uppercase;color:#c8a654}
.gift-password-input{width:100%;box-sizing:border-box;border:1px solid rgba(232,190,93,.52);border-radius:16px;padding:14px 16px;background:rgba(8,6,4,.9);color:#fff2ca;font:500 16px Georgia,serif;text-align:center;letter-spacing:.12em;outline:none;box-shadow:inset 0 0 18px rgba(0,0,0,.3),0 0 0 rgba(231,185,77,0);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.gift-password-input::placeholder{color:#8e8066;letter-spacing:.03em}
.gift-password-input:focus{border-color:#e8c56d;box-shadow:0 0 0 3px rgba(232,197,109,.1),0 0 24px rgba(224,174,60,.13);transform:translateY(-1px)}
.gift-password-submit{border:1px solid rgba(241,204,112,.74);border-radius:999px;padding:13px 20px;background:linear-gradient(135deg,#8a5c19,#bf8a2f);color:#fff8df;font-family:Georgia,serif;font-size:15px;cursor:pointer;box-shadow:0 10px 26px rgba(0,0,0,.34),0 0 22px rgba(220,165,52,.11);transition:transform .2s ease,filter .2s ease}
.gift-password-submit:hover{transform:translateY(-1px) scale(1.015);filter:brightness(1.08)}
.gift-password-status{min-height:24px;margin:2px 0 0;color:#d9c390;font:italic 14px Georgia,serif;line-height:1.45}
.gift-password-status.is-error{color:#d7a6a0}
.gift-password-status.is-success{color:#f4d87e;text-shadow:0 0 16px rgba(241,202,94,.22)}
@media(max-width:600px){.gift-password-wrap{margin-top:20px}.gift-password-input{font-size:16px;padding:13px 14px}.gift-password-submit{font-size:14px;padding:12px 16px}}
