/* Shared public page shell: homepage and public subpages use one visual system. */
body:has(.showcase-page),body:has(.esports-page){color:#102b43;background:#fff;font-family:Inter,"SF Pro Display","PingFang SC","Microsoft YaHei",system-ui,sans-serif;overflow-x:clip;-webkit-font-smoothing:antialiased}
body:has(.showcase-page) .portal-header,body:has(.esports-page) .portal-header{position:absolute;z-index:20;top:0;left:0;right:0;max-width:none;width:100%;height:82px;margin:0;padding:0 clamp(24px,5.5vw,88px);background:rgba(5,18,34,.72);border-bottom:1px solid rgba(255,255,255,.1);color:#dceaf3;backdrop-filter:blur(20px)}
body:has(.showcase-page) .portal-header .brand b,body:has(.esports-page) .portal-header .brand b{color:#fff;font-size:16px;letter-spacing:.08em}
body:has(.showcase-page) .portal-header .brand img,body:has(.esports-page) .portal-header .brand img{width:42px;height:42px}
body:has(.showcase-page) .portal-header .brand small,body:has(.esports-page) .portal-header .brand small{color:#6f91a9;margin-top:8px;font-size:7px;letter-spacing:.14em}
body:has(.showcase-page) .portal-nav,body:has(.esports-page) .portal-nav{margin-left:auto;gap:34px;color:#91a9b9;font-size:12px}
body:has(.showcase-page) .portal-nav a,body:has(.esports-page) .portal-nav a{color:#91a9b9;font-size:12px}
body:has(.showcase-page) .portal-nav a:hover,body:has(.esports-page) .portal-nav a:hover{color:#fff}
body:has(.showcase-page) .portal-nav .portal-entry,body:has(.esports-page) .portal-nav .portal-entry{display:none}
body:has(.showcase-page) .public-business-cta,body:has(.esports-page) .public-business-cta{display:flex;align-items:center;gap:12px;margin-left:20px;padding:11px 17px;color:#061a2d;background:#fff;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}
body:has(.showcase-page) .portal-header>.interactive-shortcut,body:has(.esports-page) .portal-header>.interactive-shortcut{display:none}
body:has(.showcase-page) .portal-main,body:has(.esports-page) .portal-main{max-width:none;margin:0;padding:0;min-height:0}
.showcase-hero{min-height:0;padding:154px clamp(24px,6vw,96px) 0;background:radial-gradient(circle at 78% 20%,rgba(39,182,183,.22),transparent 30%),linear-gradient(135deg,#061426 0%,#0a2946 58%,#0b3d55 100%);color:#fff;position:relative;overflow:hidden}
.showcase-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(116,181,214,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(116,181,214,.065) 1px,transparent 1px);background-size:60px 60px;mask-image:linear-gradient(to bottom,#000,transparent 92%);pointer-events:none}
.showcase-hero:after{content:"";position:absolute;width:720px;height:720px;right:-180px;top:-100px;border:1px solid rgba(92,199,198,.19);border-radius:50%;box-shadow:0 0 0 90px rgba(45,186,178,.035),0 0 0 180px rgba(45,186,178,.022);pointer-events:none}
.showcase-inner{width:min(1220px,100%);min-height:538px;margin:auto;display:grid;grid-template-columns:1.16fr .84fr;gap:50px;align-items:center;position:relative;z-index:2}
.showcase-copy{max-width:760px}
.showcase-hero .overline{color:#64d4cf;font-size:10px;font-weight:750;letter-spacing:.18em;display:flex;align-items:center;gap:10px}
.showcase-hero .overline:before{content:"";width:6px;height:6px;background:#1eb9b0;border-radius:50%;box-shadow:0 0 0 5px rgba(30,185,176,.12)}
.showcase-hero h1{max-width:760px;margin:28px 0 30px;font-size:clamp(54px,6.2vw,92px);line-height:1.02;letter-spacing:-.065em;font-weight:760;text-shadow:0 10px 30px rgba(0,0,0,.18)}
.interactive-page .showcase-hero h1{max-width:760px;font-size:clamp(54px,6.2vw,92px);line-height:1.02;letter-spacing:-.065em}
.showcase-hero h1 em{display:block;font-style:normal;color:#58d3ca}.esports-page .showcase-hero h1 em{color:#58d3ca}
.showcase-hero .showcase-copy>p:not(.overline){max-width:610px;color:#a7bdcc;font-size:clamp(16px,1.45vw,20px);line-height:1.85}
.showcase-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:42px}
.showcase-links a{min-height:48px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#d7e8f1;font-size:12px;font-weight:750}
.showcase-links a:first-child{color:#07192c;background:linear-gradient(135deg,#fff,#dff8f3);border-color:transparent;box-shadow:0 15px 35px rgba(0,0,0,.16)}
.showcase-hero-art{aspect-ratio:1;position:relative;display:grid;place-items:center;z-index:2}
.showcase-orbit{border:1px solid rgba(92,199,198,.19);border-radius:50%;position:absolute}.showcase-orbit.orbit-one{inset:7%;animation:showcase-orbit-spin 34s linear infinite}.showcase-orbit.orbit-two{inset:20%;border-style:dashed;animation:showcase-orbit-spin 25s linear reverse infinite}.showcase-orbit.orbit-three{inset:33%}
.showcase-core{width:35%;aspect-ratio:1;background:rgba(255,255,255,.96);border-radius:36%;display:grid;place-items:center;align-content:center;box-shadow:0 30px 90px rgba(0,0,0,.3);position:relative;z-index:2;transform:rotate(-5deg);color:#0877bb;text-align:center}.showcase-core span{font-size:clamp(2rem,3.2vw,3.2rem);font-weight:800;letter-spacing:-.08em}.showcase-core small{color:#147d9b;font:600 .48rem ui-monospace,monospace;letter-spacing:.12em;margin-top:8px}
.showcase-chip{width:175px;padding:15px 17px;background:rgba(10,41,69,.78);border:1px solid rgba(148,212,222,.3);border-radius:12px;backdrop-filter:blur(12px);display:grid;position:absolute;z-index:3;box-shadow:0 20px 55px rgba(0,0,0,.22);color:#d7edf0;font:600 9px ui-monospace,monospace;letter-spacing:.08em}.showcase-chip b{color:#58c8c6;font-size:9px;position:absolute;right:14px;top:15px}.showcase-chip.chip-a{top:12%;left:0}.showcase-chip.chip-b{right:-3%;top:44%}.showcase-chip.chip-c{bottom:5%;left:8%}
.showcase-metrics{width:min(1220px,100%);margin:80px auto 0;border-top:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:repeat(3,1fr) 1.35fr;position:relative;z-index:2;color:#fff}.showcase-metrics>div{min-height:126px;padding:28px 28px 20px 0;border-right:1px solid rgba(255,255,255,.1);display:grid;align-content:start}.showcase-metrics>div+div{padding-left:28px}.showcase-metrics>div:last-child{border-right:0}.showcase-metrics dt{font-size:25px;font-weight:700;letter-spacing:-.03em}.showcase-metrics dd{color:#7693a7;margin:8px 0 0;font-size:9px}.showcase-metrics>div:last-child dt{color:#5fd0cb;font-size:11px;letter-spacing:.08em}
.showcase-section{max-width:none;margin:0;padding:112px clamp(24px,6vw,96px);background:#fff;color:#102b43}.showcase-section:nth-of-type(3){background:#f4f8fa}.showcase-section>.overline,.showcase-section>h2,.showcase-section>p:not(.overline),.showcase-section>.company-facts{width:min(1220px,100%);margin-left:auto;margin-right:auto}.showcase-section h2{font-size:clamp(40px,4.5vw,66px);line-height:1.08;letter-spacing:-.055em;margin-top:20px;margin-bottom:20px;font-weight:750}.showcase-section>p:not(.overline){max-width:610px;color:#63788a;font-size:14px;line-height:1.9}.showcase-section>.showcase-grid,.showcase-section>.showcase-platform-list{width:min(1220px,100%);margin:58px auto 0}.showcase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.showcase-card{min-height:250px;padding:30px;background:#fff;border:1px solid #dbe5eb;border-radius:18px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 14px 38px rgba(8,35,58,.06);transition:transform .25s,box-shadow .25s}.showcase-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(8,35,58,.12)}.showcase-card .index{color:#187e9d;font:9px ui-monospace,monospace;letter-spacing:.13em}.showcase-card h3{font-size:21px;margin:46px 0 16px}.showcase-card p{color:#63788a;font-size:12px;line-height:1.85}.showcase-card small{color:#8b9ba6;margin-top:20px;font-size:10px}
.showcase-platform-list{display:flex;flex-wrap:wrap;gap:9px}.showcase-platform-list span{background:#e8f7f8;border:1px solid #cce5e2;border-radius:999px;padding:10px 15px;color:#0a5f5c;font-size:.85rem}
.esports-capabilities{background:#07192c!important;color:#eaf3f8!important;position:relative;overflow:hidden}.esports-capabilities:before{content:"";width:650px;height:650px;border:1px solid rgba(46,192,185,.12);border-radius:50%;position:absolute;left:-280px;bottom:-320px;box-shadow:0 0 0 70px rgba(46,192,185,.025),0 0 0 140px rgba(46,192,185,.018)}.esports-capabilities>.overline,.esports-capabilities>h2,.esports-capabilities>p:not(.overline),.esports-capabilities>.showcase-grid{position:relative;z-index:1}.esports-capabilities>.overline{color:#64d4cf}.esports-capabilities>h2{color:#eaf3f8}.esports-capabilities>p:not(.overline){color:#829cae}.esports-capabilities .showcase-card{background:rgba(255,255,255,.06);border-color:rgba(158,225,230,.2);color:#edf5ff;box-shadow:none}.esports-capabilities .showcase-card p,.esports-capabilities .showcase-card small{color:rgba(237,245,255,.6)}
.showcase-footer{max-width:none;margin:0;padding:55px clamp(24px,6vw,96px) 28px;background:#06172a;color:#dce9f1}.showcase-footer a{display:block;width:min(1220px,100%);margin:auto;color:#9dd8d0;font-size:11px}
body:has(.showcase-page) .portal-footer,body:has(.esports-page) .portal-footer{max-width:none;margin:0;padding:28px clamp(24px,6vw,96px);background:#06172a;color:#58748a;border-top:1px solid #20364a}body:has(.showcase-page) .portal-footer .icp-registration,body:has(.esports-page) .portal-footer .icp-registration{color:#58748a}body:has(.showcase-page) .portal-footer small,body:has(.esports-page) .portal-footer small{color:#58748a}
@keyframes showcase-orbit-spin{to{transform:rotate(360deg)}}
@media(max-width:1020px){.showcase-inner{grid-template-columns:1fr .75fr}.showcase-hero h1,.interactive-page .showcase-hero h1{font-size:58px}.showcase-metrics{grid-template-columns:repeat(3,1fr)}.showcase-metrics>div:last-child{display:none}.showcase-grid{grid-template-columns:repeat(2,1fr)}.public-business-cta{display:none!important}}
@media(max-width:720px){body:has(.showcase-page) .portal-header,body:has(.esports-page) .portal-header{height:68px;padding:0 18px}body:has(.showcase-page) .portal-header .brand img,body:has(.esports-page) .portal-header .brand img{width:36px;height:36px}body:has(.showcase-page) .portal-header .brand b,body:has(.esports-page) .portal-header .brand b{font-size:14px}body:has(.showcase-page) .portal-nav,body:has(.esports-page) .portal-nav{display:none}body:has(.showcase-page) .portal-header>.interactive-shortcut,body:has(.esports-page) .portal-header>.interactive-shortcut{display:inline-flex;margin-left:auto;flex-shrink:0}.showcase-hero{padding:105px 20px 0;min-height:0}.showcase-inner{display:block;min-height:0}.showcase-copy h1,.interactive-page .showcase-hero h1{font-size:clamp(43px,13vw,58px);line-height:1.02;margin:22px 0 24px}.showcase-copy h1 em{font-size:.88em;white-space:nowrap}.showcase-hero .showcase-copy>p:not(.overline){font-size:15px;line-height:1.8}.showcase-links{align-items:stretch;flex-direction:column;margin-top:32px}.showcase-links a{width:100%}.showcase-hero-art{width:100%;max-width:430px;margin:38px auto 0}.showcase-chip{width:140px;padding:12px}.showcase-metrics{margin-top:32px;grid-template-columns:repeat(3,1fr)}.showcase-metrics>div{min-height:104px;padding:22px 10px 18px 0}.showcase-metrics>div+div{padding-left:10px}.showcase-metrics dt{font-size:20px}.showcase-metrics dd{font-size:8px;line-height:1.5}.showcase-metrics>div:last-child{display:none}.showcase-section{padding:78px 20px}.showcase-section h2{font-size:42px}.showcase-section>.showcase-grid,.showcase-section>.showcase-platform-list{margin-top:38px}.showcase-grid{grid-template-columns:1fr}.showcase-card{min-height:220px;padding:25px}.showcase-card h3{margin-top:40px}.showcase-footer{padding:45px 20px 25px}}
@media(max-width:420px){body:has(.showcase-page) .portal-header,body:has(.esports-page) .portal-header{padding:0 14px}.showcase-hero-art{margin-left:-10px;width:calc(100% + 20px)}.showcase-copy h1 em{white-space:normal;font-size:.88em}.showcase-chip{width:126px}.showcase-chip b{font-size:8px}.showcase-metrics dt{font-size:18px}.showcase-metrics dd{font-size:7px}.showcase-section h2{font-size:39px}}
@media(prefers-reduced-motion:reduce){.showcase-orbit{animation:none}.showcase-card,.showcase-links a{transition:none}}
