:root{
  --sl-bg:#f7fbf7;
  --sl-surface:#ffffff;
  --sl-surface-soft:#fbfcfa;
  --sl-text:#1f2933;
  --sl-muted:#6f766f;
  --sl-faint:#9aa19a;
  --sl-line:#e4e8e2;
  --sl-line-strong:#d4ddd2;
  --sl-green:#0f7a3d;
  --sl-green-2:#13864a;
  --sl-green-bright:#22c55e;
  --sl-green-soft:#edf7f0;
  --sl-yellow:#8a5a00;
  --sl-yellow-soft:#fff7df;
  --sl-red:#a63a2b;
  --sl-red-soft:#fff1ee;
  --sl-radius:8px;
  --sl-control:10px;
  --sl-shadow-sm:0 1px 2px rgba(18,28,20,.04);
  --sl-shadow-md:0 12px 30px rgba(18,28,20,.07);
}

html{background:var(--sl-bg)}
body{
  color:var(--sl-text)!important;
  background:
    linear-gradient(180deg,rgba(118,199,218,.46) 0,rgba(232,249,241,.78) 185px,rgba(247,251,247,.94) 430px,rgba(247,251,247,1) 72%),
    linear-gradient(135deg,rgba(34,197,94,.16) 0,rgba(255,255,255,0) 38%),
    linear-gradient(0deg,rgba(255,221,181,.28) 0,rgba(255,255,255,0) 260px),
    var(--sl-bg)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  position:relative;
}
body::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(68% 42% at 18% 0%,rgba(255,255,255,.72),rgba(255,255,255,0) 64%),
    linear-gradient(112deg,rgba(255,255,255,0) 18%,rgba(255,255,255,.42) 34%,rgba(255,255,255,0) 50%);
  background-size:100% 100%,220% 220%;
}
body > *{
  position:relative;
  z-index:1;
}

