/* ---- 42 Network OAuth button + intranet notes ---- */
.btn--42{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--gold);color:#0A0C0E;border-color:var(--gold);font-weight:600}
.btn--42:hover{background:var(--gold-lite);border-color:var(--gold-lite);color:#0A0C0E}
.btn--42 .btn__42{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:4px;background:#0A0C0E;color:var(--gold-lite);font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:-.02em;flex:none}
.btn--42 svg{width:15px;height:15px;flex:none}
.intra-note{padding:14px 16px;border:1px solid var(--line-2);border-radius:var(--radius);background:rgba(238,232,222,.02)}
.intra-status{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);margin-top:14px}
.intra-status .pulse{width:5px;height:5px}
.acct__av img{width:26px;height:26px;border-radius:50%;object-fit:cover;display:block}

/* ---- intranet identity card (42 avatar + login + campus + level) ---- */
.idcard{display:flex;gap:22px;align-items:center;flex-wrap:wrap;padding:26px;border:1px solid var(--line-2);border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(238,232,222,.035),rgba(238,232,222,.012));margin-bottom:34px;position:relative;overflow:hidden}
.idcard::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(680px 220px at 12% 0%,rgba(212,163,89,.10),transparent 70%)}
.idcard__body{flex:1 1 280px;min-width:0;position:relative;z-index:1}
.idcard__body .dash__hello{margin:4px 0 8px}
.idcard__row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2)}
.idcard__login{color:var(--gold-lite);text-decoration:none;border-bottom:1px solid rgba(212,163,89,.35);padding-bottom:1px}
.idcard__login:hover{border-bottom-color:var(--gold-lite)}
.idcard__campus{color:var(--ink-2,#CFC9BF)}
.idcard__dot{opacity:.45}
.idcard__lvl b{color:var(--gold-lite);font-weight:600}
.idcard__meta{margin-top:10px;font-size:.82rem;color:var(--muted-2)}
.dash__actions{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}
@media (max-width:640px){
  .idcard{padding:20px;gap:16px}
  .idcard__av{width:72px;height:72px}
  .idcard__av span{font-size:1.25rem}
  .dash__actions{margin-left:0;width:100%}
}

/* ---- avatar: 42 CDN photo inside a level-progress ring ---- */
.idcard__av{position:relative;flex:none;width:108px;height:108px;z-index:1}
.idcard__ring{position:absolute;inset:0;width:100%;height:100%}
.ring__track{fill:none;stroke:rgba(238,232,222,.10);stroke-width:2.5}
.ring__bar{fill:none;stroke:var(--gold-lite);stroke-width:2.5;stroke-linecap:round;transition:stroke-dasharray 1s cubic-bezier(.2,.7,.2,1)}
.idcard__photo{position:absolute;inset:8px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:rgba(212,163,89,.08)}
.idcard__photo img{width:100%;height:100%;object-fit:cover;display:block}
.idcard__photo span{font-family:var(--font-mono);font-size:1.6rem;font-weight:600;color:var(--gold-lite)}
.idcard__badge{position:absolute;right:-2px;bottom:2px;min-width:30px;padding:3px 7px;border-radius:99px;background:#0A0C0E;border:1px solid rgba(212,163,89,.5);color:var(--gold-lite);font-family:var(--font-mono);font-size:.64rem;font-weight:700;text-align:center;line-height:1.2}
.lvlbar{height:6px;border-radius:99px;background:rgba(238,232,222,.08);overflow:hidden}
.lvlbar i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--gold),var(--gold-lite));transition:width 1s cubic-bezier(.2,.7,.2,1)}
@media (max-width:640px){
  .idcard__av{width:88px;height:88px}
  .idcard__photo{inset:6px}
  .idcard__photo span{font-size:1.25rem}
}
@media (prefers-reduced-motion:reduce){.ring__bar,.lvlbar i{transition:none}}
