/* RTR Exam shell: floating header, progress plane, dock, footer runway */
:root{--navy:#06121f;--navy2:#0a1b2e;--navy3:#10304a;--teal:#12907f;--mint:#2fcfb0;--gold:#ffb84d;--glass:rgba(8,22,36,.72)}
.btn.amber{background:var(--gold);border-color:var(--gold);color:#201400;box-shadow:0 10px 26px rgba(255,184,77,.32)}
.btn.amber:hover{background:#ffc873;border-color:#ffc873;color:#201400;box-shadow:0 14px 30px rgba(255,184,77,.42)}
.btn svg{width:1.05em;height:1.05em;flex:none}
/* progress plane */
.sp{position:fixed;left:0;top:0;height:3px;width:100%;z-index:70;pointer-events:none}
.sp b{position:absolute;left:0;top:-7px;width:20px;height:20px;transform:translateX(calc(var(--p,0)*(100vw - 20px)));color:var(--gold);display:block;will-change:transform}
.sp b svg{width:20px;height:20px;display:block;fill:currentColor}
.sp:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--mint),var(--gold));transform-origin:0 50%;transform:scaleX(var(--p,0));opacity:.9}
/* header */
.top{position:fixed;top:12px;left:0;right:0;z-index:60;background:none;border:0;backdrop-filter:none;pointer-events:none}
.top .bar{height:60px;pointer-events:auto;max-width:1180px;margin:0 auto;padding:0 10px 0 14px;background:var(--glass);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border:1px solid rgba(255,255,255,.12);border-radius:20px;box-shadow:0 18px 40px rgba(2,10,20,.28);width:calc(100% - 28px);transition:background .3s}
.top .brand,.top .brand-name{color:#fff}.brand-name em{font-style:normal;color:var(--gold);margin-left:2px}
.top .links a{color:#cfe0ea}.top .links a:hover,.top .links a.on{background:rgba(255,255,255,.1);color:#fff}
.top .links .mock{background:var(--gold);color:#201400;box-shadow:none;font-weight:800}.top .links .mock:hover{background:#ffc873;color:#201400}
.top .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}.top .btn.ghost:hover{background:rgba(255,255,255,.12)}
.top .btn{box-shadow:none}.top .ub{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}
.burger i{background:#fff}
body{padding-top:0}
main{display:block}
body:not(.hero) main{padding-top:84px}
body.simpage main,body.quizpage main{padding-top:0}
body.simpage .top,body.quizpage .top{position:sticky;top:0}
body.simpage .top .bar,body.quizpage .top .bar{border-radius:0;width:100%;max-width:none;margin:0}
body.simpage .sp,body.quizpage .sp{display:none}
@media(max-width:1020px){
 .burger{display:block;margin-left:auto}
 .links{position:absolute;left:0;right:0;top:calc(100% + 8px);display:none;flex-direction:column;align-items:stretch;gap:2px;margin:0;padding:10px;background:rgba(6,18,31,.96);border:1px solid rgba(255,255,255,.12);border-radius:18px;backdrop-filter:blur(16px)}
 .links.open{display:flex}.links a{padding:12px 14px}.links .mock{margin:6px 0 0;text-align:center}
 .top .bar{position:relative}
 .auth .btn.ghost{display:none}
}
/* dock */
.dock{display:none}
@media(max-width:1020px){
 .dock{display:flex;position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:55;background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:6px;box-shadow:0 16px 36px rgba(2,10,20,.35)}
 .dock a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px 7px;border-radius:14px;color:#b6cad8;font-size:.7rem;font-weight:700;text-decoration:none;min-height:52px}
 .dock a svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
 .dock a.on{background:rgba(255,184,77,.16);color:var(--gold)}
 body{padding-bottom:84px}
 body.simpage,body.quizpage{padding-bottom:0}
 body.simpage .dock,body.quizpage .dock{display:none}
}
@media(min-width:1021px) and (orientation:landscape){.top .bar{width:calc(100% - 48px)}}
/* footer */
.foot{position:relative;background:var(--navy);color:#a9bfce;margin-top:0;padding:64px 0 0;overflow:hidden;border:0}
.foot a{color:#cfe0ea}.foot a:hover{color:var(--gold);text-decoration:none}
.foot h3{color:#fff;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;font-family:var(--sans);font-weight:800;margin-bottom:14px}
.foot .fgrid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1.2fr;gap:36px;padding-bottom:36px}
.foot .fgrid a{display:block;padding:5px 0;font-size:.93rem}
.foot .fbrand .brand,.foot .brand-name{color:#fff}.foot .mut{color:#7f99ab;font-size:.82rem}
.foot-run{position:absolute;top:0;left:0;right:0;height:10px;display:flex;justify-content:space-around;align-items:center;background:#0c2236}
.foot-run i{width:5%;height:3px;background:var(--gold);border-radius:2px;opacity:.85;animation:runw 3s linear infinite}
.foot-run i:nth-child(odd){animation-delay:-1.5s}
@keyframes runw{0%,100%{opacity:.25}50%{opacity:1}}
.foot-word{margin:0;text-align:center;font:800 clamp(4rem,19vw,15rem)/.8 var(--disp);letter-spacing:-.05em;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,0));-webkit-background-clip:text;background-clip:text;color:transparent;padding-top:10px;white-space:nowrap;overflow:hidden;user-select:none}
@media(max-width:860px){.foot .fgrid{grid-template-columns:1fr 1fr}.foot .fbrand{grid-column:1/-1}}
@media(max-width:520px){.foot .fgrid{grid-template-columns:1fr}}
/* reveal */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*90ms)}
.js .rv.in{opacity:1;transform:none}
.rx-sub{font-size:1.08rem;color:var(--mut);max-width:60ch}
@media(prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}.foot-run i{animation:none}html{scroll-behavior:auto}}