.topbar{
  width:calc(100% - 24px)!important;
  margin:12px auto 0!important;
  border-radius:30px!important;
  background:rgba(255,255,255,.76)!important;
  border:1px solid rgba(255,255,255,.78)!important;
  box-shadow:0 14px 46px rgba(31,41,51,.08),inset 0 1px 0 rgba(255,255,255,.9)!important;
  backdrop-filter:blur(24px) saturate(1.15)!important;
  position:relative;
  overflow:hidden;
}
.home-page .topbar{
  width:min(1280px,calc(100% - 32px))!important;
  height:64px!important;
}
.home-page .topbar-inner{
  width:calc(100% - 64px)!important;
}
.tool-page{
  background:#f6f7f5!important;
}
.tool-page .topbar{
  width:100%!important;
  height:56px!important;
  margin:0!important;
  padding:0 22px!important;
  border:0!important;
  border-bottom:1px solid var(--sl-line)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.tool-page .brand-logo{
  width:44px;
  height:34px;
}
.tool-page .brand-wordmark{
  width:142px;
}
.tool-page .home-link,.tool-page .nav-link,.tool-page .topbar-r a{
  border-radius:8px!important;
  padding:6px 10px!important;
}
.tool-page .app-body,.tool-page .wrap{
  background:#f6f7f5!important;
}
.brand{
  color:var(--sl-text)!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  letter-spacing:0!important;
  font-weight:800!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  border-right:none!important;
  padding-right:0!important;
}
.brand-logo{
  width:52px;
  height:42px;
  border-radius:0;
  object-fit:contain;
  flex:0 0 auto;
}
.brand-wordmark{
  display:block;
  width:168px;
  height:auto;
  transform:translateY(1px);
}
.brand-mascot{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:66% 48%;
}
.mini-mascot{
  width:34px;
  height:34px;
  border-radius:0;
  object-fit:cover;
  object-position:66% 48%;
  flex:0 0 auto;
}
.ocr-mascot{
  object-position:58% 46%;
}
.home-link,.nav-link,.nav a,.topbar-r a{
  color:#3f4640!important;
}
.home-link:hover,.nav-link:hover,.nav a:hover,.topbar-r a:hover{
  color:var(--sl-green)!important;
  background:transparent!important;
  text-decoration:none!important;
}
.nav-link.active{
  background:var(--sl-green-soft)!important;
  color:var(--sl-green)!important;
}
.preview-tag{
  color:var(--sl-green)!important;
  background:rgba(237,247,240,.82)!important;
  border-color:rgba(188,226,197,.95)!important;
  backdrop-filter:blur(12px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 8px 20px rgba(15,122,61,.08);
}

.btn,.pill-btn,.btn-submit{
  border-radius:var(--sl-control)!important;
  min-height:34px;
  box-shadow:none!important;
  position:relative;
  overflow:hidden;
  transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
.tool-page .btn,.tool-page .pill-btn,.tool-page .btn-submit{
  border-radius:8px!important;
}
.btn-p,.btn-ok,.pill-btn.primary,.btn-submit{
  border-color:var(--sl-green)!important;
  background:var(--sl-green)!important;
  color:#fff!important;
}
.btn-p:hover,.btn-ok:hover,.pill-btn.primary:hover,.btn-submit:hover:not(:disabled){
  background:#0b6934!important;
  transform:none!important;
  box-shadow:none!important;
}
.btn-g,.pill-btn{
  border-color:var(--sl-line-strong)!important;
  color:#333b35!important;
  background:#fff!important;
}
.btn-g:hover,.pill-btn:hover{
  background:var(--sl-surface-soft)!important;
  border-color:#cbd7ca!important;
  transform:none!important;
  box-shadow:none!important;
}
.btn-warn{
  color:var(--sl-red)!important;
  border-color:#e4c7bf!important;
  background:#fff!important;
}
.btn-warn:hover{
  background:var(--sl-red-soft)!important;
}

.card,.role-card,.q-block,.q-overview-card,.q-side-card,.detail-item,
.q-card,.task-card,.sp-row,.dim-row,.read-section,.read-details,
.accept-bar,.ai-box,.action-card,.tips-box,.auth-layout .card,
.flow,.value-strip,.pending-verify,.flow-coach,.flow-modal{
  border-radius:var(--sl-radius)!important;
  border-color:var(--sl-line)!important;
  box-shadow:var(--sl-shadow-sm)!important;
}
.tool-page .card,.tool-page .q-block,.tool-page .q-overview-card,.tool-page .q-side-card,
.tool-page .detail-item,.tool-page .q-card,.tool-page .task-card,.tool-page .sp-row,
.tool-page .dim-row,.tool-page .read-section,.tool-page .read-details,.tool-page .accept-bar,
.tool-page .ai-box,.tool-page .action-card,.tool-page .tips-box{
  border-radius:8px!important;
  box-shadow:none!important;
}
.role-card:hover{
  border-color:#c8dccb!important;
  background:#fbfdfb!important;
  box-shadow:0 8px 20px rgba(18,28,20,.05)!important;
  transform:none!important;
}
.tool-page .sp-row,.tool-page .dim-row,.tool-page .q-card,.tool-page .task-card{
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
.tool-page .q-card:hover,.tool-page .task-card:hover{
  border-color:#c7ddca!important;
  background:#fbfdfb!important;
  transform:none!important;
  box-shadow:none!important;
}
.tool-page .sp-row:hover,.tool-page .dim-row:hover{
  border-color:#c7ddca!important;
  background:#fbfdfb!important;
}
.tool-page .mat-toggle:hover,.tool-page .mat-tab-s:hover,.tool-page .history-hdr:hover,
.tool-page .hist-card:hover,.tool-page .task-collapse-btn:hover,.tool-page .mini-btn:hover,
.tool-page .flow-tab:hover,.tool-page .q-tab:hover,.tool-page .mat-tab:hover{
  background:#fbfdfb!important;
  border-color:#c7ddca!important;
  color:var(--sl-green)!important;
  transform:none!important;
  box-shadow:none!important;
}
.tool-page .hit-btn:hover{
  background:#f6f7f5!important;
  border-color:#cbd7ca!important;
}
.tool-page .btn-p:hover,.tool-page .btn-ok:hover,.tool-page .btn-submit:hover:not(:disabled){
  transform:none;
  box-shadow:none!important;
}

.inp,.sel,textarea,.score-input,.cmt-input,.overall-ta,
.action-row select.sel{
  border-color:var(--sl-line)!important;
  border-radius:var(--sl-control)!important;
  background:#fff!important;
}
.inp:focus,.sel:focus,textarea:focus,.score-input:focus,.cmt-input:focus,.overall-ta:focus{
  border-color:#9dceb0!important;
  box-shadow:0 0 0 3px rgba(15,122,61,.12)!important;
}

.feedback-fab{
  border-radius:999px!important;
  background:#111!important;
  box-shadow:0 10px 24px rgba(18,28,20,.16)!important;
}
.feedback-fab:hover{
  background:var(--sl-green)!important;
  transform:none!important;
  box-shadow:0 10px 24px rgba(18,28,20,.16)!important;
}
.feedback-fab:active,.btn:active,.pill-btn:active,.btn-submit:active{
  transform:none!important;
}
.toast{
  border-radius:999px!important;
}

.hero-title,.auth-title{
  letter-spacing:-.03em!important;
}
.hero-title .accent,.auth-title span{
  background:none!important;
  -webkit-background-clip:initial!important;
  background-clip:initial!important;
  color:var(--sl-green)!important;
}
.hero-sub,.role-copy,.value-copy,.auth-sub{
  color:var(--sl-muted)!important;
}
.hero-kicker,.auth-kicker,.value-kicker,.form-lbl,.gr-title{
  color:var(--sl-faint)!important;
}
.role-kicker,.role-action,.value-title .green,.q-num,.q-score,.q-overview-title,
.q-side-title,.q-answer-title,.detail-name,.q-corr-title,.att-title,
.panel-hdr,.q-card-num,.teacher-bar .form-lbl,.history-hdr,
.task-tab.on,.tc-stu,.q-tab.on,.mat-panel-head,.q-prompt-box .label,
.read-section-h,.read-details summary,.ai-title,.sp-row-idx,.dim-row-name,
.gf-total .v,.accept-bar .title,.flow-coach-title{
  color:var(--sl-green)!important;
}

.hit-hit,.q-stat.ok,.hit-badge.hit-hit,.sp-status-pill.hit,.loc-located,
.sb-done,.hs-done,.hs-grading,.tc-grading,.task-tab .cnt,.history-hdr-cnt{
  background:var(--sl-green-soft)!important;
  color:var(--sl-green)!important;
}
.hit-undecided,.q-stat.warn,.sp-status-pill.undecided,.loc-not,.sb-pend,.hs-pend,.tc-pending{
  background:var(--sl-yellow-soft)!important;
  color:var(--sl-yellow)!important;
}
.hit-miss,.q-stat.bad,.sp-status-pill.miss,.sb-warn,.hs-warn{
  background:var(--sl-red-soft)!important;
  color:var(--sl-red)!important;
}

.topbar,.editor-hdr,.editor-footer,.teacher-bar,.task-tabs,.q-tabs,
.grade-footer,.mat-collapse,.history-hdr,.q-hdr,.q-overview,
.mat-panel-head,.q-prompt-box,.read-section-h,.grade-body .gb-material,
.gb-left,.gb-right{
  border-color:var(--sl-line)!important;
}

/* 首页：减少模板感，保留入口清晰度 */
.hero{
  min-height:520px!important;
  padding-top:56px!important;
  padding-bottom:28px!important;
}
.home-page .hero-shell{
  position:relative;
}
.home-page .hero-shell::before{
  content:'';
  position:absolute;
  left:-6%;
  top:-12%;
  width:78%;
  height:78%;
  pointer-events:none;
  background:linear-gradient(118deg,rgba(255,255,255,.54),rgba(255,255,255,0) 56%);
  filter:blur(18px);
  opacity:.72;
  transform:rotate(-5deg);
}
.home-page .hero-copy-area,.home-page .report-preview{
  position:relative;
  z-index:1;
}
.hero-brand-row{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
  animation:sl-enter-up .58s ease both;
}
.hero-brand-row .hero-kicker{
  margin-bottom:0!important;
}
.hero-mascot-badge{
  width:58px;
  height:58px;
  border-radius:50%;
  background:rgba(255,255,255,.72);
  border:1px solid var(--sl-line);
  box-shadow:0 12px 28px rgba(18,28,20,.08);
  padding:0;
  overflow:hidden;
  flex:0 0 auto;
}
.hero-title{
  animation:sl-enter-up .64s .06s ease both;
}
.hero-sub,.hero-secondary{
  animation:sl-enter-up .64s .12s ease both;
}
.entry-panel{
  animation:sl-enter-up .64s .18s ease both;
}
.entry-tile,.report-preview,.role-card{
  position:relative;
  overflow:hidden;
}
.entry-tile{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(250,252,250,.94))!important;
  border-color:#d7e4d9!important;
  box-shadow:0 12px 26px rgba(18,28,20,.05),inset 0 1px 0 rgba(255,255,255,.92)!important;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
.entry-tile::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  background:linear-gradient(90deg,rgba(15,122,61,.62),rgba(34,197,94,.16));
  opacity:.7;
}
.role-card::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(140deg,rgba(255,255,255,.7),rgba(255,255,255,0) 36%);
  opacity:0;
  transition:opacity .18s ease;
}
.entry-action{
  position:relative;
  overflow:hidden;
  box-shadow:0 8px 16px rgba(15,122,61,.12);
  transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
.entry-tile:hover{
  border-color:#adcdb5!important;
  background:linear-gradient(180deg,rgba(250,255,251,.98),rgba(239,249,242,.96))!important;
  transform:translateY(2px)!important;
  box-shadow:0 5px 14px rgba(18,28,20,.075),inset 0 2px 9px rgba(15,122,61,.055)!important;
}
.entry-tile:active{
  transform:translateY(3px)!important;
  box-shadow:0 3px 9px rgba(18,28,20,.08),inset 0 3px 12px rgba(15,122,61,.075)!important;
}
.entry-tile:hover .entry-action{
  transform:none;
  background:#0b6934;
  border-color:#0b6934;
  box-shadow:0 5px 10px rgba(15,122,61,.12);
}
.entry-tile:not(.primary) .entry-action{
  border-color:#c8dfcf;
  background:#f1f8f3;
  color:var(--sl-green);
  box-shadow:none;
}
.entry-tile:not(.primary):hover .entry-action{
  background:#e3f1e7;
  border-color:#a9d2b3;
  color:#0b6934;
  box-shadow:none;
}
.entry-tile.teacher-entry{
  background:rgba(255,255,255,.68)!important;
  border-color:#e1e8e2!important;
  box-shadow:none!important;
}
.entry-tile.teacher-entry::after{
  opacity:.28;
}
.entry-tile.teacher-entry .entry-label,
.entry-tile.teacher-entry .entry-action{
  color:#4f6f5c;
}
.entry-tile.teacher-entry .entry-title{
  color:#2f3a33;
}
.entry-tile.teacher-entry .entry-desc{
  color:#7a857d;
}
.entry-tile.teacher-entry .entry-action{
  border-color:#d5e1d8;
  background:#fff;
}
.entry-tile.teacher-entry:hover{
  background:#f8fbf8!important;
  border-color:#cadbcc!important;
  box-shadow:0 5px 12px rgba(18,28,20,.04)!important;
}
.preview-brand{
  display:flex;
  align-items:center;
  gap:10px;
}
.preview-brand .mini-mascot{
  width:38px;
  height:38px;
}
.success-mascot-frame,.empty-mascot-frame{
  width:118px;
  height:96px;
  border-radius:26px;
  overflow:hidden;
  background:linear-gradient(180deg,#fff,rgba(240,249,243,.92));
  border:1px solid var(--sl-line);
  box-shadow:0 14px 30px rgba(18,28,20,.08);
}
.success-mascot,.empty-mascot{
  display:block;
  width:152px;
  height:112px;
  object-fit:cover;
  object-position:58% 58%;
  transform:translate(-18px,-8px);
}
.empty-mascot-frame{
  margin:0 auto 16px;
}
.report-preview{
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.9)),
    repeating-linear-gradient(180deg,rgba(15,122,61,.045) 0,rgba(15,122,61,.045) 1px,transparent 1px,transparent 34px)!important;
  border-color:rgba(196,222,199,.92)!important;
  box-shadow:0 22px 56px rgba(18,28,20,.1),0 0 0 1px rgba(255,255,255,.58) inset!important;
  animation:sl-enter-up .7s .22s ease both;
}
.report-preview::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(112deg,rgba(255,255,255,.72),rgba(255,255,255,0) 32%),
    linear-gradient(180deg,rgba(34,197,94,.07),rgba(255,255,255,0) 48%);
}
.report-preview::after{
  content:'';
  position:absolute;
  left:0;
  top:22px;
  bottom:22px;
  width:4px;
  border-radius:0 999px 999px 0;
  background:linear-gradient(180deg,var(--sl-green),rgba(34,197,94,.18));
  opacity:.76;
}
.report-preview > *{
  position:relative;
  z-index:1;
}
.preview-head{
  align-items:center!important;
}
.preview-score{
  padding:7px 10px;
  border-radius:10px;
  background:rgba(237,247,240,.82);
  border:1px solid rgba(188,226,197,.7);
}
.preview-answer mark{
  box-shadow:0 0 0 1px rgba(34,197,94,.08),0 8px 18px rgba(34,197,94,.08);
}
.preview-score strong{
  text-shadow:0 8px 18px rgba(15,122,61,.14);
}
.preview-list{
  position:relative;
}
.preview-list::before{
  content:'';
  position:absolute;
  left:10px;
  top:24px;
  bottom:18px;
  width:1px;
  background:#dcebe0;
}
.preview-dot{
  position:relative;
  z-index:1;
  box-shadow:0 0 0 4px #fff;
}
.preview-tagline{
  border:1px solid rgba(188,226,197,.68);
}
.preview-tagline.warn{
  border-color:rgba(230,202,128,.72);
}
.mascot-helper{
  display:grid;
  grid-template-columns:96px 1fr;
  align-items:center;
  gap:16px;
  margin-top:22px;
  max-width:560px;
}
.mascot-helper-figure{
  width:96px;
  height:82px;
  border-radius:24px;
  background:rgba(255,255,255,.78);
  border:1px solid var(--sl-line);
  padding:0 4px;
  overflow:hidden;
  box-shadow:0 12px 28px rgba(18,28,20,.08);
}
.mascot-helper-figure.coach .brand-mascot{
  height:100%;
  object-fit:contain;
  object-position:center bottom;
}
.mascot-helper-copy{
  color:var(--sl-muted);
  font-size:14px;
  line-height:1.7;
}
.mascot-helper-copy strong{
  display:block;
  color:var(--sl-text);
  font-size:15px;
  margin-bottom:2px;
}
.role-entry{
  gap:12px!important;
}
.role-card{
  padding:22px!important;
}
.value-strip{
  background:rgba(255,255,255,.78);
  border:1px solid var(--sl-line)!important;
  overflow:hidden;
  backdrop-filter:blur(18px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
.value-item{
  border-color:var(--sl-line)!important;
  position:relative;
}
.value-item::before{
  content:'';
  position:absolute;
  left:34px;
  top:31px;
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--sl-green);
  box-shadow:0 0 0 6px var(--sl-green-soft);
}
.value-kicker{
  padding-left:24px;
}
.flow{
  border:1px solid var(--sl-line)!important;
  padding:0 18px;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(18px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

/* 登录页：减少卡片厚重感 */
.auth-layout{
  gap:52px!important;
}
.auth-copy::before{
  content:'';
  display:block;
  width:82px;
  height:82px;
  border-radius:50%;
  background-color:rgba(255,255,255,.84);
  background-image:url("assets/mascot-alert.png");
  background-position:58% 48%;
  background-size:150% auto;
  background-repeat:no-repeat;
  border:1px solid var(--sl-line);
  outline:4px solid rgba(255,255,255,.62);
  box-shadow:0 12px 28px rgba(18,28,20,.08),inset 0 1px 0 rgba(255,255,255,.88);
  margin-bottom:18px;
}
.auth-copy.auth-student::before{
  background-image:url("assets/mascot-writing.png");
  background-position:63% 50%;
  background-size:182% auto;
}
.auth-copy.auth-teacher::before{
  background-image:url("assets/mascot-main-action.png");
  background-position:64% 54%;
  background-size:160% auto;
}
.auth-copy.auth-neutral::before{
  background-image:url("assets/mascot-alert.png");
  background-position:58% 48%;
  background-size:150% auto;
}
.auth-copy,.auth-layout .card{
  animation:sl-enter-up .62s ease both;
}
.auth-layout .card{
  animation-delay:.08s;
  position:relative;
  overflow:hidden;
}
.auth-layout .card::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(145deg,rgba(255,255,255,.74),rgba(255,255,255,0) 38%);
}
.auth-layout .card > *{
  position:relative;
  z-index:1;
}
.tabs{
  border-radius:var(--sl-control)!important;
  background:#f1f3ef!important;
}
.tab{
  border-radius:calc(var(--sl-control) - 2px)!important;
}
.tab.on{
  color:var(--sl-green)!important;
  box-shadow:var(--sl-shadow-sm)!important;
}
.role-opt{
  border-radius:var(--sl-control)!important;
}
.role-opt:hover{
  border-color:#cbd7ca!important;
  background:#fbfdfb!important;
  transform:none!important;
  box-shadow:none!important;
}
.role-opt.on{
  border-color:#b9dabe!important;
  background:var(--sl-green-soft)!important;
  color:var(--sl-green)!important;
}
.role-opt.on .role-mark{
  background:var(--sl-green)!important;
}

/* 学生作答页：更像答题工具，降低外围装饰 */
.left-panel,.task-panel,.gb-material,.gb-left,.gb-right{
  background:#fff!important;
}
.textarea-wrap{
  background:var(--sl-bg)!important;
}
.tool-page .textarea-wrap,.tool-page .editor-area,.tool-page .gr-body,
.tool-page .essay-body,.tool-page .q-side-pane,.tool-page .q-detail-wide{
  background:#f6f7f5!important;
}
.textarea-wrap textarea{
  border-radius:12px!important;
  box-shadow:none!important;
}
.tool-page .textarea-wrap textarea,.tool-page .overall-ta,.tool-page .cmt-input,
.tool-page .score-input{
  border-radius:8px!important;
}
.q-card.on,.task-card.on{
  border-color:#b9dabe!important;
  background:var(--sl-green-soft)!important;
  box-shadow:0 0 0 1px rgba(15,122,61,.06),0 8px 18px rgba(15,122,61,.06)!important;
}
.q-card-sub,.q-sub{
  background:#f1f3ef!important;
}
.q-card.on .q-card-sub{
  background:#dff1e5!important;
  color:var(--sl-green)!important;
}
.ocr-dialog-hdr .mini-mascot{
  width:36px;
  height:36px;
}
.ocr-edit-note{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.ocr-edit-note .mini-mascot{
  width:32px;
  height:32px;
  margin-top:1px;
}
.ocr-note-copy{
  min-width:0;
}
.tool-page .ocr-actions .btn{
  min-height:32px;
  padding:6px 10px!important;
}

/* 批改报告：让内容区域更像报告，弱化杂边框 */
.wrap{
  width:min(1520px,calc(100vw - 56px))!important;
}
.summary-card{
  border-radius:var(--sl-radius)!important;
}
.q-block{
  overflow:hidden;
}
.q-overview{
  background:var(--sl-surface-soft)!important;
}
.q-content,.answer-content{
  line-height:2.05!important;
}
.detail-item summary{
  padding:11px 12px!important;
}

/* 老师工作台：强调密度和对齐 */
.gr-body,.essay-body,.q-side-pane,.q-detail-wide{
  background:var(--sl-bg)!important;
}
.sp-row,.dim-row{
  margin-bottom:8px!important;
}
.tool-page .ai-box{
  background:#fff!important;
  border-color:var(--sl-line)!important;
}
.tool-page .sp-row.status-undecided,.tool-page .sp-row.ai-prefilled{
  background:#fff!important;
}
.tool-page .sp-row.status-hit{
  background:#fbfdfb!important;
}
.tool-page .sp-row.ai-prefilled{
  border-color:#cfe5d3!important;
  box-shadow:inset 3px 0 0 rgba(15,122,61,.42)!important;
}
.hit-btn{
  border-radius:var(--sl-control)!important;
}
.hit-btn.on-hit{
  border-color:var(--sl-green)!important;
  background:var(--sl-green)!important;
}
.hit-btn.on-und{
  border-color:#d3b05b!important;
  background:#f6e6b5!important;
  color:#5f4300!important;
}
.hit-btn.on-miss{
  border-color:var(--sl-red)!important;
  background:var(--sl-red)!important;
}

/* 交互统一:除首页双入口卡外,hover 不做位移或缩放 */
body:not(.home-page) .card:hover,
body:not(.home-page) .role-card:hover,
body:not(.home-page) .q-card:hover,
body:not(.home-page) .task-card:hover,
body:not(.home-page) .sp-row:hover,
body:not(.home-page) .dim-row:hover,
.btn:hover,.pill-btn:hover,.btn-submit:hover,
.btn:active,.pill-btn:active,.btn-submit:active,
.feedback-fab:hover,.feedback-fab:active{
  transform:none!important;
}
.btn:hover,.pill-btn:hover,.btn-submit:hover,
.feedback-fab:hover{
  box-shadow:none!important;
}

@keyframes sl-enter-up{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
}

@media(max-width:820px){
  .wrap{width:calc(100vw - 28px)!important}
  .home-page .topbar{width:calc(100% - 24px)!important;height:auto!important;margin-top:10px!important;border-radius:24px!important}
  .home-page .topbar-inner{width:calc(100% - 24px)!important;gap:10px!important}
  .home-page .nav{gap:14px!important;font-size:13px!important;padding-top:2px!important}
  .home-page .topbar-actions{gap:8px!important}
  .home-page .pill-btn{min-height:34px!important;padding:7px 14px!important}
  .home-page .preview-tag{padding:3px 8px!important}
  .brand-logo{width:40px;height:32px}
  .brand-wordmark{width:132px}
  .hero-brand-row{align-items:flex-start}
  .hero-mascot-badge{width:50px;height:50px}
  .hero{padding-top:38px!important;padding-bottom:30px!important}
  .hero-title{margin-bottom:16px!important}
  .hero-sub{margin-bottom:18px!important}
  .entry-tile{min-height:0!important}
  .report-preview{box-shadow:0 16px 40px rgba(18,28,20,.08),0 0 0 1px rgba(255,255,255,.58) inset!important}
  .value-item::before{left:8px}
  .value-kicker{padding-left:24px}
  .mascot-helper{grid-template-columns:72px 1fr}
  .mascot-helper-figure{width:72px;height:64px;border-radius:20px}
  .auth-copy::before{width:64px;height:64px}
}
