body{
    background:
        radial-gradient(circle at top,rgba(99,102,241,.12),transparent 35%),
        #090b11;
}

/* 관리자 영역 */

.SideMenuMain{
    margin-top:54px;
    padding:20px 0;
    background:transparent;
}

.AddClipBtn{
    border:none;
    border-radius:16px;
    padding:14px 26px;
    font-weight:700;
    color:#fff !important;
    background:linear-gradient(135deg,#6366f1,#8b5cf6);
    box-shadow:0 12px 28px rgba(99,102,241,.35);
    transition:.2s;
}

.AddClipBtn:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 40px rgba(99,102,241,.45);
}

/* 리스트 */

.VideoListArea{
    min-height:900px;
    padding-top:60px;
    padding-bottom:80px;
}

.MenuTitle{
    color:#fff;
    font-size:2rem;
    font-weight:800;
}

.pointTitle{
    position:relative;
    display:inline-block;
}

.pointTitle:after{
    content:'';
    position:absolute;
    left:0;
    bottom:-10px;
    width:100%;
    height:3px;
    border-radius:20px;
    background:linear-gradient(90deg,#6366f1,#8b5cf6);
}

.SomeIconArea{
    text-align:right;
}

.YoutubeIcon{
    width:70px;
    height:auto;
    transition:.25s;
    filter:drop-shadow(0 0 15px rgba(255,0,0,.2));
}

.YoutubeIcon:hover{
    transform:scale(1.08);
    filter:drop-shadow(0 0 25px rgba(255,0,0,.4));
}

/* 영상 카드 */

.stuffBox{
    position:relative;
    overflow:hidden;
    border-radius:22px;
    background:
        linear-gradient(
            180deg,
            rgba(20,25,38,.95),
            rgba(12,16,24,.95)
        );
    border:1px solid rgba(255,255,255,.06);
    box-shadow:0 10px 25px rgba(0,0,0,.25);
    transition:.25s;
    margin-bottom:24px;
}

.stuffBox:before{
    content:'';
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:1px;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(129,140,248,.55),
            transparent
        );
    opacity:0;
    transition:.25s;
}

.stuffBox:hover:before{
    opacity:1;
}

.stuffBox:hover{
    transform:translateY(-6px);
    border-color:rgba(129,140,248,.35);
    box-shadow:0 20px 45px rgba(0,0,0,.4);
}

.stuffImgBox{
    aspect-ratio:16/9;
    background-size:cover;
    background-position:center;
    transition:.35s;
}

.stuffBox:hover .stuffImgBox{
    background-size:108%;
    filter:brightness(.75);
}

.VideoInfoArea{
    padding:14px;
}

.VideoTitle{
    min-height:44px;
    color:#fff;
    font-size:14px;
    font-weight:700;
    line-height:1.5;
    overflow:hidden;
}

.VideoMeta{
    display:flex;
    gap:10px;
    margin-top:10px;
    font-size:12px;
    color:#9ca3af;
}

.VideoMeta span{
    display:flex;
    align-items:center;
    gap:4px;
}

.VideoBadge{
    position:absolute;
    top:12px;
    left:12px;
    padding:5px 10px;
    border-radius:999px;
    background:rgba(255,0,0,.9);
    color:#fff;
    font-size:11px;
    font-weight:700;
    z-index:2;
}

.VideoPlayIcon{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:58px;
    height:58px;
    border-radius:50%;
    background:rgba(0,0,0,.65);
    backdrop-filter:blur(6px);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:24px;
    opacity:0;
    transition:.2s;
    z-index:2;
    pointer-events:none;
}

.stuffBox:hover .VideoPlayIcon{
    opacity:1;
}

/* 페이지네이션 */

.PaginationArea{
    position:relative;
    background:
        radial-gradient(
            circle at center,
            rgba(139,92,246,.10),
            transparent 40%
        ),
        linear-gradient(
            180deg,
            rgba(15,23,42,.25),
            #090b11
        );
}

.PaginationArea:before{
    content:'';

    position:absolute;

    left:50%;
    top:0;

    width:500px;
    height:1px;

    transform:translateX(-50%);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(167,139,250,.7),
            transparent
        );

    box-shadow:
        0 0 12px rgba(99,102,241,.3);
}


.CustomPagination{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    padding:30px 0;
}

