/* ─────────────────────────────────────────────────────────────
   v5 구조 개편 (2026-11-08) — "색만 바꾼 수준" 기각 뒤, 화면 구조부터 다시.
   상단 2안 (무신사 판박이 기각 뒤): 흰 헤더 · 형광펜 탭 · 초록 체크 알약(공정성)
   → 벤토 빅배너(큰 카드 1 + 작은 카드 2, 빨간 잔여 도장·동그란 상위상) → 봉인 영수증 → 상위상 진열대(가격표) → 동그란 바로가기.
   그 아래는 쿠지 고유: 방금 뜯긴 종이 · 곧 끝나는 판 · 티켓 카드(사진/절취선/정보) · FAIR PLAY.
   kream.css 뒤, nav.css 뒤에 실린다. head.ejs 의 v5.css 한 줄만 빼면 크림 스킨으로 돌아간다.
   ───────────────────────────────────────────────────────────── */
:root{--v5-ink:#111;--v5-mute:#8B8B8B;--v5-line:#E7E7E4;--v5-page:#F5F5F2;--v5-red:#F15746;--v5-yel:#FFD43B;--v5-grn:#22C55E}

/* ══ 1. 상단: 흰 헤더 · 티켓 검색창 · 형광펜 탭 (2안 — 무신사 검정 헤더 기각) ══════════ */
body.brand-v2 .topbar{background:#fff;border-bottom:1px solid #ECECE8;box-shadow:none}
/* 카테고리 탭 — 형광펜 · 모바일도 가로 스크롤 */
body.brand-v2 .tabs{display:block!important;background:#fff;border:0;box-shadow:none}
body.brand-v2 .tabs-in{display:flex;align-items:center;gap:1.1rem;overflow-x:auto;scrollbar-width:none;height:42px;flex-wrap:nowrap}
body.brand-v2 .tabs-in::-webkit-scrollbar{display:none}
body.brand-v2 .tabs a{flex:none;position:relative;color:#555;font-weight:700;font-size:.92rem;padding:0 .1rem;height:auto;display:inline-block;background:none;border:0;white-space:nowrap;line-height:1.5}
body.brand-v2 .tabs a:hover{color:#111;background:none}
body.brand-v2 .tabs a.on{color:#111;background:linear-gradient(transparent 58%,#FFE14D 58%,#FFE14D 92%,transparent 92%)}
body.brand-v2 .tabs a.on::after{display:none}
body.brand-v2 .tabs a.tab-ok{display:inline-flex;align-items:center;gap:.25rem;font-size:.78rem;font-weight:800;color:#15803D;background:#ECFDF3;border:1px solid #BBF7D0;border-radius:100px;padding:.18rem .6rem .18rem .45rem}
body.brand-v2 .tabs a.tab-ok::before{content:"";width:12px;height:12px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315803D' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4.5 4.5L19 7'/%3E%3C/svg%3E")}
body.brand-v2 .tabs a.tab-ok.on{background:#15803D;color:#fff;border-color:#15803D}
body.brand-v2 .tabs a.tab-ok.on::before{filter:brightness(10)}
body.brand-v2 .tabs a.tab-ok:first-of-type{margin-left:auto}
@media (max-width:767px){
  body.brand-v2 .topbar{position:relative}
  body.brand-v2 .tabs-in{gap:1rem;padding:0 .8rem}
  body.brand-v2 .tabs a.tab-ok:first-of-type{margin-left:.2rem}
}

/* ══ 2. 홈 ══════════════════════════════════════════════════ */
body:has(.v5home),body:has(.tk-grid),body:has(#setGrid .tk-card){background:var(--v5-page)}
.v5home{color:var(--v5-ink)}
.v5home h2{color:var(--v5-ink)}

/* ① 빅배너 — 벤토: 큰 카드 1 + 작은 카드 2 */
.hb{margin-top:.2rem}
.hb-track{display:grid;grid-template-columns:1.65fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:min(560px,44vw)}
.hb-n1 .hb-track{grid-template-columns:1fr;grid-template-rows:1fr;height:min(480px,40vw)}
.hb-n2 .hb-track{grid-template-columns:1.4fr 1fr;grid-template-rows:1fr}
.hb-card{position:relative;display:block;overflow:hidden;border-radius:18px;background:#1A1A1A;color:#fff;text-decoration:none;isolation:isolate}
.hb-card.main{grid-row:span 2}
.hb-n2 .hb-card.main{grid-row:auto}
.hb-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease;z-index:-1}
.hb-card:hover>img{transform:scale(1.04)}
.hb-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(10,10,10,.86) 0,rgba(10,10,10,.5) 30%,rgba(10,10,10,0) 58%)}
/* 남은 장수 = 빨간 도장 */
.hb-stamp{position:absolute;top:16px;left:16px;width:78px;height:78px;border-radius:50%;background:var(--v5-red);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;transform:rotate(-9deg);box-shadow:0 0 0 3px rgba(255,255,255,.95),0 0 0 5px var(--v5-red),0 6px 18px rgba(0,0,0,.3)}
.hb-stamp small{font-size:.6rem;font-weight:800;letter-spacing:.04em;opacity:.95}
.hb-stamp b{font-size:1.5rem;font-weight:900;letter-spacing:-.04em}
.hb-stamp b.sm{font-size:.86rem}
/* 끝난 판 — 회색 도장, 사진도 살짝 죽인다 */
.hb-card.done .hb-stamp{background:#3A3A3A;box-shadow:0 0 0 3px rgba(255,255,255,.95),0 0 0 5px #3A3A3A,0 6px 18px rgba(0,0,0,.3)}
.hb-card.done>img{filter:saturate(.55)}
.hb-card.done .hb-kind{background:#fff;color:#555}
.hb-card:not(.main) .hb-stamp{width:62px;height:62px;top:12px;left:12px}
.hb-card:not(.main) .hb-stamp b{font-size:1.15rem}
/* 상위상 = 겹친 동그란 사진 */
.hb-prz{position:absolute;top:16px;right:16px;display:flex}
.hb-prz span{position:relative;width:46px;height:46px;border-radius:50%;overflow:hidden;border:2.5px solid #fff;background:#eee;margin-left:-12px;box-shadow:0 3px 10px rgba(0,0,0,.25)}
.hb-prz span:first-child{margin-left:0}
.hb-prz img{width:100%;height:100%;object-fit:cover}
.hb-prz i{position:absolute;right:0;bottom:0;left:0;background:rgba(17,17,17,.82);color:#fff;font-style:normal;font-size:.55rem;font-weight:900;text-align:center;line-height:1.35}
.hb-card:not(.main) .hb-prz span{width:36px;height:36px}
.hb-txt{position:absolute;left:20px;right:20px;bottom:22px;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}
.hb-kind{font-style:normal;font-size:.7rem;font-weight:800;background:#FFE14D;color:#111;border-radius:4px;padding:.12rem .45rem}
.hb-t{font-size:1.75rem;font-weight:900;line-height:1.22;letter-spacing:-.035em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hb-meta{font-size:.82rem;font-weight:600;color:rgba(255,255,255,.85)}
.hb-meta b{font-family:var(--mono)}
.hb-go{margin-top:.25rem;font-size:.82rem;font-weight:800;background:#fff;color:#111;border-radius:100px;padding:.42rem .9rem}
.hb-card:not(.main) .hb-t{font-size:1.12rem}
.hb-card:not(.main) .hb-txt{left:16px;right:16px;bottom:16px}
.hb-card:not(.main) .hb-go{display:none}
.hb-card .bar{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.18);margin:0;border-radius:0}
.hb-card .bar i{display:block;height:100%;background:#FFE14D;border-radius:0}
.hb-dots{display:none}
@media (max-width:767px){
  .hb{margin:0 -.8rem}
  .hb-track,.hb-n1 .hb-track,.hb-n2 .hb-track{display:flex;height:auto;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 .8rem}
  .hb-track::-webkit-scrollbar{display:none}
  .hb-card,.hb-card.main{flex:0 0 88%;aspect-ratio:4/5;scroll-snap-align:center;border-radius:16px}
  .hb-n1 .hb-card{flex-basis:100%}
  .hb-card:not(.main) .hb-stamp{width:70px;height:70px;top:14px;left:14px}
  .hb-card:not(.main) .hb-stamp b{font-size:1.35rem}
  .hb-card:not(.main) .hb-t{font-size:1.45rem}
  .hb-card:not(.main) .hb-go{display:inline-block}
  .hb-card:not(.main) .hb-prz span{width:42px;height:42px}
  .hb-t{font-size:1.5rem}
  .hb-dots{display:flex;justify-content:center;gap:5px;margin-top:10px}
  .hb-dots i{width:6px;height:6px;border-radius:3px;background:#CFCFCA;transition:width .2s}
  .hb-dots i.on{width:18px;background:#111}
}

/* ② 봉인 영수증 */
.rc{display:flex;align-items:stretch;margin:16px 0 0;background:#fff;border-radius:10px;text-decoration:none;color:#111;font-family:var(--mono);box-shadow:0 0 0 1px rgba(0,0,0,.06);overflow:hidden}
.rc-l{flex:none;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.6rem .9rem;background:#ECFDF3;color:#15803D;border-right:2px dashed #BBF7D0}
.rc-l b{font-size:.8rem;font-weight:800;letter-spacing:.12em}
.rc-l small{font-size:.6rem;font-family:var(--sans,inherit);font-weight:700}
.rc-m{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:.6rem .9rem;gap:.1rem}
.rc-m b{font-family:var(--sans,inherit);font-size:.88rem;font-weight:800}
.rc-m small{font-size:.72rem;color:#777}
.rc-r{flex:none;display:flex;align-items:center;padding:0 1rem;font-family:var(--sans,inherit);font-size:.8rem;font-weight:800;color:#15803D}
.rc:hover{box-shadow:0 0 0 2px #15803D}
@media (max-width:640px){.rc-r{display:none}.rc-m b{font-size:.82rem}.rc-l{padding:.5rem .65rem}}

/* ③ 상위상 진열대 */
.shelf{margin-top:2rem}
.shelf-row{display:flex;align-items:flex-start;gap:14px;overflow-x:auto;scrollbar-width:none;padding:14px 2px 4px}
.shelf-row::-webkit-scrollbar{display:none}
.pzs{position:relative;flex:0 0 150px;width:150px;min-width:0;display:flex;flex-direction:column;gap:.2rem;color:#111;text-decoration:none}
.pzs-img{display:block;width:150px;height:150px;border-radius:12px;background:#fff;box-shadow:inset 0 -10px 0 #EDEDE8,0 0 0 1px rgba(0,0,0,.05);overflow:hidden;padding:10px 10px 16px;box-sizing:border-box}
.pzs-img img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .3s}
.pzs:hover .pzs-img img{transform:translateY(-4px) scale(1.04)}
/* 매달린 가격표 */
.pzs-tag{position:absolute;top:-8px;left:10px;background:#111;color:#fff;font-size:.66rem;font-weight:900;padding:.22rem .5rem .22rem .75rem;clip-path:polygon(7px 0,100% 0,100% 100%,7px 100%,0 50%);transform:rotate(-6deg);transform-origin:left center}
.pzs-tag::before{content:"";position:absolute;left:5px;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:#fff}
.pzs.last .pzs-tag{background:#FFE14D;color:#111}
.pzs.last .pzs-tag::before{background:#111}
.pzs b{font-size:.8rem;font-weight:700;margin-top:.35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pzs small{font-size:.7rem;color:var(--v5-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:640px){.shelf-row{margin:0 -.8rem;padding:14px .8rem 4px}.pzs{flex-basis:124px;width:124px}.pzs-img{width:124px;height:124px}}

/* ④ 바로가기 — 동그란 아이콘 */
.qm{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:8px;margin:1.8rem 0 0;background:#fff;border-radius:16px;padding:1rem .6rem;box-shadow:0 0 0 1px rgba(0,0,0,.05)}
.qm a{display:flex;flex-direction:column;align-items:center;gap:.4rem;color:#111;text-decoration:none;font-size:.76rem;font-weight:700;text-align:center}
.qm .ic{width:48px;height:48px;border-radius:50%;background-size:22px 22px;background-repeat:no-repeat;background-position:center;transition:transform .15s}
.qm a:hover .ic{transform:translateY(-2px)}
@media (max-width:767px){.qm{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:64px;overflow-x:auto;scrollbar-width:none;margin:1.4rem -.8rem 0;border-radius:0;padding:.9rem .8rem}.qm::-webkit-scrollbar{display:none}.qm .ic{width:46px;height:46px}}

/* 아이콘 (바로가기) */
.ic.k{background-color:#111;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linejoin='round'%3E%3Cpath d='M4 7h16v3a2 2 0 0 0 0 4v3H4v-3a2 2 0 0 0 0-4z'/%3E%3C/svg%3E")}
.ic.t{background-color:#F15746;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='13' r='8'/%3E%3Cpath d='M12 9v4l3 2M9 2h6'/%3E%3C/svg%3E")}
.ic.e{background-color:#8B5CF6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linejoin='round'%3E%3Cpath d='M4 20l4-12 8 8z'/%3E%3Cpath d='M14 4l1 2M18 7l2-1M17 11l2 1'/%3E%3C/svg%3E")}
.ic.s{background-color:#F59E0B;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 12H6z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E")}
.ic.b{background-color:#0EA5E9;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linejoin='round'%3E%3Cpath d='M3 8l9-5 9 5v8l-9 5-9-5z'/%3E%3Cpath d='M3 8l9 5 9-5M12 13v8'/%3E%3C/svg%3E")}
.ic.p{background-color:#EAB308;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M5 19L19 5'/%3E%3Ccircle cx='7' cy='7' r='2.5'/%3E%3Ccircle cx='17' cy='17' r='2.5'/%3E%3C/svg%3E")}
.ic.v{background-color:#22C55E;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E")}
.ic.c{background-color:#FEE500;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23191919' d='M12 4C7 4 3 7.1 3 11c0 2.5 1.6 4.6 4 5.8l-.8 3c-.1.3.2.5.4.3l3.6-2.4c.6.1 1.2.1 1.8.1 5 0 9-3.1 9-7S17 4 12 4z'/%3E%3C/svg%3E")}
.ic.h{background-color:#64748B;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.5 9.5a2.5 2.5 0 1 1 3.5 2.3c-.6.3-1 .8-1 1.5V14M12 17.5v.01'/%3E%3C/svg%3E")}

/* 섹션 머리 */
.v5-sec{margin-top:2.4rem}
.v5-h{display:flex;align-items:baseline;flex-wrap:wrap;gap:.25rem .6rem;margin:0 0 .85rem}
.v5-h .en{display:inline-flex;align-items:center;gap:.35rem;font-size:.68rem;font-weight:800;letter-spacing:.14em;color:var(--v5-red);width:100%}
.v5-h h2{margin:0;font-size:1.32rem;font-weight:800;letter-spacing:-.03em}
.v5-h h2 .cnt{font-size:.85rem;color:var(--v5-mute);font-weight:600;margin-left:.2rem}
.v5-h .side{margin-left:auto;font-size:.78rem;color:var(--v5-mute);font-weight:500}
.v5-h .side b{color:var(--v5-ink);font-weight:700}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--v5-red);animation:v5pulse 1.4s infinite}
@keyframes v5pulse{0%{box-shadow:0 0 0 0 rgba(241,87,70,.55)}70%{box-shadow:0 0 0 7px rgba(241,87,70,0)}100%{box-shadow:0 0 0 0 rgba(241,87,70,0)}}

/* ⑤ LIVE */
.v5home .livefeed{margin-top:2.2rem;background:transparent}
.v5home .lf{background:#fff;border:1px solid var(--v5-line);border-radius:10px}
.v5home .lf .g{color:var(--v5-red);font-weight:800}

/* ⑥ 곧 끝나는 판 */
.cs-rail{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.cs-rail::-webkit-scrollbar{display:none}
.cs{flex:0 0 156px;display:flex;flex-direction:column;gap:.3rem;color:var(--v5-ink);text-decoration:none}
.cs-img{position:relative;aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:#E9E9E6}
.cs-img img{width:100%;height:100%;object-fit:cover}
.cs-pct{position:absolute;left:6px;bottom:6px;background:var(--v5-red);color:#fff;font-size:.68rem;font-weight:800;border-radius:3px;padding:.1rem .35rem}
.cs-t{font-size:.82rem;font-weight:700;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.cs-n{font-size:.74rem;color:var(--v5-mute)}
.cs-n b{color:var(--v5-red);font-weight:800}
.cs .bar{height:3px;background:#E3E3E0;border-radius:2px;margin:0;overflow:hidden}
.cs .bar i{display:block;height:100%;background:var(--v5-red)}
@media (max-width:640px){.cs-rail{margin:0 -.8rem;padding:0 .8rem}.cs{flex-basis:138px}}

/* ⑦ 도구 줄 */
.v5-tools{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.85rem;flex-wrap:wrap}
.v5-tools .fchips{display:flex;gap:6px}
.v5-tools .fchip{border-radius:100px;border:1px solid var(--v5-line);background:#fff;color:#333;font-weight:600;padding:.4rem .9rem;font-size:.82rem}
.v5-tools .fchip.on{background:#111;border-color:#111;color:#fff}
.v5-sort{appearance:none;-webkit-appearance:none;border:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2.4'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E") no-repeat right center/14px;padding:.3rem 1.2rem .3rem .2rem;font-size:.82rem;font-weight:700;color:#111;font-family:inherit;cursor:pointer}

/* ══ 3. 티켓 카드 ═══════════════════════════════════════════ */
.tk-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
@media (max-width:1399px){.tk-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:1099px){.tk-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:767px){.tk-grid{grid-template-columns:repeat(2,1fr);gap:10px}}
/* 쿠지 목록(/kuji)·시리즈 쪽은 기존 격자 안에서 그대로 */
#setGrid.grid .tk-card{height:100%}
@media (max-width:767px){.grid.grid-3#setGrid{grid-template-columns:repeat(2,1fr);gap:10px}}

.tk-card{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:12px;overflow:hidden;color:var(--v5-ink);text-decoration:none;box-shadow:0 1px 0 rgba(0,0,0,.04),0 0 0 1px rgba(0,0,0,.05);transition:transform .18s ease,box-shadow .18s ease}
.tk-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.09),0 0 0 1px rgba(0,0,0,.06);color:var(--v5-ink)}
.tk-img{position:relative;aspect-ratio:1/1;background:#EFEFEC;overflow:hidden}
.tk-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.tk-card:hover .tk-img img{transform:scale(1.04)}
.tk-img .noimg{position:absolute;inset:0;display:grid;place-items:center;font-weight:900;color:#C9C9C4;letter-spacing:.1em}
.tk-flags{position:absolute;top:8px;left:8px;right:8px;display:flex;flex-wrap:wrap;gap:4px}
.tk-flags .badge{border:0;border-radius:3px;font-size:.64rem;font-weight:800;padding:.2rem .42rem;letter-spacing:0;background:#111;color:#fff;box-shadow:none}
.tk-flags .badge.open{background:#111;color:#fff}
.tk-flags .badge.soon{background:var(--v5-yel);color:#111}
.tk-flags .badge.paused{background:#fff;color:#111}
.tk-flags .badge.soldout,.tk-flags .badge.closed{background:#fff;color:#8B8B8B}
.tk-flags .badge.yj{background:var(--v5-red);color:#fff}
.tk-flags .badge.yj-done{background:#111;color:var(--v5-yel)}
.tk-last{background:var(--v5-yel);color:#111;font-size:.62rem;font-weight:900;border-radius:3px;padding:.2rem .4rem;letter-spacing:.02em}
.tk-last.x{background:#fff;color:#8B8B8B}
.tk-hot{background:var(--v5-red);color:#fff;font-size:.62rem;font-weight:800;border-radius:3px;padding:.2rem .4rem}
.tk-wait{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.62);color:#fff;font-size:.66rem;font-weight:600;border-radius:100px;padding:.15rem .5rem}
.tk-wait b{font-weight:800}
/* 절취선 — 양쪽 홈은 바탕색 반원 */
.tk-perf{position:relative;height:14px;flex:none;background:radial-gradient(circle at 0 50%,var(--v5-page) 6.5px,transparent 7px),radial-gradient(circle at 100% 50%,var(--v5-page) 6.5px,transparent 7px)}
.tk-perf::after{content:"";position:absolute;left:12px;right:12px;top:50%;border-top:1.5px dashed #DCDCD8}
.tk-body{display:flex;flex-direction:column;gap:.45rem;padding:2px 12px 12px;flex:1}
.tk-title{font-size:.9rem;font-weight:800;line-height:1.32;letter-spacing:-.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.64em}
.tk-seller{font-size:.72rem;color:var(--v5-mute);font-weight:600;margin-top:-.25rem}
.tk-prizes{display:flex;gap:5px}
.tk-pz{position:relative;width:calc((100% - 10px) / 3);max-width:56px}
.tk-pz img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px;background:#F1F1EE}
.tk-pz:not(:has(img))::before{content:"";display:block;width:100%;aspect-ratio:1/1;border-radius:6px;background:#F1F1EE}
.tk-pz i{position:absolute;top:2px;left:2px;font-style:normal;background:#111;color:#fff;font-size:.56rem;font-weight:900;border-radius:3px;padding:0 .26rem;line-height:1.5}
.tk-pz.last i{background:var(--v5-yel);color:#111}
.tk-pz b{display:block;text-align:center;font-size:.62rem;font-weight:700;color:#555;margin-top:2px;font-family:var(--mono)}
.tk-pz.x{opacity:.38;filter:grayscale(1)}
.tk-ending{font-size:.7rem;color:var(--v5-red);font-weight:700}
.tk-num{display:flex;align-items:baseline;justify-content:space-between;gap:.3rem;margin-top:auto}
.tk-left b{font-size:1.18rem;font-weight:900;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.tk-left small{font-size:.68rem;color:var(--v5-mute);font-weight:600;margin-left:.1rem}
.tk-soon{font-size:.78rem;font-weight:700}
.tk-soon b{font-weight:900}
.tk-soon small{display:block;font-family:var(--mono);color:var(--v5-red);font-size:.72rem}
.tk-price{font-size:.95rem;font-weight:800;white-space:nowrap;letter-spacing:-.02em}
.tk-price small{font-size:.66rem;font-weight:600;color:var(--v5-mute);margin-left:.05rem}
.tk-card .bar{height:4px;background:#ECECE9;border-radius:2px;overflow:hidden;margin:0}
.tk-card .bar i{display:block;height:100%;background:#111;border-radius:2px}
.tk-card.yj-recruiting .bar i{background:var(--v5-red)}
.tk-card.is-done .tk-img img{filter:grayscale(.85);opacity:.7}
.tk-card.is-done .tk-left b{color:var(--v5-mute)}
@media (max-width:767px){
  .tk-body{padding:2px 10px 10px}
  .tk-title{font-size:.86rem}
  .tk-left b{font-size:1.06rem}
  .tk-price{font-size:.86rem}
}

/* ⑨ 판매 주체 고지 */
.v5home .party-strip{background:transparent;border:0;border-top:1px solid var(--v5-line);border-radius:0;color:#8B8B8B;font-size:.74rem;line-height:1.6;padding:1rem 0 0;margin-top:2rem}
.v5home .party-strip b{color:#555}

/* ══ 4. 가운데 한 기둥 — PC 에서 사이트를 1296px 기둥으로 모으고 양옆은 회색으로 비운다 ══ */
@media (min-width:1100px){
  body.brand-v2,body.brand-v2:has(.v5home),body.brand-v2:has(.tk-grid){background:#E3E3DF}
  body.brand-v2 .topbar{max-width:1296px;margin-inline:auto}
  /* 기둥 바탕은 흰색 하나로 — 회색 위에 흰 상자가 띄엄띄엄 떠 보이면 만들다 만 화면이 된다 (11/8 지적).
     티켓 카드 홈(절취선 홈이 바탕색을 쓴다)과 쿠지 목록만 연회색 */
  body.brand-v2 main.container.page{max-width:1296px;background:#fff;padding-left:2rem;padding-right:2rem;min-height:calc(100vh - 160px)}
  body.brand-v2:has(.v5home) main.container.page,body.brand-v2:has(#setGrid .tk-card) main.container.page{background:var(--v5-page)}
  body.brand-v2 .footer{max-width:1296px;margin-inline:auto}
}

/* 칩 숫자 */
.v5-tools .fchip small{font-size:.72rem;opacity:.55;margin-left:.15rem;font-weight:700}
.v5-tools .fchips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%}
.v5-tools .fchips::-webkit-scrollbar{display:none}
.v5-tools .fchip{flex:none}
@media (max-width:640px){.v5-tools{flex-wrap:nowrap}.v5-tools .fchips{flex:1;min-width:0}}

/* ══ 5. 판 상세 (2026-11-08 사용자 지시) — 오른쪽 카운터가 화면에 박혀 따라다녀 불편하다.
   고정(sticky)과 안쪽 스크롤을 풀어 페이지와 함께 자연스럽게 내려가게. 내용·자리는 그대로(빼지 않음) ══ */
.kd2>.kc-board{position:static;top:auto;max-height:none;overflow:visible;overscroll-behavior:auto;grid-row:1}
.kd2>.kd2-l{grid-column:1;grid-row:1;min-width:0}
.kd2-l>.kc-poster{aspect-ratio:16/9;min-height:0}
.kd2-l>.kc-poster img{object-fit:cover}
@media (max-width:900px){
  .kd2{display:flex;flex-direction:column;align-items:stretch}
  .kd2-l{display:contents}
  .kd2-l>.kc-poster{order:-2}
  .kd2>.kc-board{order:-1;align-self:stretch;min-width:0;max-width:100%}
}

/* 판 상세 배치 (11/8) — 위쪽만 2단(왼쪽 판 그림·알아두세요·이 판 안내 / 오른쪽 카운터), 상품 구성부터는 전체 폭.
   카운터 고정을 푼 뒤 오른쪽이 끝나면 상품 구성 옆이 통째로 비어 보이던 것 */
.kd2>.kc-sec:has(#poster),.kd2>#pick,.kd2>.kc-sec:has(>details.fold){grid-column:1 / -1}
.kd2>.kc-sec:has(#poster){margin-top:1.6rem}
@media (min-width:1100px){.kd2 .pgrid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}}

/* 품절 상품 — 통째로 흐리게(opacity .4) 지우지 않는다. 사진만 흑백, 글씨는 또렷, 오른쪽 위 '품절' 딱지 */
.pz.out{opacity:1}
.pz.out:hover{opacity:1}
.pz.out img,.pz.out .noimg{filter:grayscale(1);opacity:.55}
.pz.out .n{color:#8B8B8B}
.pz.out .q b{color:#8B8B8B}
.pz.out .q .pct{color:#F15746}
.pz.out .wn{background:#F4F4F2;color:#9A9A9A}
.pz.out .wn b{color:#8B8B8B}
.pz{position:relative}
.pz.out::after{content:"품절";position:absolute;top:.4rem;right:.4rem;background:#111;color:#fff;font-size:.64rem;font-weight:800;border-radius:4px;padding:.18rem .45rem;letter-spacing:.02em}
.pz.last-one.out::after{content:"지급 완료"}

/* ══ 6. 판 상세 — 상위상 큰 진열대 · 대기 명단 번호표 · 아래 바 내 순서 (2026-11-08) ══ */
/* 남은 상위상: 카운터 안 92px 띠 → 판 그림 바로 아래 큰 카드 */
.kc-tops-big{margin-top:1.2rem}
.kc-tops-big .kc-tops-h{font-size:1.05rem;margin-bottom:.6rem}
.kc-tops-big .kc-tops-h b{font-size:1.4rem}
.kc-tops-big .kc-tops-row{gap:12px;padding-bottom:.5rem}
.kc-tops-big .kc-tops-row li{flex:0 0 156px}
.kc-tops-big .kc-tops-row .tp-im{border-radius:12px;border:0;background:#F6F6F3;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);padding:10px}
.kc-tops-big .kc-tops-row .tp-im img{object-fit:contain}
.kc-tops-big .kc-tops-row .tp-g{font-size:.74rem;padding:.2rem .5rem;border-radius:0 0 8px 0;background:#111;color:#fff;z-index:1}
.kc-tops-big .kc-tops-row li.last .tp-g{background:#FFE14D;color:#111}
.kc-tops-big .kc-tops-row .tp-left{font-size:.72rem;padding:.15rem .45rem;border-radius:6px;left:8px;bottom:8px;background:var(--v5-red)}
.kc-tops-big .kc-tops-row li.out .tp-left{background:#555}
.kc-tops-big .kc-tops-row .tp-n{font-size:.84rem;font-weight:700;color:#111;margin-top:.45rem}
.kc-tops-big .kc-tops-row li.out .tp-n{color:#8B8B8B}
.kc-tops-big .kc-tops-row li.out .tp-im img{opacity:.55}
/* 모바일: 판 그림 → 카운터(제목·숫자·줄서기·대기 명단) → 상위상 진열대 → 알아두세요 */
@media (max-width:900px){.kd2-l>.kc-tops-big{order:-1;margin-top:1.4rem}.kd2>.kc-board{order:-2}.kc-tops-big .kc-tops-row li{flex-basis:132px}}
/* 카운터 안 한 줄 바로가기 */
.kc-tops-mini{display:flex;align-items:baseline;gap:.3rem;padding:.6rem .8rem;border-radius:10px;background:#F6F6F3;color:#111;text-decoration:none;font-size:.86rem;font-weight:800}
.kc-tops-mini b{color:var(--v5-red);font-size:1.15rem;font-weight:900}
.kc-tops-mini small{color:#8B8B8B;font-weight:700}
.kc-tops-mini em{margin-left:auto;font-style:normal;font-size:.76rem;color:#8B8B8B;font-weight:700}
.kc-tops-mini:hover em{color:#111}

/* 대기 명단: 번호표 줄 — 번호는 티켓 꼬리, 뽑는 중은 초록 점이 깜빡, 내 자리는 노랑 */
.kc-qlist-h b{font-size:.95rem}
.kc-qlist .q-list{background:transparent;border:0;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:6px}
.kc-qlist .q-list li{display:flex;align-items:center;gap:.65rem;background:#fff;border:1px solid #ECECE8;border-radius:10px;padding:.5rem .75rem;font-size:.88rem;font-weight:600;color:#111}
.kc-qlist .q-list li .n{flex:none;width:1.9rem;height:1.9rem;display:grid;place-items:center;border-radius:7px;background:#F1F1EE;color:#111;font-family:var(--mono);font-weight:800;font-size:.84rem;margin:0;border:0}
.kc-qlist .q-list li.cur{border-color:#86EFAC;background:#F0FDF4}
.kc-qlist .q-list li.cur .n{background:#DCFCE7;color:#15803D}
.kc-qlist .q-list li .tag{margin-left:auto;display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:800;color:#15803D;background:none;border:0;padding:0}
.kc-qlist .q-list li .tag:empty{display:none}
.kc-qlist .q-list li.cur .tag::before{content:"";width:7px;height:7px;border-radius:50%;background:#22C55E;animation:v5blink 1.2s infinite}
@keyframes v5blink{50%{opacity:.45}}
.kc-qlist .q-list li.me{border-color:#FACC15;background:#FFFBEB}
.kc-qlist .q-list li.me .n{background:#FFE14D}
.kc-qlist .q-list li.muted{justify-content:center;padding:.8rem;color:#8B8B8B;font-weight:500;background:#FAFAF8}
.kc-qlist .q-list li.q-more{background:transparent;border:0;justify-content:center;padding:.2rem;color:#8B8B8B;font-size:.8rem}
.kc-qlist .q-list li.q-more button{background:none;border:0;color:#555;font-weight:700;cursor:pointer;font:inherit}

/* 아래 고정 바: 내 순서 한 줄 */
.kc-bar-q{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:.25rem;font-size:.8rem;font-weight:800;color:#15803D;background:#F0FDF4;border:1px solid #BBF7D0;border-radius:100px;padding:.15rem .6rem}
.kc-bar-q::before{content:"";width:7px;height:7px;border-radius:50%;background:#22C55E}
.kc-bar-q.turn{color:#fff;background:var(--v5-red);border-color:var(--v5-red);animation:v5blink 1s infinite}
.kc-bar-q.turn::before{background:#fff}

/* ══ 7. 입력칸·관리자 화면 또렷하게 (2026-11-08 "관리자 탭을 회색으로 하면 안 보이지") ══
   회색 칸(#F4F4F4, 테두리 없음)이 회색 바탕에 묻혀 어디가 칸인지 안 보였다 → 흰 칸 + 진한 테두리, 글씨·라벨 진하게 */
.form input[type=text],.form input[type=password],.form input[type=number],.form input[type=tel],.form input[type=email],.form input[type=date],.form input[type=datetime-local],.form input[type=url],.form input[type=search],.form select,.form textarea,.qty,
body.brand-v2 main input:not([type]),body.brand-v2 main input[type=file],body.brand-v2 main input[type=text],body.brand-v2 main input[type=number],body.brand-v2 main input[type=date],body.brand-v2 main input[type=datetime-local],body.brand-v2 main input[type=email],body.brand-v2 main input[type=tel],body.brand-v2 main input[type=password],body.brand-v2 main select:not(.btn):not(.v5-sort),body.brand-v2 main textarea{background:#fff;border:1.5px solid #CFCFCA;color:#111}
.form input:focus,.form select:focus,.form textarea:focus,body.brand-v2 main input:focus,body.brand-v2 main select:focus,body.brand-v2 main textarea:focus{border-color:#111;background:#fff;outline:0;box-shadow:0 0 0 3px rgba(255,225,77,.55)}
body.brand-v2 main input::placeholder,body.brand-v2 main textarea::placeholder{color:#9A9A95}
body.brand-v2 main input:disabled,body.brand-v2 main select:disabled,body.brand-v2 main textarea:disabled{background:#F1F1EE;color:#8B8B8B;border-style:dashed}
.form label,body.brand-v2 main .form label{color:#111;font-weight:700}
.form .hint,body.brand-v2 main .hint{color:#6B6B66}
body.brand-v2 main fieldset{border:1.5px solid #D9D9D4;border-radius:12px;background:#fff}
body.brand-v2 main legend{color:#111;font-weight:800;padding:0 .4rem}
/* 관리자 탭 — 흐린 회색 글씨 → 진한 글씨, 고른 탭은 검정 */
.admin-nav{border-bottom:1.5px solid #E2E2DE}
.admin-nav a{color:#333;font-weight:700}
.admin-nav a:hover{background:#F1F1EE;color:#111}
.admin-nav a.on{background:#111;color:#fff}

/* ══ 8. 대기 명단 팝업 (2026-11-08) — 아래 바 '내 순서' 알약을 누르면 바 위로 뜨는 작은 창.
   화면 옆에 붙박는 칸(전쿠식)이 아니다. PC: 기둥 왼쪽에 맞춘 360px 창 / 모바일: 양옆 8px 시트 ══ */
.kc-bar-q{cursor:pointer;font-family:inherit}
.kc-bar-q i{font-style:normal;font-weight:700;opacity:.75;margin-left:.15rem;font-size:.74rem}
.kc-bar-q:hover{border-color:#15803D}
.kc-bar-q[aria-expanded=true] i{opacity:1}
.qpop{position:fixed;z-index:60;left:max(16px,calc(50% - 648px + 2rem));width:min(380px,calc(100vw - 32px));max-height:min(62vh,560px);display:flex;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.22),0 0 0 1px rgba(0,0,0,.06);opacity:0;transform:translateY(10px);transition:opacity .16s ease,transform .16s ease}
.qpop.show{opacity:1;transform:none}
.qpop-h{display:flex;align-items:center;gap:.5rem;padding:.85rem .9rem .6rem 1rem;border-bottom:1px solid #EFEFEC}
.qpop-h b{font-size:.98rem;font-weight:800}
.qpop-h b span{color:var(--v5-red)}
.qpop-h #qPopMe{font-size:.76rem;font-weight:800;color:#854D0E;background:#FFE14D;border-radius:100px;padding:.1rem .55rem}
.qpop-h #qPopMe:empty{display:none}
.qpop-x{margin-left:auto;width:30px;height:30px;border-radius:50%;border:0;background:#F1F1EE;color:#111;font-size:.85rem;cursor:pointer}
.qpop .q-list{list-style:none;margin:0;padding:.6rem .8rem;overflow-y:auto;display:flex;flex-direction:column;gap:6px;overscroll-behavior:contain}
.qpop .q-list li{display:flex;align-items:center;gap:.65rem;background:#fff;border:1px solid #ECECE8;border-radius:10px;padding:.5rem .75rem;font-size:.88rem;font-weight:600;color:#111}
.qpop .q-list li .n{flex:none;width:1.9rem;height:1.9rem;display:grid;place-items:center;border-radius:7px;background:#F1F1EE;font-family:var(--mono);font-weight:800;font-size:.84rem}
.qpop .q-list li.cur{border-color:#86EFAC;background:#F0FDF4}
.qpop .q-list li.cur .n{background:#DCFCE7;color:#15803D}
.qpop .q-list li.me{border-color:#FACC15;background:#FFFBEB}
.qpop .q-list li.me .n{background:#FFE14D}
.qpop .q-list li .tag{margin-left:auto;display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:800;color:#15803D}
.qpop .q-list li .tag:empty{display:none}
.qpop .q-list li.cur .tag::before{content:"";width:7px;height:7px;border-radius:50%;background:#22C55E;animation:v5blink 1.2s infinite}
.qpop .q-list li.muted{justify-content:center;color:#8B8B8B;font-weight:500;background:#FAFAF8}
.qpop-f{margin:0;padding:.55rem 1rem .75rem;font-size:.72rem;color:#8B8B8B;border-top:1px solid #EFEFEC}
@media (max-width:640px){.qpop{left:8px;right:8px;width:auto;border-radius:18px}}

/* ══ 9. 뜯기 화면 경품판 (2026-11-08 "상위상이 보여지고 쪼이는 게 있어야지, 흐리멍텅") ══
   흰 상자 + 글자 동그라미 → 어두운 무대 위 상위상 사진 카드. 번호가 열릴 때마다 꺼지는 건 흑백·✕, 살아남은 건 금테로 커진다 */
.rv-fan.board{background:transparent;border:0;box-shadow:none;width:min(680px,94vw);padding:0}
.rv-fan.board .bd-h{justify-content:center;gap:.8rem;margin:0 0 .8rem;color:#F5E6C8}
.rv-fan.board .bd-h b{font-size:1.02rem;font-weight:900;letter-spacing:-.01em;color:#fff}
.rv-fan.board .bd-h span{font-size:.8rem;font-weight:700;color:#CDB99A}
.rv-fan.board .bd-h em{font-style:normal;font-size:1.25rem;font-weight:900;color:#FFE14D;font-family:var(--mono);margin:0 .1rem}
.rv-fan.board.cut .bd-h em{animation:bdTick .5s ease}
@keyframes bdTick{0%{transform:scale(1.6);color:#fff}100%{transform:none}}
.rv-fan.board .bd-g{gap:12px;align-items:flex-start}
/* 상위상 사진 카드 */
.rv-fan.board .bs.bc{width:100px;height:auto;border-radius:12px;background:#fff;border:0;padding:4px 4px 6px;flex-direction:column;gap:4px;box-shadow:0 8px 22px rgba(0,0,0,.45);transition:transform .35s cubic-bezier(.2,.9,.3,1.3),filter .35s,opacity .35s,box-shadow .35s;color:#111}
.rv-fan.board .bs.bc .im{display:block;width:92px;height:92px;border-radius:9px;overflow:hidden;background:#F2EEE6}
.rv-fan.board .bs.bc .im img{width:100%;height:100%;object-fit:cover;display:block}
.rv-fan.board .bs.bc .im .noimg{display:grid;place-items:center;width:100%;height:100%;font-size:.6rem;letter-spacing:.12em;color:#B9AE9C}
.rv-fan.board .bs.bc b{position:absolute;top:-9px;left:-7px;background:#C8102E;color:#fff;font-size:.8rem;font-weight:900;padding:.12rem .45rem;border-radius:6px;box-shadow:0 2px 6px rgba(0,0,0,.35);line-height:1.3}
.rv-fan.board .bs.bc i{position:static;min-width:0;height:auto;border:0;background:#111;color:#fff;font-style:normal;font-size:.68rem;font-weight:800;border-radius:999px;padding:.05rem .5rem;line-height:1.5}
/* 번호가 열리기 시작하면 살아 있는 카드는 금테로 들썩 */
.rv-fan.board.cut .bs.bc:not(.off){transform:translateY(-4px) scale(1.06);box-shadow:0 0 0 3px #FFE14D,0 10px 30px rgba(255,214,0,.35)}
.rv-fan.board .bs.bc.off{filter:grayscale(1) brightness(.55);opacity:.4;transform:scale(.8);box-shadow:none;background:#fff}
.rv-fan.board .bs.bc.off::after{content:"✕";position:absolute;left:0;right:0;top:0;bottom:0;height:auto;width:auto;background:none;transform:none;display:grid;place-items:center;font-size:2.6rem;font-weight:900;color:#fff;text-shadow:0 2px 8px #000;filter:none}
.rv-fan.board .bs.bc.off b{background:#555}
/* 하나 남았다 — 스포트라이트 */
.rv-fan.board .bs.bc.only{transform:translateY(-6px) scale(1.32);z-index:3;box-shadow:0 0 0 3px #FFE14D,0 0 0 9px rgba(255,225,77,.25),0 0 60px 18px rgba(255,214,0,.55);animation:bcPulse .8s ease-in-out infinite;background:#fff}
@keyframes bcPulse{50%{box-shadow:0 0 0 3px #FFE14D,0 0 0 14px rgba(255,225,77,.12),0 0 80px 26px rgba(255,214,0,.7)}}
/* 나머지 상(상위상 7번째부터·하위상)은 작은 알약 */
.rv-fan.board .bd-lows{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;flex-basis:100%;margin-top:4px}
.rv-fan.board .bs.lo,.rv-fan.board .bs.mini{width:auto;height:28px;border-radius:999px;padding:0 .7rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#EADFC8;box-shadow:none;gap:.35rem;flex-direction:row}
.rv-fan.board .bs.mini{color:#FFE9A8;border-color:rgba(255,225,77,.4)}
.rv-fan.board .bs.lo b,.rv-fan.board .bs.mini b{font-size:.76rem}
.rv-fan.board .bs.lo i,.rv-fan.board .bs.mini i{position:static;min-width:0;height:auto;border:0;background:none;color:inherit;opacity:.7;font-style:normal;font-size:.7rem;padding:0}
.rv-fan.board .bs.lo.off,.rv-fan.board .bs.mini.off{opacity:.3;transform:none;text-decoration:line-through}
.rv-fan.board .bs.lo.off::after,.rv-fan.board .bs.mini.off::after{display:none}
.rv-fan.board .bs.lo.only,.rv-fan.board .bs.mini.only{background:#FFE14D;color:#111;border-color:#FFE14D;transform:scale(1.15)}
@media (max-width:640px){
  .rv-fan.board .bs.bc{width:68px}
  .rv-fan.board .bs.bc .im{width:60px;height:60px}
  .rv-fan.board .bd-g{gap:9px}
}
@media (prefers-reduced-motion:reduce){.rv-fan.board .bs.bc.only{animation:none}}

/* ══ 10. 전체 대비 올리기 (2026-11-08 "관리자 탭부터 흐리멍텅") — 표·작은 글씨·상자 테두리 ══ */
body.brand-v2{color:#111}
body.brand-v2 table th{color:#3A3A37;font-weight:800;background:#F5F5F2}
body.brand-v2 table td{color:#1A1A18}
body.brand-v2 table tr{border-color:#E1E1DC}
body.brand-v2 .card{border-color:#E1E1DC}
body.brand-v2 .muted,body.brand-v2 .small.muted,body.brand-v2 small.muted{color:#6F6F6A}
body.brand-v2 .stat{background:#fff;border:1.5px solid #E1E1DC}
body.brand-v2 .stat span{color:#55554F;font-weight:700}
body.brand-v2 .stat b{color:#111}
body.brand-v2 .badge{font-weight:800}
body.brand-v2 .badge.soldout,body.brand-v2 .badge.closed,body.brand-v2 .badge.draft{background:#ECECE8;color:#55554F}
body.brand-v2 .alert{background:#F6F6F2;border:1px solid #E1E1DC;color:#111}
body.brand-v2 .alert.ok{background:#F0FDF4;border-color:#BBF7D0;color:#14532D}
body.brand-v2 h1,body.brand-v2 h2,body.brand-v2 h3{color:#111}

/* ══ 11. 쪼는 구간 (2026-11-08) — 마지막 자리 직전부터: 가장자리 어둡게, 종이 살짝 다가옴, 후보 사이로 흰 빛이 오감 ══ */
#rvScreen.squeeze::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:2;background:radial-gradient(ellipse 60% 55% at 50% 50%,transparent 40%,rgba(0,0,0,.72) 100%);animation:sqIn .35s ease}
@keyframes sqIn{from{opacity:0}to{opacity:1}}
.rv-tk.sq{transform:scale(1.035);transition:transform .35s ease;filter:drop-shadow(0 0 22px rgba(255,214,0,.25))}
.rv-fan.board .bs.ping{transform:translateY(-10px) scale(1.2)!important;box-shadow:0 0 0 3px #fff,0 0 40px 10px rgba(255,255,255,.6)!important;z-index:4;transition:transform .09s ease,box-shadow .09s ease}
.rv-fan.board .bs.lo.ping,.rv-fan.board .bs.mini.ping{background:#fff;color:#111}
@media (prefers-reduced-motion:reduce){#rvScreen.squeeze::before{animation:none}.rv-tk.sq{transform:none}}
#rvScreen.squeeze .rv-fan-wrap,#rvScreen.squeeze #rvStage{position:relative;z-index:3}
/* 쪼는 맛 2차 — 탈락은 하나씩 쓰러지고, 답이 정해졌으면 남은 카드가 박동하며 커진다. 가장자리는 더 어둡게 */
#rvScreen.squeeze::before{background:radial-gradient(ellipse 55% 50% at 50% 48%,transparent 35%,rgba(0,0,0,.85) 100%)}
.rv-tk.sq{transform:scale(1.06)}
.rv-fan.board .bs.fall{animation:bsFall .42s cubic-bezier(.5,0,.6,1)}
@keyframes bsFall{0%{transform:none}35%{transform:translateY(-6px) rotate(-6deg)}100%{transform:scale(.8) rotate(4deg)}}
.rv-fan.board .bs.bc.beat{animation:bsBeat .5s ease-out}
@keyframes bsBeat{0%{transform:translateY(-6px) scale(1.32)}30%{transform:translateY(-8px) scale(var(--beat,1.4))}100%{transform:translateY(-6px) scale(1.32)}}
/* 쪼는 맛 3차 — 남은 카드가 커져도 제목을 덮지 않게, 가장자리만 어둡게가 아니라 가운데에 따뜻한 조명 */
.rv-fan.board .bd-g{padding:16px 0 12px}
.rv-fan.board .bs.bc.only{transform:scale(1.2)}
@keyframes bsBeat{0%{transform:scale(1.2)}30%{transform:scale(var(--beat,1.3))}100%{transform:scale(1.2)}}
#rvScreen.squeeze::before{background:radial-gradient(ellipse 42% 38% at 50% 45%,rgba(255,200,90,.16) 0,rgba(255,200,90,.05) 45%,transparent 60%),radial-gradient(ellipse 60% 55% at 50% 48%,transparent 40%,rgba(0,0,0,.85) 100%)}
