
:root{
  --bg:#f5f5f7;--surface:rgba(255,255,255,.88);--white:#fff;--text:#1d1d1f;--muted:#6e6e73;
  --line:#e5e5ea;--blue:#007aff;--blue2:#0a84ff;--green:#34c759;--red:#ff3b30;
  --orange:#ff9500;--purple:#af52de;--shadow:0 18px 52px rgba(0,0,0,.08);--radius:25px;
  --sidebar:252px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{height:100%;margin:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei UI","Microsoft YaHei",sans-serif;color:var(--text);background:radial-gradient(circle at 8% 0%,rgba(0,122,255,.12),transparent 29%),radial-gradient(circle at 92% 8%,rgba(175,82,222,.09),transparent 25%),var(--bg);overflow:hidden}
button,input{font:inherit}button{border:0;cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}.hidden{display:none!important}
.app{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);height:100vh}.sidebar{padding:24px 18px;border-right:1px solid rgba(0,0,0,.06);background:rgba(255,255,255,.74);backdrop-filter:blur(28px);display:flex;flex-direction:column;gap:20px;z-index:30}
.brand{display:flex;align-items:center;gap:13px;padding:4px 8px 8px}.logo{width:52px;height:52px;border-radius:17px;object-fit:cover;box-shadow:0 7px 20px rgba(0,0,0,.15)}.brand h1{font-size:16px;line-height:1.25;margin:0;font-weight:800}.brand p{margin:4px 0 0;color:var(--muted);font-size:11px}
.nav{display:flex;flex-direction:column;gap:7px}.nav-btn{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;color:#505057;background:transparent;text-align:left;font-weight:700;transition:.2s ease}.nav-btn:hover{background:rgba(0,0,0,.045);transform:translateX(2px)}.nav-btn.active{background:#fff;color:var(--blue);box-shadow:0 5px 18px rgba(0,0,0,.08)}.nav-icon{width:24px;text-align:center;font-size:18px}.sidebar-footer{margin-top:auto;padding:12px;color:var(--muted);font-size:11px;line-height:1.65}
.main{min-width:0;display:flex;flex-direction:column;height:100vh}.topbar{min-height:78px;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(0,0,0,.055);background:rgba(245,245,247,.72);backdrop-filter:blur(22px);z-index:20}.title-wrap h2{margin:0;font-size:24px;letter-spacing:-.7px}.title-wrap p{margin:4px 0 0;color:var(--muted);font-size:12px}.top-actions{display:flex;gap:9px;align-items:center}
.pill,.primary,.secondary,.danger{border-radius:999px;padding:10px 16px;font-weight:750;transition:.2s ease}.primary{background:var(--blue);color:#fff;box-shadow:0 8px 22px rgba(0,122,255,.25)}.primary:hover{background:#006ee6;transform:translateY(-1px)}.secondary,.pill{background:rgba(255,255,255,.94);color:var(--text);box-shadow:0 4px 14px rgba(0,0,0,.07)}.secondary:hover,.pill:hover{transform:translateY(-1px);background:#fff}.danger{background:#fff0ef;color:var(--red)}
.profile-chip{display:flex;align-items:center;gap:9px;padding:7px 11px 7px 8px;border-radius:999px;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.08);color:var(--text)}.profile-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:20px;background:#eef3ff}.profile-text{text-align:left;line-height:1.2}.profile-text strong{display:block;font-size:12px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-text span{font-size:10px;color:var(--muted)}
.content{overflow:auto;padding:28px;scroll-behavior:smooth}.page{display:none;animation:fadeUp .28s ease}.page.active{display:block}@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.card{background:var(--surface);backdrop-filter:blur(22px);border:1px solid rgba(255,255,255,.75);box-shadow:var(--shadow);border-radius:var(--radius);padding:22px}.hero{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;margin-bottom:20px}.hero-copy{padding:31px}.eyebrow{font-size:12px;color:var(--blue);font-weight:850;letter-spacing:.08em;text-transform:uppercase}.hero h3{font-size:34px;line-height:1.15;letter-spacing:-1.2px;margin:10px 0}.hero p{color:var(--muted);line-height:1.75;margin:0;max-width:700px}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat{background:rgba(255,255,255,.8);border-radius:20px;padding:18px}.stat strong{display:block;font-size:27px}.stat span{font-size:12px;color:var(--muted)}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.search{flex:1;min-width:220px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:12px 17px;outline:none;transition:.2s}.search:focus,.text-input:focus{border-color:rgba(0,122,255,.5);box-shadow:0 0 0 4px rgba(0,122,255,.1)}.segment{display:flex;background:#e9e9ed;padding:4px;border-radius:999px}.segment button{padding:8px 15px;border-radius:999px;background:transparent;color:var(--muted);font-weight:750}.segment button.active{background:#fff;color:var(--text);box-shadow:0 2px 8px rgba(0,0,0,.1)}
.question-list{display:grid;gap:10px}.select-row{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;background:#fff;padding:16px 17px;border-radius:18px;border:1px solid transparent;transition:.2s}.select-row:hover{transform:translateY(-1px);border-color:#dce8fa;box-shadow:0 8px 22px rgba(0,0,0,.06)}.check{width:25px;height:25px;border-radius:8px;border:2px solid #c7c7cc;display:grid;place-items:center;color:#fff;background:#fff;transition:.18s}.select-row.selected .check{background:var(--blue);border-color:var(--blue)}.qnum{font-weight:850;color:var(--muted)}.qtext{font-size:15px;line-height:1.6}.badge{display:inline-flex;padding:7px 11px;border-radius:999px;font-size:14px;font-weight:850;white-space:nowrap}.badge.single{color:var(--blue);background:#eaf3ff}.badge.multiple{color:var(--purple);background:#f7edfc}.badge.judge{color:#248a3d;background:#eaf8ee}
.sticky-actions{position:sticky;bottom:16px;margin-top:20px;display:flex;justify-content:space-between;align-items:center;gap:16px;background:rgba(255,255,255,.9);backdrop-filter:blur(22px);padding:14px 16px;border-radius:20px;box-shadow:0 12px 40px rgba(0,0,0,.12);z-index:10}
.quiz-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.question-card{padding:31px}.question-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.question-title{font-size:27px;line-height:1.58;letter-spacing:-.4px;margin:0 0 24px}.option-list{display:grid;gap:13px}.option{width:100%;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center;text-align:left;background:#fff;border:1.5px solid var(--line);padding:17px 18px;border-radius:19px;color:var(--text);transition:.18s ease}.option:hover{transform:translateY(-1px);border-color:#b9d7ff;box-shadow:0 8px 20px rgba(0,0,0,.05)}.option.selected{border-color:var(--blue);background:#f2f8ff}.option.correct{border-color:var(--green);background:#effbf2}.option.wrong{border-color:var(--red);background:#fff3f2}.letter{width:37px;height:37px;border-radius:12px;background:#f2f2f7;display:grid;place-items:center;font-size:16px;font-weight:850;color:var(--muted)}.option-text{font-size:19px;line-height:1.58;font-weight:600}.option.selected .letter{background:var(--blue);color:#fff}.option.correct .letter{background:var(--green);color:#fff}.option.wrong .letter{background:var(--red);color:#fff}
.feedback{margin-top:19px;border-radius:20px;padding:18px 19px;line-height:1.78;display:none;font-size:15px}.feedback.show{display:block;animation:fadeUp .25s ease}.feedback.good{background:#effbf2;color:#1d6f35}.feedback.bad{background:#fff3f2;color:#9f1d16}.quiz-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:23px}.progress-card{position:sticky;top:0;height:max-content}.progress-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:14px}.qjump{aspect-ratio:1;border-radius:12px;background:#f2f2f7;color:var(--muted);font-weight:850;transition:.18s}.qjump:hover{transform:scale(1.05)}.qjump.current{background:var(--blue);color:#fff}.qjump.answered{background:#fff6e8;color:#a55d00}.qjump.correct{background:#eaf8ee;color:#248a3d}.qjump.wrong{background:#fff0ef;color:var(--red)}.progress-line{height:8px;background:#ececf0;border-radius:99px;overflow:hidden;margin-top:14px}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--blue),#64a9ff);border-radius:99px;transition:.3s}
.preview-list{display:grid;gap:14px}.preview-card{background:#fff;border-radius:22px;padding:21px;border:1px solid var(--line)}.preview-card h4{margin:0 0 13px;line-height:1.62;font-size:17px}.preview-options{display:grid;gap:8px;color:#4c4c52;font-size:16px;line-height:1.55}.answer-box{margin-top:13px;background:#f5f9ff;border-radius:14px;padding:13px 14px;color:#1558a6;display:none;line-height:1.65}.answer-box.show{display:block}.empty{text-align:center;padding:54px 20px;color:var(--muted)}.wrong-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;background:#fff;padding:18px;border-radius:20px;margin-bottom:10px}.report-hero{text-align:center;padding:34px}.score-ring{width:150px;height:150px;border-radius:50%;margin:10px auto 18px;display:grid;place-items:center;background:conic-gradient(var(--blue) var(--score-angle),#e8e8ed 0);position:relative}.score-ring:after{content:"";position:absolute;inset:12px;border-radius:50%;background:#fff}.score-ring strong{position:relative;z-index:1;font-size:35px}.report-list{display:grid;gap:12px;margin-top:18px}.report-item{background:#fff;border-radius:18px;padding:17px;border-left:5px solid var(--red)}
.leader-head{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;margin-bottom:16px}.leader-status{font-size:12px;color:var(--muted)}.leader-list{display:grid;gap:10px}.leader-row{display:grid;grid-template-columns:52px 52px 1fr auto;align-items:center;gap:12px;background:#fff;border-radius:19px;padding:13px 16px;border:1px solid var(--line)}.leader-row.me{border-color:#9bc8ff;background:#f5faff}.rank{font-size:18px;font-weight:900;text-align:center}.leader-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#eef3ff;font-size:26px}.leader-name{font-weight:800}.leader-name small{display:block;font-weight:500;color:var(--muted);margin-top:3px}.leader-time{font-weight:850;color:var(--blue);white-space:nowrap}.rank-1 .rank{color:#d6a500}.rank-2 .rank{color:#87909b}.rank-3 .rank{color:#b06d37}
.support-card{margin-top:24px;display:grid;grid-template-columns:1fr 220px;gap:22px;align-items:center;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,248,225,.94));border:1px solid #f0dfaa}.support-card h3{font-size:23px;margin:6px 0 10px}.support-card p{color:var(--muted);line-height:1.75;margin:0}.support-code{width:210px;max-width:100%;border-radius:18px;box-shadow:0 12px 32px rgba(0,0,0,.1)}
.toast{position:fixed;right:24px;bottom:24px;background:rgba(29,29,31,.94);color:#fff;padding:13px 18px;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.18);opacity:0;transform:translateY(12px);pointer-events:none;transition:.25s;z-index:200}.toast.show{opacity:1;transform:none}.small{font-size:12px;color:var(--muted)}kbd{background:#ececf0;border-radius:7px;padding:2px 7px;font-size:11px}
.modal-backdrop{position:fixed;inset:0;background:rgba(20,20,24,.35);backdrop-filter:blur(15px);display:grid;place-items:center;padding:20px;z-index:300}.modal{width:min(610px,100%);max-height:92vh;overflow:auto;background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.8);border-radius:30px;box-shadow:0 26px 90px rgba(0,0,0,.2);padding:26px}.modal h2{margin:0;font-size:28px}.modal p{color:var(--muted);line-height:1.65}.avatar-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:18px 0}.avatar-choice{aspect-ratio:1;border-radius:18px;background:#f2f2f7;font-size:29px;display:grid;place-items:center;border:2px solid transparent}.avatar-choice.selected{background:#edf5ff;border-color:var(--blue);transform:scale(1.04)}.text-input{width:100%;padding:14px 16px;border-radius:16px;border:1px solid var(--line);outline:none;font-size:17px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.existing-profiles{display:grid;gap:8px;margin-top:16px}.profile-switch-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:10px 12px;background:#f7f7fa;border-radius:15px}.cloud-note{background:#f5f9ff;border-radius:17px;padding:15px;color:#365f8c;line-height:1.65;margin-top:15px;font-size:13px}

/* 首页快捷开始区 */
.quick-start-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 20px;
  padding:20px 22px;
  border-radius:24px;
  color:#fff;
  background:
    radial-gradient(circle at 90% 20%,rgba(255,255,255,.20),transparent 28%),
    linear-gradient(135deg,#007aff,#5b8cff 58%,#8757ff);
  box-shadow:0 18px 46px rgba(0,122,255,.24);
}
.quick-start-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.quick-start-copy strong{font-size:20px;line-height:1.35}
.quick-start-copy span:last-child{font-size:13px;line-height:1.55;color:rgba(255,255,255,.86)}
.quick-kicker{font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.quick-start-btn{
  flex:0 0 auto;
  min-width:168px;
  padding:14px 20px;
  color:#0755b5;
  background:#fff;
  box-shadow:0 10px 26px rgba(0,0,0,.14);
}
.quick-start-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.18)}
.mobile-start-dock{display:none}

@media(max-width:1080px){:root{--sidebar:215px}.hero{grid-template-columns:1fr}.quiz-layout{grid-template-columns:1fr}.progress-card{position:relative}}
@media(max-width:760px){body{overflow:auto;padding-bottom:82px}.app{display:block;height:auto}.sidebar{position:fixed;left:10px;right:10px;bottom:9px;top:auto;height:auto;padding:8px;z-index:100;display:block;border:1px solid rgba(255,255,255,.85);border-radius:22px;box-shadow:0 14px 38px rgba(0,0,0,.17)}.brand,.sidebar-footer{display:none}.nav{width:100%;flex-direction:row;justify-content:space-around;gap:3px}.nav-btn{flex:1;width:auto;justify-content:center;padding:10px 3px;border-radius:14px}.nav-btn:hover{transform:none}.nav-btn span:last-child{display:none}.nav-icon{font-size:20px}.main{height:auto}.topbar{position:sticky;top:0;z-index:80;padding:10px 13px;min-height:66px}.title-wrap h2{font-size:20px}.title-wrap p{display:none}.profile-text{display:none}.profile-chip{padding:6px}.top-actions{gap:6px}.top-actions .pill{font-size:12px;padding:9px 11px}.content{padding:14px 14px 28px}.hero h3{font-size:27px}.hero-copy{padding:23px}.stats{grid-template-columns:repeat(2,1fr)}.card{padding:17px;border-radius:21px}.question-card{padding:19px}.question-title{font-size:23px;line-height:1.6}.option{grid-template-columns:41px 1fr;padding:15px 14px}.option-text{font-size:18px}.badge{font-size:13px}.quiz-actions button{flex:1}.progress-grid{grid-template-columns:repeat(6,1fr)}.sticky-actions{bottom:90px;align-items:flex-start}.support-card{grid-template-columns:1fr;text-align:center}.support-code{margin:auto;width:240px}.leader-row{grid-template-columns:42px 44px 1fr;gap:8px}.leader-time{grid-column:3;text-align:left}.avatar-grid{grid-template-columns:repeat(4,1fr)}.modal{padding:21px;border-radius:24px}}
@media(max-width:430px){.hero h3{font-size:25px}.progress-grid{grid-template-columns:repeat(5,1fr)}.top-actions #resetSessionBtn{display:none}.question-title{font-size:22px}.option-text{font-size:18px}.leader-head{grid-template-columns:1fr}.leader-head .secondary{width:100%}}


/* Multi-subject entrance and dedicated support area */
.subject-chip{max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0 8px}
.subject-card{position:relative;display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:center;text-align:left;padding:18px;border-radius:21px;background:#fff;border:2px solid transparent;box-shadow:0 8px 24px rgba(0,0,0,.055);transition:.2s ease;color:var(--text)}
.subject-card:hover:not(.disabled){transform:translateY(-2px);border-color:#c7defb;box-shadow:0 12px 30px rgba(0,122,255,.11)}
.subject-card.selected{border-color:var(--blue);background:#f3f8ff}
.subject-card.disabled{cursor:not-allowed;opacity:.67;background:#f4f4f7}
.subject-icon{width:54px;height:54px;border-radius:17px;background:#eef3ff;display:grid;place-items:center;font-size:29px}
.subject-card.disabled .subject-icon{background:#e8e8ed;filter:grayscale(.5)}
.subject-info strong{display:block;font-size:17px;margin-bottom:5px}
.subject-info span{display:block;color:var(--muted);font-size:12px;line-height:1.5}
.subject-state{position:absolute;right:12px;top:12px;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:850;background:#eaf8ee;color:#248a3d}
.subject-card.disabled .subject-state{background:#ececf0;color:#6e6e73}
.support-page-card{min-height:560px;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,430px);align-items:center;gap:42px;padding:48px;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,249,226,.95));border-color:#f0dfaa}
.support-copy h3{font-size:36px;letter-spacing:-1px;margin:10px 0 16px}
.support-copy p{font-size:16px;line-height:1.85;color:var(--muted);max-width:620px}
.support-hint{margin:18px 0;color:#8d6a00;font-size:13px;background:#fff7d8;border-radius:14px;padding:12px 14px;display:inline-block}
.support-image-wrap{text-align:center;color:var(--muted);font-size:12px}
.support-code-large{display:block;width:min(390px,100%);aspect-ratio:1;object-fit:cover;margin:0 auto 12px;border-radius:28px;box-shadow:0 24px 70px rgba(0,0,0,.17);cursor:zoom-in;transition:.2s ease}
.support-code-large:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 30px 80px rgba(0,0,0,.2)}
.support-lightbox{cursor:zoom-out;background:rgba(10,10,12,.72);backdrop-filter:blur(22px)}
.support-lightbox-panel{position:relative;width:min(760px,94vw);text-align:center;color:#fff;font-size:13px}
.support-lightbox-panel img{display:block;width:min(680px,90vw);max-height:84vh;object-fit:contain;margin:auto;border-radius:26px;box-shadow:0 32px 120px rgba(0,0,0,.5);background:#fff}
.lightbox-close{position:absolute;right:10px;top:10px;width:42px;height:42px;border-radius:50%;background:rgba(20,20,24,.78);color:#fff;font-size:28px;line-height:1;z-index:2}
@media(max-width:900px){.support-page-card{grid-template-columns:1fr;padding:28px}.support-copy{text-align:center}.support-copy p{margin-left:auto;margin-right:auto}.subject-grid{grid-template-columns:1fr}}
@media(max-width:760px){.subject-chip{max-width:125px}.support-page-card{min-height:0}.support-copy h3{font-size:28px}}


@media(max-width:760px){
  body[data-page="select"]{padding-bottom:156px}
  .quick-start-card{
    align-items:stretch;
    flex-direction:column;
    gap:14px;
    padding:19px;
    border-radius:21px;
  }
  .quick-start-copy strong{font-size:19px}
  .quick-start-btn{width:100%;min-width:0;font-size:17px;padding:15px 18px}
  .mobile-start-dock{
    position:fixed;
    left:12px;
    right:12px;
    bottom:84px;
    z-index:95;
    display:none;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:10px 11px 10px 15px;
    border:1px solid rgba(255,255,255,.88);
    border-radius:20px;
    background:rgba(255,255,255,.93);
    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);
    box-shadow:0 14px 42px rgba(0,0,0,.18);
  }
  body[data-page="select"] .mobile-start-dock{display:flex}
  .mobile-start-info{display:flex;flex-direction:column;min-width:0}
  .mobile-start-info strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-start-info span{font-size:12px;color:var(--muted);margin-top:2px}
  .mobile-start-dock .primary{
    flex:0 0 auto;
    min-width:112px;
    padding:13px 15px;
    border-radius:15px;
    font-size:15px;
  }
  /* 手机端保留原底部按钮作备用，但不再需要用户滑到底才能开始 */
  .sticky-actions{margin-bottom:10px}
}



/* 公共留言区 */
.message-board-card{padding:26px}
.message-board-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.message-board-head h3{font-size:29px;margin:5px 0 8px}
.message-board-head p{max-width:720px;margin:0;color:var(--muted);line-height:1.7}
.message-composer{margin:18px 0 22px;padding:18px;border:1px solid var(--line);border-radius:22px;background:rgba(247,248,251,.82)}
.message-identity-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.message-identity{display:flex;align-items:center;gap:11px;min-width:0}
.message-identity .message-avatar{width:45px;height:45px;display:grid;place-items:center;border-radius:15px;background:#fff;font-size:24px;box-shadow:0 5px 16px rgba(0,0,0,.07)}
.message-identity div{display:flex;flex-direction:column;min-width:0}
.message-identity strong{font-size:15px}
.message-identity span:last-child{margin-top:2px;color:var(--muted);font-size:12px}
.anonymous-switch{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:13px;background:#fff;font-size:13px;font-weight:750;white-space:nowrap;cursor:pointer}
.message-composer textarea{width:100%;min-height:122px;resize:vertical;padding:15px 16px;border:1px solid rgba(0,0,0,.10);border-radius:17px;background:#fff;color:var(--text);font:inherit;font-size:16px;line-height:1.65;outline:none;transition:.2s ease}
.message-composer textarea:focus{border-color:rgba(0,122,255,.55);box-shadow:0 0 0 4px rgba(0,122,255,.10)}
.message-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.message-status{margin:4px 2px 13px;color:var(--muted);font-size:12px}
.message-list{display:flex;flex-direction:column;gap:12px}
.message-item{display:grid;grid-template-columns:48px 1fr;gap:13px;padding:17px;border:1px solid var(--line);border-radius:20px;background:#fff}
.message-item-avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(145deg,#f3f4f7,#fff);font-size:25px;box-shadow:0 5px 14px rgba(0,0,0,.06)}
.message-item-body{min-width:0}
.message-item-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.message-item-meta strong{font-size:15px}
.message-item-meta time{margin-left:auto;color:var(--muted);font-size:12px}
.anonymous-badge{padding:3px 7px;border-radius:999px;background:#f0f1f5;color:#6e6e73;font-size:10px;font-weight:800}
.message-content{margin-top:8px;font-size:16px;line-height:1.72;white-space:pre-wrap;overflow-wrap:anywhere}
.message-setup-empty{display:flex;flex-direction:column;gap:7px}
.message-setup-empty span{color:var(--muted);line-height:1.65}

@media(max-width:760px){
  .message-board-card{padding:17px}
  .message-board-head{align-items:stretch;flex-direction:column}
  .message-board-head h3{font-size:25px}
  .message-board-head .secondary{width:100%}
  .message-composer{padding:14px;border-radius:19px}
  .message-identity-row{align-items:flex-start;flex-direction:column}
  .anonymous-switch{width:100%;justify-content:center;padding:11px 13px}
  .message-composer textarea{min-height:132px;font-size:17px}
  .message-composer-actions .primary{min-width:125px}
  .message-item{grid-template-columns:43px 1fr;padding:14px}
  .message-item-avatar{width:43px;height:43px;border-radius:14px;font-size:23px}
  .message-item-meta time{width:100%;margin-left:0}
  .message-content{font-size:17px}
}



/* 做题模式与资料模式分流 */
.study-home-hero{align-items:stretch}
.study-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.mode-control-card{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:20px}
.mode-control-card h3{margin:6px 0 7px;font-size:25px}
.mode-control-card p{margin:0;color:var(--muted);line-height:1.6}
.mode-segment-large button{font-size:15px;padding:11px 20px}
.study-entry-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-bottom:20px}
.study-entry-card{display:flex;flex-direction:column;min-height:330px;position:relative;overflow:hidden}
.study-entry-card:before{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-90px;top:-90px;background:rgba(0,122,255,.08)}
.material-entry:before{background:rgba(175,82,222,.09)}
.entry-icon{width:58px;height:58px;border-radius:19px;display:grid;place-items:center;font-size:28px;background:#eaf3ff;color:var(--blue);position:relative}
.material-entry .entry-icon{background:#f7edfc;color:var(--purple)}
.entry-copy{position:relative;margin-top:18px;flex:1}
.entry-label{font-size:12px;font-weight:850;letter-spacing:.08em;color:var(--blue);text-transform:uppercase}
.material-entry .entry-label{color:var(--purple)}
.entry-copy h3{font-size:29px;margin:7px 0 10px;letter-spacing:-.6px}
.entry-copy p{margin:0;color:var(--muted);line-height:1.72}
.sequence-strip{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:20px}
.sequence-strip span{padding:8px 11px;border-radius:999px;background:#f2f6ff;color:#205ca6;font-size:13px;font-weight:800}
.sequence-strip b{color:#a7a7ad}
.entry-main-button{width:100%;font-size:17px;padding:15px 18px;position:relative}
.entry-button-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:relative}
.entry-button-row button{padding:14px 12px}
.section-practice-card{margin-bottom:20px}
.section-practice-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:17px}
.section-practice-head h3{font-size:25px;margin:6px 0 7px}
.section-practice-head p{margin:0;color:var(--muted)}
.order-note{padding:8px 11px;border-radius:999px;background:#f2f6ff;color:#32649e;font-size:12px;font-weight:800;white-space:nowrap}
.section-button-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.section-start{display:flex;align-items:center;gap:13px;text-align:left;padding:17px;border-radius:19px;border:1px solid var(--line);background:#fff;color:var(--text);transition:.2s ease}
.section-start:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.07)}
.section-number{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;font-size:18px;font-weight:900;background:#eaf3ff;color:var(--blue);flex:0 0 auto}
.multiple-start .section-number{background:#f7edfc;color:var(--purple)}
.judge-start .section-number{background:#eaf8ee;color:#248a3d}
.section-start strong,.section-start small{display:block}
.section-start strong{font-size:15px;margin-bottom:4px}
.section-start small{color:var(--muted);line-height:1.45}
.material-browser{padding:27px}
.material-browser-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}
.material-browser-head h3{font-size:29px;margin:6px 0 8px}
.material-browser-head p{margin:0;color:var(--muted);line-height:1.65}
.material-toolbar{margin-bottom:13px}
.material-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;margin-bottom:14px;border-radius:16px;background:#f4f7fc}
.material-summary span{font-size:12px;color:var(--muted)}
.material-list{display:grid;gap:12px}
.material-objective-card{display:grid;grid-template-columns:45px 1fr;gap:14px;align-items:flex-start;padding:18px;border:1px solid var(--line);border-radius:19px;background:#fff}
.material-objective-card p{margin:1px 0 0;font-size:17px;line-height:1.78}
.material-index{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:#eef4ff;color:var(--blue);font-weight:900;flex:0 0 auto}
.material-subjective-card{border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden}
.material-subjective-card summary{display:grid;grid-template-columns:42px 1fr auto;gap:13px;align-items:center;padding:18px;cursor:pointer;list-style:none}
.material-subjective-card summary::-webkit-details-marker{display:none}
.material-subjective-card summary strong{font-size:18px;line-height:1.55}
.detail-arrow{font-size:22px;color:var(--muted);transition:.2s}
.material-subjective-card[open] .detail-arrow{transform:rotate(180deg)}
.subjective-answer{padding:0 20px 20px 73px;border-top:1px solid #f0f0f3}
.subjective-answer p{margin:14px 0 0;font-size:16px;line-height:1.82}
.progress-grid{display:block}
.progress-section{margin-top:16px}
.progress-section:first-child{margin-top:14px}
.progress-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.progress-section-title small{color:var(--muted)}
.progress-section-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}

@media(max-width:900px){
  .study-entry-grid{grid-template-columns:1fr}
  .study-entry-card{min-height:0}
  .section-button-grid{grid-template-columns:1fr}
  .material-browser-head{flex-direction:column}
}
@media(max-width:760px){
  body[data-page="select"]{padding-bottom:156px}
  .mode-control-card{align-items:stretch;flex-direction:column}
  .mode-segment-large{width:100%}
  .mode-segment-large button{flex:1}
  .study-entry-grid{gap:14px}
  .study-entry-card{padding:20px}
  .entry-copy h3{font-size:25px}
  .entry-button-row{grid-template-columns:1fr}
  .section-practice-head{flex-direction:column}
  .order-note{white-space:normal}
  .material-browser{padding:17px}
  .material-browser-head h3{font-size:25px}
  .material-segment{width:100%}
  .material-segment button{flex:1;padding-left:10px;padding-right:10px}
  .material-summary{align-items:flex-start;flex-direction:column}
  .material-objective-card{grid-template-columns:40px 1fr;padding:15px}
  .material-objective-card p{font-size:17px}
  .material-subjective-card summary{grid-template-columns:39px 1fr auto;padding:15px}
  .material-subjective-card summary strong{font-size:17px}
  .subjective-answer{padding:0 15px 16px}
  .subjective-answer p{font-size:17px}
  .progress-section-grid{grid-template-columns:repeat(6,1fr)}
}
@media(max-width:430px){
  .study-stats{grid-template-columns:repeat(2,1fr)}
  .sequence-strip{gap:6px}
  .sequence-strip span{font-size:12px;padding:7px 9px}
  .progress-section-grid{grid-template-columns:repeat(5,1fr)}
}



/* 管理员后台 */
.admin-nav-btn.admin-authorized{
  background:linear-gradient(135deg,rgba(255,193,7,.18),rgba(255,149,0,.10));
  color:#8a5a00;
}
.admin-login-card{max-width:720px;margin:26px auto;padding:30px}
.admin-login-card h3{font-size:31px;margin:7px 0 9px}
.admin-login-card>p{color:var(--muted);line-height:1.7}
.admin-login-form{display:grid;gap:15px;margin-top:24px}
.admin-login-form label{display:grid;gap:7px}
.admin-login-form label>span{font-size:13px;font-weight:800}
.admin-login-tip{margin-top:16px;padding:13px 15px;border-radius:15px;background:#fff8e6;color:#7b5700;font-size:13px;line-height:1.65}
.admin-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:27px;background:linear-gradient(135deg,#fff9e8,#fff 55%,#eef5ff)}
.admin-hero h3{font-size:28px;margin:6px 0 8px}
.admin-hero p{margin:0;color:var(--muted);line-height:1.65}
.admin-hero-actions{display:flex;gap:10px;flex:0 0 auto}
.admin-stats{margin:18px 0}
.admin-section-card{margin-top:18px;padding:24px}
.admin-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.admin-section-head h3{font-size:25px;margin:5px 0 6px}
.admin-section-head p{margin:0;color:var(--muted);line-height:1.6}
.admin-section-head .search{max-width:330px}
.admin-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px}
.admin-table{width:100%;border-collapse:collapse;min-width:980px;background:#fff}
.admin-table th,.admin-table td{padding:14px;border-bottom:1px solid #eeeef2;text-align:left;vertical-align:middle}
.admin-table th{font-size:12px;color:var(--muted);background:#fafafd;position:sticky;top:0}
.admin-table tr:last-child td{border-bottom:0}
.admin-user-cell{display:flex;align-items:center;gap:11px;min-width:220px}
.admin-user-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#f2f3f7;font-size:23px;flex:0 0 auto}
.admin-user-cell div{display:flex;flex-direction:column;gap:4px}
.admin-user-cell small{color:var(--muted);font-size:10px;max-width:240px;overflow:hidden;text-overflow:ellipsis}
.admin-status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:850}
.admin-status.normal{background:#eaf8ee;color:#247c3a}
.admin-status.blocked{background:#fff0ef;color:#c7352b}
.admin-row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:430px}
.admin-row-actions button{padding:8px 10px;font-size:11px}
.admin-message-list{display:grid;gap:12px}
.admin-message-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px;border:1px solid var(--line);border-radius:19px;background:#fff}
.admin-message-main{min-width:0;flex:1}
.admin-message-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.admin-message-meta time{margin-left:auto;color:var(--muted);font-size:12px}
.admin-message-main p{margin:11px 0 8px;font-size:16px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.admin-message-main small{color:var(--muted);overflow-wrap:anywhere}
.admin-delete-message{flex:0 0 auto}

@media(max-width:760px){
  .admin-login-card{margin:10px auto;padding:20px}
  .admin-login-card h3{font-size:27px}
  .admin-hero{align-items:stretch;flex-direction:column;padding:20px}
  .admin-hero-actions{display:grid;grid-template-columns:1fr 1fr}
  .admin-section-card{padding:16px}
  .admin-section-head{align-items:stretch;flex-direction:column}
  .admin-section-head .search{max-width:none;width:100%}
  .admin-message-item{flex-direction:column}
  .admin-delete-message{width:100%}
  .admin-message-meta time{width:100%;margin-left:51px}
}



/* 管理员在线状态 */
.admin-online-cell{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:150px;
}
.admin-online-cell>div{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.admin-online-cell strong{
  font-size:13px;
}
.admin-online-cell small{
  color:var(--muted);
  font-size:11px;
  max-width:180px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.admin-online-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  flex:0 0 auto;
}
.admin-online-dot.online{
  background:#30d158;
  box-shadow:0 0 0 5px rgba(48,209,88,.13);
}
.admin-online-dot.offline{
  background:#b7b7bd;
  box-shadow:0 0 0 5px rgba(183,183,189,.12);
}
.admin-real-identity{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:11px 0 2px;
  padding:10px 12px;
  border-radius:14px;
  background:#fff8df;
  border:1px solid rgba(255,179,0,.22);
}
.admin-real-identity>span{
  padding:3px 7px;
  border-radius:999px;
  background:#ffb300;
  color:#fff;
  font-size:10px;
  font-weight:850;
}
.admin-real-identity strong{
  font-size:13px;
}
.admin-real-identity small{
  color:#8a6b18;
  font-size:10px;
  overflow-wrap:anywhere;
}
.admin-real-identity.unavailable{
  background:#f4f4f7;
  border-color:var(--line);
}
.admin-real-identity.unavailable>span{
  background:#8e8e93;
}


/* 管理员操作日志 */
.admin-log-list{
  display:grid;
  gap:11px;
}
.admin-log-item{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.admin-log-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(145deg,#fff7d9,#fff);
  color:#8a5a00;
  font-size:20px;
  font-weight:900;
}
.admin-log-main{
  min-width:0;
}
.admin-log-meta{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.admin-log-meta strong{
  font-size:14px;
}
.admin-log-meta time{
  margin-left:auto;
  color:var(--muted);
  font-size:12px;
}
.admin-log-action{
  padding:4px 8px;
  border-radius:999px;
  background:#fff5d6;
  color:#8a5a00;
  font-size:10px;
  font-weight:850;
}
.admin-log-main p{
  margin:9px 0 6px;
  line-height:1.65;
}
.admin-log-main small{
  color:var(--muted);
  overflow-wrap:anywhere;
}
@media(max-width:760px){
  .admin-log-item{
    grid-template-columns:38px 1fr;
    padding:14px;
  }
  .admin-log-icon{
    width:38px;
    height:38px;
    border-radius:13px;
  }
  .admin-log-meta time{
    width:100%;
    margin-left:0;
  }
}


/* 管理员在排行榜直接删除记录 */
.leader-row{
  grid-template-columns:52px 52px 1fr auto auto;
}
.leader-delete-btn{
  padding:9px 12px;
  border-radius:12px;
  font-size:12px;
  white-space:nowrap;
}
@media(max-width:760px){
  .leader-row{
    grid-template-columns:42px 44px 1fr;
  }
  .leader-time{
    grid-column:3;
  }
  .leader-delete-btn{
    grid-column:3;
    justify-self:start;
    margin-top:3px;
  }
}


/* 留言点赞与回复 */
.message-social-actions{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:12px;
}
.message-social-actions button{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:7px 11px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#f7f7fa;
  color:#5d5d63;
  font-size:12px;
  font-weight:800;
  transition:.18s ease;
}
.message-social-actions button:hover{
  transform:translateY(-1px);
  background:#fff;
  box-shadow:0 5px 15px rgba(0,0,0,.06);
}
.message-like-btn span{
  font-size:18px;
  line-height:1;
}
.message-like-btn.liked{
  border-color:rgba(255,45,85,.22);
  background:rgba(255,45,85,.08);
  color:#d91f49;
}
.message-reply-toggle span{
  font-size:16px;
}
.message-replies{
  display:grid;
  gap:9px;
  margin-top:13px;
  padding-left:13px;
  border-left:3px solid #eef0f5;
}
.message-reply-item{
  display:grid;
  grid-template-columns:35px 1fr;
  gap:9px;
  padding:11px 12px;
  border-radius:15px;
  background:#f7f8fb;
}
.message-reply-avatar{
  width:35px;
  height:35px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#fff;
  font-size:19px;
  box-shadow:0 3px 10px rgba(0,0,0,.05);
}
.message-reply-body{
  min-width:0;
}
.message-reply-meta{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.message-reply-meta strong{
  font-size:13px;
}
.message-reply-meta time{
  margin-left:auto;
  color:var(--muted);
  font-size:11px;
}
.message-reply-content{
  margin-top:5px;
  font-size:14px;
  line-height:1.65;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.message-reply-composer{
  margin-top:13px;
  padding:13px;
  border:1px solid rgba(0,122,255,.16);
  border-radius:17px;
  background:#f5f9ff;
}
.message-reply-composer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:9px;
  color:#5f6670;
  font-size:12px;
}
.message-reply-composer-head label{
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  cursor:pointer;
}
.message-reply-input{
  width:100%;
  min-height:80px;
  resize:vertical;
  padding:12px 13px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:14px;
  background:#fff;
  color:var(--text);
  font:inherit;
  font-size:14px;
  line-height:1.6;
  outline:none;
}
.message-reply-input:focus{
  border-color:rgba(0,122,255,.50);
  box-shadow:0 0 0 4px rgba(0,122,255,.09);
}
.message-reply-composer-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:9px;
}
.message-reply-composer-actions>div{
  display:flex;
  gap:7px;
}
.message-reply-composer-actions button{
  padding:8px 11px;
  font-size:12px;
}
.reply-count{
  color:var(--muted);
  font-size:11px;
}

@media(max-width:760px){
  .message-social-actions button{
    min-height:38px;
    padding:8px 13px;
  }
  .message-replies{
    padding-left:9px;
  }
  .message-reply-item{
    grid-template-columns:31px 1fr;
    padding:10px;
  }
  .message-reply-avatar{
    width:31px;
    height:31px;
    border-radius:10px;
    font-size:17px;
  }
  .message-reply-meta time{
    width:100%;
    margin-left:0;
  }
  .message-reply-content{
    font-size:15px;
  }
  .message-reply-composer-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .message-reply-composer-head label{
    width:100%;
    padding:8px 10px;
    border-radius:11px;
    background:#fff;
  }
  .message-reply-composer-actions{
    align-items:flex-end;
  }
}


/* 流通学资料模式 */
.study-entry-grid:has(.materials-only-entry){
  grid-template-columns:1fr;
}
.materials-only-entry{
  min-height:230px;
}
.materials-only-entry .entry-button-row{
  flex-wrap:wrap;
}
.materials-only-entry .entry-button-row button{
  min-width:128px;
}

.material-definition-card{
  display:grid;
  grid-template-columns:45px 1fr;
  gap:14px;
  align-items:flex-start;
  padding:19px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
}
.material-definition-main{
  min-width:0;
}
.material-definition-main h4{
  margin:6px 0 7px;
  font-size:19px;
  line-height:1.5;
}
.material-type-tag{
  display:inline-flex;
  padding:4px 9px;
  border-radius:999px;
  background:#eef7ff;
  color:#0566c8;
  font-size:11px;
  font-weight:850;
}
.material-question{
  margin:0 0 11px;
  color:var(--muted);
  font-size:14px;
}
.material-standard-answer{
  display:grid;
  gap:6px;
  padding:13px 14px;
  border-radius:15px;
  background:#f6f8fc;
  line-height:1.75;
}
.material-standard-answer strong{
  color:#785300;
  font-size:12px;
}
.material-standard-answer span{
  font-size:16px;
}
.material-keywords{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:12px;
}
.material-keywords span{
  padding:5px 9px;
  border-radius:999px;
  background:#fff4d8;
  color:#765000;
  font-size:11px;
  font-weight:780;
}
.material-memory{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin-top:12px;
  padding:10px 12px;
  border-radius:13px;
  background:#f2f8f4;
  color:#315c3d;
  line-height:1.65;
  font-size:13px;
}
.material-memory b{
  flex:0 0 auto;
  padding:2px 6px;
  border-radius:7px;
  background:#dff0e4;
  color:#21753b;
  font-size:10px;
}

.material-study-image{
  margin:18px 0 4px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#f7faff;
}
.material-study-image a{
  display:block;
  border-radius:13px;
  overflow:hidden;
  background:#fff;
}
.material-study-image img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
}
.material-study-image figcaption{
  margin-top:9px;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
  text-align:center;
}

.subjective-answer .material-keywords,
.subjective-answer .material-memory{
  margin-left:0;
  margin-right:0;
}
.material-segment{
  flex-wrap:wrap;
}

@media(max-width:760px){
  .material-study-image{
    margin-top:15px;
    padding:7px;
    border-radius:15px;
  }
  .material-study-image a{
    border-radius:10px;
  }
  .material-definition-card{
    grid-template-columns:39px 1fr;
    padding:15px;
  }
  .material-definition-main h4{
    font-size:17px;
  }
  .material-standard-answer span{
    font-size:15px;
  }
  .materials-only-entry .entry-button-row{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    width:100%;
  }
  .materials-only-entry .entry-button-row button{
    min-width:0;
    padding-left:8px;
    padding-right:8px;
  }
}


/* 留言区完整增强 */
.nav-btn{position:relative}.nav-notice-badge{margin-left:auto;min-width:20px;height:20px;padding:0 5px;display:inline-grid;place-items:center;border-radius:999px;background:#ff375f;color:#fff;font-size:10px;font-weight:900}.message-head-actions,.message-toolbar-row,.message-notification-head,.admin-report-meta{display:flex;align-items:center;gap:10px}.message-toolbar-row{justify-content:space-between;margin:15px 0}.message-sort-segment{display:flex;padding:3px;border-radius:12px;background:#f1f2f6}.message-sort-segment button{border:0;background:transparent;padding:7px 12px;border-radius:9px;color:var(--muted);font-weight:800}.message-sort-segment button.active{background:#fff;color:var(--text);box-shadow:0 2px 9px rgba(0,0,0,.08)}.message-notification-btn span{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#ff375f;color:#fff;font-size:10px}.message-notification-panel{margin:14px 0;padding:15px;border:1px solid var(--line);border-radius:18px;background:#fbfbfd}.message-notification-head{justify-content:space-between;margin-bottom:10px}.message-notification-head div{display:grid;gap:3px}.message-notification-head span{color:var(--muted);font-size:12px}.message-notice-item{width:100%;display:grid;grid-template-columns:38px 1fr;gap:10px;text-align:left;padding:11px;border:0;border-top:1px solid var(--line);background:transparent}.message-notice-item>span{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#fff}.message-notice-item strong{font-size:13px}.message-notice-item p{margin:4px 0;font-size:13px}.message-notice-item small{color:var(--muted)}.message-pinned-list{display:grid;gap:12px;margin-bottom:12px}.pinned-message{border-color:rgba(255,179,0,.38)!important;background:linear-gradient(145deg,#fffaf0,#fff)!important}.pinned-badge{padding:4px 8px;border-radius:999px;background:#ffb000;color:#fff;font-size:10px;font-weight:900}.message-report-btn,.message-own-delete-btn,.message-mini-action{border:0;background:transparent;color:var(--muted);font-size:11px;font-weight:800;padding:5px 7px}.message-own-delete-btn{color:#d70015}.message-mini-action{margin-top:5px;padding-left:0}.message-focus-flash{animation:messageFlash 1.5s ease}@keyframes messageFlash{0%,100%{box-shadow:none}35%{box-shadow:0 0 0 5px rgba(0,122,255,.18)}}
.admin-announcement-composer{display:grid;gap:10px}.admin-announcement-composer textarea{width:100%;min-height:100px;padding:13px;border:1px solid var(--line);border-radius:15px;resize:vertical;font:inherit}.admin-announcement-composer>div{display:flex;justify-content:space-between;align-items:center}.admin-message-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}.admin-reply-list{display:grid;gap:8px;margin-top:12px}.admin-reply-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:13px;background:#f6f7fa}.admin-reply-row>div{display:grid;gap:4px;min-width:0}.admin-reply-row span{font-size:13px;overflow-wrap:anywhere}.admin-reply-row small{color:var(--muted)}.admin-report-list{display:grid;gap:10px}.admin-report-item{display:flex;justify-content:space-between;gap:14px;padding:15px;border:1px solid var(--line);border-radius:17px;background:#fff}.admin-report-item>div:first-child{min-width:0}.admin-report-meta{justify-content:space-between}.admin-report-item p{margin:8px 0}.admin-report-item blockquote{margin:0;padding:9px 11px;border-left:3px solid #ff9f0a;background:#fff8ec;border-radius:0 10px 10px 0;overflow-wrap:anywhere}.admin-report-item small{display:block;margin-top:7px;color:var(--muted)}.admin-report-actions{display:flex;flex-direction:column;gap:8px;min-width:105px}
@media(max-width:760px){.message-board-head,.message-toolbar-row,.message-notification-head{align-items:stretch;flex-direction:column}.message-head-actions{display:grid;grid-template-columns:1fr 1fr}.message-sort-segment{align-self:flex-start}.admin-message-item,.admin-report-item{flex-direction:column}.admin-message-actions,.admin-report-actions{flex-direction:row;flex-wrap:wrap}.admin-reply-row{flex-direction:column}.admin-reply-row button{align-self:flex-start}}


/* 在线状态实时升级 */
.admin-user-filters{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.admin-user-filters .search{margin:0}
.admin-presence-filter{
  min-width:132px;
  width:auto!important;
  cursor:pointer;
  background-color:var(--card);
}
.admin-online-dot.away{
  background:#ff9f0a;
  box-shadow:0 0 0 5px rgba(255,159,10,.14);
}
.admin-online-cell small+small{
  color:#8b8b94;
  font-size:10px;
}
.admin-table tr[data-presence-state="online"] .admin-online-cell strong{color:#16883a}
.admin-table tr[data-presence-state="away"] .admin-online-cell strong{color:#b46900}
.admin-table tr[data-presence-state="offline"] .admin-online-cell strong{color:#777780}
@media(max-width:760px){
  .admin-user-filters{width:100%;display:grid;grid-template-columns:1fr}
  .admin-presence-filter{width:100%!important}
}
