/* Entrance artwork is drawn in SVG; the landing contains no character imagery. */
.entry-screen{--entry-ink:#e8e8e5;--entry-muted:#a8adc8;--gaze-x:0px;--gaze-y:0px;position:fixed;inset:0;z-index:80;overflow:hidden;isolation:isolate;background:#02030c;color:var(--entry-ink);font-family:"Songti SC","STSong","SimSun",Georgia,serif}
.entry-screen button,.entry-game-toolbar button,.entry-dialog button{font-family:inherit}
.entry-screen button{border:0;background:none;color:inherit}
.entry-screen button:hover{background:none;color:#fff}
.entry-screen button:focus-visible,.entry-game-toolbar button:focus-visible{outline:1px solid #bac8ea;outline-offset:9px;border-radius:1px}
.entry-atmosphere{position:absolute;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(ellipse at 50% 39%,#030311 0,#02040e 29%,#03071c 65%,#01030d 100%)}
.entry-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 47%,#17104866,transparent 40%),radial-gradient(ellipse at 50% 91%,#09206d70,transparent 52%)}
.entry-fog{position:absolute;left:-22%;right:-22%;top:43%;bottom:-25%;opacity:.55;pointer-events:none;background:radial-gradient(ellipse at 20% 65%,#182b9a 0,transparent 32%),radial-gradient(ellipse at 80% 60%,#192d9d 0,transparent 35%),radial-gradient(ellipse at 50% 80%,#0f2678 0,transparent 45%);animation:entry-fog-drift 30s ease-in-out infinite alternate}
.entry-cloud-texture{position:absolute;left:-9%;top:43%;width:118%;height:62%;opacity:.5;mix-blend-mode:screen;mask-image:radial-gradient(ellipse 48% 47% at 12% 55%,#000 20%,transparent 90%),radial-gradient(ellipse 48% 47% at 88% 55%,#000 20%,transparent 90%);animation:entry-cloud-drift 32s ease-in-out infinite alternate;pointer-events:none}
.entry-fog-back{filter:blur(42px);opacity:.45;transform:scale(1.15);animation-duration:40s;animation-direction:alternate-reverse}
.entry-fog-front{background:radial-gradient(ellipse at 17% 53%,#101d6270 0,transparent 17%),radial-gradient(ellipse at 22% 72%,#1b32977c 0,transparent 25%),radial-gradient(ellipse at 88% 67%,#21329088 0,transparent 23%),radial-gradient(ellipse at 58% 85%,#16308d8a 0,transparent 32%);filter:blur(20px);mix-blend-mode:screen;opacity:.65}
.entry-grain{position:absolute;inset:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.55' d='M0 0h180v180H0z'/%3E%3C/svg%3E");pointer-events:none}
.entry-vignette{position:absolute;inset:0;background:linear-gradient(90deg,#02030ed9,transparent 24%,transparent 76%,#02030ed9),linear-gradient(0deg,#02040ee8,transparent 22%,transparent 80%,#0007);z-index:2}
.entry-eye-wrap{position:absolute;left:50%;top:0;width:min(47vh,470px);height:auto;transform:translateX(-50%);transform-origin:50% 59%;transition:opacity .5s,filter .6s;will-change:transform}
.entry-eye-svg{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 0 30px #0e167135)}
.entry-pendulum{transform-origin:250px -40px}
.entry-closed-seam{opacity:0;pointer-events:none}
.entry-eye-talisman{transform-origin:250px 218px;animation:entry-eye-sway 8s ease-in-out infinite}
.entry-eye-gaze{transform:translate(var(--gaze-x),var(--gaze-y));transition:transform .7s ease-out}
.entry-eye-halo{animation:entry-eye-breathe 6s ease-in-out infinite}
.entry-upper-lid{transform:translateY(-116px);transform-origin:250px 303px;animation:entry-blink-upper 11s ease-in-out 3s infinite}
.entry-lower-lid{transform:translateY(116px);transform-origin:250px 505px;animation:entry-blink-lower 11s ease-in-out 3s infinite}
.entry-menu{position:absolute;left:50%;top:73.5%;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;gap:20px;width:min(600px,90%);text-align:center}
.entry-enter{position:relative;min-width:300px;padding:10px 30px!important;font-size:clamp(26px,3.25vw,44px);font-weight:400;letter-spacing:.2em;text-indent:.2em;text-shadow:0 0 20px #b5c0ff44;transition:color .25s,text-shadow .25s,transform .25s;line-height:1.4;white-space:nowrap}
.entry-enter:before,.entry-enter:after{content:"";position:absolute;top:50%;width:58px;height:8px;background:linear-gradient(90deg,transparent,#d9e0ef 72%,transparent 74%) 0 50%/100% 1px no-repeat}
.entry-enter:before{right:100%;margin-right:-7px}.entry-enter:after{left:100%;margin-left:-7px;transform:rotate(180deg)}
.entry-enter:after,.entry-enter:before{clip-path:polygon(0 40%,74% 40%,80% 0,86% 40%,100% 40%,100% 60%,86% 60%,80% 100%,74% 60%,0 60%);background-color:#d9e0ef}
.entry-enter:hover{transform:translateY(-2px);text-shadow:0 0 25px #cbd0ff88}.entry-enter:disabled{cursor:wait;opacity:.5}
.entry-menu-link{font-size:clamp(18px,1.8vw,26px);letter-spacing:.18em;text-indent:.18em;padding:3px 18px;opacity:.65;transition:opacity .2s,text-shadow .2s}
.entry-menu-link:hover{opacity:1;text-shadow:0 0 14px #b1bcff55}
.entry-load-status{font:11px/1.6 "Microsoft YaHei",sans-serif;letter-spacing:2px;margin:0;min-height:18px;color:#abb7d4;position:absolute;top:calc(100% + 16px);width:100%}
.entry-language{position:absolute;right:3.3%;bottom:4.3%;font:14px Georgia,"SimSun",serif!important;letter-spacing:2px;padding:9px!important;color:#b5b9c9!important;opacity:.75;transition:opacity .2s}
.entry-language:hover{opacity:1}
.entry-role-screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:55px 25px 34px;animation:entry-content-appear .5s ease both}
.is-choosing .entry-eye-wrap{opacity:.07;filter:blur(4px);pointer-events:none}
.is-choosing .entry-atmosphere{background:radial-gradient(ellipse at 50% 50%,#101c35 0,#050918 65%,#02040d 100%)}
.entry-back{position:absolute;left:4.5%;top:5%;font-size:15px;letter-spacing:2px;padding:10px!important;opacity:.7}
.entry-back span:first-child{display:inline-block;margin-right:9px;font:20px Georgia,serif}.entry-back:hover{opacity:1}
.entry-role-heading{text-align:center;margin:0 0 24px}.entry-small-ornament{font:16px Georgia,serif;color:#889bbc;display:block;margin-bottom:11px}.entry-role-heading h2{font-weight:400;font-size:30px;letter-spacing:.15em;text-indent:.15em;margin:0 0 12px}.entry-role-heading p{font:12px/1.7 "Microsoft YaHei",sans-serif;letter-spacing:2px;color:#8595b0;margin:0}
.entry-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,245px));gap:28px;max-width:100%;width:518px}
.entry-role-card{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;border:1px solid #657a9b4a!important;background:linear-gradient(160deg,#263a5514,#080f1c88)!important;padding:13px 15px 18px!important;transition:border-color .25s,background .25s,transform .25s,box-shadow .25s;overflow:hidden;text-align:center}
.entry-role-card:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 50% 49%,#6f9ac211,transparent 64%);transition:opacity .25s;opacity:0}
.entry-role-card:hover{border-color:#a4b7d184!important;transform:translateY(-3px)}
.entry-role-card.is-selected{border-color:#aec8dfb8!important;background:linear-gradient(160deg,#31495c36,#10233d50)!important;box-shadow:0 0 0 3px #8da2be0c,inset 0 0 45px #93c5df07,0 16px 50px #0002}
.entry-role-card.is-selected:before{opacity:1}
.entry-role-portrait{position:relative;display:flex;width:100%;height:min(31vh,295px);min-height:190px;align-items:center;justify-content:center;margin-bottom:10px}
.entry-role-portrait:before{content:"";position:absolute;left:0;right:0;bottom:5%;height:18%;background:radial-gradient(ellipse,#8bbcdc20,transparent 66%);filter:blur(14px)}
.entry-role-portrait img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 20px #0007);transition:transform .5s}
.entry-role-card:hover img{transform:translateY(-4px)}.entry-role-name{display:block;font-size:21px;letter-spacing:3px;margin:6px 0 8px}.entry-role-desc{display:block;font:10px/1.6 "Microsoft YaHei",sans-serif;color:#8e9fb8;letter-spacing:.8px;white-space:nowrap}.entry-selected{display:block;margin-top:17px;font:11px/1.5 "Microsoft YaHei",sans-serif;letter-spacing:2px;color:#c0d7e9;opacity:0;transition:opacity .25s}.entry-selected>span:first-child{font-size:13px;margin-right:5px}.entry-role-card.is-selected .entry-selected{opacity:1}
.entry-no-portrait .entry-role-portrait:after{content:"◇";font:72px Georgia,serif;color:#536887}
.entry-role-confirm{position:relative;margin-top:24px;padding:12px 44px!important;min-width:190px;border:1px solid #a4b5cf80!important;color:#e1e5ed!important;letter-spacing:3px;font-size:18px;background:#b2bfd309!important;transition:background .2s,box-shadow .2s}
.entry-role-confirm:hover{background:#b2bfd31c!important;box-shadow:0 0 30px #afc6e00c}.entry-role-confirm:before,.entry-role-confirm:after{content:"◇";position:absolute;top:50%;font:11px Georgia,serif;transform:translateY(-50%);color:#a2b2c8}.entry-role-confirm:before{left:14px}.entry-role-confirm:after{right:14px}
.entry-role-hint{font:10px/1.7 "Microsoft YaHei",sans-serif;color:#71839f;letter-spacing:1px;text-align:center;margin:15px 0 0}.entry-role-status{position:absolute;bottom:15px;font:11px/1.5 "Microsoft YaHei",sans-serif;color:#bfacb5;letter-spacing:1px;margin:0}
.entry-skip{position:absolute;right:4%;top:5%;padding:10px 14px!important;font:12px "Microsoft YaHei",sans-serif!important;letter-spacing:2px;border:1px solid #a0b3cd44!important;color:#b3c2d7!important;z-index:3;background:#03081155!important;animation:entry-content-appear .5s ease both}
.entry-intro-caption{position:absolute;left:0;right:0;bottom:12%;text-align:center;color:#b9c9e0;font-size:14px;letter-spacing:5px;opacity:0;pointer-events:none;transform:translateY(8px);margin:0}
/* One timeline: closed-eye pendulum, settle, open, then travel into the pupil. */
.is-intro .entry-eye-wrap{opacity:1;filter:none;top:50%;width:min(45vh,470px);transform:translate(-50%,-59.4118%);transform-origin:50% 59.4118%;transition:none}
.is-intro .entry-eye-talisman{animation:none}
.is-intro .entry-eye-gaze{transform:none;transition:none}
.is-intro .entry-upper-lid,.is-intro .entry-lower-lid{animation:none;transform:translateY(0)}
.is-intro .entry-eye-outline,.is-intro .entry-open-contour{opacity:0}
.is-intro .entry-closed-seam{opacity:1}
.is-intro .entry-intro-caption{display:none}
.is-intro .entry-atmosphere{background:radial-gradient(ellipse at 50% 32%,#010108 18%,#050322 63%,#120b4c 100%)}
.is-intro .entry-fog,.is-intro .entry-cloud-texture{opacity:.12}
.is-opening .entry-pendulum{animation:entry-pendulum-arrive var(--entry-intro-duration) linear both}
.is-opening .entry-eye-wrap{animation:entry-aperture-journey var(--entry-intro-duration) linear both}
.is-opening .entry-eye-ball{animation:entry-eye-awaken var(--entry-intro-duration) linear both}
.is-opening .entry-upper-lid{animation:entry-lid-awaken-upper var(--entry-intro-duration) linear both}
.is-opening .entry-lower-lid{animation:entry-lid-awaken-lower var(--entry-intro-duration) linear both}
.is-opening .entry-closed-seam{animation:entry-seam-open var(--entry-intro-duration) linear both}
.is-opening .entry-eye-outline,.is-opening .entry-open-contour{animation:entry-contour-open var(--entry-intro-duration) linear both}
.is-opening .entry-pupil{transform-origin:250px 404px;animation:entry-pupil-open var(--entry-intro-duration) linear both}
.is-opening .entry-eye-halo{animation:entry-awaken-halo var(--entry-intro-duration) linear both}
.is-opening{animation:entry-stage-reveal var(--entry-intro-duration) linear both}
.is-opening .entry-fog-front{animation:entry-fog-rush var(--entry-intro-duration) linear both}
.is-opening.is-gentle{animation:entry-gentle-reveal .35s ease both!important}
.is-opening.is-gentle .entry-eye-wrap,.is-opening.is-gentle .entry-pendulum,.is-opening.is-gentle .entry-eye-ball,.is-opening.is-gentle .entry-pupil,.is-opening.is-gentle .entry-eye-halo,.is-opening.is-gentle .entry-upper-lid,.is-opening.is-gentle .entry-lower-lid,.is-opening.is-gentle .entry-fog-front,.is-opening.is-gentle .entry-closed-seam,.is-opening.is-gentle .entry-open-contour,.is-opening.is-gentle .entry-eye-outline{animation:none!important}
.entry-game-toolbar{position:fixed;left:50%;top:20px;transform:translateX(-50%);z-index:24;display:flex;gap:14px;align-items:center;padding:7px 13px;background:#030a16aa;border:1px solid #9daeca24;backdrop-filter:blur(8px);border-radius:2px;font:11px "Microsoft YaHei",sans-serif;color:#b6c7dc}
.entry-game-toolbar button{display:flex;align-items:center;gap:7px;color:inherit;font-size:11px;padding:4px 2px;background:none;white-space:nowrap}.entry-game-toolbar button>span:first-child{font:16px Georgia,serif}.entry-game-toolbar button:hover{color:#fff}.entry-game-toolbar i{width:1px;height:13px;background:#a0b3ca44}
.entry-dialog{z-index:100;width:min(590px,calc(100% - 36px));max-height:86svh;margin:auto;padding:38px 40px 32px;border:1px solid #8b9fb84a;background:linear-gradient(160deg,#101a2bf5,#071121fa);box-shadow:0 20px 120px #000a;backdrop-filter:blur(18px);color:#d4deed;border-radius:2px;scrollbar-width:thin;scrollbar-color:#6b7d9655 transparent;font:12px "Microsoft YaHei",sans-serif}
.entry-dialog::backdrop{background:#000819bd;backdrop-filter:blur(7px)}.entry-dialog-close{position:absolute;right:12px;top:8px;padding:6px 9px;font:27px Georgia,serif!important;color:#8396b0;background:none}.entry-dialog-symbol{text-align:center;color:#91a9c6;font:20px Georgia,serif;margin:0 0 15px}.entry-dialog h2{font:25px "Songti SC","SimSun",Georgia,serif;text-align:center;letter-spacing:3px;margin:0 0 15px;color:#e1e6ed}.entry-dialog-lead{font-size:11px!important;text-align:center;line-height:1.9!important;letter-spacing:1px;color:#94a5bf!important;margin-bottom:23px}.entry-guide-list{border-top:1px solid #758ca02b;padding-top:5px}.entry-guide-list section{padding:8px 0 5px}.entry-guide-list h3{font:16px "Songti SC","SimSun",Georgia,serif;letter-spacing:2px;color:#bdcde0;margin:13px 0 7px}.entry-guide-list p,.entry-privacy{font-size:11px!important;color:#97a9c0!important;line-height:1.9!important;margin:0}.entry-privacy{margin-top:22px!important;border-top:1px solid #758ca02b;padding-top:15px;font-size:10px!important;color:#748ba6!important}.entry-settings-fields>label{display:block;margin:23px 0;font-size:12px;letter-spacing:1px}.entry-settings-fields output{float:right;color:#a1c5e1;font:12px Georgia,serif}.entry-settings-fields input[type=range]{display:block;margin:15px 0 0;width:100%;accent-color:#b4c9df;cursor:pointer;height:5px}.entry-settings-fields .entry-check{display:flex;align-items:center;gap:12px;line-height:1.5}.entry-settings-fields input[type=checkbox]{width:15px;height:15px;accent-color:#a8bfdc;cursor:pointer;margin:0}.entry-check small{display:block;font-size:10px;color:#7187a1;margin-top:5px;letter-spacing:.5px}
@keyframes entry-eye-sway{0%,100%{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}
@keyframes entry-eye-breathe{0%,100%{opacity:.16}50%{opacity:.32}}
@keyframes entry-fog-drift{0%{transform:translateX(-3%) translateY(2%) scale(1.05)}100%{transform:translateX(4%) translateY(-2%) scale(1.1)}}
@keyframes entry-cloud-drift{from{transform:translateX(-2%) scale(1.02)}to{transform:translateX(2%) scale(1.05)}}
@keyframes entry-blink-upper{0%,2%,6%,100%{transform:translateY(-116px)}3.5%,4%{transform:translateY(0)}}
@keyframes entry-blink-lower{0%,2%,6%,100%{transform:translateY(116px)}3.5%,4%{transform:translateY(0)}}
@keyframes entry-content-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
/* Alternating peaks diminish before the lids open; the cord shares the pivot. */
@keyframes entry-pendulum-arrive{
  0%{transform:rotate(-23deg);animation-timing-function:cubic-bezier(.36,0,.64,1)}
  12%{transform:rotate(17deg);animation-timing-function:cubic-bezier(.36,0,.64,1)}
  24%{transform:rotate(-10deg);animation-timing-function:cubic-bezier(.36,0,.64,1)}
  35%{transform:rotate(5deg);animation-timing-function:cubic-bezier(.36,0,.64,1)}
  44%{transform:rotate(-1.6deg);animation-timing-function:ease-out}
  51%,100%{transform:rotate(0deg)}
}
@keyframes entry-lid-awaken-upper{0%,47%{transform:translateY(0);animation-timing-function:cubic-bezier(.2,.7,.3,1)}65%,100%{transform:translateY(-116px)}}
@keyframes entry-lid-awaken-lower{0%,47%{transform:translateY(0);animation-timing-function:cubic-bezier(.2,.7,.3,1)}65%,100%{transform:translateY(116px)}}
@keyframes entry-seam-open{0%,47%{opacity:1}52%,100%{opacity:0}}
@keyframes entry-contour-open{0%,48%{opacity:0}60%,100%{opacity:.48}}
@keyframes entry-eye-awaken{0%,47%{filter:brightness(1)}65%,100%{filter:brightness(1.1)}}
@keyframes entry-aperture-journey{
  0%,65%{transform:translate(-50%,-59.4118%) scale(1);animation-timing-function:cubic-bezier(.65,0,.85,.45)}
  88%,100%{transform:translate(-50%,-59.4118%) scale(18)}
}
@keyframes entry-pupil-open{0%,62%{transform:scale(1);animation-timing-function:ease-in}87%,100%{transform:scale(2.8)}}
@keyframes entry-awaken-halo{0%,45%{opacity:.05}62%{opacity:.4}87%,100%{opacity:0}}
@keyframes entry-stage-reveal{0%,88%{opacity:1}100%{opacity:0}}
@keyframes entry-fog-rush{0%,65%{transform:scale(1);opacity:.1}82%{transform:scale(1.4);opacity:.25}100%{transform:scale(2);opacity:0}}
@keyframes entry-gentle-reveal{from{opacity:1}to{opacity:0}}
@media(max-height:740px) and (min-width:651px){.entry-eye-wrap{width:43vh}.entry-menu{top:78%;gap:10px}.entry-enter{font-size:32px}.entry-menu-link{font-size:20px}.entry-role-screen{padding:36px 25px 25px}.entry-role-heading{margin-bottom:16px}.entry-role-heading h2{font-size:25px;margin-bottom:8px}.entry-small-ornament{margin-bottom:6px}.entry-role-portrait{height:27vh;min-height:135px}.entry-role-card{padding-bottom:12px!important}.entry-selected{margin-top:10px}.entry-role-confirm{margin-top:17px}.entry-role-hint{margin-top:11px}}
@media(max-width:650px){.entry-eye-wrap{width:min(82vw,42vh);top:3vh}.entry-menu{top:74%;gap:20px}.entry-enter{font-size:30px;min-width:230px;padding:8px 19px!important}.entry-enter:before,.entry-enter:after{width:40px}.entry-menu-link{font-size:20px}.entry-language{font-size:12px!important;bottom:3%;right:4%}.entry-role-screen{padding:72px 22px 52px;justify-content:center}.entry-back{top:3%;left:4%;font-size:13px}.entry-role-heading{margin-bottom:22px}.entry-role-heading h2{font-size:25px}.entry-role-heading p{font-size:10px}.entry-role-grid{gap:14px;width:100%;max-width:440px}.entry-role-card{padding:10px 8px 14px!important}.entry-role-portrait{height:27vh;min-height:130px;margin-bottom:6px}.entry-role-name{font-size:17px;letter-spacing:1px;margin-top:5px}.entry-role-desc{font-size:8px;letter-spacing:0;white-space:normal;max-width:130px;min-height:25px}.entry-selected{font-size:9px;margin-top:10px;letter-spacing:1px}.entry-role-confirm{font-size:17px;margin-top:26px}.entry-role-hint{font-size:9px;width:90%;line-height:1.9;max-width:300px}.entry-role-status{bottom:21px;max-width:90%;text-align:center}.entry-game-toolbar{top:8px;gap:10px;padding:4px 10px}.entry-game-toolbar button{font-size:9px;gap:5px}.entry-game-toolbar button>span:first-child{font-size:13px}.entry-dialog{padding:34px 25px 25px}.entry-dialog h2{font-size:23px}.entry-skip{top:3%;right:4%;font-size:10px!important}.entry-intro-caption{font-size:12px}}
@media(max-width:650px) and (max-height:670px){.entry-eye-wrap{width:38vh}.entry-menu{top:76%;gap:12px}.entry-role-screen{padding-top:40px;padding-bottom:30px}.entry-role-heading{margin-bottom:12px}.entry-role-heading h2{font-size:22px}.entry-small-ornament{display:none}.entry-role-portrait{height:23vh;min-height:105px}.entry-role-confirm{margin-top:17px}.entry-role-hint{margin-top:10px}.entry-role-name{font-size:16px}.entry-selected{margin-top:6px}}
@media(prefers-reduced-motion:reduce){.entry-eye-talisman,.entry-eye-halo,.entry-upper-lid,.entry-lower-lid,.entry-fog,.entry-cloud-texture,.entry-role-screen{animation:none!important}.entry-eye-gaze,.entry-eye-wrap,.entry-role-card,.entry-role-portrait img{transition:none!important}.is-opening{animation:entry-reduced-reveal .35s ease both!important}.is-opening .entry-eye-wrap,.is-opening .entry-pendulum,.is-opening .entry-eye-ball,.is-opening .entry-pupil,.is-opening .entry-intro-caption,.is-opening .entry-fog-front,.is-opening .entry-closed-seam,.is-opening .entry-open-contour,.is-opening .entry-eye-outline{animation:none!important}.entry-intro-caption{display:none}@keyframes entry-reduced-reveal{from{opacity:1}to{opacity:0}}}

/* Three equal-height menu rows keep their labels and ornaments on one rhythm. */
.entry-screen{--entry-menu-gold:#e4cfa7}
.entry-menu{top:65%;transform:translateX(-50%);width:min(440px,85vw);display:grid;grid-auto-rows:clamp(56px,8vh,76px);gap:clamp(8px,1.3vh,14px);justify-items:center}
.entry-menu>.entry-enter,.entry-menu>.entry-menu-link{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;height:100%;min-width:0;margin:0;padding:0 10px 17px!important;color:var(--entry-menu-gold);opacity:1;line-height:1.3;font-weight:400;letter-spacing:.16em;text-indent:.16em;white-space:nowrap;text-shadow:none;background:none;transform:none;transition:color .2s,text-shadow .2s}
.entry-menu>.entry-enter{width:100%;font-size:clamp(28px,2.4vw,40px)}
.entry-menu>.entry-menu-link{width:76%;font-size:clamp(19px,1.6vw,27px)}
.entry-menu>button:before{content:"";position:absolute;inset:calc(50% - 18px) 0 auto;width:100%;height:18px;margin:0;transform:none;clip-path:none;background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 18'%3E%3Cdefs%3E%3ClinearGradient id='l'%3E%3Cstop stop-color='%23e4cfa7' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%23e4cfa7'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 9h64' stroke='url(%23l)'/%3E%3Cpath d='M336 9h64' stroke='url(%23l)' transform='rotate(180 368 9)'/%3E%3Cpath d='m64 9 6-5 6 5-6 5z m260 0 6-5 6 5-6 5z' fill='none' stroke='%23e4cfa7' stroke-width='1.2'/%3E%3C/svg%3E") center/100% 18px no-repeat;pointer-events:none}
.entry-menu>button:after{content:"";position:absolute;left:22%;right:22%;bottom:3px;top:auto;width:56%;height:15px;margin:0;transform:none;clip-path:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 16'%3E%3Cdefs%3E%3ClinearGradient id='u'%3E%3Cstop stop-color='%23e4cfa7' stop-opacity='0'/%3E%3Cstop offset='.5' stop-color='%23e4cfa7'/%3E%3Cstop offset='1' stop-color='%23e4cfa7' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 8h102m16 0h102' stroke='url(%23u)'/%3E%3Cpath d='m102 8 8-7 8 7-8 7z' fill='none' stroke='%23e4cfa7'/%3E%3Cpath d='m107 8 3-3 3 3-3 3z' fill='%23e4cfa7'/%3E%3C/svg%3E") center/100% 15px no-repeat;pointer-events:none}
.entry-menu>button:hover{color:#fff1d5;text-shadow:0 0 13px #e4cfa73b;transform:none}
.entry-menu>.entry-enter:disabled{opacity:.45}
.entry-language{color:var(--entry-menu-gold)!important;padding-bottom:19px!important;opacity:.85}
.entry-language:after{content:"";position:absolute;left:0;right:0;bottom:3px;height:11px;background:linear-gradient(90deg,transparent,#e4cfa7,transparent) center/100% 1px no-repeat}
.entry-language:before{content:"";position:absolute;left:calc(50% - 3px);bottom:5px;width:5px;height:5px;border:1px solid #e4cfa7;background:#030616;transform:rotate(45deg);z-index:1}

/* A shared drawing, delayed twice: visible silhouettes follow the real swing. */
.entry-eye-wrap{top:-2vh;width:min(52vh,550px)}
.entry-eye-talisman{animation:none}
.entry-pendulum,.entry-eye-echo{transform-origin:250px -40px;animation:entry-menu-pendulum 2.8s ease-in-out infinite}
.entry-eye-echo{pointer-events:none;opacity:var(--echo-opacity);filter:brightness(.72);animation-delay:var(--echo-delay);animation-fill-mode:both}
.entry-eye-echo-near{--echo-opacity:.32;--echo-delay:150ms}
.entry-eye-echo-far{--echo-opacity:.16;--echo-delay:300ms}
.is-intro .entry-pendulum{animation:none}
.is-intro .entry-eye-echo{animation:none;opacity:0}
.is-opening .entry-pendulum{animation:entry-pendulum-arrive var(--entry-intro-duration) linear both}
.is-opening .entry-eye-echo{animation:entry-pendulum-arrive var(--entry-intro-duration) linear var(--echo-delay) both,entry-echo-fade var(--entry-intro-duration) linear both}
.is-intro .entry-eye-wrap{top:50%;width:min(45vh,470px)}
@keyframes entry-menu-pendulum{0%,50%,100%{transform:rotate(0deg)}25%{transform:rotate(12deg)}75%{transform:rotate(-12deg)}}
@keyframes entry-echo-fade{0%,34%{opacity:var(--echo-opacity)}51%,100%{opacity:0}}
@media(max-width:650px){.entry-eye-wrap{width:min(95vw,49vh);top:0}.entry-menu{top:65%;width:min(380px,88vw);gap:10px;grid-auto-rows:clamp(54px,7.6vh,66px)}.entry-menu>.entry-enter{font-size:29px}.entry-menu>.entry-menu-link{font-size:20px}.entry-language{bottom:2%;right:4%;font-size:11px!important}}
@media(max-height:570px){.entry-menu{top:63%;grid-auto-rows:clamp(38px,8vh,50px);gap:5px}.entry-menu>.entry-enter{font-size:25px}.entry-menu>.entry-menu-link{font-size:17px}.entry-menu>button:before{top:calc(50% - 16px)}.entry-menu>button:after{bottom:0}}
.is-opening.is-gentle .entry-eye-echo{display:none;animation:none!important}
@media(prefers-reduced-motion:reduce){.entry-pendulum,.entry-eye-echo{animation:none!important}.entry-eye-echo{display:none}}

/* Inherited lid values also reach the SVG use shadow trees in both echoes. */
.entry-upper-lid{animation-name:var(--entry-upper-motion,entry-blink-upper);transform:translateY(var(--entry-upper-offset,-116px))}
.entry-lower-lid{animation-name:var(--entry-lower-motion,entry-blink-lower);transform:translateY(var(--entry-lower-offset,116px))}
.entry-closed-seam{opacity:var(--entry-seam-opacity,0)}
.entry-eye-outline{opacity:var(--entry-outline-opacity,1)}
.entry-open-contour{opacity:var(--entry-contour-opacity,.48)}
.is-intro{--entry-upper-motion:none;--entry-lower-motion:none;--entry-upper-offset:0px;--entry-lower-offset:0px;--entry-seam-opacity:1;--entry-outline-opacity:0;--entry-contour-opacity:0}
.entry-menu>button:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 18'%3E%3Cpath d='M0 9h64m272 0h64' stroke='%23e4cfa7' stroke-opacity='.65'/%3E%3Cpath d='m64 9 6-5 6 5-6 5z m260 0 6-5 6 5-6 5z' fill='none' stroke='%23e4cfa7' stroke-width='1.2'/%3E%3C/svg%3E")}
.entry-menu>button:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 16'%3E%3Cpath d='M0 8h102m16 0h102' stroke='%23e4cfa7' stroke-opacity='.65'/%3E%3Cpath d='m102 8 8-7 8 7-8 7z' fill='none' stroke='%23e4cfa7'/%3E%3Cpath d='m107 8 3-3 3 3-3 3z' fill='%23e4cfa7'/%3E%3C/svg%3E")}
