/* 剧本中心 · 共享设计系统 ds.css
   令牌全部取自 boss 已通过页（10/11/12–18/20/21）的实测计算样式，不新造风格。
   h1 29/650 · 页头描述 12 · 卡片圆角 14 · KPI 内边距 23/26、数值 32/600
   表头 11/500 底色 soft 内边距 14/20 · 单元格 21/20 · 主按钮 12/550 r9 内边距 12/18
   次按钮 12/400 内边距 11/15 · 标签 11 r20 内边距 3/9 · Tab 11/600 内边距 18/0 · main 内边距 38/40 */
:root{--g-h1:29px;--g-h1w:650;--g-r:14px;--g-r-btn:9px;--g-pad-card:23px 26px;--g-th-pad:14px 20px;--g-td-pad:21px 20px}
body main .page-heading,body main .page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin:0 0 30px;flex-wrap:nowrap}
body main .page-heading h1,body main .page-head h1,body main>h1{font-size:var(--g-h1)!important;font-weight:var(--g-h1w)!important;letter-spacing:-.6px;line-height:1.4;margin:0}
body main .page-heading p,body main .page-head p{font-size:12px!important;color:var(--muted);margin-top:8px!important;font-weight:400}
body main .page-head>div:last-child:not(:first-child){display:flex;gap:8px;flex-shrink:0}
body .overlay{background:rgba(10,10,12,.28)!important;backdrop-filter:none!important}

:root{--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--r-sm:9px;--r-md:12px;--r-lg:14px;--fs-body:13px;--fs-meta:12px;--fs-xs:11px;--surface:var(--card);--surface-2:var(--soft);--line:var(--border)}
/* ===== 数据页模式（23 / 34 基准） ===== */
.dx{display:flex;flex-direction:column;gap:26px}
.dx .kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.dx .kpi{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:23px 26px;display:flex;flex-direction:column;height:142px;box-sizing:border-box}
.dx .kpi .k-l{font-size:11px;color:var(--muted)}
.dx .kpi .k-v{font-size:32px;margin:13px 0 9px;letter-spacing:-1px;font-weight:600;letter-spacing:-.4px;font-variant-numeric:tabular-nums;line-height:1.2;white-space:nowrap}
.dx .kpi .k-v em{font-style:normal;font-size:var(--fs-body);font-weight:400;color:var(--muted);margin-left:6px;letter-spacing:0}
.dx .kpi .k-s{font-size:var(--fs-xs);color:var(--faint);margin-top:auto}
.dx .panel{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden}
.dx .panel-h{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px;height:56px;border-bottom:1px solid var(--line);min-height:56px;box-sizing:border-box}
.dx .panel-h h2{margin:0}
.dx .seg{display:flex;gap:2px;background:var(--surface-2);border-radius:var(--r-sm);padding:2px}
.dx .seg span{font-size:var(--fs-meta);padding:4px 12px;border-radius:5px;color:var(--muted);white-space:nowrap}
.dx .seg span.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.dx table{table-layout:fixed;width:100%;border-collapse:collapse}
.dx th{font-size:11px;color:var(--muted);font-weight:500;text-align:left;padding:0 20px;height:44px;background:var(--soft);border-bottom:1px solid var(--line);white-space:nowrap}
.dx td{padding:0 20px;height:71px;border-bottom:1px solid var(--line);font-size:var(--fs-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.dx tr:last-child td{border-bottom:0}
.dx th.r,.dx td.r{text-align:right}
.dx td.r{font-variant-numeric:tabular-nums}
.dx td.two{height:71px}
.dx td .l1{display:block;overflow:hidden;text-overflow:ellipsis;line-height:20px}
.dx td .l2{display:block;font-size:var(--fs-xs);color:var(--faint);line-height:16px;margin-top:2px;overflow:hidden;text-overflow:ellipsis}
.dx .muted{color:var(--muted)}
.dx .pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:3px 9px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--muted);white-space:nowrap;line-height:16px}
.dx .dot{width:6px;height:6px;border-radius:50%;background:var(--wait);display:inline-block}
.dx .dot.ok{background:var(--up)}.dx .dot.no{background:var(--faint)}
.dx .acts{display:flex;gap:var(--s4);justify-content:flex-end}
.dx .lnk{font-size:var(--fs-meta);color:var(--text);white-space:nowrap}
.dx .lnk.m{color:var(--muted)}
.dx .rank{display:grid;grid-template-columns:1fr auto;gap:var(--s4);align-items:center;padding:0 var(--s5);height:52px;border-bottom:1px solid var(--line)}
.dx .rank:last-child{border-bottom:0}
.dx .rank .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dx .rank .v{font-variant-numeric:tabular-nums;white-space:nowrap}
.dx .rank .v em{font-style:normal;color:var(--muted);margin-left:4px}
.dx .bar{height:4px;border-radius:2px;background:var(--surface-2);margin-top:6px;overflow:hidden}.dx .bar i{display:block;height:100%;background:var(--strong)}
.dx tr.is-sel td{background:var(--soft)}
/* 抽屉详情（34b） */
.dw{position:fixed;top:0;right:0;bottom:0;width:480px;background:var(--surface);border-left:1px solid var(--line);box-shadow:-24px 0 48px rgba(0,0,0,.08);display:flex;flex-direction:column;z-index:90}
.dw-h{padding:var(--s5);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s4)}
.dw-h .sub{font-size:var(--fs-meta);color:var(--muted);margin-top:var(--s1)}
.dw-b{flex:1;overflow:auto;padding:var(--s5);display:flex;flex-direction:column;gap:var(--s5)}
.dw-kv{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4) var(--s5)}
.dw-kv div span{display:block;font-size:var(--fs-xs);color:var(--faint)}
.dw-kv div b{display:block;font-size:var(--fs-body);font-weight:500;margin-top:2px;font-variant-numeric:tabular-nums}
.dw-sec h3{margin:0 0 var(--s2)}
.dw-box{background:var(--surface-2);border-radius:var(--r-md);padding:var(--s4)}
.dw-box p{margin:0;line-height:1.7}
.dw-diff{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}
.dw-diff .dw-box span{display:block;font-size:var(--fs-xs);color:var(--faint);margin-bottom:var(--s1)}
.dw textarea{width:100%;box-sizing:border-box;height:88px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:var(--s3);font:inherit;font-size:var(--fs-body);color:var(--text);resize:none}
.dw-f{padding:var(--s4) var(--s5);border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:var(--s2)}
.scrim{position:fixed;inset:0;background:rgba(10,10,12,.18);z-index:80}
/* 移动端 */
.mx{display:flex;flex-direction:column;gap:var(--s4)}
.mx .kpis{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}
.mx .kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s4);height:96px;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--s1)}
.mx .kpi.wide{grid-column:1/-1}
.mx .kpi .k-l{font-size:var(--fs-xs);color:var(--muted)}
.mx .kpi .k-v{font-size:20px;font-weight:600;letter-spacing:-.3px;font-variant-numeric:tabular-nums;white-space:nowrap}
.mx .kpi .k-v em{font-style:normal;font-size:var(--fs-meta);font-weight:400;color:var(--muted);margin-left:4px}
.mx .kpi .k-s{font-size:var(--fs-xs);color:var(--faint);margin-top:auto}
.mx .panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.mx .panel-h{display:flex;justify-content:space-between;align-items:center;padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);min-height:48px;box-sizing:border-box}
.mx .panel-h h2{margin:0}
.mx .seg{display:flex;gap:2px;background:var(--surface-2);border-radius:var(--r-sm);padding:2px;margin:var(--s3) var(--s4) 0;overflow:hidden}
.mx .seg span{flex:1;text-align:center;font-size:var(--fs-xs);padding:4px 0;border-radius:5px;color:var(--muted);white-space:nowrap}
.mx .seg span.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.mx .row{display:grid;grid-template-columns:1fr auto;gap:var(--s3);align-items:center;padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);min-height:64px;box-sizing:border-box}
.mx .row:last-child{border-bottom:0}
.mx .row .l1{font-size:var(--fs-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.mx .row .l2{font-size:var(--fs-xs);color:var(--faint);display:block;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mx .row .r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.mx .row .r .l2{text-align:right}
.mx .row .meta{display:flex;gap:var(--s2);align-items:center;margin-top:6px}
.mx .pill{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);white-space:nowrap;line-height:18px}
.mx .dot{width:6px;height:6px;border-radius:50%;background:var(--wait);display:inline-block}
.mx .dot.ok{background:var(--up)}
.mx .row.is-sel{background:var(--soft)}
.mx .lnk{font-size:var(--fs-meta);color:var(--text)}
.msheet{position:fixed;left:0;bottom:0;width:390px;max-height:86vh;overflow:auto;background:var(--surface);border-radius:var(--r-lg) var(--r-lg) 0 0;z-index:90;box-shadow:0 -16px 48px rgba(0,0,0,.12);box-sizing:border-box;display:flex;flex-direction:column}
.msheet .grab{width:36px;height:4px;border-radius:2px;background:var(--strong);margin:8px auto 0}
.msheet .dw-h,.msheet .dw-b{padding-left:var(--s4);padding-right:var(--s4)}
.msheet .dw-b{gap:var(--s4)}
.msheet .dw-diff{grid-template-columns:1fr}
.msheet .dw-f{padding:var(--s3) var(--s4) var(--s5)}
.msheet .dw-f button{flex:1}


/* ===== 组件（由各页抽取进共享） ===== */

.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.skl .tabs{display:flex;gap:18px;border-bottom:1px solid var(--border);padding:0 20px}
.skl .tabs button{background:none;border:0;padding:14px 0;font-size:13px;color:var(--muted);border-bottom:2px solid transparent}
.skl .tabs button.selected{color:var(--text);font-weight:600;border-bottom-color:var(--text)}
.skl>.page-head{padding:0 20px;align-items:center}.skl>.page-head p{font-size:12px;color:var(--muted);margin-top:4px}
.skl>.page-head>div:last-child{display:flex;gap:8px;white-space:nowrap}
.skl .mcard-grid{padding:16px 20px 20px}
.skl .mcard{border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--card)}
.skl .mcard .mch{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:0;border:0}
.skl .mcard h3{font-size:15px}.skl .mcard small{font-size:12px;color:var(--muted)}
.skl .mcard .tag{white-space:nowrap}
.skl .mcard-meta{display:flex;gap:14px;font-size:12px;color:var(--muted)}.skl .mcard-meta span:first-child,.skl .mcard-meta span:nth-child(2){color:var(--text);font-weight:600}
.skl .m-cta{position:static;display:flex;flex-wrap:wrap;gap:4px 14px;padding:10px 0 0;border-top:1px solid var(--border);background:none;margin:auto 0 0}
.skl .text-button{background:none;border:0;padding:0;display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text);white-space:nowrap}
.skl .need{font-size:11px;color:var(--faint)}
.pol .page-head p,.pol>p.sub{font-size:12px!important;color:var(--muted);font-weight:400;margin-top:6px;line-height:1.6}
.pol h2,.pol .sec-t,.pol .mch h3,.pol .mch strong{font-size:14px!important;font-weight:600!important}
.pol p,.pol td,.pol li,.pol .ln{font-size:13px!important;line-height:1.7;font-weight:400}
.pol small,.pol .muted,.pol .mcard-meta,.pol .tag,.pol .chip,.pol th{font-size:11px!important;font-weight:400}
.pol .stat strong,.pol .kpi strong{font-size:18px!important;font-weight:600!important;letter-spacing:-.3px}
.pol .stat span,.pol .kpi span{font-size:11px!important;color:var(--muted);font-weight:400}
.pol .page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}
.pol .stats-grid,.pol .kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
.pol .card.stat,.pol .kpi{padding:16px 18px}
.pol .tabs{display:flex;gap:16px;border-bottom:1px solid var(--border);margin-bottom:4px}
.pol .tabs button{background:0;border:0;padding:12px 0;font-size:13px;color:var(--muted);border-bottom:2px solid transparent}
.pol .tabs button.selected{color:var(--text);font-weight:600;border-bottom-color:var(--text)}
.pol .group-h{font-size:11px!important;color:var(--faint);font-weight:500;letter-spacing:.04em;margin:22px 0 10px;text-transform:none}
.pol .n-row{display:grid;grid-template-columns:36px 1fr auto;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:10px;margin:0 -4px}
.pol .n-row.unread{background:var(--hover)}
.pol .n-row.unread .n-t{font-weight:600}
.pol .n-ico{width:36px;height:36px;border-radius:50%;background:var(--hover);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pol .n-t{font-size:13px;line-height:1.45}.pol .n-d{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.55}
.pol .n-r{text-align:right;white-space:nowrap}.pol .n-r .tm{font-size:11px;color:var(--faint);font-variant-numeric:tabular-nums;display:block;margin-bottom:8px}
.pol .ghost{font-size:11px;padding:4px 10px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text)}
.pol .pill-thin{font-size:11px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;color:var(--muted)}
.pol td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;vertical-align:middle}
.pol td.num strong{display:block;font-size:13px;font-weight:500}
.pol td.num small{display:block;font-size:11px;color:var(--muted);margin-top:2px;font-weight:400}
.pol .sec{margin-top:22px}.pol .sec>.ch{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.pol .char-g{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:16px 18px}
.pol .char{border:1px solid var(--border);border-radius:10px;padding:12px 14px}.pol .char b{font-size:13px;font-weight:600;display:block}.pol .char span{font-size:11px;color:var(--muted);margin-top:4px;display:block;line-height:1.5}
.pol .tl{padding:8px 18px 18px}.pol .tl-i{display:grid;grid-template-columns:14px 1fr;gap:12px;padding:10px 0}
.pol .tl-i i{width:8px;height:8px;border-radius:50%;background:var(--strong);margin-top:6px;display:block}
.pol .lock-i{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--border)}.pol .lock-i:last-child{border:0}
.pol .meta-line{font-size:12px;color:var(--muted);margin:-8px 0 18px}


  .modal-backdrop {
    position: fixed;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(24, 29, 36, 0.42);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
    color:var(--text);
  }

  .modal {
    width: min(560px, calc(100vw - 32px));
    max-height: min(720px, calc(100vh - 48px));
    overflow: auto;
    background:var(--card);
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: 0 18px 48px rgba(24, 29, 36, 0.16);
  }

  .modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 24px 12px;
  }

  .modal-header h2 {
    margin: 0;
    font-size: 18px;
    line-height: 26px;
    font-weight: 600;
    letter-spacing: 0;
  }

  .modal-close {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    background: transparent;
    color:var(--muted);
    cursor: pointer;
    font-size: 18px;
  }

  .modal-close:hover {
    color:var(--text);
  }

  .modal-intro {
    margin: 0;
    padding: 0 24px 18px;
    color:var(--muted);
    font-size: 12px;
    line-height: 20px;
  }

  .modal-body {
    padding: 0 24px 20px;
  }

  .field-label {
    display: block;
    margin-bottom: 8px;
    color:var(--text);
    font-size: 13px;
    line-height: 20px;
  }

  .review-textarea {
    display: block;
    width: 100%;
    min-height: 158px;
    box-sizing: border-box;
    resize: vertical;
    padding: 12px 13px;
    border: 1px solid var(--border);
    border-radius: 6px;
    outline: 0;
    color:var(--text);
    background:var(--card);
    font: inherit;
    font-size: 13px;
    line-height: 21px;
  }

  .review-textarea::placeholder,
  .compare-input::placeholder {
    color:var(--faint);
  }

  .review-textarea:focus,
  .compare-input:focus {
    border-color:var(--border);
    box-shadow: 0 0 0 3px rgba(91, 126, 157, 0.12);
  }

  .review-details {
    margin-top: 18px;
    border-top: 1px solid var(--border);
  }

  .review-details summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 15px 0 12px;
    color:var(--text);
    cursor: pointer;
    list-style: none;
    font-size: 13px;
    line-height: 20px;
  }

  .review-details summary::-webkit-details-marker {
    display: none;
  }

  .summary-hint {
    color:var(--faint);
    font-size: 11px;
  }

  .summary-icon {
    display: inline-flex;
    color:var(--muted);
    transition: transform 160ms ease;
  }

  .review-details[open] .summary-icon {
    transform: rotate(90deg);
  }

  .chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-bottom: 17px;
  }

  .chip {
    min-height: 30px;
    padding: 5px 11px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background:var(--card);
    color:var(--muted);
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    line-height: 18px;
  }

  .chip.selected {
    border-color:var(--border);
    background:var(--soft);
    color:var(--muted);
  }

  .compare-section {
    padding-top: 1px;
  }

  .compare-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
  }

  .compare-heading .field-label {
    margin: 0;
  }

  .compare-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
  }

  .compare-input {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 9px 10px;
    border: 1px solid var(--border);
    border-radius: 5px;
    outline: 0;
    color:var(--text);
    background:var(--card);
    font: inherit;
    font-size: 12px;
    line-height: 18px;
  }

  .compare-arrow {
    color:var(--faint);
    text-align: center;
    font-size: 13px;
  }

  .text-button {
    padding: 0;
    border: 0;
    background: transparent;
    color:var(--muted);
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    line-height: 20px;
  }

  .text-button:hover {
    color:var(--text);
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  .modal-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 24px 20px;
    border-top: 1px solid var(--border);
  }

  .secondary,
  .primary {
    min-height: 38px;
    padding: 8px 16px;
    border-radius: 5px;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    line-height: 20px;
  }

  .secondary {
    border: 1px solid var(--border);
    background:var(--card);
    color:var(--text);
  }

  .secondary:hover {
    background:var(--card);
  }

  .primary {
    border: 1px solid var(--border);
    background:var(--hover);
    color:var(--faint);
  }

  .primary:hover {
    background:var(--hover);
  }

  @media (max-width: 520px) {
    .modal-backdrop {
      padding: 16px;
    }

    .modal-header,
    .modal-body {
      padding-left: 18px;
      padding-right: 18px;
    }

    .modal-footer {
      padding-left: 18px;
      padding-right: 18px;
    }

    .compare-row {
      grid-template-columns: minmax(0, 1fr);
      gap: 6px;
    }

    .compare-arrow {
      display: none;
    }
  }
