/* ==========================================================================
   UploadHub — Shared site chrome (landing page + header/nav + footer)
   Ported 1:1 from cv_dilman_dev/assets/css/app.css, which itself matches
   platform.dilman.dev's #main-nav design system exactly: near-black ink,
   warm signal-amber accent, monospace used structurally for labels. Dark
   by default, toggles to light (persisted in localStorage as
   `netlab-theme`) — see assets/js/site.js.

   This file is ONLY used by index.php (public landing page) and
   includes/header.php + includes/footer.php. The simulator itself
   (app.php) keeps its own separate cyan/dark "network lab" theme,
   defined inline there — completely unchanged.
   ========================================================================== */
:root{
  /* -- dark (default) -- */
  --ink:#0A0C10; --surface:#12151B; --surface2:#181D26; --surface3:#1E2430;
  --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.16); --overlay:rgba(255,255,255,.04);
  --gold:#E7B84E; --gold-ink:#1A1404; --gold-dim:rgba(231,184,78,.12);
  --signal:#3ECF8E; --signal-dim:rgba(62,207,142,.12);
  --rose:#F0637A; --rose-dim:rgba(240,99,122,.12);
  --sky:#6FB8D9; --sky-dim:rgba(111,184,217,.12);
  --text0:#F3F1EC; --text1:#C7CBD3; --text2:#8B92A0; --text3:#5B6270;
  --r-sm:8px; --r:12px; --r-lg:18px;
  --nav-h:72px; --container:1220px;
  --shadow-lg:0 24px 60px rgba(0,0,0,.4);
  --ease:cubic-bezier(.22,.68,0,1);

  --bg:var(--ink); --card:var(--surface); --text:var(--text0); --muted:var(--text2);
  --border:var(--line); --primary:var(--gold); --primary-dark:#F3CB6B; --primary-tint:var(--gold-dim);
  --danger:var(--rose); --success:var(--signal); --warning:var(--gold);
  --radius:var(--r); --radius-lg:var(--r-lg); --shadow:var(--shadow-lg);
  --font:'Inter','Segoe UI',system-ui,sans-serif;
  --font-mono:'JetBrains Mono','Fira Code',ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;
}
html[data-theme="light"]{
  --ink:#F8F8F6; --surface:#FFFFFF; --surface2:#FBFAF7; --surface3:#F1F0EC;
  --line:rgba(15,17,20,.09); --line2:rgba(15,17,20,.16); --overlay:rgba(15,17,20,.035);
  --gold:#A9761F; --gold-ink:#FFF9EC; --gold-dim:rgba(169,118,31,.10);
  --signal:#158A5B; --signal-dim:rgba(21,138,91,.10);
  --rose:#C93A56; --rose-dim:rgba(201,58,86,.10);
  --sky:#2A7EA0; --sky-dim:rgba(42,126,160,.10);
  --text0:#14171C; --text1:#3A3F47; --text2:#666C77; --text3:#8A8F98;
  --shadow-lg:0 24px 60px rgba(20,20,15,.10);
}

*{box-sizing:border-box;}
body{margin:0;font-family:var(--font);background:var(--ink);color:var(--text1);line-height:1.55;transition:background .2s var(--ease),color .2s var(--ease);}
body::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(0,0,0,.9),transparent 70%);
  -webkit-mask-image:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(0,0,0,.9),transparent 70%);
}
a{color:var(--gold);text-decoration:none;}
a:hover{text-decoration:underline;}
code{font-family:var(--font-mono);}
.mono{font-family:var(--font-mono);}

/* ---------- Header / nav ----------
   Structure, sizing, spacing, scroll-darken behavior, dark/light theme
   system, and mobile menu match every other dilman.dev project's
   #main-nav 1:1. Content (brand, links, account menu) is Netlab's own. */
#main-nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  height:var(--nav-h);display:flex;align-items:center;gap:18px;padding:0 5%;
  background:rgba(10,12,16,.7);backdrop-filter:blur(18px) saturate(140%);
  border-bottom:1px solid transparent;transition:background .3s,border-color .3s;
}
html[data-theme="light"] #main-nav{background:rgba(248,248,246,.75);}
#main-nav.scrolled{border-color:var(--line);background:rgba(10,12,16,.88);}
html[data-theme="light"] #main-nav.scrolled{background:rgba(248,248,246,.92);}

.nav-logo{display:flex;align-items:center;gap:10px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:18px;color:var(--text0);text-decoration:none;flex-shrink:0;}
.nav-logo:hover{text-decoration:none;}
.nav-logo .logo-mark{width:32px;height:32px;border-radius:8px;background:var(--gold);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:var(--gold-ink);font-family:var(--font-mono);flex-shrink:0;}
.nav-logo-badge{color:var(--gold);}
html[dir="rtl"] .nav-logo{font-family:'Noto Kufi Arabic',sans-serif;}

.nav-links{display:flex;gap:2px;margin:0 auto;list-style:none;padding:0;}
.nav-links a{padding:8px 14px;border-radius:var(--r-sm);color:var(--text2);font-size:13.5px;text-decoration:none;transition:all .2s;font-weight:500;}
.nav-links a:hover{color:var(--text0);background:var(--overlay);text-decoration:none;}
.nav-links a.active{color:var(--gold);}

