/* ═══════════════ TV / HOST LAYOUT ═══════════════ */
html.host { font-size: clamp(12px, 0.86vw, 26px); }
body.host { min-height: 100vh; overflow: hidden; }
#root { height: 100vh; display: flex; flex-direction: column; }
.main { flex: 1; min-height: 0; padding: 0 1.4rem 1.2rem; display: flex; flex-direction: column; }

/* HUD */
.hud { display: flex; align-items: center; gap: 1rem; padding: 0.7rem 1.4rem; }
.hud-logo { height: 3.4rem; filter: drop-shadow(0 0 12px rgba(255, 122, 26, 0.7)); animation: bob 3s ease-in-out infinite; }
.hud-title .neon { font-size: 1.7rem; line-height: 1; }
.hud-sub { font-size: 0.8rem; color: var(--muted); letter-spacing: 0.1em; margin-top: 0.25rem; }
.hud-time { display: flex; flex-direction: column; gap: 0.35rem; max-width: 34rem; margin-left: 1rem; }
.hud-track { position: relative; height: 0.6rem; border-radius: 999px; background: rgba(255, 255, 255, 0.08); }
.hud-track i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: inherit; background: linear-gradient(90deg, var(--orange), var(--hot)); box-shadow: 0 0 12px var(--orange); }
.hud-track b { position: absolute; top: 50%; transform: translate(-50%, -50%); font-size: 0.9rem; font-weight: 400; filter: drop-shadow(0 0 4px #000); }
.hud-clock { display: flex; justify-content: space-between; font-size: 0.85rem; color: var(--muted); }
.hud-left { color: var(--orange2); font-family: var(--display); letter-spacing: 0.04em; }

.mini-score { display: flex; align-items: center; gap: 0.6rem; padding: 0.35rem 1rem; border-radius: 999px; background: rgba(0, 0, 0, 0.45); border: 1px solid var(--line2); font-family: var(--display); }
.ms-t { font-size: 0.85rem; padding: 0.1em 0.5em; border-radius: 6px; }
.ms-t.t-white { background: #fff; color: #111; }
.ms-t.t-black { background: #111; color: var(--gold); border: 1px solid var(--gold); }
.ms-n { font-size: 1.6rem; min-width: 2.5ch; text-align: center; color: #fff; text-shadow: 0 0 10px var(--w-glow); }
.ms-n.g { color: var(--gold); text-shadow: 0 0 10px var(--gold); }
.ms-vs { color: var(--muted); }
.bump { animation: bump 0.6s ease; display: inline-block; }

/* ═══════════════ DASHBOARD ═══════════════ */
.dash { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 1rem; }
.scoreboard { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1.4rem; align-items: stretch; }

.team-panel { position: relative; overflow: hidden; border-radius: var(--r-lg); padding: 1rem 1.6rem 0.9rem; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; gap: 0.2rem 1rem; align-items: center; min-height: 12.5rem; }
.team-panel.tp-white { background: linear-gradient(135deg, #ffffff 0%, #dcefff 55%, #a9d6f5 100%); color: #0e1b26; box-shadow: 0 0 0 3px rgba(111, 227, 255, 0.6), 0 0 50px rgba(111, 227, 255, 0.35), var(--shadow); }
.team-panel.tp-black { background: linear-gradient(135deg, #2a2a36 0%, #121218 55%, #050507 100%); color: var(--gold); box-shadow: 0 0 0 3px rgba(255, 201, 60, 0.6), 0 0 50px rgba(255, 201, 60, 0.25), var(--shadow); }
.team-panel.lead { --gc: rgba(255, 176, 32, 0.6); animation: glowpulse 2.2s ease-in-out infinite; }
.team-panel.tp-white.lead { --gc: rgba(111, 227, 255, 0.55); }
.tp-stripe { position: absolute; inset: 0; pointer-events: none; opacity: 0.12; background: repeating-linear-gradient(115deg, currentColor 0 2px, transparent 2px 22px); }
.team-panel::after { content: ''; position: absolute; top: 0; left: 0; width: 40%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent); animation: shine 5s ease-in-out infinite; pointer-events: none; }
.tp-black::after { background: linear-gradient(90deg, transparent, rgba(255, 201, 60, 0.18), transparent); }
.tp-head { grid-column: 1; display: flex; flex-direction: column; }
.tp-name { font-family: var(--display); font-size: 3.4rem; line-height: 1; letter-spacing: 0.06em; }
.tp-sub { font-size: 0.95rem; opacity: 0.7; margin-top: 0.3rem; }
.tp-score { grid-column: 2; grid-row: 1 / span 2; font-family: var(--display); font-size: 8.5rem; line-height: 0.9; font-variant-numeric: tabular-nums; min-width: 2ch; text-align: right; }
.tp-white .tp-score { color: #0a1824; text-shadow: 0 4px 0 rgba(111, 227, 255, 0.7), 0 0 40px rgba(111, 227, 255, 0.6); }
.tp-black .tp-score { color: var(--gold); text-shadow: 0 4px 0 #6b4a00, 0 0 40px rgba(255, 201, 60, 0.6); }
.tp-members { grid-column: 1; display: flex; flex-wrap: wrap; gap: 0.25rem; }
.tp-crown { position: absolute; top: 0.3rem; right: 1rem; font-size: 2rem; animation: bob 1.5s ease-in-out infinite; z-index: 2; }
.tp-black .tp-crown { left: 1rem; right: auto; }
.tp-black { direction: rtl; }
.tp-black > * { direction: ltr; }
.tp-black .tp-score { text-align: left; }
.tp-black .tp-head { align-items: flex-end; text-align: right; }
.tp-black .tp-members { justify-content: flex-end; }

.vs { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.3rem; min-width: 12rem; }
.vs-ball { width: 8.5rem; height: 8.5rem; display: grid; place-items: center; filter: drop-shadow(0 0 25px rgba(255, 122, 26, 0.8)); animation: bob 2.6s ease-in-out infinite; }
.vs-ball img { width: 100%; }
.vs-text { font-family: var(--display); font-size: 2.6rem; font-style: italic; color: #fff; text-shadow: 0 0 20px var(--hot), 0 0 40px var(--orange); }
.vs-lead { font-family: var(--display); padding: 0.3em 0.9em; border-radius: 999px; font-size: 1rem; background: rgba(0, 0, 0, 0.5); border: 1px solid var(--line2); white-space: nowrap; }
.vs-lead.w { color: #fff; border-color: var(--w-glow); box-shadow: 0 0 15px rgba(111, 227, 255, 0.5); }
.vs-lead.b { color: var(--gold); border-color: var(--gold); box-shadow: 0 0 15px rgba(255, 201, 60, 0.4); }
.vs-lead.tie { color: var(--pink); }

.dash-body { flex: 1; min-height: 0; display: grid; grid-template-columns: 1fr 22rem; gap: 1rem; }
.board { display: flex; flex-direction: column; min-height: 0; padding: 1rem 1.1rem; }
.board-head { display: flex; align-items: baseline; gap: 1rem; margin-bottom: 0.8rem; }
.board-head h3 { font-size: 1.5rem; }
.board-head .muted { font-size: 0.85rem; }
.slots { flex: 1; min-height: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.6rem; overflow: auto; }
.slot { display: flex; flex-direction: column; gap: 0.55rem; padding: 0.55rem; border-radius: 20px; background: rgba(255, 255, 255, 0.03); border: 1px solid var(--line); position: relative; }
.slot.now { border-color: var(--orange); background: rgba(255, 122, 26, 0.08); box-shadow: 0 0 25px rgba(255, 122, 26, 0.25) inset; }
.slot-head { display: flex; align-items: center; gap: 0.5rem; padding: 0.2rem 0.3rem 0.4rem; border-bottom: 1px dashed var(--line2); }
.slot-emoji { font-size: 1.6rem; }
.slot-label { font-size: 0.7rem; letter-spacing: 0.1em; color: var(--orange2); }
.slot-title { font-family: var(--display); font-size: 1rem; }
.now-tag { position: absolute; top: -0.6rem; right: 0.6rem; font-family: var(--display); font-size: 0.75rem; padding: 0.15em 0.6em; border-radius: 6px; background: var(--hot); box-shadow: 0 0 12px var(--hot); animation: blink 1s infinite; }
.slot-cards { display: flex; flex-direction: column; gap: 0.55rem; }

.gcard {
  position: relative; overflow: hidden; display: grid; grid-template-columns: auto 1fr; grid-template-rows: 1fr auto; gap: 0.1rem 0.6rem;
  padding: 0.65rem 0.7rem; border-radius: 16px; border: 0; cursor: pointer; text-align: left; color: #fff;
  background: linear-gradient(135deg, var(--c1), var(--c2));
  box-shadow: 0 5px 0 rgba(0, 0, 0, 0.45), 0 10px 20px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.4);
  transition: transform 0.15s, box-shadow 0.15s, filter 0.15s;
}
.gcard::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255, 255, 255, 0.18), transparent 50%, rgba(0, 0, 0, 0.25)); pointer-events: none; }
.gcard::after { content: ''; position: absolute; top: 0; left: 0; width: 45%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent); transform: translateX(-120%) skewX(-20deg); pointer-events: none; }
.gcard:hover { transform: translateY(-3px) scale(1.02); filter: brightness(1.1); box-shadow: 0 8px 0 rgba(0, 0, 0, 0.45), 0 0 30px var(--c1); }
.gcard:hover::after { animation: shine 1s ease; }
.gcard:active { transform: translateY(3px); box-shadow: 0 2px 0 rgba(0, 0, 0, 0.45); }
.gcard.na { filter: grayscale(1) brightness(0.5); cursor: not-allowed; }
.gc-emoji { grid-row: 1 / span 2; font-size: 2.2rem; line-height: 1; filter: drop-shadow(0 3px 4px rgba(0, 0, 0, 0.4)); align-self: center; }
.gc-body { display: flex; flex-direction: column; min-width: 0; }
.gc-name { font-family: var(--display); font-size: 1.05rem; line-height: 1.15; text-shadow: 0 2px 0 rgba(0, 0, 0, 0.3); }
.gc-desc { font-size: 0.72rem; opacity: 0.88; line-height: 1.3; margin-top: 0.15rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gc-meta { display: flex; gap: 0.3rem; align-items: center; font-size: 0.68rem; }
.gc-meta span { padding: 0.05em 0.5em; border-radius: 6px; background: rgba(0, 0, 0, 0.3); }
.gc-meta .gc-played { background: rgba(43, 255, 136, 0.35); }

@media (max-height: 820px) {
  .gc-desc { display: none; }
  .gcard { padding: 0.5rem 0.6rem; }
  .gc-emoji { font-size: 1.8rem; }
  .team-panel { min-height: 10rem; }
  .tp-score { font-size: 7rem; }
  .vs-ball { width: 6.5rem; height: 6.5rem; }
}
.side { display: flex; flex-direction: column; gap: 1rem; min-height: 0; }
.side .panel { padding: 0.9rem 1rem; }
.join { display: flex; gap: 0.9rem; align-items: center; }
.join-qr .qr { width: 9rem; height: 9rem; }
.join-url { font-family: var(--display); font-size: 1rem; color: var(--orange2); margin: 0.3rem 0; word-break: break-all; }
.feed { flex: 1; min-height: 0; overflow: hidden; }
.feed-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.35rem; }
.feed-list li { display: flex; align-items: center; gap: 0.6rem; padding: 0.35rem 0.6rem; border-radius: 10px; background: rgba(255, 255, 255, 0.04); border-left: 3px solid; animation: slideup 0.4s ease; font-size: 0.9rem; }
.feed-list li.t-white { border-color: var(--w-glow); }
.feed-list li.t-black { border-color: var(--gold); }
.fd-pts { font-family: var(--display); color: var(--green); min-width: 2.8rem; }
.fd-pts.neg { color: var(--red); }
.fd-txt { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fd-txt b { font-weight: 400; }

/* ═══════════════ STAGE ═══════════════ */
.stage-wrap { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 0.8rem; }
.stage-bar { display: flex; align-items: center; gap: 1rem; padding: 0.55rem 0.8rem; border-radius: 18px; background: linear-gradient(90deg, color-mix(in srgb, var(--c1) 35%, transparent), color-mix(in srgb, var(--c2) 15%, transparent)); border: 1px solid color-mix(in srgb, var(--c1) 60%, transparent); }
.sb-title { display: flex; align-items: center; gap: 0.6rem; font-family: var(--display); font-size: 1.5rem; }
.sb-emoji { font-size: 2rem; }
.stage { flex: 1; min-height: 0; overflow: auto; position: relative; display: flex; flex-direction: column; }

/* 게임 시작 스플래시 */
.splash { position: fixed; inset: 0; z-index: 9990; display: grid; place-items: center; pointer-events: none; background: radial-gradient(circle, color-mix(in srgb, var(--c1) 70%, transparent), rgba(0, 0, 0, 0.92) 70%); animation: splashbg 1.9s ease forwards; }
.sp-inner { text-align: center; animation: popin 0.6s cubic-bezier(0.2, 1.4, 0.4, 1); }
.sp-emoji { font-size: 10rem; filter: drop-shadow(0 0 40px var(--c1)); animation: wiggle 0.3s ease-in-out 3; }
.sp-name { font-family: var(--display); font-size: 5rem; color: #fff; text-shadow: 0 0 20px var(--c1), 0 0 60px var(--c2), 0 6px 0 rgba(0, 0, 0, 0.5); }
.sp-start { font-family: var(--display); font-size: 2.2rem; letter-spacing: 0.3em; color: var(--gold); margin-top: 0.8rem; animation: blink 0.3s infinite; }
@keyframes splashbg { 0% { opacity: 0; } 12% { opacity: 1; } 80% { opacity: 1; } 100% { opacity: 0; } }

/* 점수 팝업 */
.pp { font-family: var(--display); font-size: 6rem; line-height: 1; }
.pp small { display: block; font-size: 1.6rem; letter-spacing: 0.15em; }
.pp-white { color: #fff; text-shadow: 0 0 20px var(--w-glow), 0 0 50px var(--w-glow), 0 5px 0 #3a8fb0; }
.pp-black { color: var(--gold); text-shadow: 0 0 20px var(--gold), 0 0 50px var(--orange), 0 5px 0 #6b4a00; }

/* 공지 */
.announce { position: fixed; inset: 0; z-index: 9000; display: grid; place-items: center; background: rgba(0, 0, 0, 0.8); backdrop-filter: blur(8px); cursor: pointer; }
.an-box { text-align: center; padding: 3rem 5rem; border-radius: 40px; border: 3px solid var(--orange); background: radial-gradient(circle at top, rgba(255, 122, 26, 0.3), rgba(10, 10, 20, 0.9)); box-shadow: 0 0 80px rgba(255, 122, 26, 0.5); max-width: 85vw; }
.an-text { font-size: 5.5rem; line-height: 1.15; }
.an-sub { font-size: 2.2rem; margin-top: 1rem; color: #ffe2c8; }
.an-close { margin-top: 2rem; }

/* 관리 패널 */
.admin { position: fixed; top: 0; right: 0; bottom: 0; width: min(34rem, 92vw); z-index: 8000; padding: 1.2rem; background: rgba(10, 10, 20, 0.97); border-left: 2px solid var(--violet); box-shadow: -20px 0 60px rgba(0, 0, 0, 0.7); display: flex; flex-direction: column; gap: 0.8rem; animation: slidein 0.3s ease; font-size: 1.05rem; }
@keyframes slidein { from { transform: translateX(100%); } }
.adm-tabs { display: flex; gap: 0.3rem; background: rgba(255, 255, 255, 0.05); padding: 0.3rem; border-radius: 14px; }
.adm-tabs button { flex: 1; padding: 0.55rem; border: 0; border-radius: 10px; background: transparent; cursor: pointer; }
.adm-tabs button.on { background: var(--violet); box-shadow: 0 0 14px rgba(155, 92, 255, 0.6); }
.adm-body { flex: 1; overflow: auto; padding-right: 0.3rem; }
.adm-team { padding: 1rem; border-radius: 18px; margin-bottom: 0.8rem; }
.adm-team.tp-white { background: rgba(234, 246, 255, 0.1); border: 1px solid rgba(111, 227, 255, 0.5); }
.adm-team.tp-black { background: rgba(255, 201, 60, 0.06); border: 1px solid rgba(255, 201, 60, 0.45); }
.adm-score { font-family: var(--display); font-size: 2.2rem; }
.adm-members { display: flex; flex-direction: column; gap: 0.35rem; }
.adm-mem { display: flex; align-items: center; gap: 0.5rem; padding: 0.35rem 0.5rem; border-radius: 10px; background: rgba(255, 255, 255, 0.04); }
.adm-ps { font-family: var(--display); min-width: 2.5rem; text-align: right; color: var(--orange2); }
.adm-log li { font-size: 0.85rem; }
.admin.wide { width: min(48rem, 96vw); }
form.ro-banner { display: flex; align-items: center; gap: 0.6rem; white-space: nowrap; }
.ro-pin { width: 6.5rem; padding: 0.3em 0.6em; text-align: center; letter-spacing: 0.3em; }
.bgm-chip { cursor: pointer; max-width: 16rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border: 1px solid var(--line2); }
#bgm-yt-wrap { position: fixed; left: -9999px; top: 0; width: 320px; height: 180px; opacity: 0.01; pointer-events: none; }
.adm-mem2 { display: flex; flex-direction: column; gap: 0.35rem; padding: 0.5rem 0.6rem; border-radius: 12px; background: rgba(255, 255, 255, 0.04); }
.adm-mem2 form { margin: 0; }
.adm-mem-2nd { padding-left: 2.4rem; }
.adm-name { padding: 0.35em 0.6em; font-size: 0.95rem; }
.adm-sel { padding: 0.35em 0.5em; font-size: 0.85rem; width: auto; max-width: 14rem; }
.adm-add .input { padding: 0.45em 0.7em; }
.adm-crew { padding: 0.5rem; border-radius: 12px; background: rgba(255, 255, 255, 0.04); margin-bottom: 0.4rem; }
.adm-crew .input { padding: 0.35em 0.6em; font-size: 0.9rem; }
.sch-slot { padding: 0.6rem; border-radius: 14px; background: rgba(255, 255, 255, 0.04); border: 1px solid var(--line); margin-bottom: 0.6rem; }
.sch-slot.hidden-slot { opacity: 0.75; border-style: dashed; }
.sch-head { margin-bottom: 0.4rem; }
.sch-head .input { padding: 0.35em 0.55em; font-size: 0.9rem; }
.sch-game { display: flex; align-items: center; gap: 0.35rem; padding: 0.25rem 0.4rem; border-radius: 10px; }
.sch-game:hover { background: rgba(255, 255, 255, 0.05); }
.sch-game form { margin: 0; }
.sch-ge { font-size: 1.2rem; }

/* 시상식 */
.ceremony { flex: 1; min-height: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; overflow: hidden; border-radius: 30px; }
.cer-rays { position: absolute; inset: -50%; background: repeating-conic-gradient(from 0deg, rgba(255, 201, 60, 0.08) 0 10deg, transparent 10deg 20deg); animation: spin 40s linear infinite; pointer-events: none; }
.cer-intro, .cer-mvp, .cer-final { position: relative; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 1rem; flex: 1; justify-content: center; }
.cer-trophy { font-size: 12rem; filter: drop-shadow(0 0 50px var(--gold)); animation: bob 2s ease-in-out infinite; }
.cer-big { font-size: 5.5rem; line-height: 1.1; }
.podium { display: flex; align-items: flex-end; gap: 1.5rem; margin-top: 1rem; }
.pod { display: flex; flex-direction: column; align-items: center; gap: 0.4rem; width: 13rem; animation: slideup 0.8s cubic-bezier(0.2, 1.4, 0.4, 1) both; }
.pod.r1 { animation-delay: 0.9s; } .pod.r2 { animation-delay: 0.45s; }
.pod-name { font-family: var(--display); font-size: 2rem; }
.pod-score { color: var(--orange2); font-family: var(--display); font-size: 1.3rem; }
.pod-block { width: 100%; border-radius: 16px 16px 0 0; display: grid; place-items: start center; padding-top: 0.5rem; font-family: var(--display); font-size: 3.5rem; }
.pod.r1 .pod-block { background: linear-gradient(180deg, #ffe07a, #c98a00); color: #4a3000; box-shadow: 0 0 40px rgba(255, 201, 60, 0.7); }
.pod.r2 .pod-block { background: linear-gradient(180deg, #f0f4f8, #9aa7b4); color: #2a3440; }
.pod.r3 .pod-block { background: linear-gradient(180deg, #f0b27a, #a45c20); color: #3a1c00; }
.pod.r1 .avatar { box-shadow: 0 0 40px var(--gold); }
.cer-rest { width: min(40rem, 90%); }
.cer-rest .rank { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: repeat(4, auto); grid-auto-flow: column; }
.cer-teams { display: flex; align-items: center; gap: 2.5rem; margin-top: 1rem; }
.cer-team { width: 30rem; padding: 2rem; border-radius: 30px; text-align: center; transition: 0.8s; }
.cer-team.tp-white { background: linear-gradient(135deg, #fff, #a9d6f5); color: #0e1b26; }
.cer-team.tp-black { background: linear-gradient(135deg, #2a2a36, #050507); color: var(--gold); border: 3px solid var(--gold); }
.cer-team .tp-name { font-size: 3.5rem; }
.cer-score { font-family: var(--display); font-size: 10rem; line-height: 1; }
.cer-team.winner { transform: scale(1.12); box-shadow: 0 0 80px var(--gold), 0 0 160px rgba(255, 122, 26, 0.6); }
.cer-team.loser { transform: scale(0.88); filter: grayscale(0.6) brightness(0.6); }
.cer-win { font-family: var(--display); font-size: 2.2rem; animation: pulse 0.6s infinite alternate; }
.cer-dock { position: relative; }

.ro-banner { position: fixed; left: 50%; bottom: 0.8rem; transform: translateX(-50%); z-index: 8500; padding: 0.5rem 1.2rem; border-radius: 999px; background: rgba(155, 92, 255, 0.9); font-size: 0.9rem; box-shadow: 0 0 20px rgba(155, 92, 255, 0.6); }

/* 좁은 화면(노트북 1366/1280): 오른쪽 패널 축소, 카드를 세로형으로 */
@media (max-width: 1600px) {
  .dash-body { grid-template-columns: 1fr 15rem; }
  .join { flex-direction: column; text-align: center; }
  .join-qr .qr { width: 7.5rem; height: 7.5rem; }
  .slots { gap: 0.4rem; }
  .slot { padding: 0.4rem; }
  .slot-head { flex-direction: column; align-items: flex-start; gap: 0.1rem; }
  .slot-emoji { font-size: 1.2rem; }
  .gcard { grid-template-columns: 1fr; padding: 0.45rem 0.5rem; text-align: center; }
  .gc-emoji { grid-row: auto; font-size: 1.6rem; justify-self: center; }
  .gc-name { font-size: 0.95rem; }
  .gc-desc { display: none; }
  .gc-meta { justify-content: center; }
}

/* 게임이 많은 시간대는 2칸 폭 + 카드 2열 */
.slot.wide { grid-column: span 2; }
.slot.wide .slot-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 0.55rem; }

/* ⚔️ 팀 대항전 컬럼: 화이트 vs 블랙 */
.slot.s-team { border-color: rgba(255, 201, 60, 0.45); background: linear-gradient(90deg, rgba(234, 246, 255, 0.08), rgba(255, 201, 60, 0.07)); }
.slot.s-team .slot-head { border-bottom: 0; padding-bottom: 0.7rem; position: relative; }
.slot.s-team .slot-head::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; border-radius: 3px; background: linear-gradient(90deg, #ffffff 0 50%, #16161d 50%); box-shadow: 0 0 8px rgba(111, 227, 255, 0.6), inset -2px 0 0 var(--gold); border: 1px solid var(--gold); }
.slot.s-team .slot-label { color: #fff; }

/* 🌈 BOXOUT 스페셜 컬럼: 무지개 */
.slot.s-special { border-color: rgba(255, 61, 154, 0.55); background: linear-gradient(180deg, rgba(155, 92, 255, 0.18), rgba(255, 61, 154, 0.06)); box-shadow: 0 0 22px rgba(155, 92, 255, 0.25) inset; }
.slot.s-special .slot-head { border-bottom: 0; padding-bottom: 0.7rem; position: relative; }
.slot.s-special .slot-head::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; border-radius: 3px; background: linear-gradient(90deg, #e40303 0 16.6%, #ff8c00 16.6% 33.3%, #ffed00 33.3% 50%, #008026 50% 66.6%, #004dff 66.6% 83.3%, #750787 83.3%); }
.slot.s-special .slot-label { color: #ffb3e0; }