.PageBtn{
    width:46px;
    height:46px;
    border:none;
    border-radius:14px;
    background:rgba(255,255,255,.04);
    color:#cbd5e1;
    font-size:14px;
    font-weight:700;
    transition:.2s;
}

.PageBtn:hover{
    transform:translateY(-2px);
    color:#fff;
    background:rgba(99,102,241,.18);
    box-shadow:0 8px 18px rgba(99,102,241,.15);
}

.PageBtn.active{
    color:#fff;
    background:linear-gradient(135deg,#6366f1,#8b5cf6);
    box-shadow:0 10px 25px rgba(99,102,241,.3);
}

.FirstBtn,
.LastBtn{
    font-size:12px;
}

/* 상세 */

.VideoViewArea{
    padding-top:120px;
    padding-bottom:40px;
    background:#090b11;
}

.VideoPlayerCard{
    position:relative;
    overflow:hidden;
    border-radius:24px;
    border:1px solid rgba(255,255,255,.06);
    box-shadow:0 20px 50px rgba(0,0,0,.35);
}

.VideoPlayerCard:before{
    content:'';
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:1px;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(129,140,248,.6),
            transparent
        );
    z-index:2;
}

.VideoPlayerCard iframe{
    border:0;
}

.VideoInforArea{
    background:#090b11;
    padding-bottom:80px;
}

.VideoContentCard{
    background:
        linear-gradient(
            180deg,
            rgba(20,25,38,.95),
            rgba(12,16,24,.95)
        );
    border-radius:24px;
    border:1px solid rgba(255,255,255,.06);
    overflow:hidden;
}

.VideoHeader{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:24px 30px;
    border-bottom:1px solid rgba(255,255,255,.06);
}

.VideoDate{
    color:#fff;
    font-weight:700;
}

.VideoHit{
    margin-top:6px;
    color:#9ca3af;
    font-size:13px;
}

.VideoBody{
    padding:35px;
    color:#d1d5db;
    line-height:1.9;
}

.VideoBody img{
    max-width:100%;
    height:auto;
    border-radius:16px;
}

.VideoAdminBtn{
    width:46px;
    height:46px;
    border:none;
    border-radius:14px;
    background:rgba(255,255,255,.05);
    color:#cbd5e1;
}

.VideoAdminBtn:hover{
    color:#fff;
    background:rgba(99,102,241,.2);
}

/* 등록 / 수정 */

.YouTubeAddArea,
.YouTubeUpdArea{
    background:#090b11;
    color:#fff;
    padding-top:80px;
    padding-bottom:80px;
}

.YouTubeAddArea .form-control,
.YouTubeUpdArea .form-control,
.YouTubeAddArea textarea,
.YouTubeUpdArea textarea{
    border-radius:18px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    color:#fff;
}

.YouTubeAddArea .form-control:focus,
.YouTubeUpdArea .form-control:focus{
    border-color:rgba(129,140,248,.45);
    box-shadow:0 0 0 4px rgba(99,102,241,.12);
    background:rgba(255,255,255,.06);
}

.TextArea{
    min-height:220px;
}

.YouTubeAddArea .btn-primary,
.YouTubeUpdArea .btn-primary{
    border:none;
    border-radius:16px;
    background:linear-gradient(135deg,#6366f1,#8b5cf6);
}



.CustomPagination{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    padding:15px 0;
}

.PageBtn{
    width:46px;
    height:46px;

    border:none;

    border-radius:14px;

    background:rgba(255,255,255,.04);

    color:#cbd5e1;

    font-size:14px;
    font-weight:700;

    transition:.2s;
}

.PageBtn:hover{
    transform:translateY(-2px);

    color:#fff;

    background:rgba(99,102,241,.18);

    box-shadow:0 8px 18px rgba(99,102,241,.15);
}

.PageBtn.active{
    color:#fff;

    background:
        linear-gradient(
            135deg,
            #6366f1,
            #8b5cf6
        );

    box-shadow:
        0 10px 25px rgba(99,102,241,.3);
}

.FirstBtn,
.LastBtn{
    width:52px;
}

.PageDots{
	color:#6b7280;
	font-size:14px;
	font-weight:700;
	padding:0 4px;
	align-self:center;
}

.PrevBtn,
.NextBtn,
.FirstBtn,
.LastBtn{
	width:46px;
	flex-shrink:0;
}