.pol .page-head p,.pol>p.sub{font-size:12px!important;color:var(--muted);font-weight:400;margin-top:6px;line-height:1.6}
.pol h2,.pol .sec-t,.pol .mch h3,.pol .mch strong{font-size:14px!important;font-weight:600!important}
.pol p,.pol td,.pol li,.pol .ln{font-size:13px!important;line-height:1.7;font-weight:400}
.pol small,.pol .muted,.pol .mcard-meta,.pol .tag,.pol .chip,.pol th{font-size:11px!important;font-weight:400}
.pol .stat strong,.pol .kpi strong{font-size:18px!important;font-weight:600!important;letter-spacing:-.3px}
.pol .stat span,.pol .kpi span{font-size:11px!important;color:var(--muted);font-weight:400}
.pol .page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}
.pol .stats-grid,.pol .kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
.pol .card.stat,.pol .kpi{padding:16px 18px}
.pol .tabs{display:flex;gap:16px;border-bottom:1px solid var(--border);margin-bottom:4px}
.pol .tabs button{background:0;border:0;padding:12px 0;font-size:13px;color:var(--muted);border-bottom:2px solid transparent}
.pol .tabs button.selected{color:var(--text);font-weight:600;border-bottom-color:var(--text)}
.pol .group-h{font-size:11px!important;color:var(--faint);font-weight:500;letter-spacing:.04em;margin:22px 0 10px;text-transform:none}
.pol .n-row{display:grid;grid-template-columns:36px 1fr auto;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:10px;margin:0 -4px}
.pol .n-row.unread{background:var(--hover)}
.pol .n-row.unread .n-t{font-weight:600}
.pol .n-ico{width:36px;height:36px;border-radius:50%;background:var(--hover);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pol .n-t{font-size:13px;line-height:1.45}
.pol .n-d{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.55}
.pol .n-r{text-align:right;white-space:nowrap}
.pol .n-r .tm{font-size:11px;color:var(--faint);font-variant-numeric:tabular-nums;display:block;margin-bottom:8px}
.pol .ghost{font-size:11px;padding:4px 10px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text)}
.pol .pill-thin{font-size:11px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;color:var(--muted)}
.pol td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;vertical-align:middle}
.pol td.num strong{display:block;font-size:13px;font-weight:500}
.pol td.num small{display:block;font-size:11px;color:var(--muted);margin-top:2px;font-weight:400}
.pol .sec{margin-top:22px}
.pol .sec>.ch{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.pol .char-g{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:16px 18px}
.pol .char{border:1px solid var(--border);border-radius:10px;padding:12px 14px}
.pol .char b{font-size:13px;font-weight:600;display:block}
.pol .char span{font-size:11px;color:var(--muted);margin-top:4px;display:block;line-height:1.5}
.pol .tl{padding:8px 18px 18px}
.pol .tl-i{display:grid;grid-template-columns:14px 1fr;gap:12px;padding:10px 0}
.pol .tl-i i{width:8px;height:8px;border-radius:50%;background:var(--strong);margin-top:6px;display:block}
.pol .lock-i{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--border)}
.pol .lock-i:last-child{border:0}
.pol .meta-line{font-size:12px;color:var(--muted);margin:-8px 0 18px}
.m-group{margin:28px 0}
.m-group-title{margin:0 0 12px;font-size:12px;font-weight:500;color:var(--muted)}
.notification{display:flex;align-items:flex-start;gap:14px;padding:20px;margin:0 0 10px}
.notification.unread{background:var(--hover,#f7f7f7)}
.notice-icon{width:36px;height:36px;flex:0 0 36px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--muted)}
.notice-body{min-width:0;flex:1}
.notice-body h3{margin:0;font-size:14px;font-weight:400}
.notification.unread h3{font-weight:600}
.notice-body p{margin:7px 0 11px;font-size:13px;line-height:1.6;color:var(--muted,#777)}
.notification time{flex:0 0 auto;margin-left:12px;text-align:right;font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted,#888)}
.notification .tag{font-size:11px}
.points-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 24px}
.points-kpis .card{padding:18px}
.points-kpis label{display:block;color:var(--muted);font-size:12px;margin-bottom:10px}
.points-kpis strong{font-size:20px;font-variant-numeric:tabular-nums}
.points-rank{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 24px}
.points-rank .card{padding:16px}
.points-rank small{display:block;color:var(--muted);font-size:11px;margin-top:6px}
.points-table td:nth-last-child(-n+2),.points-table th:nth-last-child(-n+2){text-align:right;font-variant-numeric:tabular-nums}
.points-mobile{display:none}
.rv .modal h2,.rv .drawer h2,.rv .sheet h2{font-size:18px!important;font-weight:600!important}
.rv p,.rv textarea,.rv td,.rv label{font-size:13px!important;line-height:1.65;font-weight:400}
.rv small,.rv .chip,.rv .tag,.rv .hint{font-size:11px!important;color:var(--muted);font-weight:400}
.rv .chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.rv .chip.on{border-color:var(--text);color:var(--text)}
.rv textarea{width:100%;min-height:110px;border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--card);color:var(--text);resize:vertical;box-sizing:border-box}
.rv .pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0}
.rv .pair input{border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:var(--card);color:var(--text);font-size:13px}
.rv .modal-foot,.rv .drawer .m-cta,.rv .sheet .m-cta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;position:static;padding:0;background:none;border:0}
.rv .skip{font-size:13px;padding:8px 16px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text)}
.rv .opt{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}
.rv .opt-t{font-size:12px;color:var(--muted);margin-bottom:8px}
.review-backdrop{position: fixed;
    inset: 0;
    display: flex;
    justify-content: flex-end;
    background: rgba(25, 31, 35, .34);
    color:var(--text);
    font-family: Inter, "Noto Sans SC", sans-serif;}
.review-drawer{width: min(520px, 100%);
    height: 100%;
    display: flex;
    flex-direction: column;
    background:var(--card);
    border-left: 1px solid var(--border);}
.review-head{min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 22px;
    border-bottom: 1px solid var(--border);}
.review-heading{min-width: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;}
.review-status{padding: 3px 8px;
    border: 1px solid var(--border);
    border-radius: 4px;
    color:var(--muted);
    font-size: 12px;
    line-height: 1.4;
    white-space: nowrap;}
.icon-button,
  .remove-button{display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    border: 0;
    background: transparent;
    color:var(--muted);
    cursor: pointer;}
.icon-button{width: 32px;
    height: 32px;}
.review-content{flex: 1;
    overflow: auto;
    padding: 22px;}
.review-section + .review-section{margin-top: 25px;}
.review-section h2{margin: 0;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 600;}
.optional{margin-left: 5px;
    color:var(--muted);
    font-size: 11px;
    font-weight: 400;}
.review-section > textarea{margin-top: 10px;
    min-height: 118px;}
.tag-list{display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 11px;}
.tag{min-height: 30px;
    padding: 5px 10px;
    border: 1px solid var(--border);
    border-radius: 4px;
    background:var(--card);
    color:var(--muted);
    font-size: 12px;
    cursor: pointer;}
.tag[aria-pressed="true"]{border-color:var(--border);
    background:var(--soft);
    color:var(--muted);}
.section-heading{display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;}
.add-button{display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 0;
    background: transparent;
    color:var(--muted);
    font-size: 12px;
    cursor: pointer;}
.comparison-list{display: grid;
    gap: 12px;
    margin-top: 11px;}
.comparison-item{padding: 12px;
    border: 1px solid var(--border);
    border-radius: 4px;}
.comparison-title{display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 9px;
    color:var(--muted);
    font-size: 12px;}
.comparison-divider{color:var(--faint);}
.remove-button{width: 24px;
    height: 24px;
    margin-left: auto;
    font-size: 18px;}
.comparison-fields{display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;}
.comparison-fields textarea{min-height: 76px;}
.review-footer{padding: 13px 22px 18px;
    border-top: 1px solid var(--border);
    background:var(--card);}
.review-footer p{margin: 0 0 12px;
    color:var(--muted);
    font-size: 12px;
    line-height: 1.5;}
.footer-actions{display: flex;
    justify-content: flex-end;
    gap: 9px;}
.secondary,
  .primary{min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 13px;
    border: 1px solid var(--border);
    border-radius: 4px;
    font-size: 13px;
    cursor: pointer;}
.secondary{background:var(--card);
    color:var(--text);}
.primary{border-color: var(--border);
    background:var(--hover);
    color:var(--faint);}
