/* Original glass gate: extruded SVG volume, architectural light and miniature applications. */
body.portal-home { --color-text-primary:#f0f7ff; --color-text-secondary:#bfd2e7; --color-text-tertiary:#adc1da; --color-border:rgb(181 215 250 / 20%); --color-focus:rgb(132 198 255 / 38%); --glass-border:rgb(201 231 255 / 34%); --glass-reflection:linear-gradient(135deg,rgb(255 255 255 / 12%),rgb(255 255 255 / 3%) 46%,rgb(255 255 255 / 7%)); color:var(--color-text-primary); background:radial-gradient(ellipse at 42% 61%,rgb(33 76 130 / 26%),transparent 39%),radial-gradient(ellipse at 98% 57%,rgb(26 73 112 / 17%),transparent 32%),linear-gradient(118deg,#050912 6%,#0d1827 55%,#060c15); }
.portal-shell { min-height:100svh; max-width:1680px; margin:auto; padding:0 clamp(24px,4vw,68px); display:flex; flex-direction:column; }
.portal-nav { min-height:60px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex:none; }
.portal-brand { display:flex; align-items:center; gap:9px; color:#e9f7ff; text-decoration:none; font-size:17px; font-weight:550; letter-spacing:.17em; }
.portal-brand>svg { width:30px; height:30px; }
.portal-nav nav { display:flex; gap:8px; }
.portal-nav [hidden] { display:none; }
.portal-home .btn.ghost { color:#c8dcef; }
.portal-home .btn.ghost:hover { color:#fff; background:rgb(127 173 231 / 16%); }
.portal-main { display:flex; flex-direction:column; justify-content:center; width:100%; max-width:1450px; margin:auto; padding:8px 0 16px; gap:8px; }
.portal-title { position:relative; z-index:4; padding-top:19px; }
.portal-title__index { position:absolute; top:0; left:3px; color:#a5bad4; font:9px/1.4 var(--font-mono); letter-spacing:.2em; }
.portal-title h1 { display:flex; align-items:center; margin:0; font-size:clamp(106px,10.6vw,164px); line-height:.96; font-weight:550; letter-spacing:-.078em; text-transform:uppercase; }
.portal-title h1>span:first-child { color:#f2f8ff; background:linear-gradient(176deg,#fff 16%,#e2effb 53%,#89a4bc 97%); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.portal-title h1>em { color:#82bfff; font-style:normal; font-weight:600; background:linear-gradient(165deg,#e4faff,#79bfff 43%,#185adb 96%); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.portal-title h1>.portal-title__cn { margin-left:27px; font-size:36px; line-height:1.25; font-weight:500; letter-spacing:.12em; color:#dfedfb; writing-mode:vertical-rl; text-orientation:upright; }
.portal-title p { position:absolute; right:2%; bottom:13px; margin:0; font-size:18px; line-height:1.5; font-weight:450; letter-spacing:.18em; color:#d5e8fa; }
.portal-title p>span { margin:0 7px; color:#80b3e6; }
.portal-stage { height:clamp(400px,48svh,480px); position:relative; isolation:isolate; min-width:0; }
.portal-space { position:absolute; inset:0; overflow:hidden; z-index:-1; pointer-events:none; }
.portal-caustic { position:absolute; left:23%; top:10%; width:44%; height:88%; border-radius:50%; background:radial-gradient(ellipse at 50% 56%,rgb(67 140 227 / 19%),transparent 64%); }
.portal-floor { position:absolute; inset:55% -8% -30%; border:1px solid rgb(183 221 251 / 9%); border-radius:50%; transform:perspective(520px) rotateX(62deg); background:repeating-linear-gradient(90deg,transparent 0 79px,rgb(152 193 233 / 9%) 80px),repeating-linear-gradient(0deg,transparent 0 51px,rgb(152 193 233 / 8%) 52px); mask-image:radial-gradient(ellipse,#000,transparent 69%); }
.portal-floor--far { inset:27% 17% -35%; opacity:.3; transform:perspective(440px) rotateX(73deg); }
.portal-horizon { position:absolute; top:76%; width:92%; left:4%; height:1px; background:linear-gradient(90deg,transparent,rgb(196 225 253 / 31%),transparent); }
.portal-beam { position:absolute; left:23%; top:10%; width:42%; height:76%; border-radius:50%; background:radial-gradient(ellipse,rgb(113 182 249 / 9%),transparent 63%); animation:portal-light 7s ease-in-out infinite; }
.portal-star { position:absolute; width:2px; height:2px; border-radius:50%; background:#c9e4fa; box-shadow:0 0 12px #78b9f3; animation:portal-light 7s ease-in-out infinite; }
.portal-star--a { left:27%; top:18%; }.portal-star--b { left:56%; top:13%; animation-delay:-2s; }.portal-star--c { left:50%; top:84%; animation-delay:-4s; }
.portal-gateway { position:absolute; left:40%; top:50%; translate:-50% -50%; width:clamp(600px,56vw,820px); height:100%; z-index:0; pointer-events:none; }
.portal-gateway>svg { width:100%; height:100%; overflow:visible; filter:drop-shadow(0 9px 10px rgb(77 133 200 / 19%)); }
.portal-lens-light { animation:portal-light 7s ease-in-out infinite; }
.portal-wires { position:absolute; inset:0; width:100%; height:100%; overflow:visible; z-index:1; pointer-events:none; }
.portal-origin { position:absolute; left:1%; top:24%; width:16%; min-width:180px; max-width:220px; display:grid; gap:20px; z-index:3; }
.portal-category { font-size:11px; line-height:1.5; font-weight:500; letter-spacing:.08em; color:#c8dbee; }
.portal-category b { margin-right:7px; color:#6f91b6; font:9px/1.5 var(--font-mono); font-weight:400; }
.portal-source { position:relative; display:flex; align-items:center; gap:12px; padding:17px 16px; border:1px solid var(--glass-border); border-radius:var(--radius-md); background:var(--glass-reflection),linear-gradient(150deg,rgb(62 88 117 / 66%),rgb(13 32 50 / 92%)); box-shadow:inset 0 1px 2px rgb(235 246 255 / 11%),inset 0 -5px 12px rgb(0 6 17 / 18%),0 19px 34px rgb(0 0 0 / 23%); }
.portal-source>.icon { width:24px; height:24px; color:#b7dfff; flex:none; position:relative; z-index:2; }
.portal-source>span { position:relative; z-index:2; }
.portal-source strong { display:block; font-size:14px; line-height:1.5; font-weight:500; white-space:nowrap; }
.portal-source small { display:block; font-size:10px; line-height:1.6; color:#b3cce4; white-space:nowrap; }
.portal-source,.portal-core,.portal-app { backdrop-filter:blur(var(--glass-blur-compact)) saturate(var(--glass-saturation)); -webkit-backdrop-filter:blur(var(--glass-blur-compact)) saturate(var(--glass-saturation)); }
.portal-core { position:absolute; left:40%; top:46%; translate:-50% -50%; width:160px; height:160px; border:1px solid var(--glass-border); border-radius:80px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; background:var(--glass-reflection),linear-gradient(160deg,rgb(196 235 255 / 39%),rgb(48 84 126 / 22%) 45%,rgb(152 203 244 / 24%)); box-shadow:inset 0 3px 8px rgb(239 251 255 / 47%),inset 0 -10px 20px rgb(25 61 120 / 41%),0 24px 54px rgb(0 0 0 / 24%); z-index:3; }
.portal-core__symbol { width:22px; height:22px; fill:none; stroke:#d5f4ff; stroke-width:1.1; position:relative; z-index:2; }
.portal-core>strong { font-size:49px; line-height:1.05; font-weight:450; letter-spacing:-.045em; color:#f6fcff; position:relative; z-index:2; }
.portal-core>span { font-size:11px; line-height:1.5; color:#d1e8fc; position:relative; z-index:2; }
.portal-core-orbit { position:absolute; left:40%; top:46%; translate:-50% -50%; width:228px; height:228px; border:1px solid rgb(180 219 251 / 12%); border-radius:50%; z-index:0; pointer-events:none; }
.portal-core-orbit>i { position:absolute; width:4px; height:4px; border-radius:50%; background:#d5eaff; box-shadow:0 0 10px rgb(147 206 255 / 24%); left:9%; top:18%; }
.portal-core-orbit>i:nth-child(2) { left:94%; top:54%; width:3px; height:3px; }.portal-core-orbit>i:nth-child(3) { left:24%; top:92%; width:3px; height:3px; }
.portal-world { position:absolute; width:40%; max-width:460px; right:1%; top:9%; z-index:3; }
.portal-world::before { content:''; position:absolute; inset:30px -13px -13px; border:1px solid rgb(176 213 249 / 10%); border-radius:28px; background:linear-gradient(155deg,rgb(165 210 243 / 4%),transparent 54%,rgb(62 113 172 / 9%)); transform:perspective(600px) rotateY(-7deg); pointer-events:none; }
.portal-world>.portal-category { position:relative; top:-34px; display:flex; justify-content:space-between; gap:10px; margin-bottom:14px; }
.portal-world>.portal-category>span:last-child { font-size:10px; letter-spacing:0; color:#b4cde4; }
.portal-apps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.portal-app { position:relative; min-width:0; padding:12px 12px 10px; border:1px solid var(--glass-border); border-radius:var(--radius-lg); color:#eaf5ff; text-align:left; cursor:pointer; background:var(--glass-reflection),linear-gradient(150deg,rgb(54 85 116 / 83%),rgb(16 33 54 / 96%) 56%,rgb(29 57 85 / 88%)); box-shadow:inset 0 1px 2px rgb(230 246 255 / 17%),inset 0 -4px 10px rgb(2 13 26 / 14%),0 24px 35px rgb(0 0 0 / 23%); transition:box-shadow var(--motion),background var(--motion); }
.portal-app:not(:disabled):hover { background:var(--glass-reflection),rgb(39 72 107 / 97%); box-shadow:inset 0 1px 2px rgb(232 246 255 / 25%),0 0 0 1px rgb(168 217 253 / 24%),0 24px 35px rgb(0 0 0 / 23%); }
.portal-app:not(:disabled):active { background:var(--glass-reflection),rgb(44 82 123 / 97%); }
.portal-app.is-selected { --fusion-rim-color:#a2d5ff; background:var(--glass-reflection),linear-gradient(143deg,rgb(38 81 133 / 95%),rgb(24 54 97 / 97%) 56%,rgb(42 80 130 / 94%)); box-shadow:inset 0 1px 2px rgb(230 249 255 / 30%),0 0 0 1px rgb(147 206 255 / 35%),0 0 32px rgb(65 146 242 / 12%),0 24px 40px rgb(0 0 0 / 25%); }
.portal-app:focus-visible { outline:2px solid #c2e7ff; outline-offset:4px; }
.portal-app:disabled { cursor:default; opacity:1; }
.portal-app__selected { position:absolute; right:-5px; top:-7px; width:22px; height:22px; display:none; place-items:center; border:1px solid #b9e2ff; border-radius:50%; color:#fff; background:var(--color-primary); font:12px/1 var(--font-sans); z-index:4; pointer-events:none; }
.portal-app.is-selected>.portal-app__selected { display:grid; }
.portal-app__top { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px; position:relative; z-index:2; }
.portal-app__top>strong { font-size:14px; line-height:1.5; font-weight:500; }
.portal-app__top>span { font:9px/1.5 var(--font-mono); color:#d4e8f9; }
.portal-app__view { display:block; width:100%; aspect-ratio:320 / 156; margin-top:8px; position:relative; z-index:2; pointer-events:none; }
.portal-app__view>svg { width:100%; height:auto; display:block; }
.portal-app:not(.is-selected) .portal-app__view { opacity:.75; }
.portal-app:not(:disabled):hover .portal-app__view { opacity:.9; }
.portal-entry { position:absolute; left:40%; bottom:4%; translate:-50% 0; z-index:5; min-width:156px; }
.portal-entry.btn { --btn-shadow:inset 0 2px 4px rgb(221 239 255 / 18%),inset 0 -4px 10px rgb(0 21 73 / 23%),0 9px 28px rgb(14 71 177 / 32%); }
.portal-announcement { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.portal-companies { display:flex; align-items:center; gap:30px; min-height:72px; padding:8px 0; border-top:1px solid rgb(176 212 248 / 13%); }
.portal-companies__label { width:132px; flex:none; }
.portal-companies__label>span { display:block; color:#b4cbe3; font-size:11px; line-height:1.6; }
.portal-companies__label>small { display:block; font-size:11px; line-height:1.8; color:#c1d9ee; }
.portal-company-window { overflow:hidden; min-width:0; flex:1; mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); }
.portal-company-window:focus-visible { outline:2px solid #c2e7ff; outline-offset:4px; }
.portal-company-track { display:flex; width:max-content; animation:portal-company-scroll 34s linear infinite; }
.portal-company-track>ul { margin:0; padding:0; display:flex; align-items:center; gap:40px; padding-right:40px; list-style:none; }
.portal-company-track li { display:grid; grid-template-columns:auto auto; gap:0 8px; align-items:center; color:#c2d5e8; white-space:nowrap; }
.portal-company-track li>strong { font-size:16px; line-height:1.5; font-weight:500; letter-spacing:.03em; }
.portal-company-track li>span { grid-column:2; font:7px/1.4 var(--font-mono); letter-spacing:.12em; color:#9db7d0; }
.portal-company-mark { grid-row:span 2; font-size:27px; line-height:1; font-weight:400; color:#bad6ee; }
.portal-company-mark--round { font-size:31px; }
.portal-company-mark>svg { display:block; width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.portal-companies:is(:hover,:focus-within) .portal-company-track { animation-play-state:paused; }
.portal-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; min-height:40px; gap:12px; }
.portal-footer>span { font:8px/1.5 var(--font-mono); letter-spacing:.12em; color:#9bb8d2; }
.portal-footer .website-version.btn { height:32px; min-width:32px; width:32px; }
.portal-noscript { padding:12px 24px; color:#c7d9ed; font-size:12px; }
.portal-home[data-portal-motion=paused] :is(.portal-effect,.fused-effect,.fused-connected-dot) { animation-play-state:paused; }
.portal-home[data-portal-motion=paused] .fused-effect { display:none; }
.portal-home[data-portal-motion=reduced] :is(.portal-effect,.fused-effect,.fused-connected-dot) { animation:none; }
.portal-home[data-portal-motion=reduced] .fused-effect { display:none; }
.portal-home[data-portal-motion=reduced] .portal-company-window { overflow-x:auto; mask-image:none; }
.portal-home[data-portal-motion=reduced] .portal-company-track>ul[aria-hidden=true] { display:none; }
.portal-home[data-portal-motion=paused] .portal-company-window,.portal-company-window:focus { overflow-x:auto; mask-image:none; }
.portal-home[data-portal-motion=paused] .portal-company-track,.portal-company-window:focus .portal-company-track { animation:none; }
.portal-home[data-portal-motion=paused] .portal-company-track>ul[aria-hidden=true],.portal-company-window:focus .portal-company-track>ul[aria-hidden=true] { display:none; }
.portal-home[data-portal-suspended=true] :is(.portal-effect,.fused-effect,.fused-connected-dot) { animation-play-state:paused; }
.portal-stage[data-portal-offscreen=true] :is(.portal-effect,.fused-effect,.fused-connected-dot) { visibility:hidden; animation-play-state:paused; }
.portal-companies[data-portal-offscreen=true] .portal-company-track { animation-play-state:paused; }
@keyframes portal-light { 0%,100% { opacity:.42; } 50% { opacity:1; } }
@keyframes portal-company-scroll { to { transform:translateX(-50%); } }
@media(min-width:1101px) and (max-height:780px) {
  .portal-nav { min-height:52px; }
  .portal-title h1 { font-size:132px; }
  .portal-title h1>.portal-title__cn { font-size:30px; }
  .portal-title p { font-size:17px; bottom:10px; }
  .portal-stage { height:410px; }
  .portal-world { max-width:440px; top:8%; }
  .portal-main { padding:6px 0 12px; gap:6px; }
  .portal-companies { min-height:64px; }
  .portal-footer { min-height:36px; }
  .portal-apps { gap:16px; }
}
@media(max-width:1100px) {
  .portal-shell { padding-inline:28px; }
  .portal-nav { min-height:52px; }
  .portal-title h1 { font-size:clamp(76px,10.6vw,110px); }
  .portal-title h1>.portal-title__cn { font-size:25px; margin-left:17px; }
  .portal-title p { font-size:16px; letter-spacing:.1em; right:0; bottom:9px; }
  .portal-main { gap:8px; padding:8px 0 12px; }
  .portal-stage { height:370px; }
  .portal-origin { left:0; width:17%; min-width:0; top:25%; gap:18px; }
  .portal-source { padding:13px 11px; gap:8px; }
  .portal-source>.icon { width:20px; height:20px; }
  .portal-source strong { font-size:12px; }.portal-source small { font-size:9px; }
  .portal-gateway { left:36%; width:560px; }
  .portal-core { left:36%; top:45%; width:128px; height:128px; border-radius:64px; }
  .portal-core>strong { font-size:42px; }.portal-core>span { font-size:10px; }
  .portal-core-orbit { left:36%; top:45%; width:184px; height:184px; }
  .portal-world { right:0; width:41%; max-width:400px; top:10%; }
  .portal-world>.portal-category { margin-bottom:12px; }
  .portal-world>.portal-category>span:last-child { font-size:9px; }
  .portal-apps { gap:14px; }
  .portal-app { padding:11px 10px 9px; border-radius:20px; }
  .portal-app__top>strong { font-size:12px; }.portal-app__top>span { font-size:8px; }
  .portal-entry { left:36%; bottom:4%; min-width:140px; }
  .portal-companies { min-height:64px; gap:18px; }.portal-companies__label { width:124px; }
  .portal-footer { min-height:36px; }
}
@media(min-width:761px) and (max-height:700px) {
  .portal-nav { min-height:44px; }
  .portal-title { padding-top:15px; }
  .portal-title h1 { font-size:80px; }
  .portal-title h1>.portal-title__cn { font-size:22px; }
  .portal-title p { font-size:16px; bottom:8px; }
  .portal-main { padding:6px 0 12px; gap:8px; }
  .portal-stage { height:clamp(310px,calc(100svh - 275px),390px); }
  .portal-world { max-width:300px; }
  .portal-apps { gap:12px; }
  .portal-source { padding-block:13px; }
  .portal-core { width:128px; height:128px; border-radius:64px; }
  .portal-core-orbit { width:184px; height:184px; }
  .portal-core>strong { font-size:42px; }
  .portal-companies { min-height:56px; }
  .portal-footer { min-height:36px; }
}
@media(max-width:760px) {
  .portal-shell { padding-inline:20px; }
  .portal-nav { padding-block:12px; min-height:0; }
  .portal-nav nav { gap:4px; }.portal-nav .btn { padding-inline:10px; font-size:11px; }
  .portal-main { gap:14px; padding:20px 0; }
  .portal-title { padding-top:20px; }
  .portal-title h1 { font-size:clamp(43px,10.3vw,78px); flex-wrap:wrap; }
  .portal-title h1>.portal-title__cn { writing-mode:horizontal-tb; flex-basis:100%; margin:12px 0 0; font-size:18px; line-height:1.5; letter-spacing:.3em; }
  .portal-title p { position:static; font-size:15px; line-height:1.6; letter-spacing:.13em; margin-top:12px; }
  .portal-stage { height:auto; display:flex; flex-direction:column; align-items:center; gap:24px; padding:0 0 36px; }
  .portal-gateway { top:70px; left:50%; translate:-50% 0; width:min(100%,470px); height:300px; }
  .portal-origin { position:relative; inset:auto; width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding-top:10px; }
  .portal-origin>.portal-category { grid-column:1/-1; }
  .portal-source { padding:13px 12px; }
  .portal-core { position:relative; inset:auto; translate:none; margin:15px 0 10px; width:132px; height:132px; border-radius:66px; flex:none; }
  .portal-core-orbit { display:none; }
  .portal-world { position:relative; inset:auto; width:100%; max-width:none; padding-inline:12px; }
  .portal-world::before { display:none; }
  .portal-world>.portal-category { top:0; margin-bottom:32px; }
  .portal-apps { gap:16px; }
  .portal-app { padding:12px; }
  .portal-app__top>strong { font-size:13px; }.portal-app__top>span { font-size:9px; }
  .portal-entry { position:relative; inset:auto; translate:none; margin:8px 0 0; min-width:160px; }
  .portal-companies { flex-direction:column; align-items:stretch; padding:14px 0; gap:14px; }
  .portal-companies__label { width:auto; display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .portal-company-track>ul { gap:28px; padding-right:28px; }
  .portal-company-track li>strong { font-size:14px; }
  .portal-footer { padding:10px 0; min-height:0; }
}
@media(pointer:coarse) {
  .portal-nav .btn { min-height:44px; }
  .portal-footer .website-version.btn { width:44px; min-width:44px; height:44px; }
}
@media(prefers-reduced-motion:reduce) {
  .portal-home :is(.portal-effect,.fused-effect,.fused-connected-dot) { animation:none; }
  .portal-home .fused-effect { display:none; }
  .portal-company-window { overflow-x:auto; mask-image:none; }
  .portal-company-track>ul[aria-hidden=true] { display:none; }
  .portal-app { transition:none; }
}
@media(prefers-reduced-transparency:reduce) {
  .portal-source,.portal-core,.portal-app { background:#18324c; backdrop-filter:none; -webkit-backdrop-filter:none; }
  .portal-gateway { opacity:.85; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .portal-source,.portal-core,.portal-app { background:#18324c; }
}
@media(forced-colors:active) {
  body.portal-home { background:Canvas; color:CanvasText; }
  .portal-title h1>span:first-child,.portal-title h1>em { background:none; -webkit-text-fill-color:CanvasText; color:CanvasText; }
  .portal-space,.portal-gateway,.portal-core-orbit,.portal-world::before { display:none; }
  .portal-source,.portal-core,.portal-app { color:CanvasText; background:Canvas; box-shadow:none; }
  .portal-home :is(.portal-brand,.portal-title p,.portal-title__index,.portal-title__cn,.portal-category,.portal-category b,.portal-source small,.portal-core>strong,.portal-core>span,.portal-app__top>span,.portal-companies__label>span,.portal-companies__label>small,.portal-company-mark,.portal-company-track li,.portal-company-track li>span,.portal-footer>span) { color:CanvasText; }
  .portal-home :is(.portal-effect,.fused-effect,.fused-connected-dot) { animation:none; }.portal-home .fused-effect { display:none; }
  .portal-company-window { overflow-x:auto; mask-image:none; }
  .portal-company-track>ul[aria-hidden=true] { display:none; }
  .portal-company-window:focus-visible { outline-color:Highlight; }
  .portal-home .portal-app.is-selected { outline:2px solid Highlight; }
  .portal-app__selected { color:HighlightText; background:Highlight; border-color:HighlightText; }
  .portal-home .btn.ghost { color:ButtonText; }
}
