:root{
  --bg:#0b0b0f;--bg2:#15151c;--bg3:#1f1f29;--line:#2a2a36;
  --tx:#f2f2f5;--tx2:#a3a3b2;--pt:#e50914;--pt2:#ff3b47;
  --r:8px;--gut:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--tx);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Pretendard","Noto Sans KR","Malgun Gothic",sans-serif;
  -webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overflow-x:hidden}
input,textarea{-webkit-user-select:text;user-select:text}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:1400px;margin:0 auto;padding:0 var(--gut)}
.muted{color:var(--tx2)}

/* header */
.hd{position:sticky;top:0;z-index:50;background:rgba(11,11,15,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hd-in{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:12px;padding:10px var(--gut) 6px}
.logo{font-weight:900;font-size:21px;letter-spacing:-.5px;color:var(--pt);flex-shrink:0}
.sch{flex:1;display:flex;max-width:420px;margin-left:auto;background:var(--bg3);border-radius:999px;overflow:hidden;border:1px solid var(--line)}
.sch input{flex:1;min-width:0;background:none;border:0;color:var(--tx);padding:8px 14px;font-size:14px;outline:none}
.sch button{background:none;border:0;color:var(--tx2);padding:0 12px;cursor:pointer}
.cats{max-width:1400px;margin:0 auto;display:flex;gap:6px;overflow-x:auto;padding:4px var(--gut) 10px;scrollbar-width:none}
.cats::-webkit-scrollbar{display:none}
.cats a{flex-shrink:0;padding:5px 13px;border-radius:999px;background:var(--bg3);color:var(--tx2);font-size:13.5px;border:1px solid var(--line)}
.cats a.on{background:var(--tx);color:#000;border-color:var(--tx);font-weight:700}

/* ad slots */
.pm{display:grid;gap:6px;margin:12px 0}
.pm:empty{display:none}
.pm-top{grid-template-columns:1fr}
.pm a{position:relative;display:block;border-radius:6px;overflow:hidden;background:var(--bg2);line-height:0}
.pm img,.pm video{width:100%;height:auto;display:block}
.pm a::after{content:"AD";position:absolute;right:4px;top:4px;font:700 9px/1 sans-serif;padding:2px 4px;border-radius:3px;background:rgba(0,0,0,.55);color:#fff;letter-spacing:.5px}
.pm-inlist{margin:18px 0}
.grid-ad{grid-column:1/-1}
.grid-ad .pm{margin:4px 0}

/* hero */
.hero{position:relative;margin:12px 0 6px}
.hero-s{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:var(--r);scrollbar-width:none}
.hero-s::-webkit-scrollbar{display:none}
.hero-i{position:relative;flex:0 0 100%;scroll-snap-align:start;aspect-ratio:16/10;overflow:hidden;background:var(--bg2)}
.hero-i img,.hero-i .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-i .ph span{display:none}
.hero-t{position:absolute;inset:auto 0 0 0;padding:60px 16px 16px;background:linear-gradient(transparent,rgba(0,0,0,.9))}
.hero-t h1{font-size:22px;line-height:1.25;margin:6px 0 4px}
.hero-t p{color:#d4d4dc;font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:10px}
.badge{display:inline-block;background:var(--pt);color:#fff;font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px}
.btn{display:inline-block;background:#fff;color:#000;font-weight:700;padding:7px 18px;border-radius:6px;font-size:14px}
.hero-dots{display:flex;justify-content:center;gap:5px;margin-top:8px}
.hero-dots i{width:6px;height:6px;border-radius:50%;background:var(--line)}
.hero-dots i.on{background:var(--tx);width:16px;border-radius:3px}

/* rows */
.row{margin:18px 0}
.row-h{display:flex;align-items:baseline;justify-content:space-between;margin:18px 0 8px}
.row-h h2{font-size:17px;font-weight:800}
.row-h a{font-size:13px;color:var(--tx2)}
.row-s{scroll-padding-inline:var(--gut);display:grid;grid-auto-flow:column;grid-auto-columns:31%;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;margin:0 calc(var(--gut)*-1);padding:0 var(--gut)}
.row-s::-webkit-scrollbar{display:none}
.row-s .card{scroll-snap-align:start}

/* card */
.card{display:block;min-width:0}
.card-img{position:relative;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:var(--bg2)}
.card-img img,.card-img .ph{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.card:hover .card-img img,.card:hover .card-img .ph{transform:scale(1.04)}
.dur{position:absolute;right:4px;bottom:4px;font-style:normal;font-size:10.5px;background:rgba(0,0,0,.7);padding:1px 5px;border-radius:3px}
.card-t{font-size:13px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#dcdce3}
.ph{display:flex;align-items:center;justify-content:center;padding:10px}
.card .ph span{display:none}
.card .ph::before{content:"";width:34%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' fill-opacity='.7' d='M8 5v14l11-7z'/%3E%3C/svg%3E") center/45% no-repeat}
.ph span{font-weight:800;font-size:14px;line-height:1.25;text-shadow:0 1px 3px rgba(0,0,0,.6);word-break:keep-all}

/* grid pages */
.list-h{display:flex;align-items:baseline;gap:8px;margin:16px 0 12px}
.list-h h1{font-size:20px}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 8px}
.pager{display:flex;justify-content:center;gap:6px;margin:26px 0}
.pager a,.pager b{min-width:36px;height:36px;display:grid;place-items:center;border-radius:6px;background:var(--bg3);font-size:14px}
.pager b{background:var(--pt)}
.empty{text-align:center;padding:60px 0;color:var(--tx2)}
.empty h1{color:var(--tx);font-size:20px;margin-bottom:10px}
.empty a{color:var(--pt2)}

/* watch */
.player{position:relative;margin:12px calc(var(--gut)*-1) 0;background:#000;aspect-ratio:16/9}
.player video{width:100%;height:100%;display:block;background:#000}
.player-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--tx2)}
.info{padding:14px 0 4px}
.info h1{font-size:20px;line-height:1.3}
.meta{display:flex;flex-wrap:wrap;gap:4px 12px;color:var(--tx2);font-size:13px;margin:6px 0 10px}
.meta a{color:var(--pt2)}
.desc{color:#cfcfd8;font-size:14px;white-space:pre-line}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.tags a{font-size:12.5px;color:var(--tx2);background:var(--bg3);padding:3px 9px;border-radius:999px}

/* footer */
.ft{border-top:1px solid var(--line);margin-top:40px;padding:24px 0 calc(40px + env(safe-area-inset-bottom));font-size:12.5px;color:var(--tx2)}
.ft b{color:var(--tx);display:block;margin-bottom:6px}
.ft p{margin:3px 0}
.mirrors span{display:inline-block;margin-right:8px;color:var(--tx)}

@media (min-width:640px){
  .row-s{grid-auto-columns:22%}
  .grid{grid-template-columns:repeat(3,1fr)}
  .pm-top{grid-template-columns:1fr 1fr}
  .hero-i{aspect-ratio:21/9}
  .hero-t{padding:80px 28px 28px}
  .hero-t h1,.hero-t p{max-width:640px}
  .hero-t h1{font-size:30px}
}
@media (min-width:1024px){
  :root{--gut:28px}
  .row-s{grid-auto-columns:12.2%;gap:12px}
  .grid{grid-template-columns:repeat(4,1fr);gap:20px 14px}
  .player{margin:16px 0 0;border-radius:var(--r);overflow:hidden;max-height:78vh}
  .hero-t h1{font-size:38px}
}

/* 차단된 영상 대체 페이지 */
.blocked-box{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:34px 18px;text-align:center;margin:16px 0 8px}
.blocked-box h1{font-size:19px;margin-bottom:10px}
.blocked-box p{color:var(--tx2);margin-bottom:16px}
.blocked-box .btn{background:var(--pt);color:#fff}
.ft a.tg{color:var(--tx);text-decoration:underline;text-underline-offset:3px}

/* 성인 확인 게이트 */
html.age-lock, html.age-lock body{overflow:hidden}
.agegate{position:fixed;inset:0;z-index:1000;background:rgba(6,6,10,.98);display:flex;align-items:center;justify-content:center;padding:24px}
.agegate.hidden{display:none}
.ag-card{width:100%;max-width:360px;text-align:center;background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:28px 22px}
.ag-logo{font-weight:900;font-size:24px;color:var(--pt);letter-spacing:-.5px;margin-bottom:14px}
.ag-card h2{font-size:18px;margin-bottom:8px}
.ag-card p{color:var(--tx2);font-size:14px;line-height:1.6}
.ag-btns{display:grid;gap:9px;margin:18px 0 10px}
.ag-yes{background:var(--pt);color:#fff;border:0;padding:13px;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer}
.ag-no{background:var(--bg3);color:var(--tx2);border:1px solid var(--line);padding:11px;border-radius:8px;font-size:14px;cursor:pointer}
.ag-note{font-size:12px !important;color:var(--tx2)}

/* 광고 문의 자리배너 (house ad) — 눈에 띄는 배너형, 도박 무관 */
@keyframes houseShine{0%{transform:translateX(-120%) skewX(-18deg)}60%,100%{transform:translateX(320%) skewX(-18deg)}}
.pm a.house{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:70px;padding:12px 16px;border:1px solid #3a2a5a;border-radius:6px;
  background:linear-gradient(120deg,#241a3d 0%,#171029 55%,#2a1440 100%)}
.pm a.house::after{content:none}
.pm a.house::before{content:"";position:absolute;top:0;left:0;width:40px;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);animation:houseShine 3.4s ease-in-out infinite}
.pm a.house .h-main{display:flex;flex-direction:column;gap:2px;text-align:left;z-index:1}
.pm a.house .h-main b{font-size:16px;font-weight:900;color:#fff;letter-spacing:-.3px}
.pm a.house .h-main i{display:none;font-style:normal;font-size:12px;color:#c9b8e8}
.pm a.house .h-cta{z-index:1;flex-shrink:0;background:#ffd21e;color:#191022;font-weight:800;font-size:13px;
  padding:8px 14px;border-radius:999px;white-space:nowrap}
.pm-inlist a.house{min-height:110px}
.pm-inlist a.house .h-main i{display:block}
.pm-inlist a.house .h-main b{font-size:20px}
.pm-inlist a.house .h-main i{font-size:13.5px}
@media(min-width:560px){.pm a.house .h-main i{display:block}.pm-top a.house .h-main b{font-size:17px}}

/* 후원 배너 */
.donate{border-top:1px solid var(--line);background:linear-gradient(120deg,#0f1a17,#0b0f14);margin-top:34px}
.donate-in{display:flex;align-items:center;gap:16px;padding:16px var(--gut)}
.donate-qr{width:96px;height:96px;flex-shrink:0;border-radius:8px;background:#fff;padding:5px}
.donate-body{min-width:0}
.donate-body b{font-size:15px;color:#26d3a0}
.donate-warn{font-size:12px;color:#e0b34a;margin:4px 0 8px;line-height:1.5}
.donate-warn u{text-decoration:underline}
.donate-addr{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.donate-addr code{font-size:12.5px;background:var(--bg3);border:1px solid var(--line);border-radius:6px;padding:7px 10px;word-break:break-all;color:#dcdce3;flex:1;min-width:180px}
.donate-copy{flex-shrink:0;background:#26d3a0;color:#04140f;border:0;font-weight:800;font-size:13px;padding:8px 16px;border-radius:6px;cursor:pointer}
@media(max-width:520px){.donate-in{flex-direction:column;text-align:center}.donate-addr{justify-content:center}}

/* 상단 5칸 자리배너: 칸마다 색을 달리해 구분 */
.pm-top a.house{min-height:56px;padding:9px 14px}
.pm-top a.house .h-main b{font-size:15px}
.pm-top a.house .h-cta{padding:7px 12px;font-size:12.5px}
.pm-top a.house.h2{border-color:#1f4a5a;background:linear-gradient(120deg,#0f3140 0%,#0b1d29 55%,#12394a 100%)}
.pm-top a.house.h3{border-color:#5a3a1f;background:linear-gradient(120deg,#40260f 0%,#26170b 55%,#4a2d12 100%)}
.pm-top a.house.h4{border-color:#1f5a33;background:linear-gradient(120deg,#0f4022 0%,#0b2616 55%,#124a28 100%)}
.pm-top a.house.h5{border-color:#5a1f3a;background:linear-gradient(120deg,#400f26 0%,#290b19 55%,#4a1230 100%)}
.pm-top a.house.h2 .h-main i{color:#a8d8e8}.pm-top a.house.h3 .h-main i{color:#e8cfa8}
.pm-top a.house.h4 .h-main i{color:#a8e8bd}.pm-top a.house.h5 .h-main i{color:#e8a8c6}

/* 상단 후원 띠: 폰에서는 제목 1줄 + (주소 | 복사) 1줄, PC에서는 한 줄 */
.donate-top{background:linear-gradient(120deg,#0f1a17,#0b0f14);border-bottom:1px solid var(--line)}
.donate-top-in{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"l l" "a b";align-items:center;gap:6px 8px;padding-top:8px;padding-bottom:8px}
.dt-label{grid-area:l;font-size:12.5px;font-weight:700;color:#26d3a0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dt-addr{grid-area:a;min-width:0;font-size:12px;color:#dcdce3;background:var(--bg3);border:1px solid var(--line);border-radius:6px;padding:6px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dt-copy{grid-area:b;padding:6px 12px;font-size:12.5px}
@media (min-width:640px){
  .donate-top-in{grid-template-columns:auto minmax(0,auto) auto;grid-template-areas:"l a b";justify-content:start;gap:10px}
}

/* 무한 스크롤: JS가 켜져 있으면 페이지 번호 숨김 */
.js .pager{display:none}
.more-load{height:40px;margin:10px 0}
.more-load.on{background:radial-gradient(circle,var(--tx2) 3px,transparent 4px) center/18px 8px repeat-x;opacity:.6;max-width:60px;margin:10px auto}
.card-t{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35}
.pm a.house{line-height:1.3}

/* 팝업 */
.pop-wrap{position:fixed;inset:0;z-index:900;background:rgba(0,0,0,.6);display:grid;place-items:center;padding:20px;animation:popIn .2s ease}
@keyframes popIn{from{opacity:0}to{opacity:1}}
.pop-card{width:100%;max-width:400px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.pop-card img{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain;background:#000}
.pop-text{padding:22px 20px 18px;text-align:left}
.pop-text b{display:block;font-size:17px;margin-bottom:8px;color:var(--tx)}
.pop-text p{white-space:pre-line;color:var(--tx2);font-size:14px;line-height:1.65}
.pop-more{display:inline-block;margin-top:12px;color:var(--pt2);font-weight:700;font-size:14px}
.pop-bar{display:flex;border-top:1px solid var(--line)}
.pop-bar button{flex:1;background:none;border:0;color:var(--tx2);font-size:13.5px;padding:13px 8px;cursor:pointer}
.pop-bar button+button{border-left:1px solid var(--line);color:var(--tx);font-weight:700}
.pop-acts{display:grid;gap:8px;padding:12px 14px 14px;border-top:1px solid var(--line)}
.pop-btn{display:block;width:100%;text-align:center;border:0;border-radius:8px;padding:12px 10px;font-weight:800;font-size:14.5px;cursor:pointer}
.pop-tg{background:#229ed9;color:#fff}
.pop-dn{background:#26d3a0;color:#04140f}
.pop-dn.on{background:#1b8f6d;color:#fff}
.pop-note{text-align:center;color:#e0b34a;font-size:11.5px;margin-top:-2px}
.pop-chrome{background:#fff;color:#1a1a1a}
.pop-copy{background:var(--line);color:var(--tx)}
.pop-help{z-index:950}

/* v28 첫 화면: 인기 영상 + 최근 영상 2구역, 하단 배너 */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.home-sec{margin:18px 0 26px}
.home-h{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 10px}
.home-h h2{font-size:19px;font-weight:800}
.home-h a{font-size:13.5px;color:var(--tx2);padding:6px 0 6px 12px}
.home-g .card:nth-child(n+7){display:none}
.more-btn{display:block;text-align:center;margin:14px 0 0;padding:12px;border-radius:8px;background:var(--bg3);border:1px solid var(--line);font-size:14px;font-weight:700;color:var(--tx)}
.more-btn:hover{border-color:var(--pt)}
.pm-bottom{grid-template-columns:1fr;margin:26px 0 0}
.pm-bottom a.house{min-height:56px;padding:9px 14px}
@media (min-width:640px){.pm-bottom{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.home-g .card:nth-child(n+7){display:block}}