.hot-page{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);font-size:13px;max-width:1120px;margin:0 auto;padding:24px;box-sizing:border-box}
.hot-page *{box-sizing:border-box}
.hot-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.hot-search{height:36px;width:280px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--border);border-radius:7px;background:var(--card);color:var(--muted)}
.hot-search input{border:0;outline:0;width:100%;font:inherit;color:var(--text);background:transparent}
.hot-hint{display:flex;align-items:flex-start;gap:7px;padding:10px 12px;margin-bottom:16px;border:1px solid var(--border);border-radius:7px;background:var(--card);color:var(--muted);line-height:1.5}
.hot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hot-card{min-width:0;padding:15px;border:1px solid var(--border);border-radius:9px;background:var(--card)}
.hot-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.hot-title{min-width:0}
.hot-title h2{font-size:14px;line-height:1.45;font-weight:600;margin:0 0 3px;overflow-wrap:anywhere}
.hot-cn{font-size:12px;color:var(--muted);line-height:1.45}
.hot-no{flex:none;color:var(--faint);font-size:12px;font-variant-numeric:tabular-nums}
.hot-pill{display:inline-flex;align-items:center;margin-top:7px;padding:2px 7px;border:1px solid var(--border);border-radius:10px;background:var(--soft);color:var(--muted);font-size:11px;line-height:1.4}
.hot-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;padding:11px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.hot-meta div{min-width:0}
.hot-meta dt{font-size:11px;color:var(--muted);margin-bottom:3px}
.hot-meta dd{font-size:12px;color:var(--text);margin:0;overflow-wrap:anywhere}
.hot-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:12px}
.hot-heat{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:12px}
.hot-actions{display:flex;align-items:center;gap:7px}
.hot-btn{height:30px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text);font:inherit;font-size:12px;white-space:nowrap}
.hot-btn.secondary{background:var(--card)}
.hot-btn:disabled{color:var(--faint);background:var(--soft);border-color:var(--border);cursor:not-allowed}
.hot-sheet{position:fixed;inset:0;z-index:5;display:flex;align-items:flex-end;justify-content:center;background:rgba(30,35,36,.25)}
.hot-sheet-panel{width:min(100%,520px);padding:10px 20px 20px;border-radius:16px 16px 0 0;background:var(--card);box-shadow:0 -8px 32px rgba(0,0,0,.08)}
.hot-grab{width:34px;height:4px;margin:0 autgpt-6-astra;border-radius:4px;background:var(--soft)}
.hot-sheet-panel h2{font-size:14px;font-weight:600;margin:0 0 8px}
.hot-sheet-panel p{font-size:13px;line-height:1.55;color:var(--muted);margin:0 0 15px}
.hot-sheet-actions{display:flex;justify-content:flex-end}
.hot-know{height:34px;padding:0 16px;border:1px solid var(--border);border-radius:6px;background:var(--soft);color:var(--text);font:inherit;font-size:13px}
.script-page{font-family:Arial,"Microsoft YaHei",sans-serif;color:var(--text);font-size:13px;max-width:960px}
.m-head{margin-bottom:16px}
.mrow{display:flex;align-items:center;justify-content:space-between;gap:12px}
.count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:12px;background:var(--soft);color:var(--muted);font-size:12px;font-weight:500;vertical-align:2px}
.m-head p{margin:5px 0 0;color:var(--muted);font-size:12px}
.secondary{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--border);border-radius:7px;background:var(--card);color:var(--text);font-size:12px}
.secondary:disabled{background:var(--soft);color:var(--faint);border-color:var(--border);cursor:not-allowed}
.mkpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}
.mkpis>div{padding:12px 14px;border:1px solid var(--border);border-radius:9px;background:var(--card)}
.mkpis label{display:block;color:var(--muted);font-size:12px}
.mkpis strong{display:block;margin-top:5px;font-size:18px;font-weight:600;line-height:1.2}
.mtabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.mtabs button{padding:6px 11px;border:1px solid var(--border);border-radius:16px;background:var(--card);color:var(--muted);font-size:12px}
.mtabs button.on{border-color:var(--border);background:var(--soft);color:var(--text)}
.mcard{margin-bottom:10px;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--card)}
.mch h2{margin:0;font-size:14px;font-weight:600;line-height:1.45}
.mch small{display:block;margin-top:4px;color:var(--muted);font-size:11px}
.mkv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}
.mkv dl{margin:0;min-width:0}
.mkv dt{margin-bottom:5px;color:var(--muted);font-size:11px}
.mkv dd{margin:0;color:var(--text);font-size:12px}
.mode,.lang{display:inline-flex;align-items:center;padding:3px 8px;border-radius:12px;background:var(--soft);color:var(--muted);font-size:11px}
.mrow.bottom{padding-top:10px;border-top:1px solid var(--border)}
.mmeta{color:var(--muted);font-size:11px}
.dot{display:inline-block;width:3px;height:3px;margin:0 7px 2px;border-radius:50%;background:var(--hover)}
.st{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--border);border-radius:14px;background:var(--card);color:var(--muted);font-size:11px;white-space:nowrap}
.st i{width:6px;height:6px;border-radius:50%;background:var(--hover)}
.st.done{background:var(--soft);border-color:var(--border);color:var(--muted)}
.st.done i{background:var(--hover)}
.st.production{background:var(--soft);border-color:var(--border);color:var(--muted)}
.st.production i{background:var(--hover)}
.text-button{display:inline-flex;align-items:center;gap:5px;margin-top:10px;padding:0;border:0;background:none;color:var(--muted);font-size:12px}
.text-button.view{margin-top:0}
.sheet-backdrop{position:fixed;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:16px;background:rgba(28,34,40,.22)}
.grab{width:34px;height:4px;margin:0 autgpt-6-astra;border-radius:4px;background:var(--soft)}
.sheet h2{margin:0 0 6px;font-size:14px;font-weight:600}
.sheet p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.sheet-actions{display:flex;gap:8px;margin-top:14px}
.sheet-actions button{min-height:36px;padding:8px 14px;border-radius:7px;font-size:12px}
.sheet-actions .skip{border:1px solid var(--border);background:var(--card);color:var(--text)}
.sheet-actions .disabled-action{border:1px solid var(--border);background:var(--soft);color:var(--faint);cursor:not-allowed}
.claim-overlay{position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(24, 29, 35, .42);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color:var(--text);}
.claim-modal{width: min(460px, 100%);
    padding: 24px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background:var(--card);
    box-shadow: 0 16px 48px rgba(20, 27, 36, .18);}
.claim-title{margin: 0;
    font-size: 20px;
    line-height: 28px;
    font-weight: 600;
    letter-spacing: -.2px;}
.claim-script{margin: 8px 0 20px;
    color:var(--muted);
    font-size: 13px;
    line-height: 20px;}
.claim-reason{padding: 14px 15px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background:var(--card);}
.claim-reason-label{display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 6px;
    color:var(--muted);
    font-size: 12px;
    line-height: 18px;}
.claim-reason-label .icon{color:var(--muted);}
.claim-reason p{margin: 0;
    color:var(--text);
    font-size: 13px;
    line-height: 20px;}
.claim-alt{margin-top: 18px;}
.claim-alt-note{margin: 0 0 9px;
    color:var(--muted);
    font-size: 12px;
    line-height: 18px;}
.claim-languages{display: grid;
    gap: 8px;}
.claim-language{display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 40px;
    padding: 0 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background:var(--card);
    color:var(--text);
    font-size: 13px;}
.claim-language button{padding: 5px 0 5px 10px;
    border: 0;
    background: transparent;
    color:var(--muted);
    font: inherit;
    cursor: pointer;}
.claim-language button:hover{color:var(--text);}
.claim-actions{display: flex;
    gap: 10px;
    margin-top: 22px;}
.claim-actions button{min-height: 42px;
    border-radius: 8px;
    font-family: inherit;
    font-size: 13px;
    cursor: pointer;}
.claim-dismiss{flex: 1;
    border: 1px solid var(--border);
    background:var(--card);
    color:var(--text);
    font-weight: 600;}
.claim-dismiss:hover{background:var(--card);}
.claim-confirm{flex: 1;
    border: 1px solid var(--border);
    background:var(--soft);
    color:var(--faint);
    font-weight: 500;
    cursor: not-allowed !important;}
.claim-grab{display: none;}
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.skl .tabs{display:flex;gap:18px;border-bottom:1px solid var(--border);padding:0 20px}
.skl .tabs button{background:none;border:0;padding:14px 0;font-size:13px;color:var(--muted);border-bottom:2px solid transparent}
.skl .tabs button.selected{color:var(--text);font-weight:600;border-bottom-color:var(--text)}
.skl>.page-head{padding:0 20px;align-items:center}
.skl>.page-head p{font-size:12px;color:var(--muted);margin-top:4px}
.skl>.page-head>div:last-child{display:flex;gap:8px;white-space:nowrap}
.skl .mcard-grid{padding:16px 20px 20px}
.skl .mcard{border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--card)}
.skl .mcard .mch{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:0;border:0}
.skl .mcard h3{font-size:15px}
.skl .mcard small{font-size:12px;color:var(--muted)}
.skl .mcard .tag{white-space:nowrap}
.skl .mcard-meta{display:flex;gap:14px;font-size:12px;color:var(--muted)}
.skl .mcard-meta span:first-child,.skl .mcard-meta span:nth-child(2){color:var(--text);font-weight:600}
.skl .m-cta{position:static;display:flex;flex-wrap:wrap;gap:4px 14px;padding:10px 0 0;border-top:1px solid var(--border);background:none;margin:auto 0 0}
.skl .text-button{background:none;border:0;padding:0;display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text);white-space:nowrap}
.skl .need{font-size:11px;color:var(--faint)}
.modal-header{display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 24px 12px;}
.modal-header h2{margin: 0;
    font-size: 18px;
    line-height: 26px;
    font-weight: 600;
    letter-spacing: 0;}
.modal-close{display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    background: transparent;
    color:var(--muted);
    cursor: pointer;
    font-size: 18px;}
.modal-close:hover{color:var(--text);}
.modal-intro{margin: 0;
    padding: 0 24px 18px;
    color:var(--muted);
    font-size: 12px;
    line-height: 20px;}
.modal-body{padding: 0 24px 20px;}
.field-label{display: block;
    margin-bottom: 8px;
    color:var(--text);
    font-size: 13px;
    line-height: 20px;}
.review-textarea{display: block;
    width: 100%;
    min-height: 158px;
    box-sizing: border-box;
    resize: vertical;
    padding: 12px 13px;
    border: 1px solid var(--border);
    border-radius: 6px;
    outline: 0;
    color:var(--text);
    background:var(--card);
    font: inherit;
    font-size: 13px;
    line-height: 21px;}
.review-textarea::placeholder,
  .compare-input::placeholder{color:var(--faint);}
.review-textarea:focus,
  .compare-input:focus{border-color:var(--border);
    box-shadow: 0 0 0 3px rgba(91, 126, 157, 0.12);}
.review-details{margin-top: 18px;
    border-top: 1px solid var(--border);}
.review-details summary{display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 15px 0 12px;
    color:var(--text);
    cursor: pointer;
    list-style: none;
    font-size: 13px;
    line-height: 20px;}
.review-details summary::-webkit-details-marker{display: none;}
.summary-hint{color:var(--faint);
    font-size: 11px;}
.summary-icon{display: inline-flex;
    color:var(--muted);
    transition: transform 160ms ease;}
.review-details[open] .summary-icon{transform: rotate(90deg);}
.chip-list{display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-bottom: 17px;}
.chip{min-height: 30px;
    padding: 5px 11px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background:var(--card);
    color:var(--muted);
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    line-height: 18px;}
.chip.selected{border-color:var(--border);
    background:var(--soft);
    color:var(--muted);}
.compare-section{padding-top: 1px;}
.compare-heading{display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;}
.compare-heading .field-label{margin: 0;}
.compare-row{display: grid;
    grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;}
.compare-input{width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 9px 10px;
    border: 1px solid var(--border);
    border-radius: 5px;
    outline: 0;
    color:var(--text);
    background:var(--card);
    font: inherit;
    font-size: 12px;
    line-height: 18px;}
.compare-arrow{color:var(--faint);
    text-align: center;
    font-size: 13px;}
.text-button{padding: 0;
    border: 0;
    background: transparent;
    color:var(--muted);
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    line-height: 20px;}
.text-button:hover{color:var(--text);
    text-decoration: underline;
    text-underline-offset: 3px;}
.modal-footer{display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 24px 20px;
    border-top: 1px solid var(--border);}
.secondary,
  .primary{min-height: 38px;
    padding: 8px 16px;
    border-radius: 5px;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    line-height: 20px;}
.secondary{border: 1px solid var(--border);
    background:var(--card);
    color:var(--text);}
.secondary:hover{background:var(--card);}
.primary{border: 1px solid var(--border);
    background:var(--hover);
    color:var(--faint);}
.primary:hover{background:var(--hover);}
.review-drawer,
  .review-drawer *{box-sizing: border-box;}
.review-drawer{position: fixed;
    inset: 0 0 0 auto;
    width: min(520px, 100vw);
    display: flex;
    flex-direction: column;
    background:var(--card);
    color:var(--text);
    border-left: 1px solid var(--border);
    box-shadow: -12px 0 30px rgba(24, 31, 39, 0.08);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 13px;
    line-height: 1.5;}
.review-drawer__header{display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 24px 18px;
    border-bottom: 1px solid var(--border);}
.review-drawer__title{margin: 0;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 600;
    letter-spacing: 0;}
.review-drawer__subtitle{margin: 5px 0 0;
    color:var(--muted);
    font-size: 12px;}
.icon-button,
  .secondary,
  .primary,
  .text-button,
  .tag-option{border: 0;
    font: inherit;
    cursor: pointer;}
.icon-button{flex: 0 0 auto;
    padding: 2px 0;
    color:var(--muted);
    background: transparent;
    font-size: 12px;}
.icon-button:hover,
  .text-button:hover{color:var(--text);}
.review-drawer__body{flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 20px 24px 24px;}
.review-section + .review-section{margin-top: 24px;}
.review-section__heading{display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;}
.review-section__title{margin: 0;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;}
.review-section__hint{color:var(--faint);
    font-size: 11px;}
.status-pill{display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 26px;
    padding: 3px 9px;
    border: 1px solid var(--border);
    border-radius: 999px;
    color:var(--muted);
    background:var(--soft);
    font-size: 12px;
    white-space: nowrap;}
.status-pill i{width: 6px;
    height: 6px;
    border-radius: 50%;
    background:var(--hover);}
.status-summary{margin: 8px 0 0;
    color:var(--muted);
    font-size: 12px;}
.review-textarea{display: block;
    width: 100%;
    min-height: 138px;
    padding: 12px 13px;
    resize: vertical;
    border: 1px solid var(--border);
    border-radius: 6px;
    outline: none;
    color:var(--text);
    background:var(--card);
    font: inherit;
    line-height: 1.65;}
.review-textarea:focus{border-color:var(--border);
    box-shadow: 0 0 0 3px rgba(110, 121, 132, 0.1);}
.tag-list{display: flex;
    flex-wrap: wrap;
    gap: 8px;}
.tag-option{padding: 6px 10px;
    border: 1px solid var(--border);
    border-radius: 5px;
    color:var(--muted);
    background:var(--card);
    font-size: 12px;}
.tag-option.selected{border-color:var(--border);
    color:var(--muted);
    background:var(--soft);}
.compare-list{display: grid;
    gap: 10px;}
.compare-item{padding: 12px 13px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background:var(--card);}
.compare-item__top{display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;}
.compare-item__label{color:var(--text);
    font-size: 13px;
    font-weight: 600;}
.compare-item__index{color:var(--faint);
    font-size: 11px;}
.compare-item__text{margin: 7px 0 0;
    color:var(--muted);
    font-size: 12px;
    line-height: 1.6;}
.review-drawer__note{display: flex;
    align-items: flex-start;
    gap: 7px;
    margin: 22px 0 0;
    color:var(--muted);
    font-size: 11px;
    line-height: 1.6;}
.review-drawer__note span:first-child{color:var(--faint);}
.review-drawer__footer{display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 15px 24px;
    border-top: 1px solid var(--border);
    background:var(--card);}
.footer-actions{display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;}
.secondary,
  .primary{min-height: 34px;
    padding: 7px 13px;
    border-radius: 5px;
    font-size: 13px;}
.secondary{border: 1px solid var(--border);
    color:var(--muted);
    background:var(--card);}
.primary{color:var(--faint);
    background:var(--hover);}
.primary:hover{background:var(--hover);}
.text-button{padding: 0;
    color:var(--muted);
    background: transparent;
    font-size: 12px;}
