/* ==========================================================================
   投影仪幕布尺寸与距离计算 —— 专属样式（双场景对比卡 + 距离标尺）
   依赖 biz-kit.css v2 变量与骨架
   ========================================================================== */

/* ---------- 双场景对比 ---------- */
.pj-scenes { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 6px; }

.pj-scene {
    border: 1px solid var(--bk-line);
    border-radius: 12px;
    background: var(--bk-card);
    padding: 16px 18px;
    display: grid;
    gap: 10px;
}

.pj-scene-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.pj-scene-head b { font-size: 14.5px; font-weight: 800; }

.pj-scene-tag {
    font-family: var(--bk-mono);
    font-size: 10px;
    letter-spacing: .08em;
    padding: 3px 9px;
    border-radius: 999px;
    background: var(--bk-accent-soft);
    color: var(--bk-accent);
    font-weight: 700;
}

.pj-scene-tag.is-warn { background: var(--bk-warm-soft); color: var(--bk-warm); }

/* 迷你示意图：墙 + 幕布 + 沙发 */
.pj-mini {
    position: relative;
    height: 84px;
    border: 1px solid var(--bk-line);
    border-radius: 8px;
    background: var(--bk-line2);
    overflow: hidden;
}

.pj-mini::after {
    /* 沙发 */
    content: "";
    position: absolute;
    left: 4%;
    bottom: 8px;
    width: 16%;
    height: 26px;
    border-radius: 8px 8px 3px 3px;
    background: var(--bk-ink3);
    opacity: .55;
}

.pj-mini i {
    position: absolute;
    right: 3%;
    top: 50%;
    transform: translateY(-50%);
    height: 78%;
    border-radius: 4px;
    background: linear-gradient(180deg, var(--bk-accent), var(--bk-accent) 82%, transparent);
    border: 2px solid var(--bk-accent);
    border-bottom: 0;
    transition: width .3s ease, height .3s ease;
}

.pj-rows { display: grid; gap: 6px; }

.pj-row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    font-size: 12.5px;
    color: var(--bk-ink2);
}

.pj-row b { font-family: var(--bk-mono); font-variant-numeric: tabular-nums; color: var(--bk-ink); white-space: nowrap; }
.pj-row.is-key b { color: var(--bk-accent); font-size: 14.5px; }

/* ---------- 距离标尺 ---------- */
.pj-ruler { position: relative; padding: 44px 0 30px; margin-top: 8px; }

.pj-ruler-track {
    position: relative;
    height: 16px;
    border-radius: 999px;
    background: var(--bk-line2);
    border: 1px solid var(--bk-line);
    overflow: hidden;
}

.pj-ruler-track i {
    position: absolute;
    top: 0;
    bottom: 0;
    border-radius: 999px;
    background: linear-gradient(90deg, color-mix(in srgb, var(--bk-accent) 45%, transparent), var(--bk-accent));
    transition: left .3s ease, width .3s ease;
}

.pj-ruler-seg {
    position: absolute;
    top: 34px;
    transform: translateX(-50%);
    text-align: center;
    font-family: var(--bk-mono);
    font-size: 10px;
    color: var(--bk-ink3);
    line-height: 1.5;
}

.pj-ruler-seg b {
    display: block;
    font-size: 11px;
    color: var(--bk-ink2);
    font-variant-numeric: tabular-nums;
}

.pj-ruler-seg::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 6px;
    background: var(--bk-line);
}

.pj-ruler-marks {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
    font-family: var(--bk-mono);
    font-size: 9.5px;
    color: var(--bk-ink3);
}

@media (max-width: 700px) {
    .pj-scenes { grid-template-columns: 1fr; }
    .pj-ruler-seg { display: none; }
    .pj-ruler-seg:nth-child(2), .pj-ruler-seg:nth-child(4), .pj-ruler-seg:nth-child(6) { display: block; }
}
