/* Access portal replaces numeric rain. Background and homepage stay frozen. */
.entry.entry--access{position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow:hidden;background:#030b12;color:#c9ebe9;pointer-events:auto;isolation:isolate;transition:opacity .65s,visibility .65s;touch-action:manipulation;font-family:SceneVariable,'PingFang SC',sans-serif}
body.entry-open{overflow:hidden}.entry--access::before{content:'';position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 50% 42%,#0c343c55,transparent 58%),linear-gradient(90deg,transparent 49.95%,#70daca12 50%,transparent 50.05%);pointer-events:none}
.entry--access::after{content:'';position:absolute;left:0;right:0;height:1px;top:-1px;background:#97ffe9;opacity:.25;box-shadow:0 0 35px 10px #59ffe825;animation:portal-scan 5s linear infinite;pointer-events:none}
.entry-corners{position:absolute;inset:27px;border:1px solid #89decc1b;pointer-events:none;background:linear-gradient(#8af5dc55,#8af5dc55) left top/25px 1px no-repeat,linear-gradient(#8af5dc55,#8af5dc55) right bottom/25px 1px no-repeat}
.entry-masthead{position:absolute;top:51px;left:4.6%;font:600 14px monospace;letter-spacing:.16em;color:#bce7e2}.entry-masthead small{display:block;margin-top:10px;font:9px 'PingFang SC',sans-serif;letter-spacing:.35em;color:#608b91}
.entry-side{position:absolute;left:4.6%;bottom:52px;font-size:10px;letter-spacing:.2em;color:#63878d}.entry-session{position:absolute;right:4.6%;top:55px;display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:.2em;color:#93c5c4}.entry-session::before{content:'';width:4px;height:4px;background:#93ffe6;box-shadow:0 0 10px #55ffd0;animation:portal-signal 2s infinite}
.entry-panel{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;width:min(520px,88vw);padding:8px 0 0;margin-top:-3vh}
.entry-identity{position:relative;width:300px;height:300px;margin:-15px 0 -5px}.entry-identity img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:url(#logo-ink);z-index:1;pointer-events:none}
.entry-orbit{position:absolute;left:50%;top:37.5%;width:205px;height:205px;transform:translate(-50%,-50%);border:1px solid #8ae9d523;border-radius:50%;z-index:2;pointer-events:none}
.entry-orbit::before,.entry-orbit::after{content:'';position:absolute;border-radius:50%;inset:-9px;border:1px solid transparent;border-top-color:#a4f3e580;border-right-color:#78d5e22b;animation:orbit-spin 8s linear infinite}.entry-orbit::after{inset:8px;border-top-color:#80f6d922;animation:orbit-spin 11s linear infinite reverse}
.entry-visitor{font:11px monospace;letter-spacing:.2em;color:#7faaa9;border:1px solid #77c4bc27;padding:8px 14px;margin:0 0 21px;min-height:30px}
.entry-phase-title{font-size:clamp(22px,2.1vw,30px);font-weight:650;letter-spacing:.24em;color:#dcfff4;margin:0 0 12px;line-height:1.5;text-shadow:0 0 23px #75eacd20}.entry-phase-detail{font-size:11px;font-weight:350;letter-spacing:.12em;color:#7eaaa9;margin:0;min-height:22px}
.entry-accept{margin:28px 0 0;padding:14px 36px;border:1px solid #91edcf8a;position:relative;background:linear-gradient(110deg,#0d3e4655,#052331aa);color:#c6fff0;font-size:12px;letter-spacing:.35em;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);box-shadow:inset 0 0 25px #5beace0b;transition:background .2s,transform .2s}
.entry-accept:hover{background:#15505bd9;transform:translateY(-2px)}.entry-accept:active{transform:translateY(1px)}.entry-accept:focus-visible{outline:2px solid #bdffeb;outline-offset:5px;clip-path:none}.entry-accept:disabled{cursor:default;opacity:.55;transform:none}
.entry-steps{display:flex;gap:0;list-style:none;padding:0;margin:35px 0 0;width:290px}.entry-steps li{flex:1;padding-top:12px;border-top:1px solid #44696955;color:#345b60;font-size:9px;letter-spacing:.15em;position:relative}.entry-steps li+li{margin-left:6px}.entry-steps li.is-active{color:#acffe4;border-color:#aeffe2;box-shadow:0 -5px 15px -7px #a4ffdd}.entry-steps li.is-complete{color:#679d96;border-color:#4d9c8d}
.entry-decoration{position:absolute;top:22%;bottom:22%;width:14%;border-top:1px solid #78b5bd12;border-bottom:1px solid #78b5bd12;pointer-events:none}.entry-decoration.left{left:7%;border-left:1px solid #78b5bd12}.entry-decoration.right{right:7%;border-right:1px solid #78b5bd12}.entry-decoration::after{content:'';position:absolute;top:30%;height:80px;width:1px;background:linear-gradient(transparent,#68e9d878,transparent);animation:side-scan 4s ease-in-out infinite alternate}.entry-decoration.right::after{right:0;animation-delay:-2s}
.entry[data-phase=verify] .entry-orbit{border-color:#b6ffed80;box-shadow:0 0 25px #73eedc12}.entry[data-phase=verify] .entry-orbit::before{animation-duration:.7s;border-top-width:3px}.entry[data-phase=verify] .entry-orbit::after{animation-duration:1.2s}.entry[data-phase=granted] .entry-orbit,.entry[data-phase=welcome] .entry-orbit{border-color:#b7ffe6;box-shadow:0 0 32px #67f8c626}.entry[data-phase=welcome] .entry-identity{filter:drop-shadow(0 0 12px #7de7cd38)}
.entry.entry--access.leaving,body[data-entered=true] .entry.entry--access{opacity:0;visibility:hidden;pointer-events:none}
@keyframes orbit-spin{to{rotate:360deg}}@keyframes portal-signal{50%{opacity:.3}}@keyframes portal-scan{to{top:100%}}@keyframes side-scan{to{top:70%}}
@media(max-width:650px){.entry-corners{inset:16px}.entry-masthead{top:36px;left:8%;font-size:12px}.entry-session{top:40px;right:8%;font-size:8px}.entry-masthead small{font-size:8px}.entry-identity{width:255px;height:255px;margin:-4px 0 0}.entry-orbit{width:176px;height:176px}.entry-phase-title{font-size:22px;letter-spacing:.18em}.entry-phase-detail{font-size:10px}.entry-visitor{font-size:10px;margin-bottom:20px}.entry-accept{margin-top:25px}.entry-side{left:8%;bottom:35px;font-size:8px}.entry-decoration{width:7%;top:25%;bottom:25%}.entry-decoration.left{left:7%}.entry-decoration.right{right:7%}.entry-steps{margin-top:30px;width:260px}}
@media(max-height:600px){.entry-panel{margin-top:0}.entry-identity{width:185px;height:185px;margin:0}.entry-orbit{width:128px;height:128px}.entry-visitor{margin-bottom:10px;padding:5px 12px}.entry-phase-title{font-size:20px;margin-bottom:4px}.entry-phase-detail{font-size:9px}.entry-accept{margin-top:12px;padding:10px 27px}.entry-steps{margin-top:17px}.entry-masthead{top:30px}.entry-session{top:34px}.entry-side{bottom:30px}}
@media(prefers-reduced-motion:reduce){.entry.entry--access{display:grid}.entry--access::after,.entry-orbit::before,.entry-orbit::after,.entry-decoration::after,.entry-session::before{animation:none!important}}

.entry.entry--access:focus{outline:none}

.logo-filter-defs{position:absolute;pointer-events:none}
/* Bilingual pacing and a distinct, read-complete confirmation beat. */
.entry-masthead small{line-height:1.8}.entry-masthead small span{font:7px monospace;letter-spacing:.18em;color:#47717c}
.entry-session{flex-wrap:wrap;width:150px;justify-content:flex-end;gap:6px}.entry-session small{width:100%;text-align:right;font:8px monospace;letter-spacing:.13em;color:#517d86}
.entry-side small{display:block;margin-top:8px;font:7px monospace;letter-spacing:.17em;color:#456973}
.entry-phase-title{margin-bottom:8px}.entry-phase-en{margin:0 0 15px;font:10px monospace;letter-spacing:.25em;line-height:1.5;color:#79a9b5;min-height:15px;max-width:90vw;text-align:center}.entry-phase-detail{font-size:10px;letter-spacing:.07em}
.entry-accept small{display:block;margin-top:7px;font:8px monospace;letter-spacing:.18em;color:#78abae}.entry-steps{width:350px}.entry-steps small{display:block;margin-top:7px;font:6px monospace;letter-spacing:.02em}
.entry-visitor{max-width:90vw;font-size:10px;letter-spacing:.12em}
.entry-verification{position:absolute;left:50%;top:50%;width:min(480px,86vw);aspect-ratio:1;transform:translate(-50%,-50%);opacity:0;visibility:hidden;pointer-events:none}
.entry-verification svg{width:100%;height:100%;overflow:visible;fill:none;stroke:#a4ffe5}.verify-track{stroke:#3b7c7c40;stroke-width:1}.verify-arc{stroke-width:3;stroke-linecap:round;stroke-dasharray:1060 160;transform-origin:220px 220px;rotate:-100deg}.verify-inner{stroke-width:1;stroke:#82d7d36b;stroke-dasharray:380 560;transform-origin:220px 220px}.verify-node{fill:#caffec;stroke:none;transform-origin:220px 220px}.verify-check{stroke:#a5ffe6;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:80;stroke-dashoffset:80}
.verify-confirm{position:absolute;inset:45% 0 auto;text-align:center;color:#e5fff3}.verify-confirm>span{display:block;font-size:clamp(18px,2vw,27px);font-weight:650;letter-spacing:.1em}.verify-confirm>small{display:block;margin-top:10px;font:9px monospace;letter-spacing:.22em;color:#7bbbc0}.verify-confirm>b{display:block;margin-top:32px;font:9px monospace;letter-spacing:.12em;font-weight:400;color:#5e9d9d}.verify-pulse{position:absolute;inset:6%;border:1px solid #a2ffe45c;border-radius:50%;opacity:0}
.entry[data-phase=verified] .entry-panel{opacity:0;pointer-events:none}.entry[data-phase=verified] .entry-verification{opacity:1;visibility:visible;transition:opacity .55s}.entry[data-phase=verified] .verify-arc{animation:verify-lock 2.5s cubic-bezier(.16,.8,.24,1) both}.entry[data-phase=verified] .verify-inner{animation:orbit-spin 8s linear infinite reverse}.entry[data-phase=verified] .verify-node{animation:verify-node 2.5s cubic-bezier(.16,.8,.24,1) both}.entry[data-phase=verified] .verify-check{animation:check-draw .65s ease .7s both}.entry[data-phase=verified] .verify-pulse{animation:verified-pulse 1.3s ease .9s both}.entry[data-phase=verified] .verify-confirm{animation:verify-copy .6s ease .25s both}
.entry[data-phase=welcome] .entry-panel{animation:welcome-arrive 1.1s cubic-bezier(.16,1,.3,1) both}.entry[data-phase=welcome] .entry-phase-en{color:#dbfff3;letter-spacing:.3em;font-size:clamp(15px,2vw,24px);margin:8px 0 15px}.entry[data-phase=welcome] .entry-phase-title{font-size:18px;letter-spacing:.1em}.entry[data-phase=welcome] .entry-accept{opacity:0;visibility:hidden}
@keyframes verify-lock{0%{rotate:-170deg;stroke-dasharray:300 920;opacity:.2}65%{stroke-dasharray:1060 160;opacity:1}100%{rotate:70deg;stroke-dasharray:1219 1}}
@keyframes verify-node{from{rotate:-170deg}to{rotate:70deg}}
@keyframes check-draw{to{stroke-dashoffset:0}}
@keyframes verified-pulse{0%{scale:.84;opacity:0}25%{opacity:.7}100%{scale:1.25;opacity:0}}
@keyframes verify-copy{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@keyframes welcome-arrive{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}
@media(max-width:650px){.entry-session{width:105px}.entry-phase-en{font-size:8px;letter-spacing:.13em;margin-bottom:13px}.entry-phase-title{font-size:20px}.entry-phase-detail{font-size:8px}.entry-steps{width:290px}.entry-steps small{font-size:5px}.entry-identity{width:235px;height:235px}.entry-orbit{width:164px;height:164px}.entry-visitor{font-size:8px;letter-spacing:.05em}.entry-side small{font-size:6px}.entry-verification{width:90vw}.verify-confirm>small{font-size:7px}.verify-confirm>b{font-size:7px;margin-top:24px}}
@media(max-height:600px){.entry-identity{width:155px;height:155px}.entry-orbit{width:108px;height:108px}.entry-phase-en{font-size:7px;margin-bottom:7px}.entry-phase-title{font-size:17px}.entry-accept{padding:8px 23px;margin-top:9px}.entry-accept small{font-size:6px;margin-top:5px}.entry-steps{margin-top:14px}.entry-steps small{margin-top:4px}.entry-verification{width:min(340px,76vh)}.verify-confirm>span{font-size:19px}.verify-confirm>small{font-size:7px}.entry-masthead small{font-size:7px}.entry-side{bottom:23px}}
@media(prefers-reduced-motion:reduce){.entry-verification *,.entry[data-phase=welcome] .entry-panel{animation:none!important;transition:none!important}.verify-check{stroke-dashoffset:0}.verify-arc{stroke-dasharray:none}}
@media(max-height:600px){.entry-identity{width:130px;height:130px}.entry-orbit{width:91px;height:91px}}