.rv37 .page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
.rv37 .page-heading p{font-size:12px;color:var(--muted);margin-top:6px}
.rv37 .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.rv37 .stat{padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--card)}
.rv37 .stat>span{font-size:11px;color:var(--muted)}
.rv37 .stat strong{display:block;font-size:18px;font-weight:600;margin-top:6px}
.rv37 .stat small{font-size:11px;color:var(--faint)}
.rv37 .workspace{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}
.rv37 .list-panel,.rv37 .extract-panel{border:1px solid var(--border);border-radius:12px;background:var(--card);padding:0}
.rv37 .filter-row{display:flex;flex-wrap:wrap;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border);align-items:center}
.rv37 .filter-pill{font-size:11px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted)}
.rv37 .filter-pill.selected{border-color:var(--text);color:var(--text)}
.rv37 .review-item{display:grid;grid-template-columns:20px 1fr auto;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}
.rv37 .review-item:last-child{border:0}
.rv37 .list-title{font-size:13px;font-weight:600}
.rv37 .meta,.rv37 .summary{font-size:12px;color:var(--muted);margin-top:4px}
.rv37 .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.rv37 .tag{font-size:11px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;color:var(--muted)}
.rv37 .item-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.rv37 .text-button{background:0;border:0;font-size:12px;color:var(--text);padding:0}
.rv37 .extract-panel{padding:16px;position:sticky;top:12px}
.rv37 .extract-heading h2{font-size:14px;font-weight:600}
.rv37 .extract-heading p{font-size:11px;color:var(--muted);margin-top:4px}
.rv37 .primary{margin-top:14px}
.script-detail{color:var(--text);
    font: 13px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;}
.script-detail *{box-sizing: border-box;}
.script-detail .card{background:var(--card);
    border: 1px solid var(--border);
    border-radius: 10px;}
.script-detail .detail-head{display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 20px;}
.script-detail .subtitle{margin: 0;
    color:var(--muted);
    font-size: 12px;}
.script-detail .meta-row{display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 13px;}
.script-detail .meta-pill,
  .script-detail .production-pill{display: inline-flex;
    align-items: center;
    gap: 5px;
    border: 1px solid var(--border);
    border-radius: 999px;
    padding: 3px 9px;
    color:var(--muted);
    background:var(--card);
    font-size: 11px;}
.script-detail .production-pill{border-color:var(--border);
    background:var(--soft);
    color:var(--muted);}
.script-detail .notice{display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 0 20px 18px;
    padding: 11px 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background:var(--card);
    color:var(--muted);
    font-size: 12px;}
.script-detail .notice-icon{color:var(--muted);}
.script-detail .tabs{display: flex;
    gap: 22px;
    padding: 0 20px;
    border-bottom: 1px solid var(--border);}
.script-detail .tab{position: relative;
    padding: 12px 0;
    border: 0;
    background: transparent;
    color:var(--muted);
    font: inherit;
    cursor: default;}
.script-detail .tab.selected{color:var(--text);
    font-weight: 600;}
.script-detail .tab.selected::after{position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    background:var(--hover);
    content: "";}
.script-detail .tab small{margin-left: 4px;
    color:var(--muted);
    font-size: 11px;}
.script-detail .version-area{padding: 18px 20px 20px;}
.script-detail .section-title{margin: 0 0 12px;
    color:var(--text);
    font-size: 14px;
    font-weight: 600;}
.script-detail .version-card{display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background:var(--card);}
.script-detail .version-name{margin: 0 0 5px;
    color:var(--text);
    font-size: 13px;
    font-weight: 600;}
.script-detail .version-info{display: flex;
    flex-wrap: wrap;
    gap: 14px;
    color:var(--muted);
    font-size: 11px;}
.script-detail .read-only{color:var(--muted);
    font-size: 11px;
    white-space: nowrap;}
.script-detail .actions{display: flex;
    justify-content: flex-end;
    gap: 9px;
    margin-top: 16px;}
.script-detail .button{display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background:var(--card);
    color:var(--muted);
    font: inherit;
    font-size: 12px;}
.script-detail .button:disabled{border-color:var(--border);
    background:var(--soft);
    color:var(--faint);
    cursor: not-allowed;}


/* ===== 移动端金标（实测 m-12 / m-18） ===== */
body .m-main .page-heading h1,body .m-main .page-head h1,body .m-main>h1{font-size:22px!important;font-weight:650!important;letter-spacing:-.4px;line-height:1.4;margin:0}
body .m-main .page-head,body .m-main .page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:0 0 20px}
body .m-main .page-head p,body .m-main .page-heading p{font-size:12px!important;color:var(--muted);margin-top:6px!important}
.mx .kpi,.mx .panel{border-radius:14px}
.mx .kpi{padding:16px;height:104px}
.mx .kpi .k-v{font-size:22px;font-weight:600}
.mx .pill{padding:3px 9px;border-radius:20px;border:1px solid var(--border);background:transparent;line-height:16px}
.dw-h h2,.msheet h2{font-size:16px!important;font-weight:600!important;margin:0}
.dw-sec h3{font-size:13px!important;font-weight:600!important;color:var(--text)}

