.yjtv-card {
    --yjtv-bg: #fff;
    --yjtv-panel: #f4f7fb;
    --yjtv-text: #243247;
    --yjtv-muted: #687589;
    --yjtv-border: #e4eaf1;
    --yjtv-accent: #238acb;
    box-sizing: border-box;
    width: 100%;
    max-width: var(--yjtv-width, 860px);
    min-width: 0;
    margin: 24px auto;
    border: 1px solid var(--yjtv-border);
    border-radius: 16px;
    background: var(--yjtv-bg);
    color: var(--yjtv-text);
    font: 14px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
    overflow: hidden;
    text-align: left;
}
.yjtv-card[data-dark="1"] {
    --yjtv-bg: #20252e;
    --yjtv-panel: #181d26;
    --yjtv-text: #e5edf6;
    --yjtv-muted: #a0aec1;
    --yjtv-border: #333e4c;
    --yjtv-accent: #58b5ef;
}
.yjtv-card *, .yjtv-error { box-sizing: border-box; }
.yjtv-card [hidden] { display: none !important; }
.yjtv-header { display: flex; align-items: center; gap: 10px; padding: 16px 20px; border-bottom: 1px solid var(--yjtv-border); }
.yjtv-mark { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; background: #238acb; color: #fff; font-size: 12px; font-weight: 700; border-radius: 11px; }
.yjtv-title { flex: 1; min-width: 0; font-size: 15px; font-weight: 600; overflow-wrap: anywhere; }
.yjtv-badge { flex-shrink: 0; padding: 2px 8px; font-size: 12px; color: var(--yjtv-muted); background: var(--yjtv-panel); border-radius: 6px; }
.yjtv-stage { position: relative; width: 100%; min-width: 0; padding: 14px; background: var(--yjtv-panel); }
.yjtv-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 290px; gap: 10px; padding: 32px 18px; text-align: center; }
.yjtv-placeholder strong { color: var(--yjtv-text); font-size: 17px; font-weight: 600; overflow-wrap: anywhere; }
.yjtv-card .yjtv-placeholder p { color: var(--yjtv-muted); font-size: 13px; line-height: 1.7; margin: 0 0 8px; padding: 0; }
.yjtv-play { display: grid; place-items: center; width: 54px; height: 54px; padding-left: 3px; margin-bottom: 5px; border-radius: 50%; color: var(--yjtv-accent); border: 1px solid var(--yjtv-border); background: var(--yjtv-bg); font-size: 19px; }
.yjtv-card .yjtv-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 24px; border: 0; border-radius: 9px; background: #238acb; color: #fff; cursor: pointer; font: inherit; font-weight: 600; box-shadow: none; text-decoration: none; }
.yjtv-card .yjtv-button:hover { background: #1875b0; }
.yjtv-card .yjtv-button:disabled { opacity: .65; cursor: wait; }
.yjtv-card .yjtv-frame { display: block; width: 100%; min-width: 0; height: 320px; margin: 0; padding: 0; border: 0; border-radius: 8px; background: transparent; }
.yjtv-card[data-state="loading"] .yjtv-frame { left: 14px; width: calc(100% - 28px); }
.yjtv-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 12px; padding: 10px 20px; color: var(--yjtv-muted); font-size: 12px; border-top: 1px solid var(--yjtv-border); }
.yjtv-status { flex: 1 1 150px; overflow-wrap: anywhere; }
.yjtv-card .yjtv-footer a { display: inline-flex; align-items: center; min-height: 36px; color: var(--yjtv-accent); text-decoration: none; border: 0; white-space: nowrap; font-size: 12px; }
.yjtv-card .yjtv-retry { min-height: 36px; padding: 2px 4px; color: var(--yjtv-accent); background: none; border: 0; font: inherit; cursor: pointer; }
.yjtv-card button:focus-visible, .yjtv-card a:focus-visible { outline: 3px solid var(--yjtv-accent); outline-offset: 3px; }
.yjtv-error { margin: 16px 0; padding: 16px; border-radius: 8px; color: #8b480e; background: #fff4e7; line-height: 1.6; overflow-wrap: anywhere; }
.yjtv-card .yjtv-noscript { margin: 0; padding: 12px 20px; color: var(--yjtv-muted); }
@media (max-width: 480px) {
    .yjtv-card { margin: 18px auto; border-radius: 12px; }
    .yjtv-header { gap: 8px; padding: 12px; }
    .yjtv-title { font-size: 14px; }
    .yjtv-stage { padding: 4px; }
    .yjtv-card[data-state="loading"] .yjtv-frame { left: 4px; width: calc(100% - 8px); }
    .yjtv-placeholder { min-height: 270px; padding: 26px 12px; }
    .yjtv-footer { padding: 8px 12px; }
}
@media (prefers-reduced-motion: reduce) { .yjtv-card * { scroll-behavior: auto; } }
