/* EduXperti refined academic theme. Presentation only; keeps all PHP flows intact. */
:root {
  --ui-radius:8px;
  --ui-border:color-mix(in srgb,var(--primary-deep) 14%,transparent);
  --ui-shadow:0 8px 24px -16px color-mix(in srgb,var(--primary-deep) 35%,transparent);
  --ui-shadow-raised:0 16px 32px -20px color-mix(in srgb,var(--primary) 50%,transparent);
  --ui-focus:var(--primary-deep);
  --ui-motion:220ms;
}
html[data-theme=dark]{--ui-border:color-mix(in srgb,var(--primary) 22%,transparent);--ui-focus:var(--primary)}
body{font-family:var(--serif);line-height:1.65}
h1,h2,h3,h4,.eyebrow,.meta,.stats4 .stat .meta:first-child{letter-spacing:0!important}
.main>*{min-width:0}
.main :is(p,h1,h2,h3,h4,.grow,label){overflow-wrap:anywhere}
:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--ui-focus)!important;outline-offset:4px}
:is(.card,.uni-card,.exam-card,.res-card,.domain-card,.mock-card,.list-item,.empty,.q-card,.q-review,.dx-q,.nf-item){border-radius:var(--ui-radius)!important}
:is(.card,.uni-card,.exam-card,.res-card,.domain-card,.mock-card){border-color:var(--ui-border)!important;box-shadow:var(--ui-shadow);backdrop-filter:none;-webkit-backdrop-filter:none}
:is(a.card,.uni-card,.exam-card,.res-card,.domain-card,.mock-card):hover{box-shadow:var(--ui-shadow-raised)}
.btn:not(.pill){border-radius:var(--ui-radius);transition:background var(--ui-motion),box-shadow var(--ui-motion),transform var(--ui-motion)}
input:not([type=checkbox]):not([type=radio]),select,textarea{border-radius:var(--ui-radius);border-color:var(--ui-border);font-family:inherit}
.topbar{border-radius:12px!important}
.topbar-inner{min-width:0;gap:10px}
.mainnav{min-width:0}
.mainnav>a,.mainnav .linkbtn,.nav-grp-btn,.adm-grp-btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--ui-radius)!important}
.adm-menu{border-radius:var(--ui-radius);background:var(--surface-solid)!important;border-color:var(--ui-border)}
.adm-menu a{color:var(--ink)!important;min-height:42px;justify-content:flex-start;white-space:normal}
.nav-search{box-shadow:none;flex-shrink:1}
.nav-search input{min-width:0}
.section{margin:64px 0}
.h-hero{gap:40px;padding:28px 0 34px}
.h-hero h1{font-size:52px!important;line-height:1.16!important;max-width:640px}
.h-hero .lead{font-size:16px;line-height:1.8;max-width:580px}
.h-art img{border-radius:16px;animation:none!important;transform:none!important}
.h-art:before{display:none}
.sec-head h2{font-size:32px!important;line-height:1.3}
.exam-cards{gap:16px}
.exam-c{padding:22px!important;min-height:292px;gap:12px}
.exam-c .ic{border-radius:var(--ui-radius)!important}
.exam-c .meta{font-size:13px;line-height:1.65}
.exam-c .pill{min-height:36px;justify-content:center;align-self:stretch;font-size:12px}
.exam-c:before,.uni-card:before{animation-duration:16s!important}
.feat{padding:24px}.feat h3{line-height:1.4}.feat p{line-height:1.75}
.stats-strip{gap:16px}.stat-c{padding:24px 16px!important}
.stats4 .stat strong,.stat-c b{font-variant-numeric:tabular-nums}
.table-wrap{border-radius:var(--ui-radius)!important;box-shadow:var(--ui-shadow);border-color:var(--ui-border)!important}
th,td{padding:14px 16px!important;vertical-align:middle}
th{font-size:12px;letter-spacing:0;text-transform:uppercase;font-weight:700;color:var(--ink-2)}
.is-admin .main h1{font-size:30px;line-height:1.3}
.is-admin .main :is(input,select,.btn){min-height:42px}
.is-admin .adm-menu{background:var(--surface-solid)!important}
.dx-tabs{gap:8px;color:var(--ink)}.dx-tab{min-height:42px;border-radius:var(--ui-radius);color:var(--ink)}
.dx-tab.active{color:var(--primary-ink)}
.dx-side{border-radius:var(--ui-radius)!important;border-color:var(--ui-border)!important;color:var(--ink)}
.dx-pane,.dx-item{color:var(--ink)!important}
.dx-item{min-height:68px;border-radius:var(--ui-radius)}
.dx-item b{white-space:normal;line-height:1.45}
.dx-jump{background:var(--bg);border-bottom:1px solid var(--ui-border)}
.dx-jump a{min-height:42px;display:flex;align-items:center}
.dash-head,.exam-hero,.result-hero{border-radius:16px!important}
.dash-head h1{font-size:30px!important;line-height:1.3}
.dash-head:before,.result-hero:before,.dx-orb{display:none}
.dash-head:after{animation:none;opacity:.35;transform:none}
.site-footer{border-radius:0!important}
@media(min-width:1001px) and (max-width:1390px){.nav-search{display:none!important}}
@media(min-width:901px) and (max-width:1000px){
 .nav-search{display:none!important}.mainnav{gap:0!important}
 .mainnav>a,.mainnav .linkbtn,.nav-grp-btn{padding:8px 6px!important;font-size:12px!important}
 .nav-me-name{display:none}
 .nav-grp .adm-menu{position:absolute;opacity:0;visibility:hidden;transform:translateY(-6px);box-shadow:var(--ui-shadow-raised);padding:8px}
 .nav-grp:focus-within .adm-menu,.nav-grp:hover .adm-menu{opacity:1;visibility:visible;transform:none}
}
@media(min-width:901px){.nav-grp:focus-within .adm-menu{opacity:1;visibility:visible;transform:none}}
@media(max-width:900px){
 .topbar{border-radius:10px!important}.mainnav{max-height:calc(100dvh - 100px)!important;overflow-y:auto!important}
 .mainnav>a,.mainnav .linkbtn{justify-content:flex-start;min-height:44px}
 .mainnav .adm-menu{box-shadow:none;background:transparent!important}
 .h-hero{gap:26px}.h-hero h1{font-size:40px!important}
 .h-art{max-width:500px;margin-inline:auto}
 .section{margin:48px 0}.sec-head h2{font-size:28px!important}
}
@media(max-width:560px){
 .h-hero h1{font-size:34px!important;line-height:1.2!important}
 .h-hero .lead{font-size:15px}.h-cta .btn{min-height:46px}
 .sec-head h2{font-size:26px!important}
 .exam-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
 .exam-c{padding:16px!important;min-height:280px;gap:9px}
 .exam-c .meta{font-size:12px}.exam-c h3{font-size:19px}
 .exam-c .pill{font-size:11px;padding:8px 4px!important;white-space:normal}
 .exam-c:last-child:nth-child(odd){grid-column:1/-1;min-height:220px}
 .stats-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}
 .dash-head h1{font-size:25px!important}
 .dx-side.pp-ready{border-radius:16px 16px 0 0!important}
 .dx-tabs{gap:4px}.dx-tab{font-size:12px;min-height:44px}
 .announce{line-height:1.6;padding:12px 38px 12px 12px}
}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 html.fx .main :is(.card,.uni-card,.q-card,.q-review,.topic-row,.exam-c){opacity:1!important;translate:none!important;transform:none!important}
}
