/* S09 · 120条考点速记库 · /recite（按最新设计覆盖本页内容）
   只作用于 .tracks09；沿用全站令牌：teal #0b7775/#1aaaa1、边框 #dbe6ea、悬停 #f2fbfa、
   圆角 10-12px、正文 15-16px。卡片 3×2，窄屏单列，全部 minmax(0,…) 防横向溢出。 */

.tracks09{
  --s9-ink:#11283a;--s9-muted:#526976;--s9-teal:#0b7775;--s9-teal-2:#1aaaa1;
  --s9-line:#dbe6ea;--s9-hover:#f2fbfa;--s9-soft:#f7fbfc;
  max-width:100%;min-width:0;font-size:var(--yk-type-body);line-height:var(--yk-line-reading);color:var(--s9-ink);
}
body:has(.tracks09)>main{max-width:none;padding:26px 38px 72px}
.tracks09 *{box-sizing:border-box;min-width:0}
.tracks09 h1,.tracks09 h2,.tracks09 h3,.tracks09 p,.tracks09 ul,.tracks09 li{margin:0;padding:0}
.tracks09 h1,.tracks09 h2,.tracks09 h3{line-height:1.4;font-weight:700}
.tracks09 ul{list-style:none}
.tracks09 a{color:inherit;text-decoration:none}
.tracks09 svg{width:19px;height:19px;flex:none}
.tracks09 button{font:inherit;cursor:pointer}
.tracks09 :focus-visible{outline:2px solid var(--s9-teal);outline-offset:2px}
/* app.css 存在全局 aside{position:fixed;left:0;width:232px}：本页内任何 aside 一律回到正常流 */
.tracks09 aside{position:static;width:auto;max-width:none;padding:0;border:0;background:none;display:block}
.tracks09 .s9-sample{display:inline-block;margin-left:6px;padding:1px 6px;border:1px solid #c7dbe0;border-radius:999px;background:#f4fafb;color:#5b7683;font-size:var(--yk-type-micro);line-height:var(--yk-line-ui);vertical-align:middle;white-space:nowrap}

/* 面包屑 */
.s9-crumb{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:var(--yk-type-meta);color:var(--s9-muted);margin-bottom:14px}
.s9-crumb nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.s9-crumb nav span{color:#526976}
.s9-crumb nav b{color:var(--s9-ink)}
.s9-crumb nav a:hover{color:var(--s9-teal);text-decoration:underline;text-underline-offset:3px}

/* 主区 + 右栏 */
.s9-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:20px;align-items:start;margin-top:22px}

/* 标题 */
.s9-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);align-items:center;gap:20px}
.s9-head h1{font-size:var(--yk-type-page);display:flex;align-items:center;flex-wrap:wrap;gap:10px;line-height:var(--yk-line-heading);letter-spacing:normal;font-weight:var(--yk-weight-page)}
.s9-badge{padding:3px 10px;border:1px solid #b9dcd9;border-radius:999px;background:#eaf7f6;color:var(--s9-teal);font-size:var(--yk-type-meta);font-weight:var(--yk-weight-title);white-space:nowrap}
.s9-sub{margin-top:8px;font-size:var(--yk-type-body);color:var(--s9-muted);line-height:var(--yk-line-reading)}
.s9-summary{display:grid;gap:7px;padding:18px 22px;border:1px solid #f5dfb5;border-radius:12px;background:linear-gradient(110deg,#fff6e5,#fffbf4)}
.s9-summary p{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--yk-type-meta);color:var(--s9-muted);line-height:var(--yk-line-ui)}
.s9-summary b{color:#b97814;font-size:var(--yk-type-section);font-weight:var(--yk-weight-title)}

/* 学科标签 */
.s9-tabs{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:0;padding-bottom:14px;border-bottom:1px solid var(--s9-line)}
.s9-tabs button{padding:8px 15px;border:1px solid var(--s9-line);border-radius:999px;background:#fff;color:#4a6472;font-size:var(--yk-type-control);line-height:var(--yk-line-ui)}
.s9-tabs button:hover{background:var(--s9-hover);border-color:#bfe0dd;color:var(--s9-teal)}
.s9-tabs button.on{background:#e6f4f2;border-color:#b9dcd9;color:var(--s9-teal);font-weight:700}

/* 卡片 3×2 */
.s9-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.s9-card{border:1px solid var(--s9-line);border-radius:12px;background:#fff;padding:16px 16px 15px;display:flex;flex-direction:column;gap:9px;min-width:0}
.s9-card:hover{border-color:#bfe0dd;box-shadow:0 2px 10px #1130470f}
.s9-card-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.s9-resource-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:#fff4df;color:#b87512}
.s9-resource-icon svg{width:23px;height:23px}
.s9-card-top h3{flex:1}
.s9-card-top .s9-subject{font-size:var(--yk-type-micro);color:var(--s9-muted)}
.s9-card-top h3{font-size:var(--yk-type-card);line-height:var(--yk-line-ui);overflow-wrap:anywhere;font-weight:var(--yk-weight-title)}
.s9-subject{flex:none;padding:2px 9px;border-radius:999px;background:#eef4f6;color:#4a6472;font-size:var(--yk-type-micro);font-weight:var(--yk-weight-title);white-space:nowrap;line-height:var(--yk-line-ui)}
.s9-chip{display:inline-flex;align-self:flex-start;padding:3px 9px;border:1px solid #dbe9ec;border-radius:7px;background:var(--s9-soft);color:#5b7683;font-size:var(--yk-type-micro);line-height:var(--yk-line-ui)}
.s9-case{font-size:var(--yk-type-body);color:#42556a;line-height:var(--yk-line-reading);overflow-wrap:anywhere;flex:1 1 auto}
.s9-card-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:2px}
.s9-card-actions button{flex:1 1 0;min-height:38px;padding:8px 12px;border:1px solid #cfe0e4;border-radius:9px;background:#fff;color:var(--s9-teal);font-weight:var(--yk-weight-title);font-size:var(--yk-type-control)}
.s9-card-actions button:hover{background:var(--s9-hover)}
.s9-card-actions button[aria-expanded="true"]{background:#e6f4f2;border-color:#b9dcd9}
.s9-panel{margin-top:3px;padding:11px 13px;border:1px solid #e2edf0;border-radius:10px;background:var(--s9-soft);font-size:var(--yk-type-meta);color:#42556a;line-height:var(--yk-line-ui);overflow-wrap:anywhere}
.s9-panel b{display:inline-block;margin-right:7px;color:var(--s9-teal);font-size:var(--yk-type-meta);font-weight:var(--yk-weight-title)}
.s9-panel p{display:inline}
.s9-empty{margin-top:16px;padding:16px;border:1px dashed var(--s9-line);border-radius:10px;background:var(--s9-soft);color:var(--s9-muted);font-size:var(--yk-type-meta);text-align:center}
.s9-source{margin-top:14px;font-size:var(--yk-type-meta);color:var(--s9-muted)}

/* 右栏 */
.s9-rail{display:grid;gap:16px;min-width:0}
.s9-review-tabs{display:flex;gap:18px;margin-top:16px;border-bottom:1px solid var(--s9-line)}
.s9-review-tabs button{border:0;border-bottom:3px solid transparent;background:none;padding:9px 3px;color:var(--s9-muted);font-size:var(--yk-type-control)}
.s9-review-tabs button.on{color:var(--s9-teal);border-bottom-color:var(--s9-teal);font-weight:600}
.tracks09 [data-s9-review-panel][hidden]{display:none}
.s9-today,.s9-wechat{border:1px solid var(--s9-line);border-radius:12px;background:#fff;padding:17px 17px 18px;min-width:0}
.s9-rail-head{display:flex;align-items:baseline;gap:12px;justify-content:space-between;flex-wrap:wrap}
.s9-rail-head h2{font-size:var(--yk-type-section);line-height:var(--yk-line-ui);flex:1 1 140px;font-weight:var(--yk-weight-title)}
.s9-more{border:0;background:none;color:var(--s9-teal);font-weight:var(--yk-weight-title);font-size:var(--yk-type-meta);padding:4px 6px;border-radius:8px;white-space:nowrap;flex:0 0 auto}
.s9-more:hover{background:var(--s9-hover)}
.s9-today h3{margin-top:15px;font-size:var(--yk-type-meta);color:var(--s9-muted);font-weight:var(--yk-weight-title)}
.s9-rail-list{margin-top:9px;display:grid;gap:8px}
.s9-rail-list li{display:flex;align-items:center;gap:9px;flex-wrap:wrap;border:1px solid #e6eef1;border-radius:10px;background:var(--s9-soft);font-size:var(--yk-type-meta);padding:10px 12px}
.s9-rail-list li>a{display:flex;align-items:center;gap:9px;flex:1 1 auto;min-width:0}
.s9-rail-list b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:var(--yk-type-micro);flex:none}
.s9-rail-list li.done b{background:#0b7775;color:#fff}
.s9-rail-list li.todo b{background:#fff;border:1px solid #cfd9df;color:#8798a6}
.s9-rail-list span{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.s9-rail-list small{color:var(--s9-muted);font-size:var(--yk-type-micro);white-space:nowrap}
.s9-rail-list li.todo:hover{border-color:#bfe0dd;background:var(--s9-hover)}
.s9-rail-list li.todo a:hover span{color:var(--s9-teal)}
.s9-rail-note{margin-top:12px;font-size:var(--yk-type-micro);color:#8798a6;line-height:var(--yk-line-ui)}
.s9-wx-head{display:flex;align-items:center;gap:9px}
.s9-wx-head svg{color:var(--s9-teal-2)}
.s9-wx-head h2{font-size:var(--yk-type-card);font-weight:var(--yk-weight-title);line-height:var(--yk-line-ui)}
.s9-wx-lead{margin-top:10px;font-size:var(--yk-type-body);font-weight:var(--yk-weight-title);color:#26404f;line-height:var(--yk-line-reading)}
.s9-wx-text{margin-top:7px;font-size:var(--yk-type-meta);color:var(--s9-muted);line-height:var(--yk-line-ui)}
.s9-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:18px;padding:12px 16px;border:1px solid var(--s9-line);border-radius:10px;background:var(--s9-soft);color:var(--s9-muted);font-size:var(--yk-type-meta);line-height:var(--yk-line-ui)}
.s9-foot svg{width:16px;height:16px;color:var(--s9-teal-2)}

@media(max-width:1499px){
  .s9-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}@media(max-width:1100px){
  body:has(.tracks09)>main{padding:20px 20px 88px}
  .s9-layout{grid-template-columns:minmax(0,1fr)}
  .s9-head{grid-template-columns:minmax(0,1fr)}
  .s9-head h1{font-size:var(--yk-type-page)}
  .s9-summary{grid-auto-flow:column;gap:10px}
}
@media(max-width:760px){
  .s9-cards{grid-template-columns:minmax(0,1fr)}
  .s9-summary{grid-auto-flow:row}
}
@media(max-width:460px){
  body:has(.tracks09)>main{padding:14px 12px 84px}
  .s9-head h1{font-size:var(--yk-type-page)}
  .s9-sub{font-size:var(--yk-type-body)}
  .s9-tabs{gap:7px}
  .s9-tabs button{padding:7px 12px;font-size:var(--yk-type-control)}
  .s9-card{padding:14px}
  .s9-card-actions button{flex:1 1 100%}
}
