/* ===== 存储卡连拍 · 缓冲条 ===== */
.sdc {
    background: #fbfbfe;
    border: 1px solid #e3e3ef;
    border-radius: 12px;
    padding: 24px 22px;
    margin-bottom: 26px;
    box-shadow: 0 10px 30px rgba(40, 40, 90, .07);
}

.sdc-stage {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 20px;
    align-items: stretch;
}

/* ---- 缓冲区 ---- */
.sdc-buffer {
    background: #fff; border: 1px solid #e3e3ef; border-radius: 10px;
    padding: 14px 16px; display: flex; flex-direction: column; gap: 10px;
}
.sdc-buffer-head {
    display: flex; justify-content: space-between; align-items: baseline;
    font-size: 10.5px; color: #8b8ba7;
}
.sdc-buffer-head b { color: #4338ca; font-family: ui-monospace, monospace; }
.sdc-cells { display: flex; gap: 4px; align-items: flex-end; height: 74px; }
.sdc-cell {
    flex: 1 1 0; border-radius: 3px 3px 1px 1px;
    background: #ecebf7; border: 1px solid #e3e3ef;
    transition: background .3s, box-shadow .3s;
    min-height: 10px;
}
.sdc-cell.on {
    background: linear-gradient(180deg, #818cf8, #4f46e5);
    border-color: #6366f1;
    box-shadow: 0 0 6px rgba(99, 102, 241, .35);
}
.sdc-cell.warn {
    background: linear-gradient(180deg, #fbbf24, #d97706);
    border-color: #f59e0b;
}
.sdc-cell.full { background: #ecebf7; }
.sdc-buffer-foot {
    display: flex; justify-content: space-between;
    font: 700 9.5px/1.4 ui-monospace, monospace; color: #9a9ab5;
}

/* ---- 读数 ---- */
.sdc-read {
    background: #fff; border: 1px solid #e3e3ef; border-radius: 10px;
    padding: 16px 18px; display: flex; flex-direction: column; gap: 12px;
}
.sdc-big small { font-size: 10px; color: #8b8ba7; letter-spacing: .05em; display: block; }
.sdc-big b {
    font: 700 36px/1 ui-monospace, Consolas, monospace; color: #4338ca;
    font-variant-numeric: tabular-nums; letter-spacing: -.02em;
}
.sdc-big b em { font-style: normal; font-size: 11px; color: #8b8ba7; font-weight: 400; }
.sdc-big i {
    font-style: normal; font-size: 10.5px; font-weight: 700; margin-left: 8px;
    padding: 4px 9px; border-radius: 4px; vertical-align: middle;
    background: #eef2ff; color: #3730a3; border: 1px solid #c7d2fe;
}
.sdc-big i.bad { background: #fef2f2; color: #b91c1c; border-color: #fecaca; }

.sdc-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.sdc-card {
    background: #f8f8fd; border: 1px solid #eaeaF5; border-radius: 7px; padding: 8px 10px;
}
.sdc-card span { display: block; font-size: 9.5px; color: #8b8ba7; }
.sdc-card b {
    font: 700 13px/1.4 ui-monospace, monospace; color: #312e81;
    font-variant-numeric: tabular-nums;
}
.sdc-card b em { font-style: normal; font-size: 9px; color: #8b8ba7; font-weight: 400; }

/* ---- 速度双条 ---- */
.sdc-speed {
    margin-top: 18px; background: #fff; border: 1px solid #e3e3ef;
    border-radius: 10px; padding: 14px 16px; display: grid; gap: 10px;
}
.sdc-row { display: grid; grid-template-columns: 76px 1fr 84px; align-items: center; gap: 10px; }
.sdc-row > span { font-size: 10px; color: #8b8ba7; }
.sdc-row > b { font: 700 11px/1 ui-monospace, monospace; color: #312e81; text-align: right; }
.sdc-track { height: 12px; border-radius: 4px; background: #f0f0f8; overflow: hidden; }
.sdc-fill { height: 100%; border-radius: 4px; transition: width .4s; }
.sdc-fill.need { background: linear-gradient(90deg, #f472b6, #db2777); }
.sdc-fill.card { background: linear-gradient(90deg, #818cf8, #4f46e5); }

/* ---- 参数 ---- */
.sdc-params { margin-top: 18px; border-top: 1px solid #e3e3ef; padding-top: 15px; }
.sdc-params h2 { font-size: 12px; letter-spacing: .07em; color: #4b4b63; margin: 0 0 11px; }
.sdc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; }
.sdc-grid label { display: flex; flex-direction: column; gap: 4px; }
.sdc-grid span { font-size: 10.5px; color: #8b8ba7; }
.sdc-grid input, .sdc-grid select {
    font: inherit; font-size: 12px; padding: 7px 9px; border: 1px solid #e3e3ef;
    border-radius: 5px; background: #fff; color: #312e81; font-variant-numeric: tabular-nums;
    min-width: 0;
}
.sdc-grid input:focus, .sdc-grid select:focus { outline: 2px solid rgba(67, 56, 202, .14); border-color: #4338ca; }
.sdc-grid input.is-bad { border-color: #dc2626; background: #fff1f2; }

.sdc-verdict {
    margin: 15px 0 0; padding: 10px 13px; border-radius: 8px;
    font-size: 11.5px; line-height: 1.7; color: #312e81; background: #f3f3fe;
    border-left: 3px solid #6366f1;
}
.sdc-verdict.bad { color: #9f1239; background: #fff5f7; border-left-color: #e11d48; }

@media (max-width: 860px) {
    .sdc-stage { grid-template-columns: 1fr; }
    .sdc-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
    .sdc { padding: 16px 13px; }
    .sdc-grid { grid-template-columns: 1fr; }
    .sdc-cards { grid-template-columns: 1fr; }
    .sdc-big b { font-size: 29px; }
    .sdc-row { grid-template-columns: 66px 1fr; }
    .sdc-row > b { display: none; }
}

/* ---- 深色 ---- */
[data-theme="dark"] .sdc { background: #0d0d14; border-color: #24243a; box-shadow: none; }
[data-theme="dark"] .sdc-buffer, [data-theme="dark"] .sdc-read, [data-theme="dark"] .sdc-speed { background: #131320; border-color: #24243a; }
[data-theme="dark"] .sdc-cell { background: #1d1d2e; border-color: #24243a; }
[data-theme="dark"] .sdc-big b { color: #a5b4fc; }
[data-theme="dark"] .sdc-big small, [data-theme="dark"] .sdc-card span, [data-theme="dark"] .sdc-grid span, [data-theme="dark"] .sdc-row > span, [data-theme="dark"] .sdc-buffer-head { color: #8b8ba7; }
[data-theme="dark"] .sdc-card { background: #181828; border-color: #24243a; }
[data-theme="dark"] .sdc-card b { color: #c7d2fe; }
[data-theme="dark"] .sdc-track { background: #1d1d2e; }
[data-theme="dark"] .sdc-row > b { color: #c7d2fe; }
[data-theme="dark"] .sdc-params { border-color: #24243a; }
[data-theme="dark"] .sdc-params h2 { color: #c7d2fe; }
[data-theme="dark"] .sdc-grid input, [data-theme="dark"] .sdc-grid select { background: #131320; border-color: #24243a; color: #e0e7ff; }
[data-theme="dark"] .sdc-verdict { background: rgba(99, 102, 241, .12); color: #c7d2fe; }
[data-theme="dark"] .sdc-verdict.bad { background: rgba(190, 18, 60, .12); color: #fda4af; }
