/* ============================================================
   屏幕录制 screen-recorder · zhandu.cn
   纯浏览器本地录制（getDisplayMedia + MediaRecorder），零上传
   ============================================================ */

.sr-card {
    padding: 26px 22px 18px;
}

/* ---------- 保存位置说明条 ---------- */
.sr-saveinfo {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #eef4ff;
    border: 1px solid #d5e3fb;
    border-radius: 12px;
    padding: 12px 14px;
    font-size: 13.5px;
    line-height: 1.7;
    color: #1e429f;
    margin-bottom: 18px;
}

.sr-saveinfo .svg-icon {
    flex-shrink: 0;
    margin-top: 3px;
    font-size: 17px;
}

.sr-saveinfo b { font-weight: 700; }

/* ---------- 选项区 ---------- */
.sr-opts {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    justify-content: center;
    margin-bottom: 20px;
}

.sr-opt {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 14px;
    color: #47536b;
    cursor: pointer;
    user-select: none;
}

.sr-opt input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #2563eb;
    cursor: pointer;
}

.sr-opt select {
    font-size: 14px;
    color: #1d2940;
    background: #fff;
    border: 1px solid #dbe3ee;
    border-radius: 8px;
    padding: 5px 8px;
    cursor: pointer;
}

/* ---------- 主按钮 ---------- */
.sr-mainbtn {
    display: block;
    margin: 0 auto;
    min-width: 260px;
    padding: 14px 34px;
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, #2563eb, #7c3aed);
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: transform .15s, box-shadow .2s, opacity .2s;
    box-shadow: 0 6px 18px rgba(37, 99, 235, .28);
}

.sr-mainbtn:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(37, 99, 235, .34); }
.sr-mainbtn:active { transform: scale(.97); }
.sr-mainbtn:disabled { opacity: .55; cursor: not-allowed; transform: none; }

.sr-mainbtn.rec {
    background: linear-gradient(135deg, #dc2626, #ef4444);
    box-shadow: 0 6px 18px rgba(220, 38, 38, .3);
}

.sr-mainbtn.rec:hover { box-shadow: 0 10px 24px rgba(220, 38, 38, .36); }

/* ---------- 录制状态区 ---------- */
.sr-status {
    display: none;
    margin-top: 20px;
    text-align: center;
}

.sr-status.show { display: block; }

.sr-recbar {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 100px;
    padding: 8px 20px;
    font-variant-numeric: tabular-nums;
}

.sr-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #dc2626;
    animation: sr-blink 1.1s infinite;
}

@keyframes sr-blink {
    0%, 100% { opacity: 1; }
    50% { opacity: .25; }
}

.sr-timer {
    font-size: 20px;
    font-weight: 700;
    color: #b91c1c;
    letter-spacing: 1px;
}

.sr-size {
    font-size: 13px;
    color: #9f3a38;
}

.sr-fileline {
    margin-top: 10px;
    font-size: 13px;
    color: #5b6b85;
    word-break: break-all;
}

.sr-fileline b { color: #1d4ed8; font-weight: 600; }

/* ---------- 预览 ---------- */
.sr-preview {
    display: none;
    margin: 16px auto 0;
    max-width: 560px;
    border-radius: 12px;
    border: 1px solid #e2e8f2;
    background: #0b0e14;
    width: 100%;
    box-shadow: 0 8px 26px rgba(15, 23, 42, .14);
}

.sr-preview.show { display: block; }

/* ---------- 提示 / 错误 ---------- */
.sr-err {
    display: none;
    margin-top: 14px;
    text-align: center;
    font-size: 13.5px;
    color: #b91c1c;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 10px;
    padding: 10px 14px;
    line-height: 1.7;
}

.sr-err.show { display: block; }

/* ---------- 功能说明 ---------- */
.sr-notes h2 {
    font-size: 18px;
    font-weight: 700;
    color: #1d2940;
    margin-bottom: 12px;
}

.sr-notes ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sr-notes li {
    position: relative;
    padding: 5px 0 5px 22px;
    font-size: 14px;
    line-height: 1.8;
    color: #47536b;
}

.sr-notes li::before {
    content: '';
    position: absolute;
    left: 4px;
    top: 14px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: linear-gradient(135deg, #2563eb, #7c3aed);
}

.sr-notes b { color: #1d2940; font-weight: 700; }

/* ---------- 移动端 ---------- */
@media (max-width: 640px) {
    .sr-card { padding: 20px 14px 14px; }
    .sr-mainbtn { min-width: 0; width: 100%; }
    .sr-opts { gap: 8px 16px; }
    .sr-saveinfo { font-size: 13px; }
}
