
/* Premium Theme */
:root{
  --bg: #0b1220;
  --surface: #0f172a;
  --box: #1f2937;
  --text: #e5e7eb;
  --muted: #9ca3af;
  --primary: #10b981;
  --accent: #6366f1;
  --ring: rgba(99,102,241,.35);
  --shadow: 0 8px 24px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.03);
  --radius: 16px;
  --space: 14px;
  --maxw: 1200px;
}
html{scroll-behavior:smooth}
body{
  margin:0;
  background: radial-gradient(1200px 600px at 10% -10%, rgba(99,102,241,.15), transparent 60%),
              radial-gradient(900px 500px at 110% 10%, rgba(16,185,129,.12), transparent 60%),
              var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.container, .wrap, .content, main, .main{
  width:100%; max-width: var(--maxw); margin:0 auto; padding: calc(var(--space)*1.5) var(--space); box-sizing:border-box;
}
header, footer{ background: rgba(15,23,42,.7); backdrop-filter: blur(8px); border-bottom:1px solid rgba(255,255,255,.06) }
footer{ border-top:1px solid rgba(255,255,255,.06); border-bottom:none }
h1{ font-size: clamp(28px, 3.2vw, 44px); font-weight: 700; line-height:1.2 }
h2{ font-size: clamp(22px, 2.4vw, 32px); font-weight: 700; line-height:1.25 }
h3{ font-size: clamp(18px, 2vw, 26px); font-weight: 600; line-height:1.3 }
a{ color: var(--accent); text-decoration: none }
a:hover{ text-decoration: underline }
.box, [class*="box"], .card, [class*="Card"], .panel, [class*="panel"], .widget, [class*="widget"], .tile, [class*="tile"], .module, [class*="module"], .container-box, [class*="Container"], .convert-box, [class*="convert"]{
  background: var(--box) !important; border-radius: var(--radius); box-shadow: var(--shadow); padding: calc(var(--space)*1.25);
}
button, .btn, input[type=submit], input[type=button]{
  appearance:none; border:none; outline:none; background: linear-gradient(180deg, var(--accent), #4f46e5);
  color:#fff; padding:12px 16px; border-radius:12px; font-weight:600; cursor:pointer;
  transition: transform .08s ease, box-shadow .2s ease; box-shadow: 0 8px 20px rgba(99,102,241,.35);
}
button:hover, .btn:hover, input[type=submit]:hover, input[type=button]:hover{ transform: translateY(-1px) }
button:focus-visible, .btn:focus-visible{ box-shadow: 0 0 0 4px var(--ring) }
input[type=text], input[type=number], input[type=email], select, textarea{
  width:100%; background:#0f172a; color:var(--text); border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:12px 14px; box-sizing:border-box;
}
input:focus, select:focus, textarea:focus{ outline:none; border-color:#4f46e5; box-shadow:0 0 0 4px var(--ring) }
table{ width:100%; border-collapse: collapse; background: var(--surface); border-radius:12px; overflow:hidden }
th, td{ padding:12px 14px; text-align:left }
thead th{ background: rgba(255,255,255,.04); font-weight:600 }
tbody tr{ border-bottom:1px solid rgba(255,255,255,.06) }
tbody tr:hover{ background: rgba(255,255,255,.03) }
img.flag{ border-radius:999px }
@media (max-width: 640px){
  .container, .wrap, .content, main, .main{ padding:16px }
  .grid, [class*="grid"]{ display:grid; grid-template-columns:1fr !important; gap:14px }
  .row, [class*="row"], .columns, [class*="columns"]{ display:block !important }
  nav ul{ display:flex; flex-wrap:wrap; gap:10px; padding:0; list-style:none }
}


/* Light mode variables */
:root.light{
  --bg: #f6f7fb;
  --surface: #ffffff;
  --box: #ffffff;
  --text: #0b1220;
  --muted: #4b5563;
  --primary: #0ea5e9;
  --accent: #2563eb;
  --ring: rgba(37,99,235,.25);
  --shadow: 0 6px 20px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.6);
}

/* Nav & footer structure */
.site-nav{
  position: sticky; top: 0; z-index: 50;
  background: rgba(15,23,42,.7); backdrop-filter: blur(8px);
  padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.06);
}
:root.light .site-nav{ background: rgba(255,255,255,.8); border-bottom: 1px solid rgba(0,0,0,.06); }

.nav-inner{ max-width: var(--maxw); margin: 0 auto; padding: 0 var(--space); display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.brand{ display: flex; align-items: center; gap: 10px; font-weight: 800; letter-spacing: .2px; }
.brand a{ color: inherit; text-decoration: none; }
.nav-links{ display: flex; gap: 14px; align-items:center }
.nav-links a{ color: var(--text); opacity: .8; font-weight: 600; }
.nav-links a:hover{ opacity: 1 }

.theme-toggle{
  display: inline-flex; align-items: center; gap: 8px;
  background: linear-gradient(180deg, var(--accent), #4f46e5);
  color: #fff; border: none; border-radius: 999px; padding: 8px 12px; cursor: pointer;
  box-shadow: 0 8px 18px rgba(79,70,229,.35);
}
:root.light .theme-toggle{ background: linear-gradient(180deg, #2563eb, #1d4ed8); }

.site-footer{ margin-top: 40px; padding: 24px 0; background: rgba(15,23,42,.6); border-top: 1px solid rgba(255,255,255,.06); }
:root.light .site-footer{ background: rgba(255,255,255,.9); border-top: 1px solid rgba(0,0,0,.06); }
.site-footer .footer-inner{ max-width: var(--maxw); margin: 0 auto; padding: 0 var(--space); color: var(--muted) }
.site-footer a{ color: var(--accent) }

/* Canonical spacing for main containers when nav is sticky */
main, .main, .content{ padding-top: 16px }
@media (max-width: 640px){
  .nav-links{ display:none }
}
