:root{
  --sky:#7fe0ff;--sky2:#effbff;--yellow:#ffe475;--pink:#ff77bd;--coral:#ff785f;--blue:#2578ff;--ink:#173151;--card:#ffffffee;--green:#42d67d;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-rounded,"Trebuchet MS",Arial,sans-serif;color:var(--ink);overflow-x:hidden}body{background:radial-gradient(circle at 20% 10%,#fff 0 9%,transparent 10%),linear-gradient(160deg,var(--sky),var(--sky2) 48%,#ffeef7);}
.bg-bubbles:before,.bg-bubbles:after{content:"";position:fixed;inset:auto;z-index:-1;border-radius:999px;filter:blur(.3px);animation:float 8s ease-in-out infinite}.bg-bubbles:before{width:260px;height:260px;background:#ffffff88;left:-70px;top:80px}.bg-bubbles:after{width:360px;height:360px;background:#ffec8e77;right:-120px;bottom:40px;animation-delay:-3s}@keyframes float{50%{transform:translateY(-20px)}}
.app-shell{width:min(1120px,94vw);margin:0 auto;padding:34px 0 40px}.hero-card{text-align:center;padding:28px 12px}.cloud-pill{display:inline-flex;gap:8px;align-items:center;background:#fff;border:3px solid #17315114;border-radius:999px;padding:10px 16px;font-weight:900;font-size:12px;letter-spacing:.08em;box-shadow:0 8px 0 #17315112}.cloud-pill span{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 6px #42d67d30}h1{font-size:clamp(42px,8vw,90px);line-height:.88;margin:24px 0 14px;text-shadow:0 7px 0 #fff,0 13px 22px #2578ff30}h1 em{font-style:normal;color:var(--pink)}.subcopy{font-size:18px;max-width:650px;margin:0 auto;color:#31516d}.console-card{position:relative;background:var(--card);border:5px solid #fff;border-radius:34px;padding:22px;box-shadow:0 22px 0 #17315116,0 32px 60px #1b6caa24;overflow:hidden}.console-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#fff6 0 20%,transparent 20% 100%);pointer-events:none}.top-lights{display:flex;gap:9px;margin-bottom:15px}.top-lights i{width:16px;height:16px;border-radius:50%;background:var(--coral);box-shadow:0 3px 0 #17315118}.top-lights i:nth-child(2){background:var(--yellow)}.top-lights i:nth-child(3){background:var(--green)}.screen-panel{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:center;background:linear-gradient(180deg,#dff8ff,#fff);border:4px solid #17315112;border-radius:26px;padding:24px;min-height:320px}.pixel-island{position:relative;height:260px;border-radius:24px;background:linear-gradient(#8ce8ff 0 62%,#78dc8a 63%);overflow:hidden;box-shadow:inset 0 -16px 0 #39ba65}.island{position:absolute;width:260px;height:75px;border-radius:50%;background:#46c76c;left:50%;bottom:28px;transform:translateX(-50%);box-shadow:0 18px 0 #e5c873}.tower{position:absolute;width:74px;height:118px;background:linear-gradient(90deg,#fff,#f6e7ca);left:50%;bottom:84px;transform:translateX(-50%);border-radius:16px 16px 8px 8px;box-shadow:inset 0 -18px 0 #eec26d}.tower:before{content:"";position:absolute;left:12px;right:12px;top:-34px;height:42px;background:#ff7970;border-radius:50% 50% 8px 8px}.mii{position:absolute;width:34px;height:46px;border-radius:18px 18px 10px 10px;background:#ffd4b8;bottom:94px}.mii:before{content:"";position:absolute;left:8px;top:12px;width:5px;height:5px;border-radius:50%;background:#173151;box-shadow:14px 0 0 #173151}.mii-a{left:32%;animation:bob 1.4s infinite}.mii-b{right:30%;animation:bob 1.2s infinite reverse;background:#ffbf9f}@keyframes bob{50%{transform:translateY(-8px)}}.cloud{position:absolute;width:96px;height:38px;border-radius:40px;background:#fff;top:42px;box-shadow:28px -10px 0 4px #fff,-26px 2px 0 #fff}.cloud-a{left:12%}.cloud-b{right:10%;top:80px;transform:scale(.7)}.console-copy h2{font-size:34px;margin:0 0 10px}.console-copy p{font-size:17px;color:#45637d}.platform-select{display:flex;gap:12px;margin:22px 0}.platform,.play-btn,.locker-btn,.close-demo,.exit-btn{border:0;cursor:pointer;font-weight:950}.platform{flex:1;background:#edf7ff;border:3px solid #fff;border-radius:18px;padding:16px;font-size:18px;color:var(--ink);box-shadow:0 7px 0 #17315118;transition:.2s}.platform.active{background:var(--yellow);transform:translateY(3px);box-shadow:0 4px 0 #17315118}.play-btn{width:100%;border-radius:24px;background:linear-gradient(180deg,#ff8fc9,#ff4fa7);color:white;font-size:24px;padding:20px;box-shadow:0 11px 0 #ba2271,0 18px 28px #ff4fa744;letter-spacing:.02em}.play-btn:active{transform:translateY(5px);box-shadow:0 6px 0 #ba2271}.play-icon{display:inline-grid;place-items:center;background:#fff;color:#ff4fa7;width:36px;height:36px;border-radius:50%;margin-right:10px}.secure-line{text-align:center;font-weight:800;color:#4c647a}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}.feature-grid article{background:#ffffffc9;border:3px solid #fff;border-radius:22px;padding:18px;box-shadow:0 10px 0 #17315110}.feature-grid b{display:block;font-size:19px}.feature-grid span{display:block;color:#516a82;margin-top:7px}.game-overlay{position:fixed;inset:0;z-index:20;background:#06090e;display:none;align-items:center;justify-content:center;overflow:hidden}.game-overlay.active{display:flex}.game-video{width:100vw;height:100vh;object-fit:cover;background:linear-gradient(135deg,#58ddff,#ffdf65)}.game-overlay.locked .game-video{filter:blur(11px) brightness(.55);transform:scale(1.02)}.hud-top{position:absolute;left:18px;right:18px;top:18px;display:flex;justify-content:space-between;pointer-events:none}.hud-pill{background:#ffffffde;border:2px solid #fff;border-radius:999px;padding:10px 14px;font-weight:950;box-shadow:0 8px 18px #0004}.hud-pill.live span{display:inline-block;width:9px;height:9px;border-radius:50%;background:#f44336;margin-right:7px;box-shadow:0 0 0 7px #f4433633;animation:pulse 1s infinite}@keyframes pulse{50%{box-shadow:0 0 0 12px #f4433600}}.dummy-controls{position:absolute;left:30px;right:30px;bottom:28px;display:flex;justify-content:space-between;align-items:end;pointer-events:none}.joystick{width:116px;height:116px;border-radius:50%;background:#ffffff30;border:4px solid #ffffff70;display:grid;place-items:center;backdrop-filter:blur(8px)}.joystick span{width:52px;height:52px;border-radius:50%;background:#ffffffe0;box-shadow:0 5px 15px #0005}.action-buttons{display:grid;grid-template-columns:repeat(2,62px);gap:12px;transform:rotate(45deg)}.action-buttons button{width:62px;height:62px;border:0;border-radius:50%;background:#ffffffd7;color:#173151;font-weight:1000;font-size:18px;transform:rotate(-45deg);box-shadow:0 8px 18px #0005}.exit-btn{position:absolute;right:18px;bottom:18px;width:42px;height:42px;border-radius:50%;background:#ffffffd9;font-size:28px;color:#173151}.license-modal{display:none;position:absolute;inset:0;place-items:center;padding:20px;background:#0006}.game-overlay.locked .license-modal{display:grid}.modal-card{width:min(430px,92vw);background:#fff;border-radius:28px;padding:28px;text-align:center;border:5px solid #fff;box-shadow:0 28px 80px #0008;animation:pop .35s ease both}.lock-badge{font-size:44px}.modal-card h2{font-size:32px;margin:8px 0}.modal-card p{color:#536a80;line-height:1.45}.locker-btn{width:100%;border-radius:18px;padding:17px;background:linear-gradient(180deg,#49e686,#14b95b);color:#fff;font-size:18px;box-shadow:0 8px 0 #0b813c}.close-demo{margin-top:12px;background:transparent;color:#567086}.rotate-tip{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;color:#173151;padding:16px 20px;border-radius:16px;font-weight:900;z-index:3}@keyframes pop{from{transform:scale(.82);opacity:0}to{transform:scale(1);opacity:1}}
@media(max-width:760px){.screen-panel{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr}h1{font-size:50px}.console-copy h2{font-size:26px}.platform-select{flex-direction:column}.play-btn{font-size:18px}.dummy-controls{bottom:20px;left:18px;right:18px}.joystick{width:92px;height:92px}.action-buttons{grid-template-columns:repeat(2,52px)}.action-buttons button{width:52px;height:52px}.rotate-tip{display:block}.game-overlay.locked .rotate-tip{display:none}}
@media(max-height:430px) and (orientation:landscape){.rotate-tip{display:none}.modal-card{padding:20px}.modal-card h2{font-size:24px}.dummy-controls{bottom:18px}}

/* Live chat */
.live-chat-card{margin-top:24px;background:#ffffffd9;border:4px solid #fff;border-radius:28px;padding:18px;box-shadow:0 16px 0 #17315112,0 24px 50px #1b6caa1a}.chat-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.chat-head b{display:block;font-size:24px}.chat-head span{display:flex;align-items:center;gap:7px;color:#4f6881;font-weight:900}.chat-head span i{width:9px;height:9px;border-radius:50%;background:#34d26e;box-shadow:0 0 0 6px #34d26e22}.chat-head small{background:#eafff1;color:#16934d;font-weight:950;padding:8px 10px;border-radius:999px}.chat-feed{height:310px;overflow:hidden;background:linear-gradient(180deg,#effaff,#fff);border:3px solid #17315110;border-radius:20px;padding:12px;display:flex;flex-direction:column;gap:9px}.chat-msg{display:flex;gap:9px;align-items:flex-start;animation:chatIn .22s ease both}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#ffe475;border:2px solid #fff;box-shadow:0 3px 0 #17315114;font-weight:1000;flex:0 0 auto}.bubble{background:#fff;border-radius:15px 15px 15px 5px;padding:8px 11px;box-shadow:0 4px 14px #17315110;line-height:1.25;font-size:14px}.bubble b{display:block;font-size:12px;color:#2578ff;margin-bottom:2px}.chat-box{display:flex;gap:10px;margin-top:12px}.chat-box input{flex:1;border:3px solid #fff;border-radius:16px;padding:14px 16px;font-size:16px;font-weight:800;color:#173151;background:#f6fbff;outline:none;box-shadow:inset 0 0 0 2px #1731510c}.chat-box button{border:0;border-radius:16px;padding:0 18px;background:#2578ff;color:#fff;font-weight:1000;box-shadow:0 6px 0 #1552b8;cursor:pointer}@keyframes chatIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Network checking modal */
.game-overlay.checking .game-video,
.game-overlay.checking .hud-top,
.game-overlay.checking .dummy-controls{
  filter:blur(12px) brightness(.55) saturate(.9);
  opacity:.42;
}
.network-modal{
  position:absolute;
  inset:0;
  z-index:8;
  display:none;
  place-items:center;
  padding:22px;
  background:radial-gradient(circle at 20% 10%,#ffffff44,transparent 30%),linear-gradient(160deg,#7fe0ffcc,#ffeef7cc 58%,#ffe475bb);
  backdrop-filter:blur(12px);
}
.game-overlay.checking .network-modal{display:grid}
.network-card{
  width:min(980px,94vw);
  min-height:390px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#ffffffee,#effbffef);
  color:var(--ink);
  border:5px solid #fff;
  border-radius:32px;
  padding:34px 30px;
  box-shadow:0 20px 0 #17315118,0 32px 80px #1b6caa3f;
}
.network-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 12% 18%,#ffe47577 0 10%,transparent 11%),radial-gradient(circle at 88% 18%,#ff77bd44 0 12%,transparent 13%),linear-gradient(135deg,#fff8 0 18%,transparent 18% 100%);
  pointer-events:none;
}
.network-card > *{position:relative;z-index:1}
.network-card h2{
  display:inline-block;
  font-size:clamp(30px,4vw,48px);
  margin:0 0 54px;
  letter-spacing:-.04em;
  text-shadow:0 5px 0 #fff,0 10px 20px #2578ff25;
}
.network-card h2:after{
  content:"";
  display:block;
  width:64%;
  height:9px;
  margin-top:8px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--pink),var(--yellow),var(--green));
}
.network-map{display:flex;align-items:center;justify-content:space-around;gap:18px}
.node{text-align:center;color:#31516d;font-weight:950;font-size:18px;min-width:112px}
.node-icon{height:82px;display:grid;place-items:center;margin-bottom:10px;color:var(--blue)}
.monitor:before{content:"";width:72px;height:44px;border:8px solid var(--blue);display:block;border-radius:6px;background:#fff}
.monitor:after{content:"";display:block;margin:0 auto;border-left:13px solid transparent;border-right:13px solid transparent;border-bottom:22px solid var(--blue);width:0}
.wifi{font-size:76px;line-height:.75;font-weight:1000;transform:rotate(180deg);color:var(--pink)}
.globe{font-size:82px;line-height:.8;color:var(--coral)}
.server:before{content:"";display:block;width:76px;height:64px;border-radius:8px;background:repeating-linear-gradient(to bottom,var(--green) 0 16px,#ffffff 16px 22px);box-shadow:inset 8px 5px 0 #ffffff,inset 8px 27px 0 #ffffff,inset 8px 49px 0 #ffffff,0 0 0 5px #42d67d22}
.dots{display:flex;gap:18px;align-items:center}
.dots i{width:15px;height:15px;border-radius:50%;background:#b6d4e8;box-shadow:inset 0 -2px 0 #17315118}
.dots i.hot{background:var(--pink);box-shadow:0 0 0 7px #ff77bd22,0 0 18px #ff77bd}
.network-success,.launch-count{display:none;text-align:center;font-weight:1000}
.network-success{font-size:30px;margin-top:45px;color:var(--ink);text-shadow:0 4px 0 #fff}
.network-success span{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--green);color:#fff;margin-right:10px;box-shadow:0 6px 0 #139e50}
.launch-count{font-size:22px;color:#4c647a;margin-top:18px}
.network-card.ready .network-map{display:none}
.network-card.ready .network-success,.network-card.ready .launch-count{display:block}
@media(max-width:760px){.chat-head{align-items:flex-start;flex-direction:column}.chat-feed{height:270px}.network-card{min-height:330px;padding:28px 18px}.network-map{gap:8px}.node{font-size:12px;min-width:55px}.node-icon{height:50px}.monitor:before{width:39px;height:25px;border-width:5px}.monitor:after{border-left-width:8px;border-right-width:8px;border-bottom-width:13px}.wifi{font-size:44px}.globe{font-size:48px}.server:before{width:45px;height:40px;background:repeating-linear-gradient(to bottom,#eee 0 10px,transparent 10px 14px)}.dots{gap:6px}.dots i{width:8px;height:8px}.network-card h2{margin-bottom:45px}.network-success{font-size:23px}}

/* Home banner upgrade */
.hero-banner-card{
  padding:18px 12px 12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}
.hero-banner-wrap{
  display:block;
  width:100%;
  max-width:1040px;
  border-radius:30px;
  overflow:hidden;
  background:#fff8cf;
  border:5px solid #fff;
  box-shadow:0 18px 0 #17315114,0 28px 55px #2578ff26;
}
.hero-banner-img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  object-fit:cover;
}
.hero-text-block{
  text-align:center;
  padding:4px 8px 0;
}
.hero-text-block h1{
  font-size:clamp(32px,5.5vw,68px);
  line-height:.94;
  margin:10px 0 10px;
}
.hero-text-block .subcopy{
  max-width:720px;
}

.hero-start-btn{
  margin-top:18px;
  margin-bottom:22px;
  border:0;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:180px;
  padding:15px 28px;
  border-radius:999px;
  background:linear-gradient(180deg,#ff8fc9,#ff4fa7);
  color:#fff;
  font-weight:950;
  font-size:18px;
  letter-spacing:.05em;
  box-shadow:0 8px 0 #ba2271,0 14px 26px rgba(255,79,167,.25);
  transition:transform .18s ease, box-shadow .18s ease;
  animation:heroStartJump 1.65s ease-in-out infinite;
}
@keyframes heroStartJump{
  0%,100%{transform:translateY(0) scale(1);}
  18%{transform:translateY(-7px) scale(1.035);}
  32%{transform:translateY(0) scale(1);}
  44%{transform:translateY(-3px) scale(1.015);}
  58%{transform:translateY(0) scale(1);}
}
.hero-start-btn:active{
  transform:translateY(4px);
  box-shadow:0 4px 0 #ba2271,0 9px 18px rgba(255,79,167,.22);
}

@media(max-width:760px){
  .hero-banner-card{
    padding:12px 0 8px;
    gap:11px;
  }
  .hero-banner-wrap{
    width:100%;
    border-radius:24px;
    border-width:4px;
    box-shadow:0 12px 0 #17315112,0 18px 36px #2578ff20;
  }
  .hero-banner-img{
    aspect-ratio:16/10;
    object-fit:cover;
  }
  .hero-text-block h1{
    font-size:32px;
    line-height:1.02;
    margin:8px 0 8px;
  }
  .hero-text-block .subcopy{
    font-size:15px;
    line-height:1.45;
    padding:0 8px;
  }
  .hero-start-btn{
    margin-top:14px;
    margin-bottom:24px;
    min-width:160px;
    padding:13px 24px;
    font-size:16px;
  }
}

@media(max-width:480px){
  .app-shell{
    width:min(100% - 22px, 1120px);
    padding-top:18px;
  }
  .hero-banner-wrap{
    border-radius:20px;
  }
  .hero-banner-img{
    aspect-ratio:4/3;
    object-fit:cover;
  }
  .hero-text-block h1{
    font-size:27px;
  }
  .hero-text-block .subcopy{
    font-size:14px;
  }
  .hero-start-btn{
    width:min(220px, 86%);
    padding:12px 20px;
    margin-bottom:26px;
  }
}

.play-btn.scroll-focus{
  animation:playFocusPulse .55s ease-in-out 2;
}
@keyframes playFocusPulse{
  50%{transform:scale(1.025);filter:brightness(1.06)}
}

/* Slow connection state for video preload check */
.network-card.error .network-map,
.network-card.error .network-success {
  display: none !important;
}

.network-card.error {
  border-color: #ff9a9a;
  box-shadow:
    0 18px 0 #e05757,
    0 26px 60px rgba(255, 80, 80, 0.24);
}

.network-card.error h2 {
  color: #e63737;
}

.network-error-text {
  max-width: 560px;
  margin: 18px auto 0;
  font-size: 18px;
  line-height: 1.45;
  color: #31465c;
  background: #fff3f3;
  border: 3px solid #ffd1d1;
  border-radius: 22px;
  padding: 18px;
}

.network-error-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 18px;
  flex-wrap: wrap;
}

.network-error-actions button {
  border: 0;
  border-radius: 999px;
  padding: 13px 24px;
  font-weight: 1000;
  cursor: pointer;
  font-size: 15px;
}

#retryNetworkBtn {
  color: white;
  background: linear-gradient(180deg, #ff7ac8, #f13f9b);
  box-shadow: 0 7px 0 #bd1d71;
}

#closeNetworkBtn {
  color: #173151;
  background: #fff;
  box-shadow: 0 7px 0 #d9e8f5;
}

@media (max-width: 760px) {
  .network-error-text {
    font-size: 15px;
    padding: 14px;
  }

  .network-error-actions button {
    width: 100%;
  }
}


/* Final horizontal centering fix for network analysis popup */
.network-card {
  text-align: center;
}

.network-card h2 {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.network-card h2:after {
  margin-left: auto;
  margin-right: auto;
}

.network-map {
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}

.network-success,
.launch-count,
.network-error-text,
.network-error-actions {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

@media(max-width:760px){
  .network-card h2 {
    width: 100%;
    text-align: center;
  }

  .network-map {
    width: 100%;
    justify-content: center;
  }
}

/* FINAL FIX: network card true center + forced landscape gameplay stage */
.network-modal{
  width:100vw;
  height:100dvh;
  left:0;
  top:0;
  right:auto;
  bottom:auto;
  align-items:center;
  justify-content:center;
  place-items:center;
  padding:18px;
  overflow:hidden;
}
.game-overlay.checking .network-modal{
  display:flex !important;
}
.network-card{
  width:min(820px, calc(100vw - 64px)) !important;
  max-width:calc(100vw - 64px) !important;
  min-height:min(390px, calc(100dvh - 72px));
  margin:0 auto !important;
  transform:none !important;
  text-align:center;
}
.network-card h2{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  font-size:clamp(26px, 5.4vw, 48px);
}
.network-card h2:after{
  width:min(460px, 70%) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.network-map{
  width:100% !important;
  max-width:100% !important;
  justify-content:center !important;
  align-items:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  gap:clamp(8px, 2.2vw, 18px) !important;
}

.landscape-stage{
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  overflow:hidden;
  background:#06090e;
}
.game-overlay.checking .landscape-stage{
  opacity:.42;
  filter:blur(12px) brightness(.55) saturate(.9);
  pointer-events:none;
}
.game-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.hud-top,
.dummy-controls,
.exit-btn,
.license-modal{
  z-index:2;
}

@media (orientation: portrait) and (max-width: 900px){
  .landscape-stage{
    width:100dvh;
    height:100vw;
    left:50%;
    top:50%;
    right:auto;
    bottom:auto;
    transform:translate(-50%, -50%) rotate(90deg);
    transform-origin:center center;
  }
  .game-video{
    width:100%;
    height:100%;
  }
  .hud-top{
    top:14px;
    left:14px;
    right:14px;
  }
  .dummy-controls{
    left:20px;
    right:20px;
    bottom:20px;
  }
  .exit-btn{
    right:16px;
    bottom:16px;
  }
  .rotate-tip{
    display:none !important;
  }
}

@media (max-width:760px){
  .network-card{
    width:calc(100vw - 48px) !important;
    max-width:calc(100vw - 48px) !important;
    padding:28px 16px !important;
  }
  .network-card h2{
    font-size:clamp(26px, 7vw, 42px) !important;
    margin-bottom:42px !important;
  }
  .network-map{
    gap:6px !important;
  }
  .node{
    min-width:50px !important;
  }
  .dots{
    gap:5px !important;
    flex:0 0 auto;
  }
}

@media (max-width:420px){
  .network-card{
    width:calc(100vw - 36px) !important;
    max-width:calc(100vw - 36px) !important;
    padding:24px 12px !important;
  }
  .network-card h2{
    font-size:30px !important;
  }
  .node{
    font-size:11px !important;
    min-width:44px !important;
  }
  .dots i{
    width:7px !important;
    height:7px !important;
  }
}


/* License key entry inside locker modal */
.license-entry{
  margin:16px 0 10px;
  padding:14px;
  border-radius:22px;
  background:linear-gradient(180deg,#f3fbff,#fff8fd);
  border:3px solid #e7f5ff;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.75);
}
.license-entry label{
  display:block;
  margin-bottom:9px;
  color:#31516d;
  font-size:13px;
  font-weight:1000;
  letter-spacing:.02em;
}
.license-input{
  width:100%;
  height:54px;
  border:3px solid #ffffff;
  border-radius:17px;
  background:#eefaff;
  color:var(--ink);
  font-family:Inter,ui-rounded,"Trebuchet MS",Arial,sans-serif;
  font-size:24px;
  font-weight:1000;
  text-align:center;
  letter-spacing:.22em;
  outline:none;
  text-transform:uppercase;
  box-shadow:inset 0 0 0 2px rgba(37,120,255,.10),0 7px 0 rgba(23,49,81,.10);
}
.license-input::placeholder{
  color:#8daac2;
  opacity:.85;
}
.license-input:focus{
  box-shadow:inset 0 0 0 2px rgba(255,79,167,.35),0 7px 0 rgba(186,34,113,.22),0 0 0 5px rgba(255,119,189,.16);
}
.activate-license-btn{
  width:100%;
  margin-top:12px;
  border:0;
  border-radius:17px;
  padding:15px 16px;
  background:linear-gradient(180deg,#2578ff,#1552d4);
  color:#fff;
  font-family:Inter,ui-rounded,"Trebuchet MS",Arial,sans-serif;
  font-size:16px;
  font-weight:1000;
  letter-spacing:.03em;
  cursor:pointer;
  box-shadow:0 8px 0 #0f3f9f,0 14px 24px rgba(37,120,255,.24);
  transition:transform .18s ease, filter .18s ease, opacity .18s ease;
}
.activate-license-btn:active:not(:disabled){
  transform:translateY(4px);
  box-shadow:0 4px 0 #0f3f9f,0 9px 18px rgba(37,120,255,.18);
}
.activate-license-btn:disabled{
  opacity:.48;
  cursor:not-allowed;
  filter:grayscale(.35);
  box-shadow:0 6px 0 #8ba3bb;
}
.license-error{
  display:none;
  margin-top:11px;
  border-radius:15px;
  padding:10px 12px;
  background:#fff3f3;
  border:2px solid #ffd1d1;
  color:#e63737;
  font-size:13px;
  line-height:1.35;
  font-weight:950;
}
.license-error.show{display:block;}
.license-input.shake{animation:licenseShake .34s ease both;}
@keyframes licenseShake{
  0%,100%{transform:translateX(0)}
  20%{transform:translateX(-6px)}
  40%{transform:translateX(6px)}
  60%{transform:translateX(-4px)}
  80%{transform:translateX(4px)}
}
@media(max-width:760px){
  .license-entry{padding:12px;margin:14px 0 9px;}
  .license-input{height:50px;font-size:21px;letter-spacing:.18em;}
  .activate-license-btn{padding:14px;font-size:14px;}
}

/* FINAL UPDATE: 16:9 gameplay visible + blurred duplicate background */
.landscape-stage{
  background:#05070c !important;
}
.game-video-bg{
  position:absolute;
  inset:-4%;
  width:108%;
  height:108%;
  object-fit:cover;
  object-position:center center;
  filter:blur(24px) brightness(.62) saturate(1.18);
  transform:scale(1.08);
  opacity:.9;
  z-index:0;
  pointer-events:none;
}
.game-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain !important;
  object-position:center center;
  background:transparent !important;
  z-index:1;
}
.game-overlay.locked .game-video{
  filter:blur(8px) brightness(.62) !important;
  transform:none !important;
}
.game-overlay.locked .game-video-bg{
  filter:blur(28px) brightness(.45) saturate(1.2);
}
.game-overlay.checking .game-video-bg,
.game-overlay.checking .game-video{
  opacity:.65;
}

/* FINAL UPDATE: compact license modal layout */
.license-modal{
  z-index:7 !important;
  padding:12px !important;
  overflow:auto;
}
.modal-card{
  width:min(390px, 92vw) !important;
  max-height:calc(100% - 20px);
  overflow-y:auto;
  padding:20px !important;
  border-radius:26px !important;
}
.lock-badge{
  font-size:34px !important;
  line-height:1;
}
.modal-card h2{
  font-size:clamp(25px, 4vw, 32px) !important;
  line-height:1.05;
  margin:8px 0 14px !important;
}
.modal-card p,
.modal-card small{
  display:none !important;
}
.license-entry{
  margin:0 0 12px !important;
  padding:12px !important;
  border-radius:20px !important;
  background:linear-gradient(180deg,#dff6ff,#f5fbff) !important;
  border:3px solid #8fdcff !important;
  box-shadow:0 8px 0 rgba(37,120,255,.14), inset 0 0 0 3px rgba(255,255,255,.72) !important;
}
.license-entry label{
  font-size:13px !important;
  margin-bottom:8px !important;
}
.license-input{
  height:52px !important;
  background:#ffffff !important;
  border:3px solid #2578ff !important;
  color:var(--ink) !important;
  box-shadow:0 7px 0 rgba(21,82,184,.18),0 0 0 5px rgba(37,120,255,.10) !important;
}
.license-input::placeholder{
  color:#6c8faa !important;
}
.locker-btn,
.activate-license-btn{
  width:100% !important;
  margin:0 0 11px !important;
  padding:15px 16px !important;
  border-radius:17px !important;
}
.activate-license-btn{
  margin-bottom:0 !important;
}
.license-error{
  margin:11px 0 0 !important;
}
.close-demo{
  margin-top:10px !important;
  font-weight:950;
}

@media(max-height:430px) and (orientation:landscape){
  .license-modal{padding:8px !important;}
  .modal-card{
    width:min(360px, 92vw) !important;
    max-height:calc(100% - 16px);
    padding:14px !important;
    border-width:4px !important;
  }
  .lock-badge{font-size:26px !important;}
  .modal-card h2{font-size:24px !important;margin:5px 0 10px !important;}
  .license-entry{padding:10px !important;margin-bottom:10px !important;}
  .license-input{height:44px !important;font-size:20px !important;}
  .locker-btn,.activate-license-btn{padding:12px 14px !important;font-size:14px !important;margin-bottom:9px !important;}
  .close-demo{font-size:13px !important;margin-top:7px !important;}
}

@media(max-width:760px){
  .modal-card{
    width:min(360px, 92vw) !important;
    padding:16px !important;
  }
  .license-entry{padding:10px !important;}
  .license-input{height:48px !important;font-size:20px !important;letter-spacing:.18em !important;}
  .locker-btn,.activate-license-btn{padding:13px 14px !important;font-size:14px !important;}
}


/* FINAL REQUEST: Tomodachi endpoint icon + black bars, no blurred duplicate video */
.tomo-cloud-icon{
  height:82px;
  display:grid;
  place-items:center;
  margin-bottom:10px;
}
.tomo-cloud-icon img{
  display:block;
  width:82px;
  height:82px;
  object-fit:contain;
  filter:drop-shadow(0 6px 0 rgba(23,49,81,.18));
}
.game-video-bg{
  display:none !important;
}
.landscape-stage{
  background:#000 !important;
}
.game-video{
  object-fit:contain !important;
  object-position:center center !important;
  background:#000 !important;
}
.game-overlay.locked .game-video{
  filter:blur(8px) brightness(.62) !important;
  transform:none !important;
}
@media(max-width:760px){
  .tomo-cloud-icon{
    height:52px !important;
  }
  .tomo-cloud-icon img{
    width:54px;
    height:54px;
  }
}

/* Fix: remove old white server icon, keep only pink Tomodachi window icon */
.tomo-cloud-icon:before,
.tomo-cloud-icon:after{
  content:none !important;
  display:none !important;
}


/* Bottom disclaimer */
.site-disclaimer{
  margin:24px auto 0;
  max-width:920px;
  text-align:center;
  color:#4f6881;
  font-size:12px;
  line-height:1.5;
  background:#ffffff9c;
  border:2px solid #ffffffd8;
  border-radius:18px;
  padding:12px 16px;
  box-shadow:0 8px 0 #1731510d;
}
.site-disclaimer p{margin:0}
@media(max-width:760px){
  .site-disclaimer{font-size:11px;margin-top:18px;padding:10px 12px}
}


/* Final fix: keep close button away from gameplay controls */
.game-overlay > .exit-btn{
  position:fixed !important;
  top:calc(env(safe-area-inset-top, 0px) + 16px) !important;
  right:calc(env(safe-area-inset-right, 0px) + 16px) !important;
  bottom:auto !important;
  left:auto !important;
  width:46px !important;
  height:46px !important;
  z-index:30 !important;
  transform:none !important;
  pointer-events:auto !important;
}

@media(max-width:760px){
  .game-overlay > .exit-btn{
    top:calc(env(safe-area-inset-top, 0px) + 12px) !important;
    right:calc(env(safe-area-inset-right, 0px) + 12px) !important;
    width:44px !important;
    height:44px !important;
  }
}
