/* Tempo 右上角用户菜单 / 二次验证弹层 / 轻提示
 * 独立成文件，供未引入 oj-ui.css 的页面（题库列表、作业、题目、落地页）复用。
 * 引入 oj-ui.css 的页面已通过 @import 自动加载本文件。 */
.usermenu{position:relative}
.usermenu__btn{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;
  border:1px solid var(--line-2,#d5dce6);border-radius:999px;background:#fff;font-family:inherit;
  font-size:14px;font-weight:500;color:var(--ink,#0a2540);cursor:pointer;transition:.16s ease}
.usermenu__btn:hover{border-color:var(--ink,#0a2540);box-shadow:0 3px 10px rgba(10,37,64,.08)}
.usermenu__btn[aria-expanded="true"]{border-color:var(--accent,#635bff);box-shadow:0 0 0 3px var(--accent-soft,rgba(99,91,255,.10))}
.usermenu__ava{width:26px;height:26px;border-radius:50%;overflow:hidden;flex:none;
  display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;
  background:linear-gradient(135deg,#635bff,#a78bfa)}
.usermenu__ava img{width:100%;height:100%;object-fit:cover;display:block}
.usermenu__chev{width:7px;height:7px;border-right:1.5px solid var(--muted,#697386);border-bottom:1.5px solid var(--muted,#697386);
  transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.usermenu__btn[aria-expanded="true"] .usermenu__chev{transform:rotate(225deg) translateY(1px)}
.usermenu__panel{position:absolute;right:0;top:calc(100% + 10px);min-width:238px;background:#fff;
  border:1px solid var(--line,#e6ebf1);border-radius:12px;box-shadow:0 18px 44px rgba(10,37,64,.16);
  padding:6px;z-index:60;opacity:0;visibility:hidden;transform:translateY(-4px);transition:.16s ease}
.usermenu.open .usermenu__panel{opacity:1;visibility:visible;transform:none}
.usermenu__head{display:flex;align-items:center;gap:10px;padding:9px 12px 10px}
.usermenu__head .usermenu__ava{width:32px;height:32px;font-size:14px}
.usermenu__head b{display:block;font-size:14px;font-weight:600;color:var(--ink,#0a2540);line-height:1.35}
.usermenu__head .m{font-size:12px;color:var(--muted,#697386);font-variant-numeric:tabular-nums}
.usermenu__item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;
  font-size:13.5px;color:var(--ink-2,#425466)!important;border:0;background:none;width:100%;
  text-align:left;font-family:inherit;cursor:pointer;text-decoration:none!important;
  transition:background-color .15s}
.usermenu__item:hover{background:var(--surface,#f6f9fc);color:var(--ink,#0a2540)!important}
.usermenu__item.danger{color:var(--bad,#e02424)!important}
.usermenu__item.danger:hover{background:rgba(224,36,36,.08)}
.usermenu__sep{height:1px;background:var(--line,#e6ebf1);margin:6px 4px}
@media (max-width:780px){ .usermenu__name{display:none} }

/* 二次验证弹层 / 轻提示 */
.sudo-mask{position:fixed;inset:0;z-index:90;background:rgba(10,37,64,.42);
  display:flex;align-items:center;justify-content:center;padding:20px}
.sudo-box{width:100%;max-width:380px;background:#fff;border-radius:14px;padding:22px 24px;
  box-shadow:0 20px 60px rgba(10,37,64,.28)}
.sudo-box h3{margin:0 0 6px;font-size:17px;letter-spacing:-.02em}
.sudo-box p{margin:0 0 14px;font-size:13px;color:var(--muted,#697386);line-height:1.65}
.sudo-input{width:100%;border:1px solid var(--line-2,#d5dce6);border-radius:8px;padding:10px 12px;
  font-family:inherit;font-size:14px;outline:none;color:var(--ink,#0a2540)}
.sudo-input:focus{border-color:var(--accent,#635bff);box-shadow:0 0 0 3px var(--accent-soft,rgba(99,91,255,.10))}
.sudo-err{min-height:18px;margin-top:6px;font-size:12.5px;color:var(--bad,#e02424)}
.sudo-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}
.oj-toast{position:fixed;left:50%;bottom:32px;transform:translateX(-50%);z-index:95;
  background:var(--ink,#0a2540);color:#fff;border-radius:999px;padding:9px 18px;font-size:13.5px;
  box-shadow:0 10px 30px rgba(10,37,64,.3);opacity:0;transition:opacity .2s}
.oj-toast.on{opacity:1}
