/* ============================================================
 * Memória da Discórdia — Tema V6 (Claude Design)
 * Tela cheia, sem a sidebar/visual do site. Dark horror,
 * ouro/roxo/vinho, fontes Cinzel/Karla/Creepster.
 * ============================================================ */
:root{
  --bg:#120814; --ink:#f3e7d6; --ink-soft:#e6d4e4;
  --gold:#f0c96a; --gold-2:#e8bd63; --gold-deep:#c08a24;
  --purple:#3d1440; --purple-2:#5a1a4a; --plum:#601c4e;
  --wine:#e01426; --wine-2:#c11021; --blood:#ff4040;
  --muted:#c79ac6; --muted-2:#a888a8; --muted-3:#8f7590;
  --line:rgba(217,164,65,.30); --line-soft:rgba(217,164,65,.20);
  --panel:rgba(20,10,23,.70); --panel-2:rgba(12,6,14,.60);
  --card-r:12px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);
  font-family:Karla,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
body.dc-body{min-height:100vh}
a{color:var(--gold-2);text-decoration:none}a:hover{color:#f7dc9d}
input,button,textarea{font-family:inherit}
img{max-width:100%}

/* ---- animações (do design) ---- */
@keyframes dcRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes dcPulse{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes dcSpy{0%,100%{box-shadow:0 0 0 2px rgba(255,206,84,.85),0 0 18px 4px rgba(255,196,44,.45)}50%{box-shadow:0 0 0 3px rgba(255,226,140,1),0 0 34px 10px rgba(255,196,44,.75)}}
@keyframes dcBlackout{0%,88%,100%{opacity:0}90%{opacity:.85}91%{opacity:0}93%{opacity:.7}94%{opacity:0}}
@keyframes dcFlicker{0%,96%,100%{opacity:1}97%{opacity:.25}98%{opacity:.9}99%{opacity:.4}}
@keyframes dcShake{0%,100%{transform:none}25%{transform:translateX(-1px)}75%{transform:translateX(1px)}}
@keyframes dcDrip{0%{transform:scaleY(.5);opacity:.7}50%{transform:scaleY(1);opacity:1}100%{transform:scaleY(.5);opacity:.7}}
@keyframes dcSweep{0%{transform:translateX(-160%) skewX(-16deg);opacity:0}8%{opacity:1}30%,100%{transform:translateX(260%) skewX(-16deg);opacity:0}}

/* ---- container base ---- */
.dc-wrap{min-height:100vh;background:radial-gradient(1200px 700px at 50% -10%,#3a1338 0%,#1b0a1e 45%,#0e0611 100%);
  padding:clamp(12px,2.2vw,28px)}
.dc-msg{text-align:center;color:var(--muted);padding:60px 12px;font-size:15px}

/* ---- botões ---- */
.dc-btn-primary{background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:#2a1405;border:none;
  border-radius:999px;padding:14px 34px;font-family:Cinzel,serif;font-weight:700;font-size:17px;letter-spacing:.06em;
  cursor:pointer;box-shadow:0 12px 26px rgba(192,138,36,.35);transition:filter .2s ease}
.dc-btn-primary:hover{filter:brightness(1.08)}
.dc-btn-primary:disabled{opacity:.5;cursor:not-allowed;filter:none}
.dc-btn-ghost{background:transparent;color:var(--gold-2);border:1px solid rgba(217,164,65,.5);border-radius:999px;
  padding:13px 26px;font-size:15px;cursor:pointer;transition:background .2s ease}
.dc-btn-ghost:hover{background:rgba(217,164,65,.12)}
.dc-btn-sm{background:transparent;border:1px solid rgba(217,164,65,.4);color:var(--gold-2);border-radius:999px;
  padding:6px 14px;font-size:12px;cursor:pointer}
.dc-btn-sm:hover{background:rgba(217,164,65,.14)}
.dc-btn-sm.dc-danger{border-color:rgba(158,42,58,.55);color:#e08a97}
.dc-btn-sm.dc-danger:hover{background:rgba(158,42,58,.18)}

/* ============================ LANDING / SETUP ============================ */
.dc-setup{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:26px;animation:dcRise .5s ease both}
.dc-hero{text-align:center;padding-top:clamp(10px,4vh,50px)}
.dc-kicker{font-size:12px;letter-spacing:.42em;text-transform:uppercase;color:#b98bbd}
.dc-kicker-link{display:inline-block;text-decoration:none;color:#b98bbd;cursor:pointer;transition:color .15s}
.dc-kicker-link:hover,.dc-kicker-link:focus-visible{color:var(--gold)}
.dc-title{font-family:Cinzel,serif;font-weight:900;font-size:clamp(34px,7vw,76px);margin:10px 0 6px;
  color:var(--gold);text-shadow:0 2px 0 #6a4413,0 0 40px rgba(240,201,106,.35);line-height:1}
.dc-sub{margin:0;color:#d8bcd6;font-size:clamp(14px,1.6vw,18px)}
.dc-hero-cards{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;align-items:flex-end}
.dc-hero-card{display:flex;flex-direction:column;align-items:center;gap:8px}
.dc-hero-art{width:clamp(88px,11vw,140px);aspect-ratio:5/7;perspective:1000px;cursor:crosshair}
.dc-hero-3d{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .3s ease;
  transform:rotateX(0deg) rotateY(0deg);will-change:transform}
.dc-hero-flat{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:10px;
  box-shadow:0 18px 34px rgba(0,0,0,.55);transform:translateZ(0)}
.dc-hero-glow{position:absolute;left:10%;right:10%;top:16%;bottom:30%;border-radius:50%;pointer-events:none;opacity:0;
  background:radial-gradient(circle,rgba(255,205,110,.5),transparent 68%);transform:translateZ(28px);filter:blur(7px);transition:opacity .3s ease}
.dc-hero-render{position:absolute;left:2%;top:3%;width:96%;height:82%;object-fit:contain;pointer-events:none;opacity:0;
  transform:translateZ(60px) scale(1.06);filter:drop-shadow(0 14px 18px rgba(0,0,0,.65));transition:opacity .3s ease}
.dc-hero-art:hover .dc-hero-render,.dc-hero-art:hover .dc-hero-glow{opacity:1}
.dc-hero-card small{font-family:Cinzel,serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.dc-hero-note{margin:-10px 0 0;text-align:center;font-size:12px;color:var(--muted-3);letter-spacing:.04em}

.dc-mesa{background:linear-gradient(180deg,rgba(58,20,60,.9),rgba(30,10,34,.92));border:1px solid rgba(217,164,65,.4);
  border-radius:16px;padding:clamp(16px,2.4vw,28px);box-shadow:0 24px 60px rgba(0,0,0,.5)}
.dc-mesa h2{font-family:Cinzel,serif;font-size:20px;margin:0 0 4px;color:var(--gold);letter-spacing:.06em}
.dc-mesa p.lead{margin:0 0 18px;color:#c9a7c8;font-size:14px}
.dc-counts{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.dc-count{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:104px;padding:12px 16px;border-radius:12px;
  cursor:pointer;transition:all .2s ease;color:var(--gold-2);background:rgba(240,201,106,.06);border:1px solid rgba(217,164,65,.3)}
.dc-count b{font-family:Cinzel,serif;font-size:22px;font-weight:700}
.dc-count span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.dc-count em{font-size:10px;letter-spacing:.1em;opacity:.7;font-style:normal}
.dc-count.is-on{color:#2a1405;background:linear-gradient(180deg,var(--gold),var(--gold-deep));border-color:rgba(217,164,65,.8)}
.dc-seats{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-bottom:20px}
.dc-seat{display:flex;align-items:center;gap:12px;background:var(--panel-2);border:1px solid rgba(217,164,65,.25);
  border-radius:12px;padding:8px 12px}
.dc-seat .av{width:46px;height:46px;object-fit:cover;border-radius:50%;border:1px solid var(--line);
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.6))}
.dc-seat .av-ph{display:grid;place-items:center;background:var(--plum);color:#fff;font-family:Cinzel,serif;font-weight:700}
.dc-seat input{flex:1;min-width:0;background:transparent;border:none;border-bottom:1px solid rgba(217,164,65,.35);
  color:var(--ink);font-size:15px;padding:6px 2px;outline:none}
.dc-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.dc-actions .note{color:var(--muted-2);font-size:13px}

.dc-rooms{margin-top:24px;border-top:1px solid var(--line-soft);padding-top:20px;display:flex;flex-direction:column;gap:20px}
.dc-rooms-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.dc-rooms-head h3{font-family:Cinzel,serif;font-size:16px;color:var(--gold);margin:0;letter-spacing:.06em}
.dc-live-dot{width:8px;height:8px;border-radius:50%;background:#57d36a;box-shadow:0 0 10px #57d36a;animation:dcPulse 1.8s ease-in-out infinite}
.dc-rooms-head .count{font-size:12px;color:var(--muted-2)}
.dc-room-list{display:flex;flex-direction:column;gap:8px}
.dc-room{background:var(--panel-2);border:1px solid rgba(217,164,65,.22);border-radius:12px;padding:10px 14px}
.dc-room-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.dc-room code{font-family:ui-monospace,monospace;font-size:14px;color:var(--gold-2);letter-spacing:.06em}
.dc-room .host{font-size:14px;color:var(--ink)}
.dc-room .info{font-size:12px;color:var(--muted)}
.dc-room .seats{font-family:Cinzel,serif;font-size:13px;color:#d8bcd6}
.dc-room-avatars{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;align-items:center}
.dc-room-av{display:flex;align-items:center;gap:6px;background:rgba(240,201,106,.08);border:1px solid rgba(217,164,65,.28);
  border-radius:999px;padding:3px 12px 3px 3px}
.dc-room-av img{width:26px;height:26px;object-fit:cover;border-radius:50%}
.dc-room-av small{font-size:12px;color:var(--ink)}
.dc-spacer{flex:1}
.dc-rooms-note{margin:10px 0 0;font-size:12px;color:var(--muted-3)}

/* ============================ JOGO ============================ */
.dc-game{max-width:1680px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.dc-gamehead{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-bottom:1px solid rgba(217,164,65,.25);padding-bottom:12px}
.dc-gamehead h1{font-family:Cinzel,serif;font-size:clamp(18px,2.2vw,26px);margin:0;color:var(--gold);letter-spacing:.04em}
.dc-chip{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);border:1px solid rgba(217,164,65,.35);
  border-radius:999px;padding:5px 12px}
.dc-chip--horror{color:#ffd9d9;background:rgba(120,10,25,.5);border-color:rgba(255,90,90,.45);letter-spacing:.18em;
  animation:dcFlicker 4s linear infinite}
.dc-round{font-size:13px;color:#d8bcd6}

.dc-gamegrid{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-start}
.dc-players{flex:1 1 250px;min-width:230px;max-width:330px;display:flex;flex-direction:column;gap:10px}
.dc-main{flex:4 1 520px;min-width:300px;display:flex;flex-direction:column;gap:12px}
.dc-logpanel{flex:1 1 230px;min-width:210px;max-width:320px;border-radius:14px;padding:14px;transition:all .6s ease;
  background:rgba(16,8,18,.7);border:1px solid rgba(217,164,65,.22)}
.dc-logpanel.is-horror{background:rgba(8,4,10,.9);border-color:rgba(150,25,45,.45);animation:dcShake 3s ease-in-out infinite}
.dc-logpanel h2{font-family:Cinzel,serif;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);margin:0 0 10px}
.dc-log{list-style:none;margin:0;padding:0 4px 0 0;display:flex;flex-direction:column;gap:8px;height:230px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(217,164,65,.5) transparent}
.dc-log::-webkit-scrollbar{width:6px}
.dc-log::-webkit-scrollbar-thumb{background:rgba(217,164,65,.5);border-radius:999px}
.dc-log::-webkit-scrollbar-track{background:transparent}
.dc-log li{font-size:13px;line-height:1.45;color:#dcc6da;border-left:2px solid rgba(217,164,65,.45);padding-left:10px}

/* jogador (painel lateral) */
.dc-player{border-radius:14px;padding:12px;background:var(--panel);border:1px solid var(--line-soft);
  transition:all .3s ease}
.dc-player.is-turn{background:linear-gradient(180deg,rgba(96,28,78,.9),rgba(30,11,33,.92));border-color:rgba(240,201,106,.75);
  box-shadow:0 10px 30px rgba(240,201,106,.14)}
.dc-player.is-fallen{border-color:rgba(224,20,38,.55)}
.dc-player.is-dead{opacity:.72;border-color:rgba(120,20,30,.5)}
.dc-player.is-dead .name{color:var(--muted-2);text-decoration:line-through}
.dc-player-top{display:flex;gap:10px;align-items:center}
.dc-pav{position:relative;width:54px;height:54px;flex:none;border-radius:50%;overflow:visible;
  background:radial-gradient(circle at 50% 30%,rgba(240,201,106,.28),rgba(0,0,0,.4));border:1px solid var(--line)}
.dc-pav>img:not(.rip){width:100%;height:100%;object-fit:cover;border-radius:50%}
.dc-pav .ph{border-radius:50%}
.dc-player.is-dead .dc-pav>img:not(.rip){filter:grayscale(1) brightness(.5)}
.dc-pav .rip{position:absolute;inset:-6px;width:calc(100% + 12px);height:calc(100% + 12px);object-fit:contain;z-index:2;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.7))}
.dc-pav .ph{width:100%;height:100%;display:grid;place-items:center;color:#fff;font-family:Cinzel,serif;font-weight:700;font-size:20px}
.dc-player .name{font-family:Cinzel,serif;font-size:16px;font-weight:700;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dc-player .status{font-size:12px;color:var(--muted)}
.dc-player .pts{text-align:right}
.dc-player .pts b{font-family:Cinzel,serif;font-size:22px;color:var(--gold);line-height:1;display:block}
.dc-player .pts small{font-size:10px;letter-spacing:.14em;color:var(--muted-2)}
.dc-coins{display:flex;gap:5px;align-items:center;margin-top:8px;min-height:22px;flex-wrap:wrap}
.dc-coin{display:inline-flex;align-items:center;gap:2px}
.dc-coin img{width:22px;height:22px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}
.dc-coin small{font-size:11px;color:#d8bcd6}
.dc-inv{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.dc-inv-chip{display:flex;align-items:center;gap:6px;background:rgba(240,201,106,.08);border:1px solid rgba(217,164,65,.35);
  color:var(--ink);border-radius:8px;padding:3px 9px 3px 3px;cursor:pointer;transition:transform .2s ease,background .2s ease}
.dc-inv-chip:hover{transform:translateY(-2px);background:rgba(240,201,106,.18)}
.dc-inv-chip[disabled]{cursor:default;opacity:.75}
.dc-inv-chip.is-virtual{background:rgba(224,20,38,.14);border-color:rgba(224,20,38,.5)}
.dc-inv-chip img{width:26px;height:26px;object-fit:contain}
.dc-inv-chip span{font-size:11px;letter-spacing:.06em}

/* barra da vez */
.dc-turnbar{display:flex;align-items:center;gap:12px;border:1px solid rgba(217,164,65,.3);border-radius:12px;padding:10px 16px;
  background:linear-gradient(90deg,rgba(90,26,74,.7),rgba(30,10,34,.5))}
.dc-turnbar .tav{width:40px;height:40px;object-fit:cover;border-radius:50%;border:1px solid var(--line)}
.dc-turnbar .who{flex:1;min-width:0}
.dc-turnbar .who b{font-family:Cinzel,serif;font-size:17px;color:var(--gold);display:block}
.dc-turnbar .who span{font-size:13px;color:#e0c9dd}
.dc-turnbar .hint{font-size:12px;color:var(--muted);text-align:right;line-height:1.4}
.dc-turnbar.is-mine{border-color:var(--gold);box-shadow:0 0 0 2px rgba(240,201,106,.18)}

/* tabuleiro */
.dc-board-wrap{position:relative;border-radius:14px;transition:background .8s ease}
.dc-board-wrap.is-horror{padding:clamp(8px,1vw,16px);background:radial-gradient(70% 60% at 42% 50%,#3a1030,#050307 78%)}
.dc-board-wrap.is-horror::before{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;
  background:radial-gradient(62% 58% at 42% 50%,transparent 38%,rgba(0,0,0,.86) 100%)}
.dc-board{position:relative;z-index:2;display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(6px,.8vw,12px)}
.dc-card{position:relative;aspect-ratio:5/7;perspective:900px;border:none;padding:0;background:transparent;
  cursor:pointer;border-radius:10px;transition:opacity .4s ease,filter .5s ease,transform .25s ease}
.dc-card[disabled]{cursor:default}
.dc-card.is-matched{opacity:.5;filter:saturate(.6);cursor:default}
.dc-board-wrap.is-horror .dc-card:not(.is-matched){filter:brightness(.68) contrast(1.2)}
.dc-card:not([disabled]):hover{transform:translateY(-6px) scale(1.03)}
.dc-flip{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.3,.8,.35,1.15)}
.dc-card.is-up .dc-flip{transform:rotateY(180deg)}
.dc-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:9px;overflow:hidden}
.dc-face--back{background:#170a1a}
.dc-face--back img{width:100%;height:100%;object-fit:cover;display:block}
.dc-face--back.is-wine img{filter:hue-rotate(-42deg) saturate(1.25) brightness(.96)}
.dc-face--back .gloss{position:absolute;inset:0;pointer-events:none;background:linear-gradient(175deg,rgba(255,244,214,.13),transparent 42%)}
.dc-face--front{transform:rotateY(180deg);background:#170a1a;display:flex;align-items:center;justify-content:center}
.dc-face--front img{width:100%;height:100%;object-fit:cover;display:block}
/* carta de avatar montada com a foto real do jogador */
.dc-avatar-card{position:absolute;inset:0;background:linear-gradient(180deg,#3d1440,#1a0a1d);border:2px solid rgba(217,164,65,.65);
  border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px}
.dc-avatar-card img{width:74%;height:64%;object-fit:cover;border-radius:50%;border:1px solid var(--line)}
.dc-avatar-card .ph{width:64%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--plum);
  color:#fff;font-family:Cinzel,serif;font-weight:700;font-size:26px}
.dc-avatar-card small{font-family:Cinzel,serif;font-size:10px;color:var(--gold);text-align:center;line-height:1.1;letter-spacing:.04em}
.dc-spy{position:absolute;inset:-2px;border-radius:11px;pointer-events:none;animation:dcSpy 1.6s ease-in-out infinite}

/* ============================ OVERLAYS ============================ */
.dc-modal{position:fixed;inset:0;z-index:60;background:rgba(8,4,10,.86);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;padding:20px}
.dc-modal-box{max-width:760px;width:100%;background:linear-gradient(180deg,rgba(60,20,62,.96),rgba(22,9,25,.98));
  border:1px solid rgba(217,164,65,.45);border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.7);
  animation:dcRise .3s ease both}
.dc-fx-media{position:relative;background:#0b050d;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center}
.dc-fx-media img{width:100%;height:100%;object-fit:cover}
.dc-fx-cap{position:absolute;left:0;right:0;bottom:0;padding:18px 22px;background:linear-gradient(180deg,transparent,rgba(6,3,8,.92))}
.dc-fx-cap b{font-family:Cinzel,serif;font-size:clamp(22px,3.6vw,34px);color:var(--gold);text-shadow:0 2px 12px #000;display:block}
.dc-fx-cap span{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#d8bcd6}
.dc-modal-body{padding:18px 22px 22px;display:flex;flex-direction:column;gap:14px}
.dc-modal-body p{margin:0;font-size:15px;line-height:1.6;color:#ecdcea}
.dc-target-prompt{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.dc-targets{display:flex;gap:8px;flex-wrap:wrap}
.dc-target{display:flex;align-items:center;gap:8px;background:rgba(240,201,106,.1);border:1px solid rgba(217,164,65,.5);
  color:var(--ink);border-radius:999px;padding:7px 16px 7px 7px;font-size:14px;cursor:pointer}
.dc-target:hover{background:rgba(240,201,106,.24)}
.dc-target img{width:28px;height:28px;object-fit:cover;border-radius:50%}
.dc-modal-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.dc-btn-danger{background:transparent;border:1px solid rgba(224,20,38,.6);color:#ff8b8b;border-radius:999px;
  padding:10px 24px;font-family:Cinzel,serif;font-weight:700;font-size:15px;cursor:pointer}
.dc-btn-danger:hover{background:rgba(224,20,38,.16)}

/* tooltip da carta */
.dc-tip{position:fixed;z-index:80;pointer-events:none;width:320px;max-width:80vw;
  background:linear-gradient(180deg,rgba(60,20,62,.97),rgba(18,8,21,.98));border:1px solid rgba(217,164,65,.5);
  border-radius:14px;padding:14px;box-shadow:0 20px 50px rgba(0,0,0,.7);animation:dcRise .18s ease both}
.dc-tip-head{display:flex;gap:12px;align-items:flex-start}
.dc-tip img{width:74px;height:96px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(0,0,0,.7))}
.dc-tip b{font-family:Cinzel,serif;font-size:16px;color:var(--gold)}
.dc-tip .cls{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:2px 0 6px}
.dc-tip p{margin:0;font-size:13px;line-height:1.5;color:var(--ink-soft)}
.dc-tip .pts{margin-top:6px;font-family:Cinzel,serif;font-size:12px;color:var(--gold-2)}

/* catálogo */
.dc-catalog{position:fixed;inset:0;z-index:70;background:rgba(8,4,10,.9);backdrop-filter:blur(8px);overflow:auto;padding:clamp(14px,3vw,40px)}
.dc-catalog-in{max-width:1200px;margin:0 auto}
.dc-catalog-head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.dc-catalog-head h2{font-family:Cinzel,serif;font-size:clamp(22px,3vw,34px);color:var(--gold);margin:0}
.dc-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.dc-cat-card{display:flex;gap:14px;background:linear-gradient(180deg,rgba(56,19,58,.85),rgba(20,9,23,.9));
  border:1px solid rgba(217,164,65,.28);border-radius:14px;padding:14px}
.dc-cat-art{width:130px;flex:none;aspect-ratio:5/7;perspective:900px;cursor:crosshair}
.dc-cat-3d{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .25s ease;transform:rotateX(0deg) rotateY(0deg);will-change:transform}
.dc-cat-flat{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:9px;box-shadow:0 14px 28px rgba(0,0,0,.6);transform:translateZ(0)}
.dc-cat-glow{position:absolute;left:8%;right:8%;top:14%;bottom:26%;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(255,205,110,.45),transparent 68%);transform:translateZ(26px);filter:blur(6px)}
.dc-cat-render{position:absolute;left:2%;right:2%;top:4%;width:96%;height:80%;object-fit:contain;pointer-events:none;
  transform:translateZ(52px) scale(1.06);filter:drop-shadow(0 12px 16px rgba(0,0,0,.65))}
.dc-cat-card .label{font-family:Cinzel,serif;font-size:17px;color:var(--gold)}
.dc-cat-card .cls{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:2px 0 6px}
.dc-cat-card p{margin:0 0 8px;font-size:13px;line-height:1.5;color:#e0cede}
.dc-cat-card .pts{font-family:Cinzel,serif;font-size:12px;color:var(--gold-2)}

/* horror: contagem + gotas */
.dc-horror{position:fixed;inset:0;z-index:90;pointer-events:none;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:10px;background:radial-gradient(60% 50% at 50% 50%,rgba(20,2,8,.55),rgba(3,1,4,.92))}
.dc-horror::before{content:"";position:absolute;inset:0;background:#000;opacity:0;animation:dcBlackout 6.5s steps(1,end) infinite}
.dc-horror .line{position:relative;font-family:Creepster,Cinzel,serif;font-size:clamp(28px,5vw,54px);color:var(--blood);
  text-shadow:0 0 26px rgba(255,40,40,.7);animation:dcFlicker 3.2s linear infinite;text-align:center;padding:0 20px}
.dc-horror .count{position:relative;font-family:Creepster,Cinzel,serif;font-size:clamp(80px,16vw,180px);line-height:1;
  color:#e01426;text-shadow:0 0 50px rgba(224,20,38,.8),0 4px 0 #4a0009}
.dc-drips{position:relative;display:flex;gap:9px}
.dc-drip{display:block;border-radius:0 0 8px 8px;background:linear-gradient(180deg,#e01426,transparent);transform-origin:top;
  animation:dcDrip 2.6s ease-in-out infinite}

/* lobby / avatares diversos */
.lb-av{width:34px;height:34px;object-fit:cover;border-radius:50%;border:1px solid var(--line)}
.lb-av-ph{display:grid;place-items:center;background:var(--plum);color:#fff;font-family:Cinzel,serif;font-weight:700;font-size:13px}
.dc-kick{margin-left:6px;background:transparent;border:none;color:var(--muted-3);font-size:18px;line-height:1;cursor:pointer}
.dc-kick:hover{color:var(--wine)}
.dc-friend.is-sent{opacity:.6;cursor:default}
.dc-target .tav{width:28px;height:28px;object-fit:cover;border-radius:50%}
.dc-target .tav-ph{display:grid;place-items:center;background:var(--plum);color:#fff;font-family:Cinzel,serif;font-weight:700;font-size:12px}

/* barra de reação (tiro / polícia) */
.dc-reactbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid rgba(224,20,38,.4);
  background:linear-gradient(90deg,rgba(120,10,25,.35),rgba(30,10,34,.5));border-radius:12px;padding:10px 14px;animation:dcRise .2s ease both}
.dc-reactbar.is-police{border-color:rgba(90,120,220,.4);background:linear-gradient(90deg,rgba(30,40,90,.4),rgba(30,10,34,.5))}
.dc-reactbar-ic{font-size:22px}
.dc-reactbar-line{flex:1;min-width:180px;margin:0;font-size:14px;color:var(--ink)}
.dc-reactbar-actions{display:flex;gap:8px;flex-wrap:wrap}
.dc-react-wait{color:var(--muted);font-size:13px}

/* fx cinematográfico (não bloqueia) */
.dc-fxtoast{position:fixed;inset:0;z-index:88;display:grid;place-items:center;pointer-events:none;
  background:rgba(8,3,10,0);transition:background .25s ease}
.dc-fxtoast.is-on{background:rgba(8,3,10,.62)}
.dc-fxtoast-box{text-align:center;transform:scale(.86);opacity:0;transition:transform .3s cubic-bezier(.2,.8,.3,1.25),opacity .3s ease;pointer-events:auto}
.dc-fxtoast.is-on .dc-fxtoast-box{transform:scale(1);opacity:1}
.dc-fxtoast-box img{width:min(74vw,540px);border-radius:14px;filter:drop-shadow(0 20px 44px rgba(0,0,0,.65))}
.dc-fxtoast-box p{margin:.7rem 0 0;color:#f3d9ea;font:700 clamp(1rem,3vw,1.35rem) Cinzel,serif;text-shadow:0 2px 10px #000}
/* revelação paralaxe ao virar carta especial */
.dc-reveal{position:fixed;inset:0;z-index:86;display:grid;place-items:center;pointer-events:none;perspective:900px}
.dc-reveal-card{width:min(56vw,280px);opacity:0;transform:scale(.82);transition:opacity .2s ease;transform-style:preserve-3d}
.dc-reveal.is-on .dc-reveal-card{opacity:1;animation:dcParallax 1s ease-in-out both}
.dc-reveal-card img{width:100%;border-radius:14px;filter:drop-shadow(0 22px 46px rgba(0,0,0,.6))}
@keyframes dcParallax{0%{transform:scale(.85) rotateY(-16deg) rotateX(8deg)}40%{transform:scale(1.05) rotateY(12deg) rotateX(-5deg)}75%{transform:scale(1) rotateY(-6deg) rotateX(2deg)}100%{transform:scale(.96);opacity:.85}}

/* ranking final */
.dc-rank{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.dc-rank-item{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:10px;background:var(--panel-2)}
.dc-rank-item.is-out{opacity:.5}
.dc-rank-item .pos{width:2rem;text-align:center;font-family:Cinzel,serif;font-weight:700;color:var(--gold)}
.dc-rank-item .nm{flex:1;min-width:0;font-size:15px;color:var(--ink)}
.dc-rank-item .nm small{color:var(--muted-3)}
.dc-rank-item .sc{font-family:Cinzel,serif;font-weight:700;color:var(--gold-2)}

/* roleta russa */
.dc-drum{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap;margin:1rem 0 .5rem}
.dc-drum-c{width:34px;height:34px;border-radius:50%;border:2px solid rgba(224,123,189,.55);
  background:radial-gradient(circle at 35% 30%,#6b2f56,#2a1122);box-shadow:inset 0 2px 6px rgba(0,0,0,.5);transition:all .2s ease}
.dc-drum-c.is-fired{border-color:rgba(255,255,255,.18);background:#241019;opacity:.4;transform:scale(.82)}
.dc-drum-cap{display:block;color:var(--muted-2);font-size:.78rem}
.dc-rls-seq{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.dc-rls-seat{display:inline-flex;align-items:center;gap:.35rem;padding:.34rem .7rem;border-radius:999px;
  background:var(--panel-2);border:1px solid rgba(206,120,182,.3);color:var(--ink);font-size:.84rem}
.dc-rls-seat b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:rgba(224,123,189,.25);font-size:.68rem}
.dc-rls-seat.is-turn{border-color:var(--gold);background:rgba(122,48,104,.75);box-shadow:0 0 0 3px rgba(240,201,106,.22)}
.dc-rls-last{margin:.3rem 0 1rem;color:var(--muted);font-size:.9rem}
.dc-rls-last.is-hit{color:#ff9db5;font-weight:800;font-size:1.05rem}
.dc-rls-action{margin:.6rem 0 1.2rem}
.dc-pull{font-size:1.05rem;padding:.8rem 1.6rem}
.dc-rls-odds{color:#e6b7d3;font-size:.82rem;margin:.5rem 0 .1rem}
.dc-rls-wait{color:var(--muted);font-size:.9rem;margin:.35rem 0 0}
.dc-rls-order p{color:var(--ink);font-size:.92rem;margin:0 0 .7rem}
.dc-op-chosen{min-height:34px;display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-bottom:.7rem}
.dc-op-chip{padding:.3rem .6rem;border-radius:8px;background:rgba(122,48,104,.7);border:1px solid var(--gold);color:#fff;font-size:.8rem;font-weight:700}
.dc-op-picks{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;margin-bottom:.8rem}
.dc-op-confirm{display:block;margin:0 auto .5rem}

/* reduzir movimento */
@media (prefers-reduced-motion: reduce){
  .dc-chip--horror,.dc-horror .line,.dc-logpanel.is-horror,.dc-spy,.dc-live-dot{animation:none}
  .dc-card:not([disabled]):hover{transform:none}
}
/* ---- Áreas RIP / Prisão (avatares sobre a arte) ---- */
.dc-area{margin-top:14px;border-top:1px solid var(--line-soft);padding-top:12px}
.dc-area-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.dc-area-head h2{font-family:Cinzel,serif;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);margin:0}
.dc-area-count{margin-left:auto;font-size:11px;letter-spacing:.10em;color:var(--muted-2)}
.dc-area-stage{position:relative;display:grid;place-items:center;padding:2px 0}
.dc-area-img{width:100%;max-width:210px;display:block;filter:drop-shadow(0 14px 26px rgba(0,0,0,.6))}
.dc-area-slots{position:absolute;display:flex;flex-wrap:wrap;gap:6px;align-content:center;justify-content:center}
.dc-area-chip{width:46px;height:46px;border-radius:50%;overflow:hidden;border:2px solid rgba(150,25,45,.75);
  box-shadow:0 6px 16px rgba(0,0,0,.8);background:#1a0a10;cursor:help;transition:transform .18s ease}
.dc-area-chip:hover{transform:translateY(-3px);border-color:var(--wine)}
.dc-area-av{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.dc-area-av-ph{display:grid;place-items:center;background:var(--purple-2);color:var(--gold);font-family:Cinzel,serif;font-weight:700}
/* RIP (design v8.4): lápide em cima + bandeja com borda embaixo, avatares em cinza */
.dc-rip-wrap{display:flex;flex-direction:column;align-items:center;gap:10px}
.dc-rip-img{width:100%;max-width:180px;display:block;filter:drop-shadow(0 14px 26px rgba(0,0,0,.65))}
.dc-rip-tray{width:100%;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;min-height:52px;
  border-radius:12px;padding:8px;background:rgba(8,4,10,.55);border:1px solid rgba(150,25,45,.28)}
.dc-rip-tray .dc-area-chip{width:42px;height:42px}
.dc-rip-tray .dc-area-av{filter:grayscale(1) brightness(.7)}
.dc-area-empty{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:rgba(8,4,10,.6);padding:4px 10px;border-radius:999px}
/* Prisão: borda dourada, avatares no meio da arte */
.dc-prison .dc-area-chip{border-color:rgba(240,201,106,.75);background:#2a1122}
.dc-prison .dc-area-chip:hover{border-color:var(--gold)}
.dc-prison .dc-area-av{filter:brightness(.82) saturate(.85)}
.dc-prison-slots{left:16%;right:16%;top:32%;bottom:16%}
.dc-prison-actions{display:flex;flex-direction:column;gap:8px;margin-top:10px;border-top:1px solid var(--line-soft);padding-top:10px}
.dc-bail-req{padding:9px 16px;font-size:13px;box-shadow:none}
.dc-area-note{margin:0;font-size:12px;color:var(--muted);line-height:1.45}
.dc-bail-judge{display:flex;flex-direction:column;gap:8px;border:1px solid rgba(90,120,220,.4);background:linear-gradient(90deg,rgba(30,40,90,.4),rgba(30,10,34,.5));border-radius:12px;padding:10px}
.dc-bail-judge span{font-size:12.5px;color:var(--ink);line-height:1.45}
.dc-bail-btns{display:flex;gap:8px}
.dc-bail-btns .dc-btn-sm{flex:1}
.dc-player.is-jailed{opacity:.75}
.dc-player.is-jailed .status{color:#e08a97}
.dc-chip--final{border-color:rgba(120,90,200,.6);color:#c79ac6}
.dc-jailrev{border-color:rgba(120,90,200,.5);color:#c79ac6}
.dc-jailrev:hover{background:rgba(120,90,200,.14)}
.dc-pass{border-color:rgba(240,201,106,.55)}

/* tooltip de texto (RIP/Prisão) */
.dc-tip-txt{position:fixed;z-index:130;pointer-events:none;width:236px;
  background:linear-gradient(180deg,rgba(60,20,62,.98),rgba(18,8,21,.98));
  border:1px solid rgba(217,164,65,.5);border-radius:12px;padding:11px 13px;
  box-shadow:0 20px 50px rgba(0,0,0,.7);animation:dcRise .16s ease both;color:var(--ink)}
.dc-tip-txt b{font-family:Cinzel,serif;font-size:15px;color:var(--gold)}
.dc-tip-sub{font-size:12.5px;line-height:1.45;color:var(--ink-soft);margin-top:4px}
.dc-tip-pts{margin-top:6px;font-family:Cinzel,serif;font-size:12px;color:var(--gold-2)}

/* ---- Chat da mesa (painel flutuante) ---- */
.dc-chat{position:fixed;left:18px;bottom:18px;z-index:100;width:min(320px,calc(100vw - 36px));
  display:flex;flex-direction:column;border-radius:14px;overflow:hidden;border:1px solid rgba(217,164,65,.4);
  background:linear-gradient(180deg,rgba(48,16,50,.97),rgba(14,7,17,.98));box-shadow:0 24px 60px rgba(0,0,0,.7)}
.dc-chat-toggle{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:none;
  border-bottom:1px solid rgba(217,164,65,.22);padding:11px 14px;cursor:pointer;color:var(--gold);text-align:left}
.dc-chat-dot{width:8px;height:8px;border-radius:50%;background:#57d36a;box-shadow:0 0 10px #57d36a;animation:dcPulse 1.8s ease-in-out infinite}
.dc-chat-title{font-family:Cinzel,serif;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.dc-chat-tlabel{margin-left:auto;font-size:12px;color:var(--muted)}
.dc-chat.is-collapsed .dc-chat-body{display:none}
.dc-chat-body{display:flex;flex-direction:column}
.dc-chat-msgs{display:flex;flex-direction:column;gap:9px;padding:12px 14px;height:min(42vh,320px);overflow:auto}
.dc-cmsg{display:flex;gap:8px;align-items:flex-start}
.dc-cmsg-av{width:26px;height:26px;border-radius:50%;object-fit:cover;flex:none;border:1px solid rgba(217,164,65,.3)}
.dc-cmsg-av-ph{display:grid;place-items:center;background:var(--purple-2);color:var(--gold);font-size:12px;font-weight:700}
.dc-cmsg-body{min-width:0}
.dc-cmsg-head{font-size:11px;color:var(--gold-2);letter-spacing:.04em}
.dc-cmsg.is-whisper .dc-cmsg-head{color:var(--muted)}
.dc-cmsg-time{color:var(--muted-3);font-size:10px;margin-left:4px}
.chat-edited{font-size:10px;color:var(--muted-2);margin-right:5px;font-style:italic}
.chat-edit-link{background:none;border:none;color:var(--muted-2);font-size:10px;cursor:pointer;padding:0 0 0 6px;text-decoration:underline}
.chat-edit-link:hover{color:var(--gold-2)}
.chat-edit-box{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:4px}
.chat-edit-input{flex:1;min-width:120px;background:rgba(8,4,10,.6);border:1px solid rgba(217,164,65,.3);border-radius:8px;padding:5px 8px;color:var(--ink);font-size:13px}
.chat-edit-box .dc-btn-sm{padding:4px 10px;font-size:11px}
.dc-cmsg-text{font-size:13px;line-height:1.45;color:var(--ink-soft);word-break:break-word}
.dc-cmsg.is-whisper .dc-cmsg-text{font-style:italic}
.dc-chat-emotes{display:flex;gap:6px;padding:0 14px 8px;flex-wrap:wrap}
.dc-emote{background:rgba(240,201,106,.08);border:1px solid rgba(217,164,65,.3);border-radius:999px;padding:3px 10px;font-size:15px;line-height:1.4;cursor:pointer}
.dc-emote:hover{background:rgba(240,201,106,.2)}
.dc-chat-dest{display:flex;align-items:center;gap:8px;padding:8px 14px;border-top:1px solid rgba(217,164,65,.18)}
.dc-chat-dest span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2)}
.dc-chat-dest select{flex:1;min-width:0;background:rgba(8,4,10,.6);border:1px solid rgba(217,164,65,.3);color:var(--ink);border-radius:8px;padding:5px 8px;font-size:12px}
.dc-chat-form{display:flex;gap:8px;padding:0 14px 14px}
.dc-chat-form input{flex:1;min-width:0;background:rgba(8,4,10,.6);border:1px solid rgba(217,164,65,.3);border-radius:999px;padding:9px 14px;color:var(--ink);font-size:13px;outline:none}
.dc-chat-send{padding:9px 18px;font-size:13px;box-shadow:none}

/* telas estreitas: painel/log acima e abaixo do tabuleiro */
@media (max-width:820px){
  .dc-gamegrid{flex-direction:column}
  .dc-players,.dc-logpanel,.dc-main{max-width:none;width:100%}
  .dc-board{grid-template-columns:repeat(6,1fr)}
  .dc-chat{left:8px;right:8px;bottom:8px;width:auto}
  .dc-chat-msgs{height:min(34vh,260px)}
}