.nav-right{display:flex;gap:10px;align-items:center;flex-shrink:0;margin-left:auto;}
.nav-cta{display:flex;gap:10px;align-items:center;}

.nav-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--r-sm);font-weight:600;font-size:14.5px;letter-spacing:-.005em;cursor:pointer;text-decoration:none;border:1px solid transparent;transition:transform .18s var(--ease),box-shadow .22s var(--ease),background .18s,border-color .18s,color .18s;white-space:nowrap;}
.nav-btn:active{transform:translateY(1px) scale(.985);}
.nav-btn-primary{background:var(--gold);color:var(--gold-ink) !important;box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 6px 16px rgba(231,184,78,.16);}
.nav-btn-primary:hover{box-shadow:0 1px 0 rgba(255,255,255,.3) inset,0 10px 28px rgba(231,184,78,.32);transform:translateY(-1.5px);text-decoration:none;}
.nav-btn-ghost{background:var(--overlay);border-color:var(--line2);color:var(--text1) !important;backdrop-filter:blur(6px);}
.nav-btn-ghost:hover{border-color:var(--gold);color:var(--text0) !important;background:var(--gold-dim);box-shadow:0 6px 18px rgba(0,0,0,.18);transform:translateY(-1.5px);text-decoration:none;}

/* ---------- theme toggle (moon/sun swap) ---------- */
.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-sm);border:1px solid var(--line2);background:var(--surface);color:var(--text0);cursor:pointer;transition:all .2s;flex-shrink:0;}
.theme-toggle:hover{border-color:var(--gold);}
.theme-toggle .icon-sun{display:none;}
html[data-theme="light"] .theme-toggle .icon-moon{display:none;}
html[data-theme="light"] .theme-toggle .icon-sun{display:block;}
#mobile-theme-icon .icon-sun{display:none;}
html[data-theme="light"] #mobile-theme-icon .icon-moon{display:none;}
html[data-theme="light"] #mobile-theme-icon .icon-sun{display:block;}

