/* Initial direct comparison corrections. Only subjective test routes. */
body:has(.subjective58)>aside nav a[href$="/course"] circle{fill:none;stroke:currentColor;stroke-width:1.7}
body:has(.subjective58)>aside nav a[href$="/course"] path{fill:currentColor;stroke:none}
@media(min-width:1401px){
 body:has(.sb-center)>aside nav{gap:15px}
 .sb-center .sb-steps button:not(:last-child){flex:0 0 21%}
 .sb-center .sb-steps small{white-space:nowrap}
 .sb-center .sb-steps button:last-child{flex:1}
 .sb-center .sb-steps{margin-top:31px}
 .sb-record>strong{width:166px}
 .sb-write .sb-editor-wrap{margin-top:26px}
 .sb-material ol{font-size:var(--yk-type-body)}
 .sb-review-grid{margin-top:21px}
 .sb-feedback .sb-section-head{margin-bottom:7px}
 .sb-original .sb-answer-fragment+.sb-answer-fragment{margin-top:3px}
 .sb-original .sb-answer-fragment:last-child{margin-top:36px}
 .sb-before .sb-revision-row:first-of-type,.sb-after .sb-revision-row:first-of-type{margin-top:22px}
 .sb-revision-row{margin-bottom:13px;margin-top:13px}
 .sb-before .sb-revision-row:nth-of-type(2){min-height:122px}
 .sb-before .sb-revision-row:nth-of-type(3){min-height:119px}
 .sb-bridges p{font-size:16px;line-height:1.5}
 .sb-bridges button{min-height:130px}
}
.sb-editor-wrap:fullscreen{background:#fff;padding:24px;overflow:auto}.sb-editor-wrap:fullscreen .sb-editor{min-height:calc(100vh - 130px)}
@media(max-width:650px){
 .subjective58 h1{text-wrap:balance}
 .sb-steps{align-items:center;height:70px;overflow-y:hidden}
 .sb-steps button{min-width:178px;align-items:center}
 .sb-steps small{white-space:nowrap}
 .subjective58 .sb-revision-actions button[data-history]{border:0;padding:0 6px;min-height:28px;font-size:12px;background:none}
 .subjective58 .sb-revision-actions button.sb-primary,.subjective58 .sb-revision-actions button.sb-outline{font-size:14px;padding:9px 13px;min-height:43px}
 .subjective58 .sb-revision-actions button[data-history]{padding:0 6px;min-height:28px;font-size:12px}
}
@media(max-width:360px){.subjective58 h1{font-size:var(--yk-type-page)}.sb-type p{font-size:var(--yk-type-meta)}.sb-type{gap:14px}}
/* Round 6: local closure of independent 13–16 visual findings. */
.subjective58 .sb-primary,.subjective58 button.sb-primary{background:linear-gradient(125deg,#089f94 0%,#087e83 42%,#08767d 66%,#078e88 100%);box-shadow:inset 0 1px 2px #ffffff35}
.sb-chevron{border-width:2px}
.sb-type .sb-icon svg{width:36px;height:36px;stroke-width:1.9}
.sb-resume>.sb-icon svg{width:56px;height:56px;stroke-width:1.9}
.sb-toolbar .sb-italic-glyph{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:var(--yk-type-control);font-weight:var(--yk-weight-title)}
.sb-toolbar svg{stroke-width:1.8}
.sb-revision-state>svg{width:30px;height:32px;flex-shrink:0}
.sb-improve .sb-icon svg{width:35px;height:35px}
body:has(.sb-write)>aside nav a.on,body:has(.sb-revise)>aside nav a.on{position:relative}
body:has(.sb-write)>aside nav a.on:before,body:has(.sb-revise)>aside nav a.on:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:2px;background:#008e89}
body:has(.sb-review)>aside nav a[href$="/subjective"] svg path{fill:currentColor;stroke-width:1.3}
@media(min-width:1001px){
 body:has(.subjective58)>header>span{font-size:16px;font-weight:500}
 body:has(.subjective58)>header .user{font-size:17px;font-weight:500}
 body:has(.subjective58)>aside .sb-binding{display:flex;align-items:center;gap:11px;position:absolute;bottom:32px;left:20px;font-size:16px;color:#7c889a;white-space:nowrap}
 body:has(.subjective58)>aside .sb-binding svg{width:21px;height:21px}
}
@media(min-width:1401px){
 .sb-record>div{padding-left:10px}
 .sb-write .sb-material ol{font-size:var(--yk-type-body);color:#596273;font-weight:var(--yk-weight-body);line-height:var(--yk-line-reading)}
 .sb-write .sb-material li{margin-bottom:23px}
 .sb-write .sb-editor{font-size:var(--yk-type-body);color:#374355;line-height:var(--yk-line-reading)}
 .sb-write .sb-editor-actions>button{font-size:16px}
 .subjective58.sb-write .sb-editor-actions>.sb-save-exit{width:162px;min-height:53px;padding:10px 14px}
 .subjective58.sb-write .sb-editor-actions>.sb-primary{width:164px;min-height:53px;padding:10px 14px}
 .sb-feedback .sb-section-head{margin-bottom:2px}
 .sb-score-row>p{font-size:var(--yk-type-body);line-height:var(--yk-line-reading);padding-top:17px;padding-bottom:17px;font-weight:var(--yk-weight-body)}
 .sb-feedback .sb-section-head+.sb-score-row{margin-top:8px}
 .sb-feedback .sb-section-head>span{font-weight:600}
 .sb-improve{padding-top:20px;padding-bottom:20px}
 .sb-improve>.sb-primary,.subjective58 .sb-improve>.sb-outline{min-height:57px}
 .sb-improve>.sb-primary{min-width:160px}
 .sb-improve>.sb-outline{min-width:160px}
 .sb-improve>button:last-child{min-width:98px}
 .sb-improve{gap:14px}
 .sb-revision-row{font-size:20px}
 .sb-after .sb-revision-row:last-of-type{min-height:125px}
 .sb-bridges i{top:calc(50% - 20px)}
 .subjective58 .sb-revision-actions [data-save-revision]{width:133px;min-height:49px;padding:10px 12px}
 .subjective58 .sb-revision-actions [data-submit-revision]{width:173px;min-height:49px;padding:10px 12px}
}
@media(max-width:1100px){
 .sb-center:has(.sb-steps)::after{content:"";display:none}
 .sb-steps{scrollbar-width:thin;scrollbar-color:#9fbfbe #e7efef}
 .sb-steps:before{content:"左右滑动查看训练阶段";position:absolute;top:-17px;right:0;font-size:11px;color:#778b96;pointer-events:none}
 .sb-steps{position:relative;overflow-y:visible}
}
@media(max-width:650px){
 .sb-steps:before{display:none}
 .sb-steps{border-bottom:2px solid #dce9e9;padding-bottom:8px;height:76px}
 .sb-toolbar{scrollbar-width:thin;scrollbar-color:#92b7b5 #eef4f4;padding-bottom:4px;border-bottom:2px solid #dce9e9}
 .sb-toolbar .sb-italic-glyph{font-size:var(--yk-type-control)}
 .sb-toolbar svg{width:18px;height:18px}
 .sb-improve h2,.sb-revise>.sb-lead{text-wrap:balance}
 .sb-dialog h2{padding-right:30px;text-wrap:balance}
 .sb-compose-inner>h2{text-wrap:balance}
 .sb-type .sb-icon svg{width:32px;height:32px}
 .sb-resume>.sb-icon svg{width:36px;height:36px}
}
.sb-scroll-cue{display:none;font-size:var(--yk-type-micro)}
/* Round 7: per-page chrome, real text width and saved-state geometry. */
.sb-center .sb-resume .sb-primary{background:linear-gradient(125deg,#068b8a 0%,#087079 40%,#08626d 65%,#0a8083 100%)}
@media(min-width:1001px){
 body:has(.subjective58)>header>span{border-left:1px solid #c9d0d9;padding-left:24px;line-height:1.5}
 body:has(.subjective58)>aside .sb-binding{left:34px;bottom:42px;font-size:16px;gap:10px}
 body:has(.sb-write)>aside .sb-binding{bottom:52px}
 body:has(.sb-review)>aside .sb-binding{bottom:36px}
 body:has(.sb-revise)>aside .sb-binding{left:28px;bottom:52px}
}
@media(min-width:1401px){
 .sb-write .sb-material ol{font-size:var(--yk-type-body);letter-spacing:-.4px;line-height:var(--yk-line-reading);color:#5d606b;font-weight:var(--yk-weight-body)}
 .sb-write .sb-material li{margin-bottom:21px}
 .sb-write .sb-editor{color:#3e404b;font-size:var(--yk-type-body);line-height:var(--yk-line-reading)}
 .sb-score-row>p{font-size:var(--yk-type-body);letter-spacing:.8px;color:#696d7a;font-weight:var(--yk-weight-body);line-height:var(--yk-line-reading);display:block;align-content:center}
 .sb-revision-actions{position:relative}
 .sb-revision-actions output{position:absolute;top:-29px;left:0;max-width:calc(100% - 80px);white-space:normal;text-wrap:balance}
 .sb-revision-actions button{flex-shrink:0}
 .subjective58 .sb-revision-actions [data-save-revision]{flex-basis:133px}
 .subjective58 .sb-revision-actions [data-submit-revision]{flex-basis:173px}
}
@media(max-width:650px){
 .sb-answer-fragment p,.sb-score-row>p,.sb-revision-row p,.sb-revision-row [contenteditable],.sb-bridges p,.sb-dialog [data-dialog-body] p{text-wrap:balance}
}
@media(max-width:1400px){.sb-score-break{display:none}}
@media(max-width:650px){
 .sb-scroll-cue{display:block;font-size:11px!important;color:#7c919d;text-align:right;margin:-10px 0 9px!important}
 .sb-editor-wrap:before{content:"编辑工具可左右滑动 ↔";display:block;font-size:11px;color:#7c919d;text-align:right;padding-top:5px}
}
/* Round8: only the small-screen material tail; desktop typography unchanged. */
@media(max-width:650px){.sb-write .sb-material-term{white-space:nowrap}}
/* Round9: 主观中心上下文入口（课程与服务 / 专项训练），沿用本页既有面板与行卡片样式。 */
.sb-section-hint{font-size:var(--yk-type-meta);color:#8590a0}
.sb-section-head>a{display:inline-flex;align-items:center;gap:15px;font-size:var(--yk-type-meta);color:#00847d;text-decoration:none;border-radius:4px;padding:4px 2px}
.sb-paths{margin-top:16px;padding:18px 29px 13px}
.sb-path-list{display:grid}
.sb-path{display:flex;align-items:center;gap:20px;border:1px solid var(--sb-line);border-bottom:0;padding:13px 0;min-height:92px;color:inherit;text-decoration:none;border-radius:0}
.sb-path:first-child{border-radius:7px 7px 0 0}
.sb-path:last-child{border-bottom:1px solid var(--sb-line);border-radius:0 0 7px 7px}
.sb-path>.sb-icon{width:65px;height:64px}
.sb-path>div{flex:1;min-width:0}
.sb-path h3{font-size:var(--yk-type-card)}
.sb-path p{font-size:var(--yk-type-meta);color:#8390a1;margin-top:3px}
.sb-path>.sb-chevron{margin-left:auto;margin-right:27px}
.sb-path:hover{border-color:#bfe0dd}
.sb-drills-panel{margin-top:16px;padding:18px 29px 22px}
.sb-drills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sb-drill{display:flex;gap:13px;align-items:flex-start;border:1px solid var(--sb-line);border-radius:8px;padding:14px 16px;background:#fff;color:inherit;text-decoration:none;min-height:86px}
.sb-drill>.sb-icon{width:42px;height:42px;border-radius:9px}
.sb-drill>.sb-icon svg{width:23px;height:23px}
.sb-drill>div{min-width:0}
.sb-drill h3{font-size:var(--yk-type-body);margin-bottom:3px}
.sb-drill p{font-size:var(--yk-type-meta);color:#8390a1;line-height:var(--yk-line-ui)}
.sb-drill:hover{border-color:#bfe0dd}
.sb-photo{gap:9px;text-decoration:none}
.sb-photo svg{width:20px;height:20px}
.sb-resume .sb-resume-cross{display:block;margin-top:9px;font-size:var(--yk-type-meta);line-height:1.45;color:#078d88;font-weight:var(--yk-weight-title);text-decoration:none}
.sb-resume-cross:focus-visible,.sb-path:focus-visible,.sb-drill:focus-visible,.sb-section-head>a:focus-visible,.sb-more-records a:focus-visible{outline:2px solid #087f80;outline-offset:4px}
@media(max-width:1100px){
 .sb-drills{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sb-paths{padding:16px 18px 12px}
 .sb-drills-panel{padding:16px 18px 18px}
 .sb-path{padding:11px 0;gap:14px;min-height:82px}
 .sb-path>.sb-icon{width:52px;height:52px}
 .sb-path>.sb-icon svg{width:30px;height:30px}
 .sb-path h3{font-size:17px}
 .sb-path p{font-size:14px}
 .sb-path>.sb-chevron{margin-right:14px}
}
@media(max-width:650px){
 .sb-section-head>a{font-size:var(--yk-type-micro);gap:7px}
 .sb-section-hint{font-size:var(--yk-type-micro)}
 .sb-paths,.sb-drills-panel{padding:17px 14px 12px;margin-top:15px}
 .sb-drills{grid-template-columns:1fr;gap:9px}
 .sb-drill{padding:13px;min-height:0}
 .sb-path{flex-wrap:wrap;gap:10px;padding:12px 10px;position:relative;min-height:0}
 .sb-path>.sb-icon{width:38px;height:38px;border-radius:7px}
 .sb-path>.sb-icon svg{width:25px;height:25px}
 .sb-path>div{flex:1 1 60%}
 .sb-path h3{font-size:var(--yk-type-body)}
 .sb-path p{font-size:var(--yk-type-meta)}
 .sb-path>.sb-chevron{position:absolute;right:13px;top:24px;margin:0;width:7px;height:7px}
 .sb-resume .sb-resume-cross{font-size:12px;text-align:left}
}

/* 320 宽横向溢出修复：主观作答工具条与操作行（图14 / 图59）
   实测 320 视口（内容宽 305）下页面溢出 29px：根因是
   .sb-editor-actions>.sb-save-exit 固定 162px 与 >.sb-primary 固定 164px，
   两列网格合计 326px 超出可用宽度。此处改为流式宽度并放开网格收缩，
   工具条保持可横向滑动；桌面与 390 宽不受影响。 */
@media(max-width:650px){
  .sb-editor-actions{grid-template-columns:1fr 1fr;min-width:0}
  .sb-editor-actions>.sb-save-exit,
  .sb-editor-actions>.sb-primary{width:auto!important;min-width:0!important;padding:9px 8px}
  .sb-write-grid,.sb-compose-inner,.sb-panel,.sb-editor-wrap{min-width:0;max-width:100%}
  .sb-toolbar{max-width:100%;overflow-x:auto}
}

/* 320 宽横向溢出修复（续）：主观作答操作行
   实测 320 视口下 .sb-editor-actions 自身 scrollWidth 296 > clientWidth 247，
   根因是 grid-template-columns:1fr 1fr 的轨道最小值为 auto，
   而子按钮 white-space:nowrap 使 min-content 等于整段标签宽度，轨道无法收缩。
   改为 minmax(0,1fr) 并放开子项 min-width 与换行限制；仅作用于 ≤360 宽。 */
@media(max-width:360px){
  .sb-editor-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:8px;min-width:0}
  .sb-editor-actions>*{min-width:0!important;width:auto!important;white-space:normal!important}
  .sb-editor-actions>button{justify-content:center;text-align:center;padding:9px 6px}
  .sb-compose-inner{padding:14px 10px}
  .sb-compose-inner,.sb-panel,.sb-write-grid,.sb-editor-wrap{min-width:0;max-width:100%}
  .sb-toolbar{gap:6px}
}
