/* mastery */
.mprof{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;padding:22px;border-radius:28px;background:linear-gradient(120deg,#132536,#18304a);margin-bottom:16px}
.mav{width:104px;height:104px;position:relative}
.mav svg{width:100%;height:100%;transform:rotate(-90deg)}
.mav b{position:absolute;inset:0;display:grid;place-items:center;font-family:Fraunces,serif;font-size:40px;font-weight:500}
.mprof h3{font-size:30px}
.mprof .sub{color:var(--muted);font-size:13px;margin:4px 0 12px}
.mprof .chips{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:560px){.mprof{grid-template-columns:1fr;justify-items:center;text-align:center}.mprof .chips{justify-content:center}}
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:900px){.mgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.mgrid{grid-template-columns:1fr}}
.mc{border-radius:24px;padding:20px;position:relative;overflow:hidden}
.mc .hd{display:flex;justify-content:space-between;align-items:start}
.mc .gn{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.mc .lv{font-family:Fraunces,serif;font-size:32px;line-height:1;margin-top:6px}
.mc .emb{width:58px;height:58px}
.mc .pips{display:flex;gap:5px;margin:14px 0 8px}
.mc .pips i{flex:1;height:6px;border-radius:4px;background:currentColor;opacity:.2}
.mc .pips i.on{opacity:.95}
.mc .xp{font-size:12px;opacity:.75;display:flex;justify-content:space-between}
.mc .mbar{height:8px;border-radius:6px;background:rgba(0,0,0,.14);overflow:hidden;margin:6px 0 14px}
.mc .mbar span{display:block;height:100%;border-radius:6px;background:currentColor;transition:width 1.2s cubic-bezier(.2,.9,.3,1)}
.mc .st{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;text-align:center}
.mc .st b{display:block;font-family:Fraunces,serif;font-size:19px;font-weight:500}
.mc .st span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.msplit{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;margin-top:22px}
@media(max-width:820px){.msplit{grid-template-columns:1fr}}
.mh{font-size:22px;margin-bottom:12px}
.badges{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:520px){.badges{grid-template-columns:repeat(3,1fr)}}
.bdg{border:1px solid var(--line);border-radius:18px;padding:14px 8px;text-align:center;background:rgba(244,241,234,.03)}
.bdg .md{width:52px;height:52px;margin:0 auto 8px;border-radius:50%;display:grid;place-items:center;font-size:22px;position:relative}
.bdg .md::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px dashed currentColor;opacity:.35}
.bdg b{display:block;font-size:13px}
.bdg span{font-size:11px;color:var(--muted);line-height:1.3;display:block;margin-top:3px}
.bdg.off{opacity:.38;filter:grayscale(1)}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:10px;border-radius:20px;border:1px solid var(--line)}
.cal .h{font-size:10px;text-align:center;color:var(--muted);letter-spacing:.1em}
.cal .d{aspect-ratio:1;border-radius:10px;background:rgba(244,241,234,.04);position:relative;font-size:10px;color:var(--muted);padding:4px}
.cal .d.today{outline:1.5px solid var(--paper);color:var(--paper)}
.cal .d.full{background:rgba(244,241,234,.12);color:var(--paper)}
.cal .d .ds{position:absolute;left:4px;right:4px;bottom:4px;display:flex;gap:2px}
.cal .d .ds i{flex:1;height:5px;border-radius:3px}
