/* 신성율42 V5 - 실제 참가자 데이터가 연결된 원탁 씬 */
.suspect-panel{
  margin-top:20px;padding:0!important;overflow:hidden;position:relative;
  border:1px solid #69504d!important;background:#080a0e!important;
  box-shadow:0 24px 52px #0008, inset 0 0 0 1px #d49c5b15;
}
.suspect-panel::before{
  content:"";pointer-events:none;position:absolute;inset:0;z-index:12;
  border:6px solid transparent;box-shadow:inset 0 0 85px #000b;
}
.suspect-panel .section-heading{
  margin:0!important;position:relative;z-index:14;display:flex;
  padding:19px 24px 17px;border-bottom:1px solid #7b564c7a;
  align-items:center;gap:14px;justify-content:space-between;
  background:linear-gradient(102deg,#211518 0%,#101113 58%,#171516 100%);
}
.suspect-panel .section-heading:before{content:"";position:absolute;left:0;bottom:0;height:1px;width:37%;background:linear-gradient(90deg,#d94e4e,transparent)}
.suspect-panel .section-heading>div>span{display:block;font:9px var(--mono);letter-spacing:2.3px;color:#cf7b77;margin-bottom:4px}
.suspect-panel .section-heading h3{font:clamp(20px,2.4vw,27px) var(--serif);color:#ecddc6;margin:0}
.suspect-panel .section-heading h3 em{font-style:normal;color:#d14b4d;text-shadow:0 0 15px #b3212a44}
.suspect-panel .section-heading small{font-size:10px;color:#bda79a;white-space:nowrap}
.roundtable-root{position:relative;isolation:isolate}
.roundtable-world{
  position:relative;isolation:isolate;overflow:hidden;width:100%;aspect-ratio:1.38;
  min-height:440px;max-height:740px;container-type:inline-size;
  background:
    radial-gradient(ellipse 36% 38% at 50% 25%,#61433344,transparent 72%),
    linear-gradient(90deg,#130e11 0%,#0a1217 26%,#111319 50%,#111015 74%,#190e10 100%);
}
.roundtable-world::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:9;
  background:radial-gradient(ellipse at 50% 52%,transparent 22%,#0003 66%,#000b 100%),
    linear-gradient(180deg,#0006,transparent 23%,transparent 68%,#080708c4);
}
.roundtable-world::after{
  content:"";pointer-events:none;position:absolute;inset:0;z-index:11;opacity:.14;
  background:repeating-linear-gradient(180deg,#fff1 0 1px,transparent 1px 5px);
  mix-blend-mode:overlay;
}
.table-back-wall{
  position:absolute;inset:0 0 45%;z-index:0;
  background:repeating-linear-gradient(90deg,#05040500 0 23px,#0005 24px 25px,#100c0d00 27px 56px),
    linear-gradient(180deg,#131319,#131115 62%,#171012);
  box-shadow:inset 0 -28px 45px #0009;
}
.table-window{
  width:37%;height:37%;position:absolute;top:3%;left:31%;z-index:1;
  border:clamp(5px,1.5cqw,12px) solid #100f13;
  box-shadow:0 0 0 1px #5c565052,0 8px 35px #000b,inset 0 0 90px #02121b;
  background:linear-gradient(170deg,#101e2aee,#0f2736aa 45%,#06101c),
    radial-gradient(circle at 48% 30%,#607b91,transparent 45%);
  overflow:hidden;
}
.table-window::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.7;
  background:repeating-linear-gradient(99deg,transparent 0 16px,#a5c3db15 17px 18px,transparent 19px 37px),
    radial-gradient(circle at 80% 70%,#6797b51a,transparent 40%);
}
.table-moon{position:absolute;left:36%;top:8%;width:28%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#bac7cc,#8a9aab 57%,#485763 77%,#101e2e 100%);
  box-shadow:0 0 30px #9fc4e344,0 0 80px #81b6df3b;opacity:.89;
}
.window-cross{position:absolute;z-index:3;background:#151619;box-shadow:1px 0 3px #000}
.cross-one{height:100%;width:3%;left:48%}.cross-two{height:4%;width:100%;top:49%}
.table-noticeboard{position:absolute;z-index:1;right:2%;top:4%;height:36%;width:23%;
  background:linear-gradient(145deg,#3a2a27aa,#211719a8);border:4px solid #191415;transform:rotate(3deg);
  box-shadow:0 7px 20px #000a,inset 0 0 20px #0008;
}
.table-noticeboard i{position:absolute;width:28%;height:31%;background:#81746672;border:1px solid #4b3937;transform:rotate(-9deg);box-shadow:1px 3px 8px #0007}
.table-noticeboard i:nth-child(1){left:9%;top:13%}.table-noticeboard i:nth-child(2){left:50%;top:5%;transform:rotate(8deg)}
.table-noticeboard i:nth-child(3){left:18%;top:54%;transform:rotate(7deg)}.table-noticeboard i:nth-child(4){right:12%;bottom:10%;transform:rotate(-5deg)}
.red-thread{position:absolute;left:20%;top:29%;height:2px;width:63%;background:#af2732a6;transform:rotate(32deg);box-shadow:13px 21px #b42e2c70,-13px 40px #b42e2c70}
.table-lamp{position:absolute;top:4%;left:5%;width:16%;height:15%;z-index:3;
  background:linear-gradient(140deg,#090d10,#181716 50%,#050607);
  clip-path:polygon(39% 0,61% 0,67% 21%,100% 83%,93% 100%,7% 100%,0 83%,33% 21%);
  border-bottom:2px solid #c48a4b;filter:drop-shadow(0 1px 10px #ba744742)
}
.table-lamp::after{content:"";position:absolute;left:12%;bottom:2px;width:76%;height:6px;background:#e8ac69;filter:blur(3px)}
.table-lightcone{position:absolute;z-index:1;left:-4%;top:15%;width:35%;height:50%;
  background:linear-gradient(180deg,#e0aa6748,transparent);clip-path:polygon(43% 0,62% 0,100% 100%,0 100%);
  filter:blur(20px);opacity:.47;pointer-events:none
}
.table-wood{
  position:absolute;z-index:2;left:9%;top:36%;width:82%;height:44%;border-radius:50%;
  background:
    radial-gradient(ellipse at 52% 32%,#633b2b9e,transparent 55%),
    repeating-linear-gradient(94deg,#45241e8a 0 2px,#6a3d291a 5px,#311e1c59 11px,#271a18 16px),
    radial-gradient(ellipse,#6b4633,#332522 66%,#140f12 100%);
  box-shadow:0 3px 0 3px #402a21,0 9px 0 6px #21120f,0 19px 20px #000c,
    inset 0 0 0 3px #b48a6745,inset 0 0 15px 5px #180d0da6,inset 0 -28px 45px #0906067c;
  transform:perspective(850px) rotateX(6deg);
}
.table-wood::before{content:"";position:absolute;inset:4%;border-radius:50%;pointer-events:none;
  border:2px dashed #b3875027;background:radial-gradient(ellipse at 60% 52%,#6f151321,transparent 47%)}
.table-wood::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;border-radius:50%;
  background:radial-gradient(ellipse at 67% 72%,#a9272d 0 2%,transparent 3%),radial-gradient(ellipse at 41% 36%,#a9272d 0 1%,transparent 2%);
}
.table-mark{position:absolute;top:29%;left:43%;color:#9f302e87;font:900 clamp(48px,12cqw,120px) Georgia,serif;transform:rotate(-17deg);text-shadow:0 3px 2px #1309095c}
.table-polaroid{position:absolute;left:27%;top:38%;width:15%;height:18%;border:4px solid #8b817361;background:linear-gradient(132deg,#0d1218,#555656a3);box-shadow:2px 4px 8px #0008;transform:rotate(-15deg)}
.table-polaroid.photo-b{left:61%;top:46%;width:12%;height:15%;transform:rotate(16deg);opacity:.7}
.table-pocketwatch{position:absolute;right:24%;bottom:18%;width:5%;aspect-ratio:1;border-radius:50%;border:3px solid #987a53;background:#291d1b;box-shadow:0 0 0 2px #160f11,2px 4px 9px #000}
.table-seats{position:absolute;inset:0;z-index:4;pointer-events:none}
.table-seat{
  position:absolute;left:var(--seat-x);top:var(--seat-y);z-index:var(--seat-z,4);
  width:clamp(77px,18cqw,151px);height:clamp(108px,23cqw,183px);
  transform:translate(-50%,-48%);pointer-events:auto;isolation:isolate;
  transition:filter .35s;
}
.seat-hit{appearance:none;border:0;display:block;position:relative;width:100%;height:100%;background:none;color:inherit;padding:0;margin:0;text-align:center;cursor:default}
button.seat-hit{cursor:crosshair}
button.seat-hit:focus-visible{outline:2px solid #dfc087;outline-offset:3px}
.table-seat .seat-portrait{position:absolute;left:13%;width:74%;top:4%;height:76%;filter:drop-shadow(0 8px 7px #000d)}
.seat-portrait i{display:block;position:absolute}
.seat-chair{width:85%;height:76%;left:7%;top:23%;border-radius:40% 40% 12% 12%;
  background:linear-gradient(90deg,#100c0e,#2c1718 13%,#0c0b0d 34%,#1c1112 62%,#090909 85%,#36221a 97%);
  border:2px solid #5d3830b0;box-shadow:inset 0 0 0 3px #10090d,inset 0 0 20px #000,0 0 10px #000c}
.seat-head{width:32%;height:29%;left:34%;top:18%;border-radius:46% 49% 42% 44%;
  background:linear-gradient(95deg,#030405,#121113 45%,#020303 96%);transform:rotate(-4deg);
  box-shadow:inset -2px 0 0 #77706a1e,-1px 0 2px #241819}
.seat-neck{width:20%;height:16%;left:40%;top:39%;background:#08090a;border-radius:25%}
.seat-body{width:70%;height:58%;left:15%;top:47%;clip-path:polygon(0 28%,14% 11%,36% 0,50% 8%,65% 0,87% 11%,100% 26%,100% 100%,0 100%);
  background:linear-gradient(90deg,#010203 3%,#151519 35%,#08090b 50%,#121215 66%,#030404 95%);
  box-shadow:inset 0 0 0 1px #ae8b691a}
.seat-shirt{width:21%;height:35%;top:51%;left:39%;background:linear-gradient(#55504c66,#1a1c1d);clip-path:polygon(0 0,50% 20%,100% 0,60% 100%,40% 100%)}
.seat-tie{width:9%;height:24%;left:46%;top:56%;background:linear-gradient(#451d22,#2e0d11);clip-path:polygon(50% 0,100% 22%,64% 100%,36% 100%,0 22%)}
.seat-arm{width:19%;height:37%;top:62%;border-radius:44%;background:linear-gradient(90deg,#060809,#161215,#050607)}
.seat-arm.a-left{left:14%;transform:rotate(-21deg)}.seat-arm.a-right{right:14%;transform:rotate(21deg)}
.seat-style-1 .seat-head{transform:rotate(13deg);border-radius:45% 41% 50% 44%}.seat-style-1 .seat-arm.a-right{transform:rotate(46deg)}
.seat-style-2 .seat-head{width:29%;left:36%;border-radius:47% 50% 43% 44%;transform:rotate(-12deg)}
.seat-style-2 .seat-body{width:64%;left:18%}.seat-style-3 .seat-head{border-radius:60% 48% 40% 50%;transform:rotate(7deg)}
.seat-style-4 .seat-arm.a-left{transform:rotate(-43deg)}.seat-style-4 .seat-head{top:17%;transform:rotate(5deg)}
.seat-plate{position:absolute;z-index:6;bottom:1%;left:50%;transform:translateX(-50%);
  display:flex;align-items:center;gap:clamp(3px,.7cqw,8px);width:clamp(81px,17.8cqw,148px);
  min-height:39px;text-align:left;padding:6px 7px;
  background:linear-gradient(130deg,#2b2426fa,#0f1215f4 48%,#21191bf5);
  border:1px solid #8871629c;border-radius:3px;
  box-shadow:0 5px 13px #000d,inset 0 0 0 1px #ffffff0b;
}
.seat-identity{font:clamp(15px,2.6cqw,22px) Georgia,serif;color:#d0c4b2;text-shadow:0 0 10px #be8f6e6c}
.seat-description{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.seat-description strong{font:600 clamp(9px,1.6cqw,13px) var(--sans);color:#f0e7d9;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.seat-description small{font:clamp(7px,1.2cqw,10px) var(--sans);color:#aaabac;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.seat-presence{flex:none;width:clamp(5px,.9cqw,8px);aspect-ratio:1;border-radius:50%;border:1px solid #777;color:#777;background:#3e3432}
.seat-presence.online{background:#6aac76;border-color:#6db77d;box-shadow:0 0 9px #6ebd7e8c}
.table-seat.mine .seat-plate{border-color:#c49d6d;box-shadow:0 0 16px #d4b17c36,0 4px 13px #000d}
.table-seat.speaking .seat-plate{border-color:#d44d4e;background:linear-gradient(130deg,#572022,#24151b);box-shadow:0 0 25px #e23b4b8c,inset 0 0 10px #c42b2d38}
.table-seat.speaking .seat-portrait{filter:drop-shadow(0 0 10px #cd6857b5)}
.table-spotbeam{position:absolute;z-index:-1;pointer-events:none;left:50%;top:-72%;width:190%;height:180%;transform:translateX(-50%);
  clip-path:polygon(48% 0,52% 0,95% 100%,5% 100%);background:linear-gradient(180deg,#d2a67491,#b68b5444 60%,transparent);filter:blur(8px);
  animation:tableLight 2.5s ease-in-out infinite alternate}
.table-seat.empty{opacity:.45;pointer-events:none}
.table-seat.empty .seat-portrait{top:30%;height:43%;opacity:.46}
.table-seat.empty .seat-plate{justify-content:center;min-height:24px;background:#120e10c7;border:1px dashed #4d4641;color:#6f655b;font-size:clamp(7px,1.2cqw,10px)}
.seat-flags{position:absolute;z-index:8;left:50%;top:0;transform:translateX(-50%);white-space:nowrap;
  font:clamp(7px,1.1cqw,9px) var(--sans);color:#e9d8b3;background:#241918ed;border:1px solid #b684608c;
  padding:2px 6px;box-shadow:0 4px 11px #0008}
.seat-kick{position:absolute;z-index:10;right:3%;bottom:2%;width:20px;height:20px;display:grid;place-items:center;
  border:1px solid #bd5157;border-radius:50%;background:#290e10;color:#ebaaa4;font-size:13px;cursor:pointer}
.seat-kick:hover,.seat-kick:focus-visible{background:#a32e34;color:#fff}
.seat-reconnect{position:absolute;z-index:9;left:50%;bottom:-9%;transform:translateX(-50%);background:#2a171b;color:#f2a18f;padding:2px 4px;font:8px var(--mono);white-space:nowrap}
.seat-eliminated{position:absolute;left:48%;top:20%;font:900 clamp(20px,5cqw,45px) Georgia;color:#a8374277;pointer-events:none;transform:rotate(-16deg)}
.table-seat.fallen .seat-portrait{opacity:.3;filter:grayscale(1)}.table-seat.fallen .seat-plate{opacity:.6}
.table-seat.removed .seat-portrait{visibility:hidden}.table-seat.removed .seat-plate{border-style:dashed;color:#ad8585}
.table-seat.reconnecting .seat-plate{animation:seatConnection 1.4s ease-in-out infinite alternate}
.table-seat.picked .seat-plate,button.seat-hit:hover .seat-plate{border-color:#e7b976;box-shadow:0 0 22px #d8885a81,inset 0 0 9px #9a49262e}
.table-seat.selectable .seat-plate:before{content:'◎';color:#e2b48a;position:absolute;top:-15px;left:50%;transform:translateX(-50%);font:15px Georgia;text-shadow:0 0 10px #e8a55c}
.table-world-caption{position:absolute;inset:auto 18px 14px;z-index:7;display:flex;justify-content:space-between;gap:9px;
  font:clamp(8px,1.15cqw,10px) var(--mono);letter-spacing:1.8px;color:#a6927c88;pointer-events:none}
.roundtable-instruction{font:10px/1.5 var(--sans);color:#a78d7d;background:#0b0e10;margin:0;padding:11px 17px;border-top:1px solid #3b2a30;text-align:center}
.table-roster-access{display:none;padding:12px 14px;background:#131315;border-top:1px solid #554449}
.table-roster-access>span{display:block;font:9px var(--mono);color:#bc8d83;letter-spacing:1px;margin-bottom:9px}
.table-roster-access>div{display:flex;flex-wrap:wrap;gap:6px}
.roster-chip{font:10px var(--sans);border:1px solid #514544;color:#d0c0b0;background:#252021;padding:7px 9px;border-radius:2px}
button.roster-chip{cursor:pointer}.roster-chip.picked{border-color:#c35957;color:#fff}.roster-chip.fallen{color:#888;text-decoration:line-through}
.roundtable-world.mode-night{background:radial-gradient(ellipse 44% 36% at 50% 16%,#182b4044,transparent 72%),linear-gradient(#090e17,#060708)}
.roundtable-world.mode-night .table-lightcone{opacity:.09}.roundtable-world.mode-night .table-wood{filter:brightness(.6)}
.roundtable-world.mode-night .table-seat{filter:brightness(.7)}.roundtable-world.mode-night .table-seat.mine{filter:brightness(.88)}
.roundtable-world.mode-vote .table-wood{box-shadow:0 3px 0 3px #402a21,0 9px 0 6px #21120f,0 0 60px #7d252e59,inset 0 0 0 3px #b48a6745}
.roundtable-world.mode-ended .seat-portrait{filter:grayscale(.7)}
@keyframes tableLight{to{opacity:.57;transform:translateX(-50%) scaleX(1.08)}}
@keyframes seatConnection{to{border-color:#ca5656;box-shadow:0 0 16px #bc444277}}
@media(max-width:850px){
  .roundtable-world{aspect-ratio:1.45;min-height:440px}
  .table-seat{width:clamp(78px,16cqw,135px)}
}
@media(max-width:600px){
  .suspect-panel .section-heading{padding:14px 13px 12px}
  .suspect-panel .section-heading small{font-size:8px;max-width:110px;white-space:normal;text-align:right}
  .roundtable-world{min-height:355px;aspect-ratio:1.03}
  .table-wood{width:86%;left:7%;top:35%;height:43%}
  .table-seat{width:clamp(62px,18cqw,91px);height:clamp(95px,24cqw,129px);transform:translate(-50%,-47%)}
  .seat-plate{width:clamp(61px,18cqw,84px);min-height:30px;padding:4px 3px;gap:3px}
  .seat-identity{font-size:12px}.seat-description strong{font-size:9px}.seat-description small{font-size:7px}
  .seat-flags{font-size:6px;padding:2px 3px;top:4%}
  .seat-kick{width:16px;height:16px;font-size:10px;right:-5%;bottom:0}
  .table-seat.empty .seat-plate{min-height:19px;font-size:7px}
  .roundtable-instruction{font-size:9px;padding:10px}
  .table-roster-access{display:block}
  .table-world-caption{bottom:5px;inset-inline:9px;letter-spacing:.3px;font-size:7px}
  .table-noticeboard{right:-2%;width:30%}
  .table-window{left:30%;width:42%}
}
@media(prefers-reduced-motion:reduce){.table-spotbeam,.table-seat.reconnecting .seat-plate{animation:none!important}}
body.reduce-motion .table-spotbeam,body.reduce-motion .table-seat.reconnecting .seat-plate{animation:none!important}
/* 나레이션 OFF 에디션에서 음성 UI를 숨기고 엔진도 생성하지 않는다. */
html[data-edition="silent"] #voiceBtn,
html[data-edition="silent"] #voiceModal,
html[data-edition="silent"] #narratorHud,
html[data-edition="silent"] .narrator-stage-control{display:none!important}

/* 10~12인 방은 자리를 촘촘히 배치하면서 명패는 읽을 수 있게 유지 */
.roundtable-world:is([data-occupied="10"],[data-occupied="11"],[data-occupied="12"]) .table-seat{width:clamp(69px,15cqw,126px);height:clamp(104px,20cqw,160px)}
.roundtable-world:is([data-occupied="10"],[data-occupied="11"],[data-occupied="12"]) .seat-plate{width:clamp(72px,14.5cqw,123px)}
@media(max-width:600px){.roundtable-world:is([data-occupied="10"],[data-occupied="11"],[data-occupied="12"]) .table-seat{width:clamp(55px,16cqw,78px);height:clamp(85px,22cqw,112px)}.roundtable-world:is([data-occupied="10"],[data-occupied="11"],[data-occupied="12"]) .seat-plate{width:clamp(52px,15cqw,72px)}}

/* V6 - 붉은 눈의 그림자. 표정·정장·넥타이 디테일 없음. */
.table-seat{height:clamp(107px,20cqw,172px);width:clamp(64px,15.5cqw,135px)}
.table-seat .seat-portrait{top:3%;left:7%;width:86%;height:94%;filter:drop-shadow(0 13px 12px #000)}
.seat-head{z-index:3!important;left:31%!important;top:15%!important;width:38%!important;height:30%!important;
 background:#010203!important;box-shadow:0 0 0 1px #1e1014, 0 0 12px #000f!important;
 border-radius:45% 48% 46% 47%!important;transform:none!important}
.seat-body{z-index:2!important;left:11%!important;top:39%!important;width:78%!important;height:59%!important;
 clip-path:polygon(0 32%,16% 9%,39% 0,61% 0,84% 9%,100% 33%,100% 100%,0 100%)!important;
 background:linear-gradient(95deg,#010203,#050608 48%,#010102)!important;
 box-shadow:0 0 10px #000b!important}
.seat-neck{background:#010203!important}
.seat-shirt,.seat-tie{display:none!important}
.seat-arm{z-index:2;background:#020304!important;box-shadow:none!important}
.seat-eyes{z-index:8;position:absolute;left:33%;top:28%;width:34%;height:11%;display:flex!important;
 justify-content:space-between;gap:24%;align-items:center;transform:rotate(-2deg)}
.seat-eyes b{display:block;width:32%;height:23%;border-radius:65% 42% 48% 50%;
 background:#e92a35;box-shadow:0 0 5px 2px #ff1926,0 0 15px 4px #ca101d9a,0 0 24px #f51b32bb;
 animation:watchingEyes 3.3s ease-in-out infinite alternate}
.seat-eyes b:last-child{animation-delay:1s;transform:rotate(6deg)}
@keyframes watchingEyes{50%{opacity:.68;filter:brightness(.75)}100%{filter:brightness(1.15)}}
.table-seat.speaking .seat-eyes b{background:#ff7176;box-shadow:0 0 12px #fa1c2c,0 0 23px #fa2b36}
.table-seat.fallen .seat-eyes,.table-seat.empty .seat-eyes{display:none!important}
.table-seat.empty .seat-portrait{opacity:.36}
.table-seat .seat-plate,.table-seat .seat-flags,.table-seat .seat-kick{display:none!important}
.table-seat .seat-hit{height:95%;width:100%}
.table-seat .seat-eliminated{z-index:8}
/* 이름표는 인물 요소와 완전히 분리된 바깥 타원 둘레에 배치된다. */
.table-nameplates{position:absolute;inset:0;z-index:14;pointer-events:none}
.table-nameplate{position:absolute;left:var(--plate-x);top:var(--plate-y);width:clamp(86px,16cqw,127px);
 transform:translate(-50%,-50%);pointer-events:auto;isolation:isolate;filter:drop-shadow(0 5px 6px #000c)}
.table-nameplate .seat-label-hit{width:100%;min-height:36px;display:flex;align-items:center;gap:5px;padding:5px 7px;
 background:linear-gradient(100deg,#27171a,#101114ec 57%,#241a1c);border:1px solid #b59168;
 color:#eee1d0;border-radius:3px;box-shadow:inset 0 0 0 1px #e0b88121,0 4px 10px #0009;
 text-align:left;appearance:none;font:inherit;cursor:default}
.table-nameplate button.seat-label-hit{cursor:crosshair}
.table-nameplate .seat-number{flex:0 0 auto;display:grid;place-items:center;width:20px;height:20px;
 border:1px solid #c6935a;border-radius:50%;color:#e5c7a2;font:700 11px Georgia,serif;background:#25181a}
.table-nameplate .seat-description{min-width:0;flex:1}
.table-nameplate .seat-description strong{font-size:clamp(9px,1.45cqw,12px)}
.table-nameplate .seat-description small{font-size:clamp(7px,1.03cqw,9px)}
.table-nameplate .seat-presence{width:6px}
.table-nameplate.speaking{z-index:5}
.table-nameplate.speaking .seat-label-hit{background:linear-gradient(100deg,#6d2329,#231014);border-color:#fa696a;box-shadow:0 0 20px #e53f4c9c}
.table-nameplate.mine .seat-label-hit{border-color:#d0b581}
.table-nameplate.reconnecting .seat-label-hit{animation:seatConnection 1.4s infinite alternate}
.table-nameplate.fallen{opacity:.5}
.table-nameplate.picked .seat-label-hit,.table-nameplate button.seat-label-hit:hover{border-color:#e7ce9a;box-shadow:0 0 19px #e23f48bb}
.table-nameplate button.seat-label-hit:focus-visible{outline:2px solid #f4c887;outline-offset:2px}
.table-nameplate .plate-flags{position:absolute;left:50%;bottom:100%;transform:translateX(-50%);padding:2px 5px;
 background:#2e1b1c;color:#e1ccac;border:1px solid #7a5245;font:8px var(--sans);white-space:nowrap}
.table-nameplate .seat-kick{position:absolute;right:-8px;top:-8px;bottom:auto;width:17px;height:17px;font-size:11px;z-index:6}
.table-nameplate .seat-reconnect{top:100%;bottom:auto;left:50%;z-index:6}
.table-spotbeam{height:185%;z-index:-1}
/* 10~12개 명패도 타원 경계에서 충돌하지 않도록 폭 축소 */
.roundtable-world:is([data-seats="10"],[data-seats="11"],[data-seats="12"]) .table-nameplate{width:clamp(74px,13cqw,110px)}
.roundtable-world:is([data-seats="10"],[data-seats="11"],[data-seats="12"]) .table-nameplate .seat-number{width:18px;height:18px}
.roundtable-world:is([data-seats="10"],[data-seats="11"],[data-seats="12"]) .table-nameplate .seat-label-hit{min-height:32px;padding:4px 5px}
/* 모바일은 좌석에 작은 번호만 표시. 이름/투표는 아래 간편 명단에서 제공. */
@container (max-width:620px){
 .table-nameplate,.roundtable-world:is([data-seats="10"],[data-seats="11"],[data-seats="12"]) .table-nameplate{width:35px}
 .table-nameplate .seat-label-hit,.roundtable-world:is([data-seats="10"],[data-seats="11"],[data-seats="12"]) .table-nameplate .seat-label-hit{width:35px;min-height:27px;padding:2px 3px;justify-content:center}
 .table-nameplate .seat-number{width:21px;height:21px}
 .table-nameplate .seat-description,.table-nameplate .seat-presence{display:none!important}
 .table-seat{width:clamp(45px,13cqw,75px);height:clamp(72px,19cqw,117px)}
 .table-seat .seat-portrait{top:4%;height:94%}
 .table-nameplate .plate-flags{display:none}
}
@media(max-width:720px){.table-roster-access{display:block}}
@media(max-width:600px){.roundtable-world{min-height:390px;aspect-ratio:1.01}}
@media(prefers-reduced-motion:reduce){.seat-eyes b{animation:none!important}}
body.reduce-motion .seat-eyes b{animation:none!important}

/* V7 - 인물과 명패 사이 충분한 여백, 눈빛 항상 강하게 유지 */
.seat-eyes b{animation:redEyeBurn 2.8s ease-in-out infinite alternate!important;background:#ff253b!important;
 box-shadow:0 0 7px 3px #ff1d39,0 0 21px 9px #d00028dd,0 0 33px 13px #ff102a77!important;
 opacity:1!important;filter:brightness(1.45)!important}
@keyframes redEyeBurn{from{filter:brightness(1.25) saturate(1.4)}to{filter:brightness(2.0) saturate(1.6);box-shadow:0 0 10px 5px #ff2646,0 0 25px 12px #e80032,0 0 39px 16px #ff112466}}
.table-seat.fallen .seat-eyes,.table-seat.empty .seat-eyes{display:none!important}
.table-seat.speaking .seat-eyes b{filter:brightness(2.3)!important}
.roundtable-world{overflow:hidden;min-height:520px}
.table-nameplates{z-index:16}
.table-nameplate{width:clamp(77px,13.8cqw,108px)}
.table-nameplate .seat-label-hit{min-height:34px}
.table-seat{width:clamp(62px,14cqw,130px);height:clamp(92px,19cqw,174px)}
.table-wood{left:16%;width:68%;top:39%;height:39%}
@container (max-width:620px){
 .table-nameplate,.roundtable-world:is([data-seats="10"],[data-seats="11"],[data-seats="12"]) .table-nameplate{width:30px}
 .table-nameplate .seat-label-hit,.roundtable-world:is([data-seats="10"],[data-seats="11"],[data-seats="12"]) .table-nameplate .seat-label-hit{width:30px;min-height:28px;padding:2px}
 .table-nameplate .seat-number{width:23px;height:23px}
 .table-seat{width:clamp(45px,13cqw,82px);height:clamp(70px,20cqw,112px)}
}
@media(max-width:600px){.roundtable-world{min-height:360px;aspect-ratio:1.09}}
@media(prefers-reduced-motion:reduce){.seat-eyes b{animation:none!important}}
body.reduce-motion .seat-eyes b{animation:none!important}

/* V8 · 원탁은 붉은 눈이 보이되 형광등처럼 번지지 않게 조절 */
.roundtable-world .table-seat .seat-eyes b,
.roundtable-world .table-seat.speaking .seat-eyes b {
  background:#b7313f!important;
  box-shadow:0 0 3px 1px #a41a39aa,0 0 9px 3px #ab233f52!important;
  filter:brightness(.93) saturate(.88)!important;
  opacity:.9!important;
  animation:none!important;
}
.roundtable-world .table-seat.speaking .seat-eyes b{
  background:#db5362!important;
  box-shadow:0 0 5px 1px #b529418c,0 0 11px 3px #bc294447!important;
  filter:brightness(1.08)!important;
}
