.spyt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
@media(max-width:1000px){.spyt-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.spyt-grid{grid-template-columns:1fr;}}
.spyt-card{display:flex;flex-direction:column;gap:10px;background:var(--sp-card,#fff);border:1px solid var(--sp-border,#E4DFD6);border-radius:var(--sp-radius,10px);overflow:hidden;box-shadow:var(--sp-shadow,0 2px 10px rgba(11,93,82,.08));color:var(--sp-text,#2B2B2B);text-decoration:none;transition:transform .2s,box-shadow .2s;}
.spyt-card:hover,.spyt-card:focus-visible{transform:translateY(-3px);box-shadow:0 8px 22px rgba(0,0,0,.14);}
.spyt-thumb{position:relative;display:block;aspect-ratio:16/9;background:#111;overflow:hidden;}
.spyt-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.spyt-play{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:rgba(0,0,0,.65);box-shadow:0 2px 8px rgba(0,0,0,.4);}
.spyt-play::after{content:"";position:absolute;left:21px;top:16px;border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent #fff;}
.spyt-card:hover .spyt-play{background:#E62117;}
.spyt-title{padding:0 14px 14px;font-weight:600;font-size:15px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.spyt-more{text-align:center;margin:30px 0 0;}
.spyt-admin-note{margin:20px auto;padding:12px 16px;border:1px dashed #b32d2e;border-radius:8px;font-size:14px;background:#fff7f7;}
.spyt-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.82);padding:20px;}
.spyt-modal-box{position:relative;width:100%;max-width:960px;}
.spyt-modal-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden;}
.spyt-modal-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.spyt-modal-close{position:absolute;right:0;top:-46px;width:40px;height:40px;border:0;border-radius:50%;background:#fff;color:#111;font-size:24px;line-height:1;cursor:pointer;}
.spyt-modal-close:focus-visible{outline:3px solid #E8734A;}
.spyt-modal-title{color:#fff;margin:12px 2px 0;font-size:15px;}
body.spyt-open{overflow:hidden;}
