/* Flagship interaction layer — loaded last to avoid specificity drift. */
.experience-paused *,.experience-paused *:before,.experience-paused *:after{animation-play-state:paused!important}.fx-lite .motes i:nth-child(n+9),.fx-lite .opening-effect i:nth-child(n+9){display:none}.fx-lite .escape-cinema{opacity:.68}.fx-lite .map.destination-focus:after{backdrop-filter:none}
/* A1 / A3 — scroll login and interactive archive */
.hero{isolation:isolate}.login-scroll{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.login-scroll:before{content:'';position:absolute;inset:5% 3%;background:linear-gradient(90deg,#cbbd9055,#efe0b818 6%,transparent 18% 82%,#efe0b818 94%,#cbbd9055),url('assets/escape-panorama.png') center/cover;clip-path:inset(0 49% round 3px);filter:sepia(.18) saturate(.7);animation:scroll-unfurl 2.2s .15s cubic-bezier(.25,.75,.18,1) both}.login-scroll:after{content:'可';position:absolute;left:50%;top:48%;display:grid;place-items:center;width:76px;height:76px;transform:translate(-50%,-50%) rotate(-8deg);border:3px double #9e4033;background:#7b2f28cc;color:#eeddb2;font:40px var(--serif);opacity:0;animation:seal-strike .75s 2.1s both}.ink-drop{position:absolute;left:50%;top:20%;width:9px;height:9px;border-radius:50%;background:#d2b36c;box-shadow:0 0 20px #dfbd68;animation:ink-drop 1.7s both}.archive-desk{position:absolute;z-index:5;left:4%;bottom:72px;display:flex;gap:10px;align-items:flex-end}.archive-desk>button{position:relative;width:105px;height:72px;padding:11px;border:1px solid #c9b27866;background:#cfbd8f;color:#3b2d25;text-align:left;box-shadow:0 12px 30px #0007;transform:rotate(var(--r));transition:.3s}.archive-desk>button:nth-child(1){--r:-5deg}.archive-desk>button:nth-child(2){--r:3deg}.archive-desk>button:nth-child(3){--r:-2deg}.archive-desk>button:hover,.archive-desk>button.found{transform:rotate(0) translateY(-10px);background:#ead9aa}.archive-desk b{display:block;font:14px var(--serif)}.archive-desk small{font-size:8px;opacity:.7}.archive-desk em{position:absolute;right:7px;bottom:5px;color:#8b3f31;font:20px var(--serif);font-style:normal}.archive-whisper{width:245px;min-height:72px;padding:12px 15px;border-left:2px solid #d3b575;background:#071a16dd;color:#c9c9b8;font-size:10px;line-height:1.7;backdrop-filter:blur(12px)}
/* B2 / B3 / B4 — searching route, traveler and clue pull */
.route-probe{fill:none;stroke:#b8d5c3;stroke-width:1.2;stroke-dasharray:3 5;opacity:.7;filter:drop-shadow(0 0 4px #bdd8cb);transition:opacity .5s}.route-probe.reject{stroke:#9b5446;opacity:0}.route-line.finding{stroke-dasharray:5 3;animation:route-found-pulse .8s infinite alternate}.clue-thread{fill:none;stroke:#b24c3f;stroke-width:.7;stroke-dasharray:2 3;opacity:.48;filter:drop-shadow(0 0 3px #bc5b49)}.clue-thread.active{stroke:#e2bd68;opacity:.9;animation:clue-call 1.3s infinite alternate}.map-pin.called .pin{box-shadow:0 0 0 12px #b34b3b22,0 0 36px #dc6655}.traveler{--facing:1;transition:filter .35s}.traveler.face-left{transform:translate(-50%,-100%) scaleX(-1)}.traveler.face-right{transform:translate(-50%,-100%) scaleX(1)}.traveler.walking{animation:traveler-step .28s steps(2) infinite}.traveler.walking:before{content:'';position:absolute;left:50%;bottom:-8px;width:28px;height:7px;border-radius:50%;background:#07110f77;filter:blur(3px);animation:shadow-step .28s infinite alternate}.traveler.arrived{animation:traveler-arrive .7s both}.route-footprint{position:absolute;z-index:6;width:8px;height:13px;border:1px solid #d7bd74;border-radius:55% 45%;opacity:0;transform:translate(-50%,-50%) rotate(var(--angle));animation:footprint-fade 2.8s both;pointer-events:none}.traveler-reflection{position:absolute;z-index:5;width:35px;height:35px;border-radius:50%;background:#dec27333;filter:blur(8px);pointer-events:none}
/* C — six cinematic set pieces */
.opening-setpiece{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none}.opening-setpiece>*{position:absolute}.set-qianzhou .poster-slap{left:50%;top:42%;width:180px;height:230px;padding:28px;background:#d6c394;color:#603d30;transform:translate(-50%,-50%) scale(2.2) rotate(-12deg);opacity:0;box-shadow:0 30px 80px #000}.opening-qianzhou.play .poster-slap{animation:poster-slap 3s both}.set-qianzhou .witness{bottom:0;width:17%;height:65%;background:#020504cc;clip-path:polygon(40% 0,60% 0,72% 16%,70% 100%,28% 100%,31% 16%);opacity:0}.set-qianzhou .w1{left:10%}.set-qianzhou .w2{right:13%;transform:scale(.8)}.opening-qianzhou.play .witness{animation:witness-enter 2.2s 1s both}.set-fenghuang .table-ghost{left:50%;bottom:12%;width:430px;height:150px;border-radius:50%;background:#160d0acc;transform:translateX(-50%);opacity:0}.set-fenghuang .table-ghost i{position:absolute;bottom:70%;width:55px;height:100px;border-radius:50% 50% 20% 20%;background:#050706cc}.set-fenghuang .table-ghost i:nth-child(1){left:17%}.set-fenghuang .table-ghost i:nth-child(2){left:44%}.set-fenghuang .table-ghost i:nth-child(3){right:17%}.opening-fenghuang.awakening .table-ghost{animation:ghost-table 7.2s both}.set-furong .reverse-curtain{inset:0;background:repeating-linear-gradient(90deg,transparent 0 25px,#b9eef34a 27px 30px);transform:translateY(100%)}.opening-furong.play .reverse-curtain{animation:water-reverse 3s both}.set-furong .gold-weft{left:0;right:0;top:50%;height:2px;background:#e3c36d;box-shadow:0 0 20px #dfc169;transform:scaleX(0)}.opening-furong.play .gold-weft{animation:weft-cross 2s 1.2s both}.set-biancheng .era-half{top:0;bottom:0;width:50%;backdrop-filter:sepia(.5)}.set-biancheng .past{left:0;background:#6f573a24}.set-biancheng .now{right:0;background:#2d666424}.set-biancheng .screen-rope{left:-10%;right:-10%;top:49%;height:8px;background:repeating-linear-gradient(90deg,#6e4929 0 9px,#d0ae70 9px 16px);transform:translateX(-60%)}.opening-biancheng.play .screen-rope{animation:screen-rope-pull 2.8s both}.set-shibadong .hearth{left:50%;bottom:5%;width:20vw;height:20vw;transform:translateX(-50%) scale(.05);border-radius:50%;background:radial-gradient(circle,#ffe0a3,#e46e32 24%,#4a2419 50%,transparent 70%);filter:blur(3px)}.opening-shibadong.play .hearth{animation:hearth-light 2.7s both}.set-shibadong .generation{bottom:10%;width:80px;height:160px;background:#070b09cc;clip-path:polygon(40% 0,60% 0,72% 16%,85% 100%,15% 100%,28% 16%);opacity:0}.set-shibadong .g1{left:24%}.set-shibadong .g2{left:46%;transform:scale(.85)}.set-shibadong .g3{right:22%;transform:scale(.7)}.opening-shibadong.play .generation{animation:witness-enter 1.4s 1.2s both}.set-aizhai .bridge-deck{left:15%;right:15%;top:53%;height:5px;background:#ddc27b;transform:scaleX(0);box-shadow:0 0 25px #e4ca86}.set-aizhai .bridge-deck:before,.set-aizhai .bridge-deck:after{content:'';position:absolute;bottom:0;width:6px;height:180px;background:#ddc27b}.set-aizhai .bridge-deck:before{left:10%}.set-aizhai .bridge-deck:after{right:10%}.opening-aizhai.play .bridge-deck{animation:bridge-build 2.7s .35s both}.set-aizhai .wind-cut{left:-50%;top:20%;width:45%;height:60%;border-top:1px solid #e8f0dc;border-bottom:1px solid #e8f0dc;transform:skewX(-24deg)}.opening-aizhai.play .wind-cut{animation:wind-cut 2.5s both}
/* D1 / D3 — investigation wall and personal ending */
drawer:has(.investigation-wall),#drawer:has(.investigation-wall){width:min(1120px,95vw)}.investigation-wall{position:relative;min-height:610px;padding:35px;background:radial-gradient(circle at 50% 50%,#483827,#241c17 75%);border:10px solid #16110e;box-shadow:inset 0 0 90px #000}.investigation-wall:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:28px 28px;pointer-events:none}.evidence-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.evidence-lines path{fill:none;stroke:#a54238;stroke-width:2;stroke-dasharray:7 5}.evidence-card{position:absolute;width:180px;min-height:125px;padding:14px;background:#d5c290;color:#352820;box-shadow:0 12px 28px #0008;transform:rotate(var(--rotate));text-align:left}.evidence-card:nth-of-type(1){left:5%;top:12%;--rotate:-4deg}.evidence-card:nth-of-type(2){left:37%;top:7%;--rotate:2deg}.evidence-card:nth-of-type(3){right:6%;top:15%;--rotate:-2deg}.evidence-card:nth-of-type(4){left:11%;bottom:8%;--rotate:3deg}.evidence-card:nth-of-type(5){left:44%;bottom:6%;--rotate:-3deg}.evidence-card:nth-of-type(6){right:5%;bottom:9%;--rotate:4deg}.evidence-card.locked{filter:grayscale(1) brightness(.45);color:transparent}.evidence-card.selected{transform:rotate(0) translateY(-9px);outline:3px solid #bd4e40;box-shadow:0 18px 45px #000}.evidence-card b{display:block;font:17px var(--serif);margin:8px 0}.evidence-card small{font-size:9px;color:#7c3d31}.evidence-card p{font-size:10px;line-height:1.6}.evidence-result{position:absolute;left:50%;top:48%;width:290px;padding:14px 18px;transform:translate(-50%,-50%);background:#0b1714eb;border:1px solid #c6a45f;color:#dfcca1;font:13px/1.8 var(--serif);text-align:center}.personal-ending{--ending-color:#d1b36c}.ending-seal{display:grid;place-items:center;width:92px;height:92px;margin:20px auto;border:3px double var(--ending-color);color:var(--ending-color);font:48px var(--serif);transform:rotate(-7deg);box-shadow:0 0 35px color-mix(in srgb,var(--ending-color),transparent 65%)}.ending-pattern{width:min(650px,80vw);height:110px;margin:18px auto;background:repeating-linear-gradient(135deg,transparent 0 18px,var(--ending-color) 19px 21px,transparent 22px 39px);mask:radial-gradient(ellipse at center,#000,transparent 70%);opacity:.5}.choice-summary{display:flex;gap:7px;justify-content:center;flex-wrap:wrap}.choice-summary span{padding:6px 9px;border:1px solid #d1b36c55;background:#07181399;font-size:9px}.digital-ticket{margin:20px auto;padding:20px;width:min(620px,90vw);border:1px dashed var(--ending-color);background:#d7c79c;color:#2f2922;display:flex;justify-content:space-between;text-align:left}.digital-ticket b{font:20px var(--serif)}
/* E — richer interactions */
.testimony-scratch{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.testimony-scratch button{min-height:72px;padding:12px;background:repeating-linear-gradient(135deg,#b8aa83 0 8px,#cdbd91 8px 16px);color:#50392d;border:1px solid #e2cf9b;font-family:var(--serif)}.testimony-scratch button.cleared{background:#172d25;color:#e2ce9d;text-decoration:line-through}.wine-bowl{width:130px;height:95px;margin:auto;border-radius:8px 8px 65px 65px;background:radial-gradient(ellipse at 50% 20%,#8c3128 0 34%,#c6a461 36% 43%,#37231d 46%);box-shadow:0 25px 45px #0009;touch-action:none;transition:transform .2s}.wine-bowl:after{content:'旋转酒碗看倒影';position:absolute;left:50%;top:110%;transform:translateX(-50%);white-space:nowrap;color:#c9b47b;font-size:9px}.rhythm-guide{height:8px;background:#08130f;border:1px solid #d2b36b44;margin:10px 0;overflow:hidden}.rhythm-guide i{display:block;width:28%;height:100%;background:#d3b575;animation:rhythm-window 1.5s infinite alternate}.wind-sentence button{cursor:grab}.wind-sentence button:active{cursor:grabbing}
/* F — conversion upgrade */
.seat-preview{display:grid;grid-template-columns:repeat(9,8px);gap:6px;margin:18px 0}.seat-preview i{width:8px;height:8px;border-radius:2px;background:#6d8e7c}.seat-preview i:nth-child(4n){background:#d0b36b}.seat-preview:before{content:'舞台';grid-column:1/-1;padding:4px;border-bottom:1px solid #d0b36b66;color:#d0b36b;font-size:8px;text-align:center}.bundle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0}.bundle-card{padding:18px;border:1px solid #d0b36b36;background:#0b211c;color:#e1d4b6;text-align:left}.bundle-card b{display:block;font:18px var(--serif);margin-bottom:7px}.bundle-card span{font-size:10px;color:#96a99b;line-height:1.6}.itinerary-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:20px 0;background:#d0b36b2c}.itinerary-timeline span{padding:16px;background:#0a1d18;color:#bec8ba;font-size:10px;line-height:1.7}.booking-rail{position:sticky;z-index:25;bottom:15px;margin:35px auto 0;width:min(980px,94%);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;background:#10251fee;border:1px solid #d1b36c88;box-shadow:0 20px 70px #000b;backdrop-filter:blur(18px)}.booking-rail b{font:17px var(--serif)}.booking-rail small{display:block;color:#9eac9f;margin-top:4px}
@keyframes scroll-unfurl{to{clip-path:inset(0 0 round 3px)}}@keyframes seal-strike{0%{opacity:0;transform:translate(-50%,-50%) scale(2.4) rotate(-18deg)}55%{opacity:1;transform:translate(-50%,-50%) scale(.9) rotate(-8deg)}100%{opacity:.28;transform:translate(-50%,-50%) scale(1) rotate(-8deg)}}@keyframes ink-drop{0%{transform:translateY(-25vh)}60%{transform:translateY(28vh)}100%{transform:translateY(28vh) scale(32);opacity:0}}@keyframes route-found-pulse{to{filter:drop-shadow(0 0 12px #ffe29a)}}@keyframes clue-call{to{stroke-dashoffset:-10;filter:drop-shadow(0 0 8px #f2c86e)}}@keyframes traveler-step{50%{margin-top:-7px;filter:drop-shadow(0 12px 4px #0008) brightness(1.1)}}@keyframes shadow-step{to{transform:translateX(-50%) scaleX(.7);opacity:.45}}@keyframes traveler-arrive{40%{transform:translate(-50%,-112%) scale(var(--facing));filter:drop-shadow(0 0 25px #efd07c)}100%{transform:translate(-50%,-100%) scale(var(--facing))}}@keyframes footprint-fade{0%{opacity:.75}100%{opacity:0;filter:blur(2px)}}@keyframes poster-slap{0%{opacity:0;transform:translate(-50%,-50%) scale(2.2) rotate(-12deg)}38%{opacity:1;transform:translate(-50%,-50%) scale(.92) rotate(2deg)}55%,100%{opacity:.32;transform:translate(-50%,-50%) scale(1) rotate(0)}}@keyframes witness-enter{to{opacity:.75;transform:translateY(0)}}@keyframes ghost-table{0%,12%{opacity:0}31%{opacity:.35}43%{opacity:0}64%{opacity:.65}75%{opacity:.1}94%,100%{opacity:.18}}@keyframes water-reverse{to{transform:translateY(-55%)}}@keyframes weft-cross{to{transform:scaleX(1)}}@keyframes screen-rope-pull{0%{transform:translateX(-60%)}55%{transform:translateX(8%)}100%{transform:none}}@keyframes hearth-light{to{transform:translateX(-50%) scale(1)}}@keyframes bridge-build{to{transform:scaleX(1)}}@keyframes wind-cut{to{transform:translateX(380%) skewX(-24deg)}}@keyframes rhythm-window{to{transform:translateX(258%)}}
@media(max-width:800px){.archive-desk{display:none}.evidence-card{position:relative!important;inset:auto!important;width:auto;min-height:110px}.investigation-wall{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:20px}.evidence-lines{display:none}.evidence-result{position:relative;grid-column:1/-1;left:auto;top:auto;transform:none;width:auto}.bundle-grid,.itinerary-timeline{grid-template-columns:1fr}.booking-rail{bottom:8px}.story-dossier .thread-triptych{grid-template-columns:1fr}.testimony-scratch{grid-template-columns:1fr}}

.travel-composer{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;margin:40px 0 65px;padding:clamp(24px,4vw,52px);border:1px solid #d0b36b38;background:linear-gradient(120deg,#102922,#081a16)}.travel-composer h2{font-size:clamp(24px,3vw,38px)}.seat-preview i.gold{background:#d0b36b}.bowl-stage{min-height:180px;display:grid;place-items:center}.wine-bowl.is-complete{box-shadow:0 0 45px #e1be69;filter:brightness(1.2)}@media(max-width:800px){.travel-composer{grid-template-columns:1fr}.booking-rail{position:relative;bottom:auto;flex-direction:column;align-items:stretch}.booking-rail button{width:100%}}

/* Login cinematic fix — the scroll is now a real blocking foreground sequence. */
.hero.login-animating{background:#020504}.login-scroll{z-index:45!important;background:#020504;opacity:1;pointer-events:auto!important;transition:opacity .85s ease,visibility 0s .85s}.login-scroll:before{z-index:1;inset:3% 2%;clip-path:inset(0 49.7% round 2px);box-shadow:0 0 80px #d3b57522}.login-scroll:after{z-index:4}.scroll-rod{position:absolute;z-index:3;top:3%;width:24px;height:94%;border:1px solid #b69657;background:linear-gradient(90deg,#36261b,#c3a263 42%,#5d4029 65%,#231812);box-shadow:0 0 30px #000,0 0 18px #c9aa6744}.rod-left{left:calc(50% - 12px);animation:rod-left-open 2.2s .15s cubic-bezier(.25,.75,.18,1) both}.rod-right{right:calc(50% - 12px);animation:rod-right-open 2.2s .15s cubic-bezier(.25,.75,.18,1) both}.scroll-title{position:absolute;z-index:5;left:50%;top:48%;transform:translate(-50%,-50%);color:#ead7a8;font:clamp(34px,6vw,78px) var(--serif);letter-spacing:.3em;text-indent:.3em;text-shadow:0 5px 35px #000;opacity:0;animation:scroll-title-arrive 1.4s 1.35s both}.scroll-title small{display:block;margin-top:18px;font:9px sans-serif;letter-spacing:.4em;text-align:center;color:#c4b48d}.login-scroll #skip-login{position:absolute;z-index:8;right:4%;bottom:4%;padding:9px 14px;border:1px solid #d0b36b55;background:#071813aa;color:#d7bd7d;font-size:9px;letter-spacing:.12em}.login-animating .hero-copy,.login-animating .login-card,.login-animating .archive-desk,.login-animating .footer-note{opacity:0!important;pointer-events:none}.login-ready .login-scroll{opacity:0;visibility:hidden;pointer-events:none!important}.login-ready .hero-copy{animation:login-layer-left 1s .25s both}.login-ready .login-card{animation:login-layer-right 1s .42s both}.login-ready .archive-desk{animation:login-layer-up .85s .72s both}.login-ready .footer-note{animation:login-layer-up .7s .9s both}.login-card[inert]{user-select:none}.login-card button:disabled{opacity:.35;cursor:wait}
@keyframes rod-left-open{to{left:2%}}@keyframes rod-right-open{to{right:2%}}@keyframes scroll-title-arrive{0%{opacity:0;filter:blur(14px);transform:translate(-50%,-50%) scale(1.35)}55%{opacity:1;filter:none}100%{opacity:.72;transform:translate(-50%,-50%) scale(1)}}@keyframes login-layer-left{from{opacity:0;filter:blur(9px);transform:translateX(-30px)}to{opacity:1;filter:none;transform:none}}@keyframes login-layer-right{from{opacity:0;filter:blur(9px);transform:translateX(30px)}to{opacity:1;filter:none;transform:none}}@keyframes login-layer-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:700px){.scroll-title{font-size:42px}.scroll-title small{font-size:7px}.login-scroll:before{inset:2%}.scroll-rod{top:2%;height:96%}.rod-left{animation-name:rod-left-open-mobile}.rod-right{animation-name:rod-right-open-mobile}}@keyframes rod-left-open-mobile{to{left:1%}}@keyframes rod-right-open-mobile{to{right:1%}}

/* Login timeline v2: ink must finish before the scroll rods exist. */
.hero.login-animating .login-scroll{background:#010302}
.hero.login-animating .ink-drop{z-index:7;left:50%;top:0;width:10px;height:10px;opacity:0;background:#f0d27e;border-radius:50%;box-shadow:0 0 10px #f3d581,0 0 28px #d7ad4f;animation:ink-fall-and-bloom 1.55s .18s cubic-bezier(.42,.02,.28,1) both!important}
.hero.login-animating .scroll-rod{opacity:0}
.hero.login-animating .rod-left{left:calc(50% - 12px);animation:rod-left-after-ink 1.85s 1.68s cubic-bezier(.25,.75,.18,1) both!important}
.hero.login-animating .rod-right{right:calc(50% - 12px);animation:rod-right-after-ink 1.85s 1.68s cubic-bezier(.25,.75,.18,1) both!important}
.hero.login-animating .login-scroll:before{opacity:0;clip-path:inset(0 49.8% round 2px);animation:paper-unfurl-after-ink 1.85s 1.68s cubic-bezier(.25,.75,.18,1) both!important}
.hero.login-animating .login-scroll:after{opacity:0;animation:seal-after-unfurl .8s 3.48s cubic-bezier(.2,.8,.25,1) both!important}
.hero.login-animating .scroll-title{opacity:0;animation:scroll-title-after-unfurl 1.05s 3.18s both!important}
@keyframes ink-fall-and-bloom{0%{opacity:0;transform:translate(-50%,-12vh) scale(.35)}12%{opacity:1}67%{opacity:1;transform:translate(-50%,47vh) scale(1)}74%{transform:translate(-50%,47vh) scale(.75);box-shadow:0 0 14px #f5d98d,0 0 38px #dbb35d}100%{opacity:0;transform:translate(-50%,47vh) scale(62);box-shadow:0 0 1px #f5d98d,0 0 16px #d7b15f}}
@keyframes rod-left-after-ink{0%,8%{opacity:0;left:calc(50% - 12px)}14%{opacity:1;left:calc(50% - 12px)}100%{opacity:1;left:2%}}
@keyframes rod-right-after-ink{0%,8%{opacity:0;right:calc(50% - 12px)}14%{opacity:1;right:calc(50% - 12px)}100%{opacity:1;right:2%}}
@keyframes paper-unfurl-after-ink{0%,8%{opacity:0;clip-path:inset(0 49.8% round 2px)}14%{opacity:1;clip-path:inset(0 49.2% round 2px)}100%{opacity:1;clip-path:inset(0 0 round 3px)}}
@keyframes seal-after-unfurl{0%{opacity:0;transform:translate(-50%,-50%) scale(2.6) rotate(-20deg)}58%{opacity:1;transform:translate(-50%,-50%) scale(.88) rotate(-7deg)}100%{opacity:.38;transform:translate(-50%,-50%) scale(1) rotate(-8deg)}}
@keyframes scroll-title-after-unfurl{0%{opacity:0;filter:blur(14px);transform:translate(-50%,-50%) scale(1.24)}65%{opacity:.92;filter:none}100%{opacity:.72;transform:translate(-50%,-50%) scale(1)}}
@media(max-width:700px){.hero.login-animating .rod-left{animation-name:rod-left-after-ink-mobile!important}.hero.login-animating .rod-right{animation-name:rod-right-after-ink-mobile!important}}@keyframes rod-left-after-ink-mobile{0%,8%{opacity:0;left:calc(50% - 10px)}14%{opacity:1}100%{opacity:1;left:1%}}@keyframes rod-right-after-ink-mobile{0%,8%{opacity:0;right:calc(50% - 10px)}14%{opacity:1}100%{opacity:1;right:1%}}

body:has(.login-animating) .masthead{opacity:0;pointer-events:none}.masthead{transition:opacity .7s ease}.hero.login-animating #skip-login{opacity:0;animation:skip-login-arrive .45s .85s both}@keyframes skip-login-arrive{to{opacity:1}}

/* Login timeline v3 — teardrop, impact ink and three real ripples. */
.hero.login-animating .ink-drop{left:50%;top:0;width:15px;height:22px;opacity:0;border-radius:52% 48% 58% 42% / 70% 68% 32% 30%;clip-path:polygon(50% 0,68% 18%,88% 47%,100% 70%,85% 91%,50% 100%,15% 91%,0 70%,12% 47%,32% 18%);background:linear-gradient(135deg,#fff4c3 0 12%,#f0cf76 30%,#c99e43 72%,#79551f);box-shadow:0 0 12px #f5d98d,0 0 34px #d5aa50,0 0 75px #bc8c3255;transform-origin:50% 90%;animation:ink-teardrop-fall 2.35s .42s cubic-bezier(.42,.02,.25,1) both!important}
.hero.login-animating .ink-drop:before{content:'';position:absolute;left:3px;top:5px;width:4px;height:7px;border-radius:50%;background:#fff9d9;filter:blur(.5px);opacity:.85}.hero.login-animating .ink-drop:after{content:'';position:absolute;left:50%;top:-7px;width:5px;height:11px;transform:translateX(-50%);clip-path:polygon(50% 0,100% 100%,0 100%);background:#e9c666}
.ink-impact{position:absolute;z-index:7;left:50%;top:50%;width:1px;height:1px;pointer-events:none}.ink-impact b{position:absolute;left:0;top:0;width:30px;height:12px;border-radius:50%;background:radial-gradient(ellipse,#fff0b4 0,#d9b45e 30%,#8b672d66 62%,transparent 75%);transform:translate(-50%,-50%) scale(.1);opacity:0}.hero.login-animating .ink-impact b{animation:ink-impact-bloom 1.35s 2.34s ease-out both}.ink-impact i{position:absolute;left:0;top:0;width:80px;height:28px;border:1.5px solid #e8c872;border-radius:50%;transform:translate(-50%,-50%) scale(.08);opacity:0;box-shadow:0 0 10px #d9b45d55,inset 0 0 8px #d9b45d33}.hero.login-animating .ink-impact i:nth-of-type(1){animation:gold-ripple 1.65s 2.42s ease-out both}.hero.login-animating .ink-impact i:nth-of-type(2){animation:gold-ripple 1.9s 2.63s ease-out both}.hero.login-animating .ink-impact i:nth-of-type(3){animation:gold-ripple 2.1s 2.84s ease-out both}
.hero.login-animating .rod-left{animation:rod-left-after-ripple 2s 5.02s cubic-bezier(.25,.75,.18,1) both!important}.hero.login-animating .rod-right{animation:rod-right-after-ripple 2s 5.02s cubic-bezier(.25,.75,.18,1) both!important}.hero.login-animating .login-scroll:before{animation:paper-after-ripple 2s 5.02s cubic-bezier(.25,.75,.18,1) both!important}.hero.login-animating .scroll-title{animation:scroll-title-after-ripple 1.1s 6.72s both!important}.hero.login-animating .login-scroll:after{animation:seal-after-ripple .85s 7.14s cubic-bezier(.2,.8,.25,1) both!important}.hero.login-animating #skip-login{animation:skip-login-arrive .45s 1.2s both!important}
@keyframes ink-teardrop-fall{0%{opacity:0;transform:translate(-50%,-15vh) scale(.45)}10%{opacity:1}24%{transform:translate(-50%,4vh) scaleX(.82) scaleY(1.28)}58%{transform:translate(-50%,29vh) scaleX(.72) scaleY(1.45)}78%{opacity:1;transform:translate(-50%,44vh) scaleX(.78) scaleY(1.35)}88%{transform:translate(-50%,48vh) scaleX(1.22) scaleY(.72)}93%{transform:translate(-50%,47.4vh) scaleX(.92) scaleY(1.08)}100%{opacity:0;transform:translate(-50%,48vh) scaleX(1.85) scaleY(.16)}}
@keyframes ink-impact-bloom{0%{opacity:0;transform:translate(-50%,-50%) scale(.08)}18%{opacity:1;transform:translate(-50%,-50%) scale(.85)}48%{opacity:.85;transform:translate(-50%,-50%) scale(4.5)}100%{opacity:0;transform:translate(-50%,-50%) scale(13);filter:blur(3px)}}
@keyframes gold-ripple{0%{opacity:0;transform:translate(-50%,-50%) scale(.08);border-width:3px}12%{opacity:.95}60%{opacity:.46}100%{opacity:0;transform:translate(-50%,-50%) scale(12);border-width:.4px;filter:blur(.5px)}}
@keyframes rod-left-after-ripple{0%,8%{opacity:0;left:calc(50% - 12px)}14%{opacity:1;left:calc(50% - 12px)}100%{opacity:1;left:2%}}@keyframes rod-right-after-ripple{0%,8%{opacity:0;right:calc(50% - 12px)}14%{opacity:1;right:calc(50% - 12px)}100%{opacity:1;right:2%}}@keyframes paper-after-ripple{0%,8%{opacity:0;clip-path:inset(0 49.8% round 2px)}14%{opacity:1;clip-path:inset(0 49.2% round 2px)}100%{opacity:1;clip-path:inset(0 0 round 3px)}}@keyframes scroll-title-after-ripple{0%{opacity:0;filter:blur(14px);transform:translate(-50%,-50%) scale(1.22)}65%{opacity:.92;filter:none}100%{opacity:.72;transform:translate(-50%,-50%) scale(1)}}@keyframes seal-after-ripple{0%{opacity:0;transform:translate(-50%,-50%) scale(2.6) rotate(-20deg)}58%{opacity:1;transform:translate(-50%,-50%) scale(.88) rotate(-7deg)}100%{opacity:.38;transform:translate(-50%,-50%) scale(1) rotate(-8deg)}}
@media(max-width:700px){.hero.login-animating .rod-left{animation-name:rod-left-after-ripple-mobile!important}.hero.login-animating .rod-right{animation-name:rod-right-after-ripple-mobile!important}}@keyframes rod-left-after-ripple-mobile{0%,8%{opacity:0;left:calc(50% - 10px)}14%{opacity:1}100%{opacity:1;left:1%}}@keyframes rod-right-after-ripple-mobile{0%,8%{opacity:0;right:calc(50% - 10px)}14%{opacity:1}100%{opacity:1;right:1%}}
