/* Olimpiada UZ (EDU) — umumiy asos: ranglar, shrift, tugmalar, navigatsiya, kirish oynasi.
   Ranglar logotipdan olingan: to'q ko'k (#042F74 atrofida) va oltin sariq (#FFD60A). */
/* Shriftlar (Bricolage Grotesque, Onest, JetBrains Mono) har bir HTML da <link> orqali ulanadi */

:root{
  /* Yuzalar: sahifa → bo'lim → ichki karta → yuqori daraja */
  --bg:#04122F; --deep:#071B45; --surf:#0A2557; --surf2:#0F3270; --surf3:#164089;
  --line:#1F4388; --line2:#2F5CB0;
  --txt:#F4F7FF; --mute:#A9B8E0;
  /* Asosiy urg'u: faqat asosiy amal, taymer, faol holat uchun */
  --gold:#FFD60A; --gold-hi:#FFE352; --on-gold:#0A1B45;
  /* Ma'no ranglari */
  --ok:#3EDC9D; --bad:#FF8093; --sky:#69B7FF; --lilac:#B7A6FF; --coral:#FF9C73;
  --r-s:8px; --r-m:12px; --r-l:16px;
  --display:"Bricolage Grotesque","Onest",system-ui,sans-serif;
  --body:"Onest",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
  --lift:0 22px 44px -26px rgba(0,0,0,.75);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{background:var(--bg);scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100dvh;color:var(--txt);font:400 1rem/1.6 var(--body);
  background:radial-gradient(1100px 520px at 78% -10%,rgba(23,77,170,.55),transparent 65%),var(--bg);
  overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%}
::selection{background:var(--gold);color:var(--on-gold)}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;border-radius:var(--r-s);background:var(--gold);color:var(--on-gold);font-weight:700;transition:top .2s}
.skip:focus{top:12px}
*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--line);border-radius:9px;border:2px solid var(--bg)}

/* ---------- Brend ---------- */
.brand{display:inline-flex;align-items:center;gap:11px;font:800 1.18rem/1 var(--display);letter-spacing:-.01em;white-space:nowrap}
.brand img{width:42px;height:42px;display:block;flex:none}
.brand em{font-style:normal;color:var(--gold);font-weight:700;margin-left:.28em}

/* ---------- Navigatsiya (bosh sahifa, "Mening bo'limim") ---------- */
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.nav{position:sticky;top:0;z-index:30;background:rgba(4,18,47,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:20px;min-height:68px}
.links{display:flex;gap:4px;margin-left:12px;flex:1}
.links a{position:relative;padding:10px 14px;border-radius:var(--r-s);color:var(--mute);font-weight:600;font-size:.95rem;white-space:nowrap;transition:color .15s,background .15s}
.links a:hover{color:var(--txt);background:rgba(255,255,255,.06)}
.links a.on{color:var(--txt)}
.links a.on::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:3px;border-radius:3px;background:var(--gold)}

/* ---------- Tugmalar: bitta asosiy (oltin), bitta ikkinchi darajali (kontur) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 22px;border-radius:var(--r-s);border:1px solid transparent;
  font:700 1rem/1.2 var(--body);cursor:pointer;touch-action:manipulation;white-space:nowrap;
  background:var(--gold);color:var(--on-gold);box-shadow:0 2px 0 #A88B00;
  transition:background .15s,transform .15s,border-color .15s,box-shadow .15s}
.btn:hover{background:var(--gold-hi);transform:translateY(-1px)}
.btn:active{transform:translateY(2px);box-shadow:0 0 0 #A88B00}
.btn.alt{background:transparent;color:var(--txt);border-color:var(--line2);box-shadow:none}
.btn.alt:hover{background:rgba(255,255,255,.07);border-color:var(--mute)}
.btn.tg{background:#229ED9;color:#fff;box-shadow:none}
.btn.tg:hover{background:#34b0eb}
.btn.sm{min-height:40px;padding:7px 16px;font-size:.92rem}
.btn svg{width:18px;height:18px;fill:currentColor;flex:none}
@media (pointer:coarse){.btn.sm{min-height:44px}}

/* ---------- Foydalanuvchi belgisi ---------- */
.uchip{display:flex;align-items:center;gap:9px;min-height:44px;padding:4px 14px 4px 4px;border-radius:var(--r-s);background:var(--surf);border:1px solid var(--line);font-weight:600;font-size:.93rem;transition:border-color .15s}
.uchip:hover{border-color:var(--gold)}
.av{width:34px;height:34px;border-radius:6px;object-fit:cover;background:var(--gold);color:var(--on-gold);display:grid;place-items:center;font-weight:800;font-size:.95rem;flex:none}
#navUser{display:flex;align-items:center;gap:8px;margin-left:auto}

/* ---------- Kirish oynasi ---------- */
.mdl{position:fixed;inset:0;z-index:60;display:none;place-items:center;background:rgba(2,8,24,.78);padding:16px}
.mdl.on{display:grid}
.mbox{width:min(420px,100%);padding:30px 28px 26px;border-radius:var(--r-l);text-align:center;background:var(--surf);border:1px solid var(--line2);box-shadow:0 30px 80px rgba(0,0,0,.6)}
.mbox .mlogo{width:84px;height:84px;margin:-62px auto 10px;display:block;filter:drop-shadow(0 10px 18px rgba(0,0,0,.5))}
.mbox h3{margin:0 0 8px;font:800 1.5rem/1.2 var(--display)}
.mbox p{color:var(--mute);margin:6px 0}
.tgw{min-height:56px;display:grid;place-items:center;gap:10px;margin:20px 0 14px}
.err{color:var(--bad);font-weight:600;min-height:1.4em}
.mbox code{background:var(--bg);padding:1px 7px;border-radius:7px;font-family:var(--mono);font-size:.9em}

@media (max-width:860px){
  .nav .wrap{flex-wrap:wrap;gap:6px 12px;padding-top:8px;padding-bottom:6px;min-height:0}
  .links{order:3;flex:0 0 100%;margin:0;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  .links::-webkit-scrollbar{display:none}
}
@media (max-width:420px){.brand{font-size:1.02rem}.brand img{width:36px;height:36px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
