/* ============ Noor Labs — app install sheet, nav App button, magnifier ============ */
.nav-app-btn{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border-radius:999px;cursor:pointer;
  font:800 12px var(--font-hud);letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--grad-brand);border:0;
  box-shadow:0 0 18px rgba(36,229,255,.35),0 0 30px rgba(255,45,143,.2);}
.nav-app-btn:hover{transform:translateY(-1px);}
.app-installed .nav-app-btn{display:none;}

.app-sheet{position:fixed;inset:0;z-index:20000;display:flex;align-items:flex-end;justify-content:center;padding:16px;
  background:rgba(3,3,8,.7);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .25s;}
.app-sheet.open{opacity:1;pointer-events:auto;}
@media (min-width:700px){.app-sheet{align-items:center;}}
.app-sheet-card{position:relative;width:100%;max-width:420px;padding:28px 24px 22px;border-radius:24px;text-align:center;color:#eef0f6;
  background:linear-gradient(180deg,#11121c,#07070d);border:1px solid rgba(140,220,255,.25);
  box-shadow:0 0 0 1px rgba(36,229,255,.1),0 0 60px rgba(139,61,255,.3),0 30px 80px rgba(0,0,0,.6);
  transform:translateY(24px);transition:transform .3s;}
.app-sheet.open .app-sheet-card{transform:none;}
.app-sheet-x{position:absolute;right:12px;top:10px;width:40px;height:40px;border:0;background:none;color:#c9d0e2;font-size:26px;cursor:pointer;}
.app-sheet-icon{width:96px;height:96px;margin:0 auto 14px;border-radius:24px;box-shadow:0 0 0 1px rgba(255,205,90,.4),0 0 30px rgba(255,170,40,.45);}
.app-sheet-card h3{font-size:22px;margin-bottom:6px;}
.app-sheet-sub{font-size:15px;line-height:1.45;color:#c9d0e2;margin-bottom:16px;}
.app-sheet-steps ol{text-align:left;display:grid;gap:10px;margin:0 0 18px;padding:14px 16px 14px 34px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(140,220,255,.15);font-size:15px;line-height:1.4;color:#d7dcec;}
.app-sheet-steps b{color:#fff;}
.ios-share{display:inline-flex;vertical-align:-3px;color:#8ff4ff;}

.magnifier{position:fixed;left:16px;bottom:84px;z-index:170;display:flex;align-items:center;gap:8px;}
.mag-toggle{width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;
  background:rgba(13,14,22,.92);border:1px solid rgba(140,220,255,.4);box-shadow:0 0 0 1px rgba(36,229,255,.15),0 0 22px rgba(36,229,255,.35);}
.magnifier.zoomed .mag-toggle{background:var(--grad-brand);border-color:transparent;}
.mag-panel{display:none;align-items:center;gap:4px;padding:6px;border-radius:999px;background:rgba(13,14,22,.95);border:1px solid rgba(140,220,255,.35);box-shadow:0 10px 30px rgba(0,0,0,.5);}
.magnifier.open .mag-panel{display:flex;}
.mag-panel button{min-width:46px;height:42px;padding:0 10px;border-radius:999px;border:0;cursor:pointer;font:800 16px var(--font-hud);color:#fff;background:rgba(255,255,255,.06);}
.mag-panel button:hover:not(:disabled){background:var(--grad-brand);}
.mag-panel button:disabled{opacity:.35;cursor:default;}
.mag-panel .mag-reset{font-size:12px;letter-spacing:.08em;text-transform:uppercase;}
.mag-val{min-width:48px;text-align:center;font:800 13px var(--font-hud);color:#8ff4ff;}

/* ---------- PHONE PORTRAIT: wallpaper as a soft top band, not a cropped slice ---------- */
@media (max-width:760px) and (orientation:portrait){
  .nh-hero::before, .ph::before, [data-theme="light"] .nh-hero::before, [data-theme="light"] .ph::before{
    background:
      linear-gradient(180deg,rgba(3,3,8,.15) 0%,rgba(3,3,8,.55) 30%,rgba(3,3,8,.92) 55%,var(--bg) 75%),
      radial-gradient(120% 50% at 50% 0%,rgba(139,61,255,.25),transparent 70%),
      url('../assets/access-wallpaper.jpg?v=lab2') 50% 0/auto 62vh no-repeat,
      #030308 !important;}
  .access{background:
      linear-gradient(180deg,rgba(3,3,8,.2) 0%,rgba(3,3,8,.7) 35%,#030308 60%),
      url('../assets/access-wallpaper.jpg?v=lab2') 50% 0/auto 55vh no-repeat,#030308 !important;}
  .access-media{background-position:50% 30% !important;}
  .nh-hero-card,.ph-card{backdrop-filter:blur(10px);}
}

/* ---------- PHONE: compact nav + fewer floating widgets ---------- */
@media (max-width:760px){
  .nav-inner{padding:0 12px !important;gap:8px;}
  .brand-text{font-size:15px !important;}
  .nav-right{gap:6px !important;}
  .nav-app-btn{width:38px;padding:0;justify-content:center;}
  .nav-app-btn span{display:none;}
  .mascot-nav{display:none !important;}
  .magnifier{left:12px;bottom:76px;}
  .mag-toggle{width:44px;height:44px;}
  .back-to-top{right:12px !important;bottom:16px !important;height:44px !important;padding:0 14px !important;}
}
@media (max-width:340px){.brand-text{display:none;}}

/* ---------- SETTINGS GEAR: phones & tablets (portrait + landscape) ---------- */
.gear{display:none;}
@media (max-width:1024px), (pointer:coarse){
  .magnifier, .music-player{display:none !important;}
  .gear{display:block;position:fixed;left:calc(12px + env(safe-area-inset-left));bottom:calc(14px + env(safe-area-inset-bottom));z-index:175;}
  .gear-btn{width:52px;height:52px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;border:0;
    background:var(--grad-brand);box-shadow:0 0 0 1px rgba(255,255,255,.15),0 0 22px rgba(36,229,255,.45),0 0 40px rgba(255,45,143,.25);transition:transform .3s;}
  .gear.open .gear-btn{transform:rotate(90deg);}
  .gear-panel{position:absolute;left:0;bottom:64px;width:min(340px,calc(100vw - 24px));max-height:calc(100dvh - 110px);overflow-y:auto;padding:16px;border-radius:20px;
    color:#eef0f6;background:linear-gradient(180deg,#12131e,#08080f);border:1px solid rgba(140,220,255,.28);
    box-shadow:0 0 0 1px rgba(36,229,255,.1),0 0 40px rgba(139,61,255,.3),0 24px 60px rgba(0,0,0,.6);
    opacity:0;transform:translateY(10px) scale(.98);transform-origin:bottom left;pointer-events:none;transition:opacity .2s,transform .2s;}
  .gear.open .gear-panel{opacity:1;transform:none;pointer-events:auto;}
  .gear-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
  .gear-head b{font:800 15px var(--font-hud);letter-spacing:.08em;text-transform:uppercase;}
  .gear-x{width:40px;height:40px;border:0;background:none;color:#c9d0e2;font-size:26px;cursor:pointer;}
  .gear-row{padding:12px 0;border-top:1px solid rgba(255,255,255,.08);}
  .gear-label{display:block;font:700 11px var(--font-hud);letter-spacing:.14em;text-transform:uppercase;color:#8ff4ff;margin-bottom:8px;}
  .gear-seg{display:flex;align-items:center;gap:6px;}
  .gear-seg button{flex:1;min-height:46px;border-radius:12px;border:1px solid rgba(140,220,255,.25);background:rgba(255,255,255,.05);color:#fff;font:800 16px var(--font-hud);cursor:pointer;}
  .gear-seg button.on{background:var(--grad-brand);border-color:transparent;}
  .gear-seg button:disabled{opacity:.35;}
  .gear-seg .gear-small{font-size:12px;letter-spacing:.06em;text-transform:uppercase;}
  .gear-zoom{min-width:54px;text-align:center;font:800 14px var(--font-hud);color:#8ff4ff;}
  .gear-music{display:flex;align-items:center;gap:10px;}
  .gear-play,.gear-next{width:46px;height:46px;flex-shrink:0;border-radius:50%;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;}
  .gear-play{background:var(--grad-brand);}
  .gear-next{background:rgba(255,255,255,.08);border:1px solid rgba(140,220,255,.25);}
  .gear-track{flex:1;min-width:0;font:700 14px var(--font-hud);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .gear-app{margin-top:10px;}
  .app-installed .gear-app{display:none;}
  /* nav theme toggle lives in the gear on phones */
  .theme-toggle{display:none !important;}
}
@media (max-height:480px) and (orientation:landscape){
  .gear-panel{bottom:0;left:64px;max-height:calc(100dvh - 24px);transform-origin:bottom left;}
}

/* ---------- PHONE / TABLET MENU: full-screen with branded hero ---------- */
.nm-hero,.nm-foot{display:none;}
@media (max-width:860px){
  .nav-links{position:fixed !important;top:60px !important;left:0;right:0;bottom:0;max-height:none !important;height:calc(100dvh - 60px);
    display:flex;flex-direction:column;gap:8px !important;padding:18px 16px calc(24px + env(safe-area-inset-bottom));overflow-y:auto !important;
    background:
      radial-gradient(70% 40% at 100% 0%,rgba(255,45,143,.18),transparent 70%),
      radial-gradient(70% 40% at 0% 30%,rgba(36,229,255,.14),transparent 70%),
      linear-gradient(180deg,rgba(5,5,12,.98),rgba(3,3,8,.99)) !important;
    border-bottom:0 !important;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s !important;}
  .nav-links.open{opacity:1;visibility:visible;transform:none;}
  html.menu-open, html.menu-open body{overflow:hidden;}
  .nm-hero{display:flex;align-items:center;gap:14px;padding:16px;margin-bottom:6px;border-radius:20px;
    background:linear-gradient(160deg,rgba(20,22,34,.9),rgba(8,9,15,.9));border:1px solid rgba(255,200,90,.3);
    box-shadow:0 0 30px rgba(255,160,40,.12),0 0 40px rgba(139,61,255,.15);}
  .nm-logo{width:72px;height:72px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px rgba(255,205,90,.8),0 0 18px 3px rgba(255,190,60,.6),0 0 40px 8px rgba(255,140,20,.3);}
  .nm-hero b{display:block;font:700 20px var(--font-display);letter-spacing:.14em;color:#fff;}
  .nm-hero b em{font-style:normal;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .nm-hero span{display:block;font:700 11px var(--font-hud);letter-spacing:.14em;text-transform:uppercase;color:#8ff4ff;margin:3px 0 4px;}
  .nm-hero small{display:block;font:600 12.5px var(--font-hud);color:#c9d0e2;}
  .nav-links > a{display:flex !important;align-items:center;gap:14px;min-height:58px;padding:0 16px !important;border-radius:16px;border:1px solid rgba(140,220,255,.16) !important;
    background:rgba(255,255,255,.035);font:700 17px var(--font-hud) !important;color:#eef0f6 !important;}
  .nav-links > a::after{display:none !important;}
  .nav-links > a.active{border-color:rgba(36,229,255,.5) !important;background:rgba(36,229,255,.08);}
  .nm-ic{width:38px;height:38px;flex-shrink:0;border-radius:11px;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--grad-brand);box-shadow:0 0 14px rgba(139,61,255,.35);}
  .nm-tx{flex:1;}
  .nm-go{font-size:26px;line-height:1;color:#8ff4ff;}
  .nm-foot{display:grid;gap:10px;margin-top:auto;padding-top:16px;text-align:center;}
  .nm-mail{font:700 14px var(--font-hud);color:#8ff4ff;}
  .nm-foot p{font-size:12.5px;color:#9aa3b8;}
  /* hamburger → X */
  .nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle.is-open span:nth-child(2){opacity:0;}
  .nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
}
/* menu icons/arrows are for the phone menu only */
@media (min-width:861px){.nav-links .nm-ic,.nav-links .nm-go{display:none !important;}}
