:root{
    --bg:#0d1117; --panel:#0b1220; --muted:#9aa4af; --accent:#2b9af3;
    --border:#23272b; --sidebar-w:220px; --gap:18px; --radius:12px;
    --glass: rgba(255,255,255,0.03);
    --header-h:64px;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;padding:0;background:var(--bg);color:#e6eef6;font-family:Inter,system-ui,Segoe UI,Roboto,Arial;overflow-x:hidden}
a{color:inherit;text-decoration:none}
/* Header */
.topbar{
    height:var(--header-h);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:0 20px;
    border-bottom:1px solid rgba(255,255,255,0.03);
    background:linear-gradient(180deg, rgba(255,255,255,0.01), transparent);
    position:sticky;
    top:0;
    z-index:50;
    margin-left:var(--sidebar-w);
}
.brand-row{display:flex;align-items:center;gap:12px}
.brand-row .brand-small{font-weight:800;color:#fff;font-size:18px}
.top-actions{display:flex;align-items:center;gap:12px}
.btn-ghost{background:transparent;color:var(--muted);border:1px solid rgba(255,255,255,0.04);padding:8px 12px;border-radius:10px}
.btn-primary{background:var(--accent);color:#fff;padding:8px 12px;border-radius:10px;border:none}
.user-badge{display:inline-flex;align-items:center;gap:10px;color:var(--muted);padding:6px 10px;border-radius:999px;background:rgba(255,255,255,0.02);font-size:14px}
.user-name{font-weight:600;color:#fff}
/* Layout */
.app{display:block;min-height:100vh}
.sidebar{
    position:fixed;left:0;top:0;height:100vh;width:var(--sidebar-w);
    background:linear-gradient(180deg,var(--panel),#071018);border-right:1px solid var(--border);
    padding:22px 14px;display:flex;flex-direction:column;gap:10px;z-index:40
}
.brand{font-weight:700;color:#fff;margin-bottom:6px;font-size:18px}
.nav{flex:1;overflow:auto;padding-right:6px}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.nav a.item{
    display:flex;align-items:center;gap:12px;padding:10px;border-radius:10px;color:var(--muted);
    transition:all .15s ease;border:1px solid transparent
}
.nav a.item .icon{width:34px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.02);font-size:18px}
.nav a.item:hover, .nav a.item[aria-current="true"]{
    color:#fff;background:var(--glass);border-color:rgba(255,255,255,0.03)
}
.nav .section-title{font-size:12px;color:var(--muted);margin:12px 8px 6px}
.sidebar .footer{margin-top:auto;font-size:13px;color:var(--muted);text-align:center}
/* Content */
.content{margin-left:var(--sidebar-w);padding:20px 28px 80px;min-height:100vh;overflow-y:auto}
.container{max-width:1100px;margin:0 auto}
.hero{display:flex;flex-direction:column;gap:12px;padding:26px;background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent);border-radius:12px}
h1{margin:0;font-size:28px;color:#fff}
p.lead{margin:0;color:var(--muted);font-size:15px}
.btn{display:inline-block;margin-top:8px;padding:8px 12px;background:var(--accent);color:#fff;border-radius:10px}
/* Sections & cards */
.grid{display:grid;gap:14px;margin-top:18px}
.grid.cols-3{grid-template-columns:1fr; }
@media(min-width:900px){ .grid.cols-3{grid-template-columns:repeat(3,1fr)} }
.card{background:rgba(255,255,255,0.02);padding:14px;border-radius:10px;border:1px solid var(--border)}
.card h3{margin:0 0 8px 0;color:#fff}
.muted{color:var(--muted);font-size:14px}
/* Server panels (single-page routing) */
.panel{display:none;padding:18px 0}
.panel.active{display:block}
.srv-hero{display:flex;gap:18px;align-items:center;margin-bottom:14px}
.srv-emoji{font-size:42px;width:86px;height:86px;border-radius:14px;background:rgba(255,255,255,0.02);display:flex;align-items:center;justify-content:center}
.srv-meta{color:var(--muted);font-size:14px}
.list{margin:12px 0 0 18px;color:var(--muted)}
/* Responsive: mobile sidebar overlay */
.mobile-toggle{display:none;position:fixed;left:10px;top:10px;z-index:60;background:var(--panel);border:1px solid var(--border);padding:8px;border-radius:10px;color:var(--muted)}
@media(max-width:900px){
    .sidebar{left:-100%;transition:left .22s ease;box-shadow:0 20px 40px rgba(2,6,23,0.6);width:260px}
    .sidebar.open{left:0}
    .content{margin-left:0;padding:18px}
    .mobile-toggle{display:inline-block}
    .overlay{display:none;position:fixed;inset:0;background:rgba(2,6,23,0.5);z-index:30}
    .overlay.show{display:block}
    .topbar{margin-left:0}
}
/* Footer */
footer.site-footer{margin-left:var(--sidebar-w);padding:28px;border-top:1px solid rgba(255,255,255,0.02);color:var(--muted);background:linear-gradient(0deg, rgba(255,255,255,0.01), transparent)}
@media(max-width:900px){ footer.site-footer{margin-left:0} }
/* Prevent horizontal scroll */
img, iframe, table{max-width:100%}
/* Focus styles */
a:focus, button:focus{outline:3px solid rgba(43,154,243,0.18);outline-offset:3px}

/* Small variant cards used on Home */
.card.small{
    background:linear-gradient(180deg, rgba(255,255,255,0.01), transparent);
    border-radius:10px;
    border:1px solid rgba(255,255,255,0.02);
    padding:10px;
    display:flex;
    flex-direction:column;
    gap:6px;
    transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
    cursor:pointer;
}
.card.small:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(2,6,23,0.6);background:var(--glass);}
.card.small .muted{font-size:13px;color:var(--muted)}
.card.small strong{color:#fff}

/* Logo row (small icons / service shortcuts) */
.logo-row{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}
.logo-card{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;background:rgba(255,255,255,0.02);border-radius:10px;border:1px solid rgba(255,255,255,0.02);color:var(--muted);text-decoration:none;transition:all .12s ease}
.logo-card .label{font-size:13px;color:var(--muted)}
.logo-card:hover{background:var(--glass);color:#fff;border-color:rgba(255,255,255,0.03);transform:translateY(-3px)}

/* Improve code blocks readability */
pre{background:rgba(0,0,0,0.22);padding:10px;border-radius:8px;overflow:auto;font-size:13px;color:#e6eef6}

/* Small card heading tweaks */
.card.small h3,.card.small h4{margin:0;color:#fff;font-size:15px}

@media(min-width:900px){
    .hero{flex-direction:row}
}

/* Hero aside (right column) */
.hero-aside{width:520px;max-width:46%;min-width:320px;display:flex;flex-direction:column;gap:14px}
.promo-card{padding:20px;border-radius:12px;background:linear-gradient(180deg, rgba(43,154,243,0.06), rgba(255,255,255,0.01));border:1px solid rgba(43,154,243,0.06);color:#dff3ff}
.promo-card h4{margin:0 0 6px;color:#fff;font-size:18px}
.quiz-list{display:flex;flex-direction:column;gap:10px}
.quiz-item{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:10px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.02)}
.quiz-item .label{color:#fff;font-weight:600}
.quiz-item .cta{background:transparent;border:1px solid rgba(255,255,255,0.04);padding:6px 10px;border-radius:8px;color:var(--muted)}
.hero-illustration{height:220px;border-radius:10px;background:linear-gradient(135deg, rgba(43,154,243,0.08), rgba(90,153,170,0.04));display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.95);font-weight:800}
.start-cta{display:flex;gap:8px;align-items:center}
.stat{font-size:26px;font-weight:800;color:#fff}
.stat-label{font-size:12px;color:var(--muted)}

/* Decorative callout and divider to make pages livelier */
.callout{
    display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:10px;background:linear-gradient(90deg, rgba(43,154,243,0.06), rgba(255,255,255,0.01));border:1px solid rgba(43,154,243,0.08);margin-top:12px;color:#dff3ff
}
.callout .emoji{font-size:22px}
.callout .text{font-size:14px}
.divider{height:1px;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.04), transparent);margin:18px 0;border-radius:2px}

/* small pill/badge used in lists */
.pill{display:inline-block;background:rgba(255,255,255,0.03);color:var(--muted);padding:4px 8px;border-radius:999px;font-size:12px;margin-right:8px}

/* subtle enhancement for srv-hero */
.srv-hero{align-items:center}
.srv-emoji{box-shadow:0 6px 18px rgba(2,6,23,0.6)}

/* tweak card hover for smoother feel */
.card{transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}
.card:hover{transform:translateY(-6px);box-shadow:0 18px 50px rgba(2,6,23,0.6)}