.dx .rank{font-size:13px}.dx .rank .t,.dx .rank .v{font-size:13px}
.dx .kpi .k-v em{font-size:13px;font-weight:400;letter-spacing:0}
.dx .pill .dot{margin:0}
html,body{min-height:100%;background:var(--bg)}
.dx .rank .t{color:var(--text);font-weight:400}.dx .rank .v{color:var(--text);font-weight:500}.dx .rank .v em{font-weight:400}
.dx .panel-h h2{font-size:15px!important;font-weight:600!important}
.mx .kpi .k-v em{font-size:12px;font-weight:400;margin-left:2px}
.msheet textarea,.msheet .ta{width:100%;box-sizing:border-box}
/* 35 mobile sheet + 41 modal: gold tokens */
.sheet{max-height:88vh;overflow:auto}
.sheet>h1,.sheet h1{font-size:16px!important;font-weight:600!important;margin:0 0 8px}
.sheet .hint{font-size:12px;color:var(--muted);background:var(--soft);border-radius:10px;padding:10px 12px;margin:0 0 12px}
.sheet .actions{display:flex;gap:8px;margin:0 0 4px}.sheet .actions button{flex:1;height:38px;border-radius:9px;font-size:12px}
.sheet .field{margin-top:16px}.sheet .section-title{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:600;color:var(--text);margin:16px 0 8px}
.sheet .optional,.sheet .count{font-size:11px;font-weight:400;color:var(--faint);margin-left:6px}
.sheet .tags{display:flex;flex-wrap:wrap;gap:6px}.sheet .tag{font-size:11px;border:1px solid var(--border);border-radius:20px;padding:3px 9px;background:var(--card);color:var(--muted)}
.sheet .tag.selected{background:var(--soft);color:var(--text);border-color:var(--strong)}
.sheet .pair{display:grid;gap:6px;margin-bottom:8px}.sheet .pair-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--faint)}
.sheet .pair input{width:100%;box-sizing:border-box;height:36px;border:1px solid var(--border);border-radius:9px;padding:0 12px;background:var(--card);color:var(--text);font-size:13px}
.sheet .add-pair{font-size:12px;color:var(--muted);background:none;border:1px dashed var(--border);border-radius:9px;height:34px;width:100%}
.modal-backdrop{display:flex;align-items:center;justify-content:center}
.modal-backdrop .modal{width:420px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.18)}
.modal-backdrop .modal h1{font-size:16px!important;font-weight:600!important;margin:0 0 4px}
.modal-backdrop .script-name{font-size:12px;color:var(--muted);margin:0 0 16px}.modal-backdrop .script-name small{font-size:12px;color:var(--faint)}
.modal-backdrop .reason{font-size:13px;color:var(--muted);line-height:1.7;background:var(--soft);border-radius:10px;padding:12px 14px;margin-bottom:16px}
.modal-backdrop .reason strong{display:block;color:var(--text);font-weight:600;margin-bottom:2px}
.modal-backdrop .alternatives>p{font-size:12px;color:var(--faint);margin:0 0 6px}
.modal-backdrop .language-row{display:flex;justify-content:space-between;align-items:center;height:40px;border-top:1px solid var(--border);font-size:13px;color:var(--text)}
.modal-backdrop .text-button{background:none;border:0;font-size:12px;color:var(--text);cursor:pointer}
.modal-backdrop .modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
.modal-backdrop .button{font-size:12px;height:36px;padding:0 16px;border-radius:9px;border:1px solid var(--border);background:var(--card);color:var(--text)}
body .m-main .sheet h1,body .sheet h1{font-size:16px!important;font-weight:600!important;letter-spacing:0}
.modal-backdrop .language-row span{margin:0;line-height:1}.modal-backdrop .language-row .text-button{margin:0;padding:0;line-height:1}
.sheet .actions{margin-bottom:8px}
.sheet .actions .primary{background:#E8331F!important;color:#fff!important;border:0!important}
.sheet .actions .secondary{background:var(--card)!important;color:var(--text)!important;border:1px solid var(--border)!important}
/* 22 notifications (web) — gold list tokens */
.notification-list{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:4px 0 8px;margin-top:20px}
.notification-list .group-title{font-size:11px!important;font-weight:500!important;color:var(--faint);margin:18px 24px 8px;letter-spacing:.04em}
.notification-row{display:grid!important;grid-template-columns:32px 1fr 72px 120px;align-items:center;gap:16px;padding:14px 24px;border-top:1px solid var(--border);background:none!important}
.notification-row[style*="--hover"]{background:var(--soft)!important}
.notification-row[style*="--hover"] strong{font-weight:600}
.notification-icon{width:32px;height:32px;border-radius:50%;background:var(--soft);display:grid;place-items:center;color:var(--muted)}
.notification-row[style*="--hover"] .notification-icon{background:var(--card)}
.notification-content strong{display:block;font-size:13px;font-weight:500;color:var(--text)}
.notification-content p{margin:3px 0 0;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.notification-row .tag{justify-self:start;font-size:11px;border:1px solid var(--border);border-radius:20px;padding:3px 9px;color:var(--muted);background:none}
.notification-action{display:flex;justify-content:flex-end;align-items:center;gap:14px}
.notification-action time{font-size:12px;color:var(--faint);font-variant-numeric:tabular-nums}
.notification-action .ghost{font-size:12px;background:none;border:0;color:var(--text);padding:0}
.tabs small{font-size:11px;color:var(--faint);margin-left:2px}
.notification-list{border:0!important;border-radius:0!important;margin:0!important;background:none!important;padding:0 0 8px!important}
.notification-action>*{line-height:1}
/* ===== component recovery (gold tokens) ===== */
/* shared */
.search-box,.input-wrap{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border:1px solid var(--border);border-radius:9px;background:var(--card);min-width:240px}
.search-box input,.input-wrap input{flex:1;border:0;outline:0;background:none;color:var(--text);font-size:13px;min-width:0}
.input-icon{display:flex;color:var(--faint)}
.select-pill,.select-like{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;height:36px;padding:0 12px;border:1px solid var(--border);border-radius:9px;background:var(--card);font-size:13px;color:var(--text)}
.select-pill select{border:0;background:none;color:var(--text);font-size:13px;outline:0}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.section-head strong{font-size:15px;font-weight:600}.section-head p{font-size:12px;color:var(--muted);margin:2px 0 0}
.table-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 14px}
.table-head h2,.table-head strong{font-size:15px!important;font-weight:600!important}
table.table{width:100%;border-collapse:collapse}
table.table th{font-size:11px;font-weight:500;color:var(--muted);background:var(--soft);text-align:left;padding:14px 20px;white-space:nowrap}
table.table td{font-size:13px;padding:18px 20px;border-top:1px solid var(--border);vertical-align:middle}
table.table td small{display:block;font-size:11px;color:var(--faint);margin-top:3px}
.progress-cell{display:flex;flex-direction:column;gap:6px;min-width:140px;font-size:12px;color:var(--muted)}
.progress-cell .bar,.progress-line{height:4px;border-radius:2px;background:var(--soft);overflow:hidden}.progress-cell .bar span{display:block;height:100%;background:var(--text);width:66%}
.switch{width:32px;height:18px;border-radius:9px;background:var(--strong);position:relative;flex:none}
.switch i{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:.2s}
.switch.on{background:var(--text)}.switch.on i{left:16px;background:var(--card)}
/* 24 */
.page-meta{font-size:12px;color:var(--muted);margin:-20px 0 24px}
.memory-section{padding:24px;margin-bottom:16px}.memory-section>h2{font-size:15px!important;font-weight:600!important;margin:0 0 16px}
.character-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.character-card{padding:16px 18px!important;box-shadow:none!important}
.character-card h3{font-size:14px;font-weight:600;margin:0}.character-card small{display:block;font-size:11px;color:var(--faint);margin:2px 0 8px}
.character-card p,.world-note p{font-size:13px;line-height:1.7;color:var(--muted);margin:0}
.world-note{background:var(--soft);border-radius:10px;padding:14px 16px}.world-note h3{font-size:13px;font-weight:600;margin:0 0 4px}
.timeline{list-style:none;margin:16px 0;padding:0 0 0 0}
.timeline li{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:12px 0;border-top:1px solid var(--border)}
.timeline-date{font-size:12px;color:var(--faint)}.timeline li strong{font-size:13px;font-weight:600}.timeline li p{font-size:12px;color:var(--muted);margin:2px 0 0;line-height:1.6}
.locked-moments{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:8px}
.locked-moment{border:1px solid var(--border);border-radius:10px;padding:14px 16px}
.moment-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.moment-title h3{font-size:13px;font-weight:600;margin:0}
.locked-moment p{font-size:12px;color:var(--muted);line-height:1.6;margin:0}
/* 25 */
.page>.pol{display:block}
form.m-cta{position:static!important;display:flex!important;gap:8px;padding:0 24px 24px!important;background:none!important;border:0!important;box-shadow:none!important}
form.m-cta .input-wrap{flex:1}
/* 27 */
.archive-layout{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}
.script-list{padding:20px}.script-list .search-box{min-width:0;margin-bottom:12px}
.script-items{display:flex;flex-direction:column;gap:4px}
.script-item{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:8px;text-align:left;padding:10px 12px;border:0;border-radius:9px;background:none;color:var(--text);cursor:pointer}
.script-item strong{font-size:13px;font-weight:500}.script-item small{grid-row:2;font-size:11px;color:var(--faint)}.script-item .tag{grid-row:1/3;grid-column:2;align-self:center}
.script-item.selected{background:var(--soft)}
.archive-detail{display:flex;flex-direction:column;gap:16px}
.detail-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;padding:22px 24px}
.detail-head h2{font-size:16px!important;font-weight:600!important;margin:0}.detail-head p{font-size:12px;color:var(--muted);margin:4px 0 0}
.detail-meta{display:flex;gap:8px;align-items:center}.detail-info{width:100%;display:flex;gap:20px;font-size:12px;color:var(--muted)}
.detail-card{padding:0 24px 24px}.tab-content{padding-top:20px}
.version-list{border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:16px}
.version-row{display:grid;grid-template-columns:40px 1fr 140px 80px 56px;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--border)}
.version-row:first-child{border-top:0}.version-row.selected-row{background:var(--soft)}
.version-mark{width:32px;height:32px;border-radius:50%;background:var(--soft);display:grid;place-items:center;font-size:11px;color:var(--muted)}
.version-row.selected-row .version-mark{background:var(--card)}
.version-main strong{display:block;font-size:13px;font-weight:500}.version-main small{font-size:11px;color:var(--faint)}
.version-author{font-size:12px;color:var(--muted)}
.archive-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mini-card{padding:18px 20px!important;box-shadow:none!important}
.points-total{font-size:20px;font-weight:600;margin:4px 0 12px;font-variant-numeric:tabular-nums}
.points-list>div,.summary-list>div{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);padding:6px 0;border-top:1px solid var(--border)}
.points-list strong,.summary-list strong{font-weight:500;color:var(--text);font-variant-numeric:tabular-nums}
/* 28 */
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:88px}
.setting-card{padding:22px 24px}
.setting-card .mch{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid var(--border);margin-bottom:6px}
.setting-card .mch h2{font-size:15px!important;font-weight:600!important;margin:0}.setting-card .mch p{font-size:12px;color:var(--muted);margin:3px 0 0}
.setting-row,.threshold-item,.form-row,.info-line{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-top:1px solid var(--border);font-size:13px}
.setting-card .mch+.setting-row,.setting-card .mch+.threshold-list .threshold-item:first-child,.setting-card .mch+.form-row{border-top:0}
.setting-row strong{display:block;font-size:13px;font-weight:500}.setting-row small{font-size:11px;color:var(--faint)}
.form-row label{font-size:12px;color:var(--muted)}.select-like{min-width:180px}
.info-line{justify-content:flex-start;color:var(--muted);font-size:12px}
.rule-box{background:var(--soft);border-radius:10px;padding:12px 14px;font-size:12px;color:var(--muted);margin-top:8px}.rule-box strong{color:var(--text);font-weight:600}
/* 29 */
.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:56px 24px;margin-bottom:16px}
.empty-icon{width:48px;height:48px;border-radius:50%;background:var(--soft);display:grid;place-items:center;color:var(--muted);margin-bottom:16px}
.empty-state h2{font-size:15px!important;font-weight:600!important;margin:0}.empty-state p{font-size:12px;color:var(--muted);margin:6px 0 18px}
.empty-grid{display:grid;gap:12px}
/* 37 */
.rv37>.topbar{display:none!important}
.topbar-right{display:flex;align-items:center;gap:10px}.company{font-size:12px;color:var(--muted)}
.trend{font-weight:500;color:var(--muted)}
.filter-label{font-size:12px;color:var(--faint);width:40px;flex:none}
.pills{display:flex;flex-wrap:wrap;gap:6px}
.list-toolbar{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--border)}
.list-toolbar .list-title{font-size:15px;font-weight:600}.list-toolbar .list-title span{font-size:12px;font-weight:400;color:var(--faint);margin-left:6px}
.sort-button{font-size:12px;background:none;border:1px solid var(--border);border-radius:9px;height:30px;padding:0 12px;color:var(--text)}
.review-list{display:flex;flex-direction:column}
.check-wrap{display:flex;padding-top:2px}.review-body{flex:1;min-width:0}
.genre{font-size:11px;color:var(--muted);border:1px solid var(--border);border-radius:20px;padding:2px 8px;margin-left:8px}
.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.selected-scripts{display:flex;flex-direction:column;gap:6px;margin:12px 0}
.selected-row{display:flex;align-items:center;gap:8px;font-size:12px}
.selection-dot{width:6px;height:6px;border-radius:50%;background:var(--text);flex:none}
.extract-section{margin-top:16px}.extract-summary{font-size:13px;line-height:1.7;color:var(--muted);background:var(--soft);border-radius:10px;padding:12px 14px}
.candidate-title{font-size:13px;font-weight:600}.extract-footnote{font-size:11px;color:var(--faint);margin-top:10px}
/* 38 */
.page-content .page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px}
.page-content .search-box{min-width:320px;padding-right:4px}.page-content .search-box button{height:28px}
.script-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.script-card{padding:22px 24px!important;display:flex;flex-direction:column;gap:12px}
.card-top{display:flex;justify-content:space-between;align-items:center}
.card-top .rank{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}
.script-title strong{display:block;font-size:15px;font-weight:600}.script-title span{font-size:12px;color:var(--muted)}
.script-meta{font-size:12px;color:var(--faint)}
.script-tags{display:flex;flex-wrap:wrap;gap:6px}
.script-foot{display:flex;justify-content:space-between;align-items:flex-end;padding-top:14px;border-top:1px solid var(--border)}
.script-foot small{display:block;font-size:11px;color:var(--faint)}.script-foot strong{font-size:16px;font-weight:600}
.script-foot>div:last-child{display:flex;gap:8px}
.submitted{color:var(--muted)}
/* ===== FINAL: gold buttons (restores app.css values overridden by extracted fragment css) ===== */
button.primary,.primary{background:var(--red);color:#fff;border:0;border-radius:9px;padding:0 18px;min-height:36px;font-size:12px;font-weight:550;line-height:1;box-shadow:0 2px 3px #00000008;cursor:pointer}
button.primary:hover,.primary:hover{background:var(--red);filter:brightness(.96)}
button.secondary,.secondary{background:var(--card);color:var(--text);border:1px solid var(--strong);border-radius:9px;padding:0 15px;min-height:36px;font-size:12px;font-weight:400;line-height:1;cursor:pointer}
.secondary:hover{background:var(--soft)}
button.primary:disabled,button.primary[aria-disabled="true"]{background:var(--soft)!important;color:var(--faint)!important;border:1px solid var(--border)!important;box-shadow:none;cursor:not-allowed;opacity:1}
/* ===== mobile recovery ===== */
/* m-25 task table -> card rows */
.m-main .table-section{margin-top:16px}
.m-main .table-section .section-head{margin-bottom:10px}.m-main .table-section h2{font-size:16px!important;font-weight:600!important;margin:0}
.m-main .table-wrap{overflow:visible}
.m-main table.task-table,.m-main table.task-table tbody{display:block;width:100%}
.m-main table.task-table thead{display:none}
.m-main table.task-table tr{display:grid!important;grid-template-columns:1fr auto;gap:6px 12px;padding:14px 16px!important;margin-bottom:10px;border:1px solid var(--border);border-radius:14px;background:var(--card)}
.m-main table.task-table td{display:block;padding:0!important;border:0!important;font-size:12px;color:var(--muted)}
.m-main table.task-table td:first-child{grid-column:1/-1}
.m-main table.task-table td strong{font-size:14px;font-weight:600;color:var(--text)}
.progress-copy{font-size:12px;color:var(--muted);margin-bottom:4px}
.m-main .bar{height:4px;border-radius:2px;background:var(--soft);overflow:hidden}.m-main .bar span{display:block;height:100%;width:45%;background:var(--text)}
.task-form{display:grid!important;grid-template-columns:1fr 120px;gap:10px;align-items:end}
.task-form .field span{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
.task-form input,.task-form select{width:100%;box-sizing:border-box;height:38px;border:1px solid var(--border);border-radius:9px;padding:0 12px;background:var(--card);color:var(--text);font-size:13px}
.mcard>.m-cta,.card>.m-cta{position:static!important;background:none!important;border:0!important;padding:14px 0 0!important;box-shadow:none!important}
.mcard>.m-cta .primary{width:100%;height:40px}
/* m-26 */
.m-main section.table-wrap{display:none!important}
.mobile-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.filters select{width:100%;height:38px;border:1px solid var(--border);border-radius:9px;background:var(--card);color:var(--text);padding:0 10px;font-size:13px}
.search-field{grid-column:1/-1;font-size:12px;color:var(--muted)}.search-field .input-wrap{margin-top:6px;min-width:0}
/* m-29 */
.m-main .mcard-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px}
.empty-grid{grid-template-columns:1fr}
/* m-28 */
.m-main .threshold-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
/* m-37 */
.ra-content{display:flex;flex-direction:column;gap:14px}
.ra-head p{font-size:12px;color:var(--muted);margin:6px 0 0}
.ra-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ra-kpi{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px 16px}
.ra-kpi span{display:block;font-size:11px;color:var(--muted)}.ra-kpi strong{display:block;font-size:22px;font-weight:600;margin-top:4px;font-variant-numeric:tabular-nums}
.ra-filter{display:flex;flex-direction:column;gap:10px}
.ra-filter-row{display:flex;gap:10px;align-items:flex-start}
.ra-filter-label{font-size:12px;color:var(--faint);width:32px;flex:none;padding-top:5px}
.ra-pills{display:flex;gap:6px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
.ra-pill{flex:none;font-size:12px;height:28px;padding:0 12px;border-radius:20px;border:1px solid var(--border);background:var(--card);color:var(--muted)}
.ra-pill.selected{background:var(--text);color:var(--card);border-color:var(--text)}
.ra-list{display:flex;flex-direction:column;gap:10px}
.ra-list-head{display:flex;justify-content:space-between;font-size:12px;color:var(--faint)}.ra-list-head span:first-child{font-size:16px;font-weight:600;color:var(--text)}
.ra-row{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px}
.ra-title-line{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.ra-title-line h2{font-size:14px!important;font-weight:600!important;margin:0}.ra-author{font-size:11px;color:var(--faint);white-space:nowrap}
.ra-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.ra-tag{font-size:11px;border:1px solid var(--border);border-radius:20px;padding:2px 8px;color:var(--muted)}
.ra-summary{font-size:13px;line-height:1.6;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ra-row-foot{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--faint);margin-top:8px}
.ra-actions{display:flex;justify-content:flex-end;gap:16px;padding-top:10px;border-top:1px solid var(--border)}
.ra-link{background:none;border:0;padding:0;font-size:12px;color:var(--text)}.ra-link.extract{color:var(--muted)}
.ra-preview{position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--card);border-radius:18px 18px 0 0;padding:10px 16px 24px;box-shadow:0 -10px 40px #0002;max-height:70vh;overflow:auto;display:none}
.ra-preview.open{display:block}
.ra-grab{width:36px;height:4px;border-radius:2px;background:var(--strong);margin:4px auto 12px}
.ra-sheet-head{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600}.ra-sheet-head button{font-size:12px;background:none;border:0;color:var(--muted)}
.ra-preview h2{font-size:16px!important;font-weight:600!important;margin:12px 0 2px}.ra-preview-sub{font-size:12px;color:var(--muted);margin:0 0 10px}
.ra-picked{display:flex;flex-direction:column;gap:6px}.ra-pick{display:flex;gap:8px;align-items:center;font-size:13px}
.ra-summary-box{background:var(--soft);border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.6;color:var(--muted);margin:12px 0}
.ra-skip{font-size:12px;color:var(--muted);background:none;border:0}
/* m-40 */
.ip{display:flex;flex-direction:column;gap:14px}
.sd-head h1{font-size:22px!important;font-weight:650!important;line-height:1.3;margin:0}
.sd-title p{font-size:12px;color:var(--muted);margin:4px 0 0}
.sd-head-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;align-items:center}
.lang-pill,.platform-pill,.sd-head-meta .count{font-size:11px;border:1px solid var(--border);border-radius:20px;padding:3px 9px;color:var(--muted)}
.language-tabs{display:flex;gap:6px;overflow-x:auto}
.language-tabs button{flex:none;font-size:12px;height:30px;padding:0 12px;border-radius:20px;border:1px solid var(--border);background:var(--card);color:var(--muted)}
.language-tabs button.on{background:var(--text);color:var(--card);border-color:var(--text)}
.language-tabs em.prod{font-style:normal;font-size:11px;opacity:.7;margin-left:4px}
.ip .mcard{padding:16px}
.card-section .section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.card-section .section-title h2{font-size:16px!important;font-weight:600!important;margin:0}
.readonly{font-size:11px;color:var(--faint);border:1px solid var(--border);border-radius:20px;padding:2px 8px}
.version-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.version-item label{display:block;font-size:11px;color:var(--faint)}.version-item strong{font-size:13px;font-weight:500}
.progress-wrap{margin:14px 0}.progress-line{display:flex!important;justify-content:space-between;height:auto!important;background:none!important;font-size:12px;color:var(--muted);margin-bottom:6px}
.action-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.action-row button{height:38px;border-radius:9px;font-size:12px}
button.disabled{background:var(--soft);color:var(--faint);border:1px solid var(--border);cursor:not-allowed}
.sheet-panel h2{font-size:16px!important;font-weight:600!important}
.got-it{width:100%;height:40px;border-radius:9px;border:1px solid var(--strong);background:var(--card);color:var(--text);font-size:12px;margin-top:14px}
.empty-state .m-cta{position:static!important;background:none!important;border:0!important;padding:0!important;box-shadow:none!important;width:auto!important}
.empty-state .m-cta .primary{width:auto;padding:0 20px}
.m-main .empty-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px;margin-top:12px}
.empty-grid .mcard{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px}
.empty-grid .mch{display:grid!important;grid-template-columns:36px 1fr;column-gap:12px;align-items:center;border:0!important;padding:0!important}
.empty-grid .mch .empty-icon{grid-row:1/3;width:36px;height:36px;margin:0}
.empty-grid .mch h2{font-size:14px!important;font-weight:600!important;margin:0}.empty-grid .mch small{font-size:12px;color:var(--muted)}
.empty-grid .secondary{flex:none;min-height:32px}
.m-main .mcard>.mch:has(>h2+small){display:block!important}
.m-main .mcard>.mch:has(>h2+small) small{display:block;margin-top:4px;font-size:12px;color:var(--muted)}
.m-main .m-cta:has(>.primary:only-child){left:0;right:0;box-sizing:border-box}
.m-main .mcard>.m-cta{width:auto!important;left:auto!important;right:auto!important;margin:0!important}
.m-main .mcard>.m-cta .primary{width:100%!important;margin:0!important}
.m-main .empty-grid .mcard>.mch{display:grid!important}
.m-main .empty-grid .mcard{min-height:0!important;height:auto!important}
.empty-grid .mch small{grid-column:2}
.empty-state .primary{font-size:12px!important;min-height:36px!important}
.empty-state p{margin-bottom:20px!important}.m-main .empty-grid{gap:10px!important}.m-main .empty-grid>section{margin:0!important}
/* m-22 */
.m-main .page-head .mrow{display:flex!important;justify-content:space-between;align-items:flex-start;gap:12px;width:100%}
.m-main .page-head .mrow>.secondary{display:inline-flex!important;align-items:center;flex:none;min-height:32px;padding:0 12px}
.m-main .pol>.m-cta:has(>.secondary:only-child){display:none!important}
.notification.unread{background:var(--soft)!important;border-color:transparent!important}
.notification .notice-body .tag,.notification .tag{border-radius:20px!important;padding:3px 9px!important;font-size:11px!important}
.notification .notice-icon{width:32px;height:32px;border-radius:50%;background:var(--soft);display:grid!important;place-items:center;flex:none}
.notification.unread .notice-icon{background:var(--card)}
.m-main .mkv:has(>dl:nth-child(2):last-child){grid-template-columns:72px 1fr!important}
form.m-cta .primary{flex:none;padding:0 20px}
/* m-09 / m-33 skill cards */
.m-main .mgrid{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.mgrid .mcard{padding:16px!important}
.mgrid .mch h2{font-size:15px!important;font-weight:600!important;margin:0}.mgrid .mch small{font-size:12px;color:var(--muted)}
.mgrid .mcard>.mrow:has(.tag){margin:10px 0 4px!important;justify-content:flex-start!important;gap:10px}
.mgrid .tag{border-radius:20px!important;padding:3px 9px!important;font-size:11px!important}
.mgrid .mmeta{font-size:12px;color:var(--faint)}
.mgrid .mcard>.mrow:last-of-type:has(button){justify-content:flex-start!important;gap:16px!important;padding-top:12px;border-top:1px solid var(--border);margin-top:12px!important}
.mgrid .mcard>.mrow button.secondary{min-height:30px;padding:0 12px}
.mgrid .mcard>.mrow .text-button{font-size:12px;color:var(--text);background:none;border:0;padding:0}
.sheet{box-sizing:border-box!important;left:0!important;right:0!important;width:auto!important;max-width:100vw}
.sheet .m-cta{position:static!important;width:auto!important;left:auto!important;right:auto!important;display:flex!important;flex-direction:column;gap:8px;padding:14px 0 0!important;background:none!important;border:0!important}
.sheet .m-cta>*{width:100%;box-sizing:border-box}
/* m-36 drawer: full-screen sheet above top bar, no dim over itself */
.m-main .rv .review-backdrop{position:fixed;inset:0;z-index:90;background:rgba(10,10,12,.28);display:flex;align-items:flex-end}
.m-main .rv .review-drawer{position:relative;width:100%;max-height:92vh;overflow:auto;background:var(--card);border-radius:18px 18px 0 0;box-shadow:0 -10px 40px #0002}
.m-main .m-ov:has(+style+.rv),.m-main .m-ov:has(+.rv){display:none}
body .m-main .rv .review-drawer h1{font-size:16px!important;font-weight:600!important;line-height:1.4}
body .m-main .rv .review-drawer h2{font-size:14px!important;font-weight:600!important}
.m-main .rv .review-drawer .tag,.m-main .rv .review-drawer [class*="tag"] button,.m-main .rv .review-status{border-radius:20px!important;border-color:var(--border)!important;font-size:11px!important;padding:3px 9px!important}
.m-main .rv .review-drawer *{border-color:var(--border)}
.m-main .rv .review-head{border-bottom:1px solid var(--border)!important}
.m-main .hot-grid{display:flex!important;flex-direction:column;gap:10px}
.pol .stats-grid:has(>:nth-child(4)),.pol .kpi-row:has(>:nth-child(4)){grid-template-columns:repeat(4,1fr)!important}
.m-main .hot-sheet,.m-main .sheet-backdrop{position:fixed;inset:0;z-index:120;background:rgba(10,10,12,.28);display:flex;align-items:flex-end}
.m-main .hot-sheet-panel,.m-main .sheet-backdrop>.sheet{position:relative!important;width:100%!important;background:var(--card);border-radius:18px 18px 0 0;padding:12px 16px 28px!important;box-shadow:0 -10px 40px #0002}
.hot-sheet-actions,.sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.hot-sheet-actions button,.sheet-actions button{height:40px;border-radius:9px;font-size:12px}
.hot-sheet-panel h2,.sheet-backdrop .sheet h2,.hot-sheet-panel strong:first-child{font-size:16px!important;font-weight:600!important}
.m-main .pol>.page-head:has(.search-box),.m-main .page-head:has(input){flex-direction:column!important;align-items:stretch!important;gap:12px}
.m-main .mkpis:has(>:nth-child(4)){grid-template-columns:1fr 1fr!important}
.m-main .hot-head{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px}
.m-main .hot-search{width:100%!important;box-sizing:border-box}
body .sheet-backdrop{position:fixed!important;inset:0!important;z-index:120!important;padding:0!important;margin:0!important;display:flex!important;align-items:flex-end!important;background:rgba(10,10,12,.28)!important;transform:none!important}
body .sheet-backdrop>.sheet{margin:0!important;opacity:1!important;filter:none!important;border-radius:18px 18px 0 0!important;max-width:none!important;left:0!important;right:0!important;bottom:0!important}
.sheet-actions .skip{background:var(--card);border:1px solid var(--strong);color:var(--text)}
.sheet-actions .disabled-action{background:var(--soft);border:1px solid var(--border);color:var(--faint)}
.hot-sheet-actions:has(>button:only-child){grid-template-columns:1fr}
/* 31 profile menu */
.pmenu{padding:16px!important;border-radius:14px!important;box-shadow:0 20px 50px rgba(0,0,0,.14)!important;z-index:60;background:var(--card)!important}
.pmenu .mch{padding:0!important;border:0!important}
.pmenu .mch>div:first-child{background:var(--soft);font-size:14px;font-weight:600;flex:none}
.pmenu .mch strong{display:block;font-size:14px;font-weight:600}.pmenu .mch small{display:block;font-size:11px;color:var(--faint);margin-top:2px}
.pmenu .mcard{padding:8px 0 0!important;border:0!important;border-top:1px solid var(--border)!important;border-radius:0!important;background:none!important;box-shadow:none!important;display:flex;flex-direction:column}
.pmenu .m-cta{position:static!important;display:flex!important;align-items:center;gap:10px;width:100%;padding:10px 4px!important;background:none!important;border:0!important;box-shadow:none!important;font-size:13px;color:var(--text);text-align:left;border-radius:8px!important;flex-wrap:wrap}
.pmenu .m-cta>span{flex:1}.pmenu .m-cta>svg:first-child{color:var(--muted);flex:none}
.pmenu .m-cta>strong{font-size:12px;font-weight:500;color:var(--muted)}
.pmenu .m-cta .tabs{width:100%;display:grid!important;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--soft);border:0!important;border-radius:9px;padding:3px;margin:4px 0 0!important}
.pmenu .m-cta .tabs button{font-size:11px;padding:6px 0!important;border:0!important;border-radius:7px;background:none;color:var(--muted)}
.pmenu .m-cta .tabs button.selected{background:var(--card);color:var(--text);font-weight:500;box-shadow:0 1px 2px #0001}
/* 30 errors */
main section.card:has(>h1+p){text-align:center;padding:56px 24px!important;display:flex;flex-direction:column;align-items:center}
main section.card:has(>h1+p)>div:first-child{font-size:12px;color:var(--faint);letter-spacing:.1em;margin-bottom:8px}
main section.card:has(>h1+p)>h1{font-size:20px!important;font-weight:600!important;margin:0}
main section.card:has(>h1+p)>p{font-size:13px;color:var(--muted);margin:8px 0 20px}
main section.card:has(>h1+p)>div:last-child{display:flex;gap:8px;justify-content:center}
/* 26 filters */
.filter-row{display:flex;align-items:center;gap:12px;padding:18px 24px;border-bottom:1px solid var(--border)}
.filter-row>label:not(.search-box){display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.filter-row select{height:34px;border:1px solid var(--border);border-radius:9px;background:var(--card);color:var(--text);font-size:12px;padding:0 10px}
.filter-row .search-box{margin-left:auto;border:0;padding:0;min-width:260px}.filter-row .search-box .input-wrap{width:100%}
main .stats-grid:has(>:nth-child(4)):not(:has(>:nth-child(5))){grid-template-columns:repeat(4,1fr)!important}
.table-footer{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;font-size:12px;color:var(--muted);border-top:1px solid var(--border)}
/* 28 save bar */
main>.m-cta,main .pol>.m-cta,main>div>.m-cta:last-child{position:sticky!important;bottom:0;display:flex!important;justify-content:flex-end;align-items:center;gap:12px;padding:14px 0!important;background:var(--bg)!important;border-top:1px solid var(--border);font-size:12px;color:var(--muted);z-index:5}
.pmenu .m-cta .tabs button{text-align:center!important}
/* m-31 */
.sheet .mrow>span:has(>svg){display:inline-flex;align-items:center;gap:10px;font-size:13px}
.sheet .mrow>span>svg{color:var(--muted)}
.sheet>div>.mrow{padding:12px 0}
.sheet>div[style*="border-top"]{border-color:var(--border)!important}
.sheet .mrow>strong{font-size:12px;font-weight:500;color:var(--muted)}
/* m-30 */
.m-main>.m-cta:has(>.primary:only-child){position:static!important;padding:14px 0!important;background:none!important;border:0!important;box-shadow:none!important}
.m-main>.m-cta:has(>.primary:only-child) .primary{width:100%;height:40px}
.m-main section.mcard:has(>h2+p+button){text-align:center;padding:32px 16px!important}
.m-main section.mcard:has(>h2+p+button)>.mrow{text-align:left;margin-top:28px;flex-direction:column;align-items:stretch!important;gap:0}
.m-main section.mcard:has(>h2+p+button)>.mrow>*{padding:12px 0;border-top:1px solid var(--border);font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:10px}
/* m-40 notice */
.ip .notice{display:flex;gap:10px;align-items:flex-start;background:var(--soft);border-radius:10px;padding:12px 14px}
.ip .notice-icon{flex:none;color:var(--muted);display:flex;padding-top:2px;border:0!important;background:none!important;width:auto;height:auto}
.ip .notice p{margin:0;font-size:12px;line-height:1.6;color:var(--muted)}.ip .notice strong{color:var(--text);font-weight:600}
/* m-27 single column */
.m-main [class*="archive"],.m-main div:has(>aside.card+section){display:flex!important;flex-direction:column!important;gap:12px}
.m-main aside.card{width:auto!important}
/* m-28 */
.m-main .setting-card [style*="grid"],.m-main .card [style*="repeat(3"]{grid-template-columns:1fr 1fr!important}
.m-main .mcard .mkv:has(.switch){display:flex!important;flex-direction:column;gap:0!important}
.m-main .mcard .mkv:has(.switch)>dl{display:flex!important;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:11px 0;border-top:1px solid var(--border)}
.m-main .mcard .mkv:has(.switch)>dl:first-child{border-top:0}
.m-main .mcard .mkv:has(.switch) dt{font-size:13px;color:var(--text)}.m-main .mcard .mkv:has(.switch) dd{margin:0;font-size:13px;flex:none}
.m-main .m-cta{box-sizing:border-box;max-width:100%}.m-main .m-cta .primary{max-width:100%;box-sizing:border-box}
.m-main section.mcard:has(>h2+p+button)>.mrow>*{justify-content:flex-start}.m-main section.mcard:has(>h2+p+button)>.mrow>div{justify-content:space-between}
main form.m-cta{padding:0!important;margin-top:18px!important;flex-wrap:nowrap}
main form.m-cta .primary{width:auto!important;height:36px!important;flex:none;padding:0 20px!important}
main form.m-cta .select-pill select{appearance:none;-webkit-appearance:none;padding-right:4px}
main form.m-cta .select-pill{min-width:120px}
main section.card.mcard:has(>form.m-cta){padding:22px 24px!important}
main section.card.mcard:has(>form.m-cta)>.mch{display:flex;justify-content:space-between;align-items:flex-start}
main section.card.mcard:has(>form.m-cta)>.mch h2{font-size:15px!important;font-weight:600!important;margin:0}
main section.card.mcard:has(>form.m-cta)>.mch p{font-size:12px;color:var(--muted);margin:3px 0 0}
main form.m-cta{align-items:center!important;gap:8px!important;margin-top:16px!important}main form.m-cta>label{margin:0!important;height:36px;box-sizing:border-box}
/* ===== 19 format compare (gold table rhythm) ===== */
.fc-strip{display:grid;grid-template-columns:repeat(6,1fr);padding:0!important;margin-bottom:16px;overflow:hidden}
.fc-strip>div{padding:20px 24px;border-left:1px solid var(--border)}.fc-strip>div:first-child{border-left:0}
.fc-strip small{display:block;font-size:12px;color:var(--muted)}
.fc-strip strong{display:block;font-size:22px;font-weight:600;letter-spacing:-.3px;margin-top:6px;font-variant-numeric:tabular-nums}
.fc-card{padding:0!important;overflow:hidden}
.fc-h{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px}
.fc-h h2{font-size:15px!important;font-weight:600!important;margin:0}.fc-h p{font-size:12px;color:var(--muted);margin:4px 0 0}
.fc-h .seg,.mfc-seg{display:flex;gap:2px;background:var(--soft);border-radius:9px;padding:2px}
.fc-h .seg span,.mfc-seg span{font-size:12px;padding:5px 12px;border-radius:7px;color:var(--muted);white-space:nowrap}
.fc-h .seg span.on,.mfc-seg span.on{background:var(--card);color:var(--text);font-weight:500;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.fc-t{width:100%;border-collapse:collapse;table-layout:fixed}
.fc-t th{font-size:11px;font-weight:500;color:var(--muted);background:var(--soft);text-align:left;padding:14px 20px;height:44px;box-sizing:border-box}
.fc-t th:first-child,.fc-t td:first-child{padding-left:24px}
.fc-t th.t,.fc-t td.t{padding-right:24px;text-align:left}
.fc-t td{font-size:13px;line-height:1.6;padding:18px 20px;border-top:1px solid var(--border);vertical-align:top;color:var(--text);background:var(--card)}
.fc-t td.n{font-size:12px;color:var(--faint);font-variant-numeric:tabular-nums}
.fc-t tr.same td{color:var(--faint)}
.fc-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;line-height:1;border:1px solid var(--border);border-radius:20px;padding:4px 9px;color:var(--muted);white-space:nowrap;background:var(--card)}
.fc-pill i{width:5px;height:5px;border-radius:50%;background:var(--muted)}
tr.same .fc-pill{border-color:transparent;color:var(--faint);padding-left:0}
/* m-19 */
.mfc-strip{display:grid!important;grid-template-columns:repeat(3,1fr);padding:0!important;overflow:hidden;margin:14px 0 12px}
.mfc-strip>div{padding:14px 16px;border-left:1px solid var(--border);border-top:1px solid var(--border)}
.mfc-strip>div:nth-child(3n+1){border-left:0}.mfc-strip>div:nth-child(-n+3){border-top:0}
.mfc-strip small{display:block;font-size:11px;color:var(--muted)}.mfc-strip strong{display:block;font-size:18px;font-weight:600;margin-top:4px;font-variant-numeric:tabular-nums}
.mfc-seg{overflow-x:auto;scrollbar-width:none;margin-bottom:12px}.mfc-seg span{flex:1;text-align:center}
.mfc-list{padding:0!important;overflow:hidden}
.mfc-h{display:flex;justify-content:space-between;align-items:baseline;padding:16px}
.mfc-h h2{font-size:16px!important;font-weight:600!important;margin:0}.mfc-h small{font-size:11px;color:var(--faint)}
.mfc-row{padding:14px 16px;border-top:1px solid var(--border);background:var(--card)}
.mfc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.mfc-n{font-size:12px;color:var(--faint);font-variant-numeric:tabular-nums}
.mfc-kv{display:grid;grid-template-columns:44px 1fr;gap:8px;margin-top:4px}
.mfc-kv small{font-size:11px;color:var(--faint);padding-top:2px}.mfc-kv p{margin:0;font-size:13px;line-height:1.6;color:var(--text)}
.mfc-row.same .mfc-kv p{color:var(--faint)}
.mfc-row.same .mfc-kv:first-of-type{display:none}
.mfc-row .fc-pill{font-size:11px}
/* m-28 积分规则 rows */
.m-main .mcard .mkv:has(>dl:nth-child(3):last-child){display:flex!important;flex-direction:column;gap:0!important}
.m-main .mcard .mkv:has(>dl:nth-child(3):last-child)>dl{display:flex!important;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:11px 0;border-top:1px solid var(--border)}
.m-main .mcard .mkv:has(>dl:nth-child(3):last-child)>dl:first-child{border-top:0}
.m-main .mcard .mkv:has(>dl:nth-child(3):last-child) dt{font-size:13px;color:var(--text)}
.m-main .mcard .mkv:has(>dl:nth-child(3):last-child) dd{margin:0;font-size:13px;text-align:right}
.m-main>.mfc-list~.m-cta{position:sticky!important;bottom:64px;margin:0 -16px!important;padding:12px 16px!important;background:var(--card)!important;border-top:1px solid var(--border)!important;z-index:20}
.m-main>.mfc-list~.m-cta{position:fixed!important;left:0!important;right:0!important;bottom:60px!important;margin:0!important;max-width:none!important}.m-main>.mfc-list{margin-bottom:72px}
.mfc-list~.m-cta{position:fixed!important;left:0!important;right:0!important;bottom:60px!important;margin:0!important;max-width:none!important;padding:12px 16px!important;background:var(--card)!important;border-top:1px solid var(--border)!important;z-index:40;display:block!important}.mfc-list~.m-cta .primary{width:100%;height:40px}.mfc-list{margin-bottom:72px!important}
body .m-main>.mfc-list~.m-cta:has(>.primary){position:fixed!important;left:0!important;right:0!important;bottom:60px!important;margin:0!important;padding:12px 16px!important;background:var(--card)!important;border-top:1px solid var(--border)!important}
/* ===== 24 memory confirm (rebuild) ===== */
.mc24 .page-head h1{margin:0}
.mc-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:6px;font-size:12px;color:var(--muted)}
.mc-pill,.pf-pill{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px!important;border:1px solid var(--border)!important;border-radius:999px!important;font-size:11px!important;font-weight:400!important;color:var(--muted)!important;background:var(--card)!important;white-space:nowrap;min-height:0!important;line-height:1}
.mc-pill i{width:6px;height:6px;border-radius:50%;background:var(--faint)}
.mc-sec{padding:20px 24px!important;margin-bottom:16px;box-shadow:none}
.mc-h{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.mc-h h2{font-size:15px!important;font-weight:600!important;margin:0}.mc-h small{font-size:11px;color:var(--faint)}
.mc-sec.fc-card{padding:0!important}.mc-sec.fc-card .fc-pad{padding:20px 24px 14px;margin:0}
.mc-chars{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:stretch;margin-bottom:12px}
.mc-char{border:1px solid var(--border);border-radius:10px;padding:14px 16px;background:var(--card);height:100%;box-sizing:border-box}
.mc-char h3{font-size:14px;font-weight:600;margin:0}.mc-char small{display:block;font-size:11px;color:var(--faint);margin:3px 0 8px}
.mc-char p,.mc-world p{font-size:12px!important;line-height:1.7!important;color:var(--muted);margin:0}
.mc-world{border:1px solid var(--border);border-radius:10px;padding:14px 16px;background:var(--card)}.mc-world h3{font-size:13px;font-weight:600;margin:0 0 4px}
.mc-t td.n{color:var(--faint)!important;font-size:12px!important;white-space:nowrap}
.mc-t td{font-size:13px!important}
.mc-tl{display:flex;flex-direction:column}
.mc-tli{display:grid;grid-template-columns:88px 1fr;gap:16px;padding:12px 0;border-top:1px solid var(--border)}.mc-tli:first-child{border-top:0;padding-top:0}
.mc-tli>span{font-size:12px;color:var(--faint)}.mc-tli strong{font-size:13px;font-weight:600}.mc-tli p{font-size:12px!important;color:var(--muted);margin:2px 0 0;line-height:1.6!important}
.mc-locks{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:stretch}
.mc-lock{border:1px solid var(--border);border-radius:10px;padding:14px 16px;background:var(--card)}
.mc-lt{display:flex;align-items:center;justify-content:flex-start!important;gap:8px}.mc-lt svg{width:14px;height:14px;color:var(--muted);flex-shrink:0}
.mc-lt h3{font-size:13px;font-weight:600;margin:0;text-align:left}
.mc-lock small{display:block;font-size:11px;color:var(--faint);margin:4px 0 6px 22px}.mc-lock p{font-size:12px!important;color:var(--muted);line-height:1.6!important;margin:0 0 0 22px}
/* mobile 24 */
.mc24m .page-head{display:block!important;margin-bottom:14px}.mc24m h1{font-size:18px!important;margin:0}
.mc24m .mc-sec{padding:16px!important;margin-bottom:12px}
.mc24m .mc-chars{grid-template-columns:repeat(2,1fr);gap:8px}
.mc24m .mc-char{padding:12px}.mc24m .mc-locks{grid-template-columns:1fr;gap:8px}
.mc-ep{display:grid;grid-template-columns:52px 1fr;column-gap:10px;padding:12px 0;border-top:1px solid var(--border)}.mc-ep:first-child{border-top:0;padding-top:0}
.mc-ep .n{grid-row:1/3;font-size:12px;color:var(--faint)}.mc-ep p{font-size:13px!important;line-height:1.6!important;margin:0}.mc-ep small{font-size:11px;color:var(--muted);margin-top:4px}
.mc24m .mc-tli{grid-template-columns:64px 1fr;gap:10px}
.mc-actions{display:flex;justify-content:flex-end;padding:4px 0 88px}
/* ===== 25 video-to-script polish ===== */
.progress-cell .bar,.m-main .bar{height:4px!important;border-radius:2px!important;background:var(--soft)!important;border:0!important}
.progress-cell .bar span,.m-main .bar span{background:var(--muted)!important;border-radius:2px}
.progress-cell>span,.progress-copy{font-size:12px!important;color:var(--muted)!important;font-weight:400!important}
.table td:nth-child(3),.task-table td[data-label="集数"]{font-weight:400!important;font-size:13px!important}
.st.prog i{background:#D9A21B!important}.st.fail i{background:var(--red)!important}
.st.prog,.st.fail{color:var(--muted)!important;background:var(--card)!important;border-color:var(--border)!important}
/* ===== 09 skills / 33 versions rebuild ===== */
.sk-cnt{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 7px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:11px;font-weight:400;vertical-align:middle;margin-left:6px;letter-spacing:0}
.sk-pill{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border:1px solid var(--border);border-radius:999px;font-size:11px;font-weight:400;color:var(--muted);background:var(--card);white-space:nowrap;line-height:1;flex-shrink:0}
.sk-pill i{width:6px;height:6px;border-radius:50%;background:#D9A21B}
.sk-bar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding:0 20px}
.sk-bar .tabs{border:0!important;padding:0!important;margin:0!important}
.sk .tabs button em,.msk-tabs em,.sv-tabs em{font-style:normal;font-size:11px;font-weight:400;color:var(--faint);margin-left:5px}
.sk-sort{display:flex;gap:8px}.sk-sort .chip{font-size:12px}
.sk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px;align-items:stretch}
.sk-card{border:1px solid var(--border);border-radius:12px;padding:16px 16px 0;display:flex;flex-direction:column;background:var(--card);min-height:150px;box-sizing:border-box}
.sk-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.sk-top h3{font-size:15px!important;font-weight:600!important;margin:0}.sk-top small{display:block;font-size:12px;color:var(--muted);margin-top:3px}
.sk-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:12px!important;color:var(--faint);font-weight:400;margin-top:12px}
.sk-meta span{font-weight:400!important;color:var(--faint)!important}.sk-meta b{font-weight:400!important;color:var(--muted)!important}
.sk-acts{display:flex;align-items:center;gap:18px;height:44px;margin-top:auto;border-top:1px solid var(--border)}
.sk-card .sk-meta{margin-bottom:14px}
.sk-act{display:inline-flex;align-items:center;gap:5px;background:none;border:0;padding:0;font-size:12px;color:var(--text);white-space:nowrap;line-height:1;cursor:pointer}
.sk-act svg{width:14px;height:14px;color:var(--muted)}
/* mobile 09 */
.msk-bar{display:flex;justify-content:space-between;align-items:center;margin:4px 0 12px}
.msk-tabs{display:flex;gap:6px}.msk-tabs button{padding:6px 11px;border:1px solid var(--border);border-radius:16px;background:var(--card);color:var(--muted);font-size:12px}
.msk-tabs button.on{background:var(--soft);color:var(--text)}
.msk-sort{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}.msk-sort svg{width:13px;height:13px}
.msk-list{display:flex;flex-direction:column;gap:10px;padding-bottom:84px}
.msk-list .sk-card{min-height:0}.msk-list .sk-acts{gap:16px}
/* 33 drawer */
.sv{display:flex;flex-direction:column}
.drawer.sv{padding:0!important}
.sv-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border)}
.sv-h h2{font-size:16px!important;font-weight:600!important;margin:0}.sv-h .sk-meta{margin-top:8px}
.sv-x{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border)!important;border-radius:8px;background:var(--card)!important;color:var(--muted);padding:0!important;flex-shrink:0}.sv-x svg{width:16px;height:16px}
.sv-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:20px 24px 0}
.sv-kpis>div{border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:var(--card)}
.sv-kpis label{display:block;font-size:11px;color:var(--muted)}
.sv-kpis strong{display:block;margin-top:6px;font-size:20px;font-weight:600;letter-spacing:-.3px;font-variant-numeric:tabular-nums;line-height:1.2}
.sv-kpis em{font-style:normal;font-size:11px;font-weight:400;color:var(--faint);margin-left:4px;letter-spacing:0}
.sv-note{display:flex;align-items:center;gap:8px;margin:14px 24px 0;padding:10px 12px;border-radius:8px;background:var(--soft);font-size:12px;color:var(--muted)}.sv-note svg{width:14px;height:14px}
.sv-tabs{display:flex;gap:18px;padding:0 24px!important;margin:16px 0 0!important;border-bottom:1px solid var(--border)}
.sv-tabs button{background:none;border:0;padding:12px 0;font-size:13px;color:var(--muted);border-bottom:2px solid transparent}
.sv-tabs button.selected{color:var(--text);font-weight:600;border-bottom-color:var(--text)}
.sv-tl-h{display:flex;justify-content:space-between;align-items:center;padding:16px 24px 4px}.sv-tl-h strong{font-size:14px;font-weight:600}
.sv-tl{padding:0 24px 88px}
.sv-v{padding:14px 0;border-bottom:1px solid var(--border)}.sv-v:last-child{border:0}
.sv-vt{display:flex;align-items:center;gap:8px}.sv-vt strong{font-size:13px;font-weight:600}.sv-vt small{margin-left:auto;font-size:11px;color:var(--faint);font-variant-numeric:tabular-nums}
.sv-v p{font-size:12px!important;color:var(--muted);margin:6px 0 0;line-height:1.6}.sv-v p.sv-who{color:var(--faint)}
.sv-v .sk-act{margin-top:8px;color:var(--muted)}
.sv-cta{display:flex;justify-content:flex-end;gap:8px;padding:12px 24px;border-top:1px solid var(--border);background:var(--card);position:sticky;bottom:0;margin-top:auto}
.sheet.sv .sv-h,.sheet.sv .sv-kpis,.sheet.sv .sv-tabs,.sheet.sv .sv-tl-h,.sheet.sv .sv-tl,.sheet.sv .sv-cta{padding-left:16px!important;padding-right:16px!important}
.sheet.sv .sv-note{margin-left:16px;margin-right:16px}.sheet.sv .sv-kpis strong{font-size:18px}.sheet.sv .sv-tl{padding-bottom:16px}
.sheet.sv .sv-cta .secondary{flex:1}
.drawer.sv{height:100vh!important;max-height:100vh!important;overflow-y:auto!important;box-sizing:border-box}.drawer.sv .sv-tl{padding-bottom:16px}
.drawer.sv>*{flex-shrink:0}
/* ===== 35 background (page 20 copy, scoped) ===== */
.bg20 .card{padding:0!important;overflow:hidden}
.bg20 .mrow{display:flex!important;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:0!important;border-top:1px solid var(--border);font-size:13px}
.bg20 .ch+div>.mrow:first-child,.bg20 .mch+.mrow{border-top:0}
.bg20 .mrow>span:first-child{display:inline-flex;align-items:center;gap:10px;min-width:0}
.bg20 .cb{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--soft);color:var(--text);flex-shrink:0;border:0!important}
.bg20 .cb svg{width:12px!important;height:12px!important}
.bg20 .mrow>span:first-child>svg{width:16px;height:16px;color:var(--muted);flex-shrink:0}
.bg20 .el{display:inline-flex;align-items:center;height:20px;padding:0 8px;border:1px solid var(--border);border-radius:999px;font-size:11px;color:var(--muted);background:var(--card);margin-left:2px}
.bg20 .mrow strong{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:1px solid var(--border);font-size:11px;font-weight:500;color:var(--muted);flex-shrink:0}
.bg20 .mmeta{font-size:12px;color:var(--faint)}
.bg20 small{font-size:12px;color:var(--muted)}
.bg20 .ch+div{padding:8px 24px 18px!important}
.bg20 .ch+div>small{margin-top:10px!important;padding-top:12px;border-top:1px solid var(--border);color:var(--faint)}
.bg20 .mcard{padding:16px!important}.bg20 .mcard .mrow:first-of-type{border-top:0}
/* ===== 35/36 modal + drawer chips & inputs ===== */
.modal .chip,.review-drawer .tag-option,.review-drawer .tag,.sheet .tags .tag{height:30px!important;min-height:0!important;padding:0 12px!important;border:1px solid var(--border)!important;border-radius:999px!important;background:var(--card)!important;color:var(--muted)!important;font-size:12px!important;font-weight:400!important;box-shadow:none!important}
.modal .chip.selected,.review-drawer .tag-option.selected,.review-drawer .tag.selected,.sheet .tags .tag.selected{border-color:var(--text)!important;color:var(--text)!important;background:var(--card)!important}
.modal .compare-heading{align-items:baseline!important;margin-bottom:8px}
.modal .compare-heading .text-button{color:var(--text)!important;font-size:12px!important;line-height:20px!important;text-decoration:none}
.modal .compare-input,.sheet .pair input{height:36px!important;padding:0 12px!important;border:1px solid var(--border)!important;border-radius:8px!important;background:var(--card)!important;color:var(--text)!important;font-size:13px!important;box-sizing:border-box}
.modal .review-textarea{border-radius:8px!important;border-color:var(--border)!important}
.review-drawer .icon-button{width:32px;height:32px;display:inline-flex!important;align-items:center;justify-content:center;border:1px solid var(--border)!important;border-radius:8px!important;background:var(--card)!important;color:var(--muted)!important;padding:0!important}
.review-drawer .icon-button svg{width:16px;height:16px}
.review-drawer .status-pill,.review-drawer .review-status{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px!important;border:1px solid var(--border)!important;border-radius:999px!important;font-size:11px!important;color:var(--muted)!important;background:var(--card)!important}
.review-drawer .status-pill i{width:6px;height:6px;border-radius:50%;background:var(--faint)}
.review-drawer .compare-item{border:1px solid var(--border)!important;border-radius:10px!important;background:var(--card)!important}
/* ===== 37 review board rebuild ===== */
.rb .page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.rb .page-head p{font-size:12px;color:var(--muted);margin-top:6px}
.rb-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}
.rb-kpi{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px 24px;display:flex;flex-direction:column;min-height:118px;box-sizing:border-box}
.rb-kpi .k-l{font-size:11px;color:var(--muted)}.rb-kpi .k-v{font-size:28px;font-weight:600;letter-spacing:-.4px;margin:10px 0 6px;line-height:1.2;font-variant-numeric:tabular-nums}
.rb-kpi .k-v em{font-style:normal;font-size:12px;font-weight:400;color:var(--muted);margin-left:6px;letter-spacing:0}.rb-kpi .k-s{font-size:11px;color:var(--faint);margin-top:auto}
.rb-ws{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}
.rb-list{padding:0!important;overflow:hidden}
.rb-lh{padding:16px 20px;border-bottom:1px solid var(--border)}
.rb-filter{display:flex;flex-direction:column;gap:10px}
.rb-fr{display:flex;align-items:center;gap:14px}.rb-fl{width:28px;font-size:12px;color:var(--muted);flex-shrink:0}
.rb-seg{display:inline-flex;gap:2px;padding:3px;background:var(--soft);border-radius:9px;flex-wrap:wrap}
.rb-seg button{height:26px;padding:0 12px;border:0;border-radius:7px;background:none;color:var(--muted);font-size:12px;white-space:nowrap}
.rb-seg button.on{background:var(--card);color:var(--text);font-weight:500;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.rb-bar{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:var(--soft);border-bottom:1px solid var(--border)}
.rb-title{font-size:13px;font-weight:600;display:flex;align-items:center}.rb-sort{font-size:12px!important}
.rb-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--card)}
.rb-row:last-child{border-bottom:0}.rb-row.sel{background:var(--hover)}
.rb-ck{width:16px;height:16px;border:1.5px solid var(--border);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;background:var(--card);align-self:start;margin-top:2px;box-sizing:border-box}
.rb-ck.on{background:var(--text);border-color:var(--text);color:var(--card)}.rb-ck svg{width:11px;height:11px;stroke-width:3}
.rb-main{min-width:0}
.rb-t{display:flex;align-items:center;gap:8px}.rb-t strong{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-meta{font-size:12px;color:var(--faint);margin-top:4px}
.rb-tags{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.rb-tag{display:inline-flex;align-items:center;height:20px;padding:0 8px;border:1px solid var(--border);border-radius:999px;font-size:11px;color:var(--muted);background:var(--card);white-space:nowrap;flex-shrink:0}
.rb-tag.g{background:var(--soft);border-color:transparent}
.rb-sum{font-size:12px!important;color:var(--muted);margin:8px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5!important}
.rb-acts{display:flex;align-items:center;gap:16px;white-space:nowrap;align-self:start;margin-top:2px}
.rb-side{padding:20px!important;position:sticky;top:20px}
.rb-sh{display:flex;align-items:center}.rb-sh h2{font-size:15px!important;font-weight:600!important;margin:0}
.rb-sub{font-size:12px!important;color:var(--muted);margin:4px 0 12px}
.rb-picked{border:1px solid var(--border);border-radius:10px}
.rb-picked>div{display:flex;justify-content:space-between;align-items:center;height:40px;padding:0 8px 0 12px;font-size:13px;border-top:1px solid var(--border)}.rb-picked>div:first-child{border-top:0}
.rb-x{width:24px;height:24px;border:0;background:none;color:var(--faint);display:inline-flex;align-items:center;justify-content:center;padding:0}.rb-x svg{width:14px;height:14px}
.rb-blk{margin-top:18px}.rb-blk h3{font-size:12px;font-weight:500;color:var(--muted);margin:0 0 8px}
.rb-soft{background:var(--soft);border-radius:10px;padding:12px 14px;font-size:12px!important;line-height:1.7!important;color:var(--text);margin:0}
.rb-cand{border:1px solid var(--border);border-radius:10px;padding:12px 14px}.rb-cand strong{font-size:14px;font-weight:600;display:block}
.rb-cand p{font-size:12px!important;color:var(--muted);line-height:1.6!important;margin:6px 0 8px}.rb-cand small{font-size:11px;color:var(--faint)}
.rb-go{width:100%;justify-content:center;margin-top:18px}.rb-foot{font-size:11px!important;color:var(--faint);text-align:center;margin:8px 0 0}
/* mobile 37 */
.rbm .page-head{display:block;margin-bottom:14px}.rbm h1{font-size:20px!important;margin:0}
.rbm .rb-kpis{gap:8px;margin-bottom:12px}.rbm .rb-kpi{min-height:0;padding:12px 14px;border-radius:12px}.rbm .rb-kpi .k-v{font-size:20px;margin:6px 0 0}
.rbm .rb-filter{margin-bottom:12px}.rbm .rb-fr{gap:10px}.rbm .rb-seg{flex-wrap:nowrap;overflow-x:auto;max-width:calc(100vw - 70px)}
.rbm .rb-bar{background:none;border:0;padding:4px 0 10px}
.rb-mlist{border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:150px}
.rbm .rb-row{grid-template-columns:18px minmax(0,1fr);padding:14px}.rbm .rb-acts{grid-column:2;justify-content:flex-start;margin-top:0}
.rb-dock{position:fixed;left:0;right:0;bottom:60px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background:var(--card);border-top:1px solid var(--border);z-index:50}
.rb-dock strong{display:block;font-size:13px;font-weight:600}.rb-dock small{font-size:11px;color:var(--muted)}
.bg20 .mrow>.st,.bg20 .mrow>span:last-child{align-self:center!important;margin:0!important;position:static!important;transform:none!important}.bg20 .col{display:flex!important;flex-direction:column;gap:16px}.bg20 .col>.card{margin:0!important}
.rb-row.sel{background:var(--card)!important}.rbm>.page-head{display:block!important}.rbm>.page-head p{margin-top:6px}
.rb .rb-row{border:0!important;border-bottom:1px solid var(--border)!important;border-radius:0!important;box-shadow:none!important;margin:0!important;outline:0!important}.rb .rb-row:last-child{border-bottom:0!important}
.sheet .pair-labels{display:none!important}.sheet .pair{display:flex!important;flex-direction:column;gap:8px}
/* ===== 26-30 consistency pass ===== */
.fsel{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px 0 12px;border:1px solid var(--border);border-radius:8px;background:var(--card);font-size:12px;color:var(--text);white-space:nowrap}
.fsel>span{color:var(--muted)}.fsel svg{width:14px;height:14px;color:var(--muted)}
.filter-row{display:flex!important;align-items:center;gap:8px}
.filter-row .search-box{margin-left:auto}
td .text-button+.text-button,.mrow .text-button+.text-button{margin-left:14px}
.acc-t td{vertical-align:middle!important}
.pf-pill svg{width:12px;height:12px}
.mfbar{display:flex;gap:8px;margin:4px 0 10px}
.msearch{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--faint);font-size:13px;margin-bottom:12px}.msearch svg{width:15px;height:15px}
.macc{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--card);margin-bottom:24px}
.macc-r{padding:14px 16px;border-top:1px solid var(--border)}.macc-r:first-child{border-top:0}
.macc-t{display:flex;align-items:center;gap:8px}.macc-t strong{font-size:14px;font-weight:600}.macc-t .st{margin-left:auto}
.macc-m{font-size:12px;color:var(--muted);margin-top:4px}
.macc-a{display:flex;gap:18px;margin-top:10px}
/* 27 */
.version-row{display:grid!important;grid-template-columns:36px minmax(0,1fr) 150px 84px 56px!important;align-items:center!important;gap:12px!important;padding:12px 14px!important;border-top:1px solid var(--border)}
.version-row:first-child{border-top:0}.version-row.selected-row{background:var(--soft)!important}
.version-row>.st{justify-self:start}.version-row .text-button{justify-self:end;display:inline-flex;align-items:center;gap:4px}
.version-mark{width:28px;height:28px;border-radius:50%;background:var(--soft);display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:var(--muted)}
.version-row.selected-row .version-mark{background:var(--card)}
.version-author{font-size:12px;color:var(--muted);line-height:1.5}
.script-item .st{grid-row:1/3;grid-column:2;align-self:center}
/* 29/30 */
.es-main{text-align:center;padding:56px 24px!important;display:flex;flex-direction:column;align-items:center}
.es-main h2{font-size:16px!important;font-weight:600!important;margin:14px 0 6px}.es-main p{font-size:12px!important;color:var(--muted);margin:0 0 20px}
.es-ic{width:36px;height:36px;border-radius:50%;background:var(--soft);display:inline-flex;align-items:center;justify-content:center;color:var(--muted);flex-shrink:0}.es-ic svg{width:16px;height:16px}
.es-ic.lg{width:48px;height:48px}.es-ic.lg svg{width:20px;height:20px}
.es-code{font-size:48px;font-weight:600;letter-spacing:-1px;color:var(--faint);line-height:1}
.es-btns{display:flex;gap:10px;justify-content:center}
.es-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.es-card{display:flex!important;align-items:center;gap:14px;padding:18px 20px!important}
.es-tx{flex:1;min-width:0}.es-tx h3,.es-tx strong{font-size:13px!important;font-weight:600!important;margin:0;display:block}.es-tx p{font-size:12px!important;color:var(--muted);margin:3px 0 0;line-height:1.5}
.es-bars{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.es-bar{display:flex;align-items:center;gap:14px;padding:14px 18px;border:1px solid var(--border);border-radius:12px;background:var(--card)}
.m-main .es-grid{grid-template-columns:1fr;gap:10px}.m-main .es-card{padding:14px 16px!important}.m-main .es-bar{padding:12px 14px}.m-main .es-main{padding:40px 20px!important}
.macc-r.on{background:var(--soft)}
.mvers{margin-top:12px}
.mver{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--border)}
.mver strong{font-size:13px;font-weight:600;display:block}.mver small{font-size:11px;color:var(--faint)}
.mver2{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--border);font-size:13px}.mver2 span:first-child{color:var(--muted)}
.m-main .mc-sec{padding:16px!important;margin-bottom:12px}
.m-main .macc{margin-bottom:12px!important}
.pm-seg{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:2px!important;padding:3px!important;background:var(--soft)!important;border:0!important;border-radius:9px!important;margin:0!important}
.pm-seg button{height:28px!important;padding:0!important;border:0!important;border-radius:7px!important;background:none!important;color:var(--muted)!important;font-size:12px!important;text-align:center!important;justify-content:center!important;font-weight:400!important}
.pm-seg button.selected{background:var(--card)!important;color:var(--text)!important;font-weight:500!important;box-shadow:0 1px 2px rgba(0,0,0,.08)!important}
/* 27 archive polish */
.script-item{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;column-gap:10px!important;row-gap:2px!important;align-items:center!important;text-align:left}
.script-item>strong{grid-column:1;grid-row:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-size:13px}
.script-item>small{grid-column:1;grid-row:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;color:var(--muted)!important;font-size:11px}
.script-item>.st{grid-column:2;grid-row:1/3;align-self:center!important;justify-self:end}
.script-item.selected,.version-row.selected-row,.m-main .macc-r.on,.macc-r.on{background:color-mix(in srgb,var(--soft) 55%,transparent)!important}
.version-row{grid-template-columns:36px minmax(0,1fr) 150px 84px 72px!important}
.version-row>.text-button{justify-self:end;align-self:center!important;display:inline-flex!important;align-items:center;gap:4px;height:28px;padding:0 8px!important;margin:0!important;border:0!important;background:none!important;color:var(--muted)!important;font-size:12px!important;line-height:1}
.version-row>.text-button svg{width:14px;height:14px;flex:none}
.version-row>.st{align-self:center!important;justify-self:start}
.version-author{align-self:center!important;line-height:1.5}
.points-total{font-size:18px!important;font-weight:600!important;letter-spacing:-.3px}
.macc-t strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.macc-t{gap:10px}
.macc-m{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 28 settings polish */
.setting-card .form-row{align-items:flex-start!important;margin-top:0!important;padding-top:10px!important}
.setting-card .form-row label{display:block!important;margin:0 0 6px!important;padding:0!important}
.setting-card .setting-row>strong,.setting-card .threshold-item strong{font-size:13px!important;font-weight:600!important;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;margin:0!important;padding:0!important}
.setting-card .threshold-item{padding-left:0!important;padding-right:0!important}