/* ---------- language switcher ---------- */
.nav-lang{position:relative;flex-shrink:0;}
.lang-trigger{display:flex;align-items:center;gap:6px;cursor:pointer;height:36px;padding:0 11px;border-radius:999px;background:var(--surface);border:1px solid var(--line2);color:var(--text0);transition:border-color .2s;font-family:var(--font);}
.lang-trigger:hover{border-color:var(--gold);}
.lang-trigger-code{font-size:12px;font-weight:700;letter-spacing:.02em;}
.lang-flag{font-size:15px;line-height:1;filter:saturate(1.05);}
.lang-chevron{color:var(--text2);transition:transform .2s var(--ease);flex-shrink:0;}
.lang-trigger[aria-expanded="true"] .lang-chevron{transform:rotate(180deg);}
.lang-dropdown{width:210px;padding:6px;}
.lang-option{display:flex !important;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--r-sm);color:var(--text1);text-decoration:none;font-size:13.5px;font-weight:500;}
.lang-option:hover{background:var(--overlay);color:var(--text0);}
.lang-option.active{color:var(--gold);font-weight:600;}
.lang-native{flex:1;min-width:0;}
.lang-check{color:var(--gold);flex-shrink:0;}
.dropdown-wrap{position:relative;}
.dropdown-menu{position:absolute;top:calc(100% + 10px);right:0;width:280px;background:var(--surface);border:1px solid var(--line2);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:8px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:all .18s var(--ease);z-index:220;}
.dropdown-menu.open{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown-menu a{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:var(--r-sm);color:var(--text1);font-size:.88rem;font-weight:600;}
.dropdown-menu a:hover{background:var(--overlay);color:var(--text0);text-decoration:none;}

/* ---------- account dropdown ---------- */
.nav-account{position:relative;}
.account-avatar{width:30px;height:30px;border-radius:50%;flex-shrink:0;overflow:hidden;background:var(--gold);color:var(--gold-ink);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:13px;font-weight:700;}
.account-avatar-lg{width:40px;height:40px;font-size:16px;}
.account-avatar-img{width:100%;height:100%;object-fit:cover;display:block;}
.account-trigger{display:flex;align-items:center;gap:8px;padding:5px 10px 5px 5px;background:var(--overlay);border:1px solid var(--line2);border-radius:999px;color:var(--text0);cursor:pointer;font-family:var(--font);transition:border-color .2s,background .2s;}
.account-trigger:hover{border-color:var(--gold);}
.account-trigger-name{font-size:13.5px;font-weight:600;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.account-chevron{color:var(--text2);transition:transform .2s var(--ease);}
.account-trigger[aria-expanded="true"] .account-chevron{transform:rotate(180deg);}
.account-dropdown{width:250px;}
.account-dropdown-head{display:flex;align-items:center;gap:12px;padding:10px 8px 14px;border-bottom:1px solid var(--line);margin-bottom:8px;}
.account-dropdown-id{min-width:0;}
.account-dropdown-name{font-size:14.5px;font-weight:600;color:var(--text0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.account-dropdown-email{font-size:12px;color:var(--text2);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.account-role-badge{display:inline-flex;align-items:center;margin-top:3px;background:var(--signal-dim);color:var(--signal);border-radius:5px;padding:2px 8px;font-weight:700;font-size:10.5px;letter-spacing:.02em;text-transform:uppercase;font-family:var(--font-mono);}
.account-dropdown-links{display:flex;flex-direction:column;gap:1px;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--line);}
.account-dropdown-links a,.account-dropdown-signout{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:var(--r-sm);color:var(--text1);text-decoration:none;font-size:13.5px;font-weight:500;}
.account-dropdown-links a:hover{background:var(--overlay);color:var(--text0);}
.account-dropdown-links a svg{color:var(--text2);flex-shrink:0;}
.account-dropdown-signout{color:var(--rose);}
.account-dropdown-signout:hover{background:var(--rose-dim);}
.account-dropdown-signout svg{flex-shrink:0;}
.mobile-account-head{display:flex;align-items:center;gap:12px;padding:12px 10px;margin-bottom:2px;}

/* ---------- mobile nav (burger + slide-down menu) ---------- */
.nav-burger{display:none;background:none;border:1px solid var(--line2);border-radius:var(--r-sm);color:var(--text0);font-size:16px;width:36px;height:36px;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;}
.mobile-menu{position:absolute;top:100%;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--line);padding:8px 5% 20px;display:none;flex-direction:column;gap:2px;box-shadow:var(--shadow-lg);}
.mobile-menu.open{display:flex;}
.mobile-menu a{padding:13px 10px;color:var(--text1);text-decoration:none;border-radius:var(--r-sm);font-size:15px;}
.mobile-menu a:hover{background:var(--overlay);color:var(--text0);}
.mobile-menu .nav-btn{margin-top:8px;text-align:center;justify-content:center;}
.mobile-theme-row{display:flex;align-items:center;justify-content:space-between;padding:13px 10px;border-radius:var(--r-sm);font-size:15px;color:var(--text1);cursor:pointer;}
.mobile-theme-row:hover{background:var(--overlay);}
.mobile-lang-row{padding:10px 10px 6px;}
.mobile-lang-label{display:block;font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px;}
.mobile-lang-options{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.mobile-lang-option{display:flex;align-items:center;gap:7px;padding:9px 10px;border-radius:var(--r-sm);border:1px solid var(--line2);color:var(--text1);text-decoration:none;font-size:13px;font-weight:500;}
.mobile-lang-option:hover{border-color:var(--gold);color:var(--text0);}
.mobile-lang-option.active{border-color:var(--gold);color:var(--gold);background:var(--gold-dim);}

@media(max-width:900px){
  .nav-burger{display:flex;}
  .nav-links{display:none;}
  .nav-cta .nav-btn-ghost{display:none;}
}

/* ---------- RTL (Kurdish / Arabic) ---------- */
html[dir="rtl"] body{font-family:'Noto Kufi Arabic','Inter',sans-serif;}
html[dir="rtl"] .dropdown-menu{right:auto;left:0;}
html[dir="rtl"] .lang-chevron{transform:scaleX(-1);}
html[dir="rtl"] .lang-trigger[aria-expanded="true"] .lang-chevron{transform:scaleX(-1) rotate(180deg);}
html[dir="rtl"] .nav-right{margin-left:0;margin-right:auto;}

.site-main{position:relative;z-index:1;max-width:var(--container);margin:0 auto;padding:calc(var(--nav-h) + 32px) 24px 32px;min-height:70vh;}
.site-footer{position:relative;z-index:1;border-top:1px solid var(--line);margin-top:40px;}
.site-footer-inner{max-width:1220px;margin:0 auto;padding:20px 24px;color:var(--text2);font-size:.85rem;}

/* ---------- home feature strip ---------- */
.feats{max-width:1000px;margin:10px auto 40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;}
.feat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;text-align:left;}
html[dir="rtl"] .feat{text-align:right;}
.feat svg{color:var(--gold);margin-bottom:10px;}
.feat h3{font-family:'Space Grotesk',sans-serif;font-size:14.5px;color:var(--text0);margin:0 0 6px;}
.feat p{color:var(--text2);font-size:12.5px;line-height:1.55;margin:0;}

/* ---------- Surfaces / buttons (used by the hero CTAs) ---------- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 1px 2px rgba(0,0,0,.15);padding:24px;}
.btn{display:inline-block;background:var(--gold);color:var(--gold-ink);border:none;padding:10px 18px;border-radius:9px;font-weight:700;font-size:.92rem;cursor:pointer;transition:transform .15s var(--ease),box-shadow .15s var(--ease);text-decoration:none;}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(231,184,78,.22);text-decoration:none;}
.btn:active{transform:translateY(0);}
.btn-outline{background:transparent;color:var(--text0);border:1.5px solid var(--line2);}
.btn-outline:hover{border-color:var(--gold);background:var(--gold-dim);box-shadow:none;}
