/* teamword screen styles - 단어 대격돌 */
.tw-screen{--tw-a:#d63d55;--tw-a-deep:#9e2438;--tw-a-soft:#ff9aa8;--tw-b:#4a6fd0;--tw-b-deep:#2c4796;--tw-b-soft:#a9bdff;--tw-gold:#ffd36b;--tw-ink:#f6f2ff;--tw-muted:#bfc3e4;--tw-navy:#161a33;--tw-glass:linear-gradient(180deg,#232a52eb 0%,#161a36f2 100%);--tw-line:#ffffff21}
.tw-screen.active{display:block}
.tw-stage{width:100%;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-areas:"board board" "main side" "chat chat";gap:14px;align-items:start;color:var(--tw-ink)}
.tw-board{grid-area:board}.tw-arena{grid-area:arena}.tw-mc{grid-area:mc}.tw-panel{grid-area:panel}.tw-notes{grid-area:notes}.tw-feed{grid-area:feed}.tw-log{grid-area:log}.tw-chat{grid-area:chat;max-width:none;margin-top:0}
.tw-main{grid-area:main}.tw-side{grid-area:side}
.tw-main,.tw-side{display:flex;flex-direction:column;gap:14px;min-width:0}
.tw-notes:not(:has(:not([hidden]))){display:none}
.tw-stage h2,.tw-stage h3{color:var(--tw-ink)}
.tw-stage .stage-ending-card h2,.tw-stage .stage-ending-card h3{color:var(--ink)}

.tw-board{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:stretch}
.tw-team{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:4px 12px;align-items:center;padding:12px 14px;border-radius:22px;background:var(--tw-glass);border:1px solid var(--tw-line);box-shadow:var(--shadow-art,0 10px 30px #0006);transition:box-shadow .3s,transform .3s,border-color .3s}
.tw-team.team-a{background:linear-gradient(135deg,#5a1f2cf0,#231a36f2)}
.tw-team.team-b{background:linear-gradient(225deg,#1f2e66f0,#1a1a36f2)}
.tw-team.active.team-a{border-color:var(--tw-a-soft);box-shadow:var(--shadow-art,0 10px 30px #0006),0 0 0 2px #d63d5588,0 0 36px #d63d5566;transform:translateY(-2px)}
.tw-team.active.team-b{border-color:var(--tw-b-soft);box-shadow:var(--shadow-art,0 10px 30px #0006),0 0 0 2px #4a6fd088,0 0 36px #4a6fd066;transform:translateY(-2px)}
.tw-team.winner{box-shadow:var(--shadow-art),0 0 0 3px var(--tw-gold),0 0 40px #ffd36b77}
.tw-emblem{grid-row:1 / span 2;width:64px;height:64px;border-radius:50%;object-fit:cover;box-shadow:var(--shadow-2);background:#0003}
.tw-team-copy{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}
.tw-team-copy small{font-size:14px;font-weight:700}
.tw-team.team-a .tw-team-copy small{color:var(--tw-a-soft)}
.tw-team.team-b .tw-team-copy small{color:var(--tw-b-soft)}
.tw-team-copy strong{font-size:36px;line-height:1;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 2px 14px #0008}
.tw-team-copy strong.bump{animation:twBump .6s cubic-bezier(.2,.8,.2,1.4)}
.tw-members{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.tw-member{position:relative;display:flex;align-items:center;gap:5px;padding:2px 9px 2px 2px;border-radius:999px;background:#ffffff14;font-size:12px;max-width:100%;box-shadow:var(--shadow-1)}
.tw-member-face{flex-shrink:0;width:26px;height:26px;border-radius:50%;overflow:hidden;background:#ffffff22}
.tw-member-face img{width:100%;height:100%;object-fit:cover}
.tw-member-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.tw-member-tag{font-size:10px;font-weight:700;color:var(--tw-gold)}
.tw-member.me .tw-member-name{color:var(--tw-gold)}
.tw-member.hinter{background:#ffd36b33;box-shadow:0 0 0 1px var(--tw-gold),var(--shadow-1)}
.tw-member.away{opacity:.5}
.tw-bubble{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);z-index:4;width:max-content;max-width:210px;padding:8px 12px;border-radius:14px;background:#fff;color:#1d1f33;font-size:13px;font-weight:600;line-height:1.45;box-shadow:var(--shadow-3);animation:twBubble .3s cubic-bezier(.2,.8,.2,1)}
.tw-bubble:after{content:'';position:absolute;left:50%;top:100%;border:7px solid transparent;border-top-color:#fff;transform:translateX(-50%)}
.tw-bubble.is-out{opacity:0;transition:opacity .3s}
.tw-center{display:grid;justify-items:center;align-content:center;gap:6px;min-width:130px;padding:10px 14px;border-radius:22px;background:var(--tw-glass);border:1px solid var(--tw-line);box-shadow:var(--shadow-art,0 10px 30px #0006)}
.tw-round{font-size:13px;font-weight:700;color:var(--tw-gold)}
.tw-clock{position:relative;width:64px;height:64px;display:grid;place-items:center}
.tw-clock svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.tw-clock circle{fill:none;stroke-width:6}
.tw-clock-track{stroke:#ffffff22}
.tw-clock-fill{stroke:var(--tw-gold);stroke-linecap:round;stroke-dasharray:175.9;transition:stroke-dashoffset .25s linear,stroke .2s}
.tw-stage[data-team="A"] .tw-clock-fill{stroke:var(--tw-a-soft)}
.tw-stage[data-team="B"] .tw-clock-fill{stroke:var(--tw-b-soft)}
.tw-clock b{font-size:20px;font-variant-numeric:tabular-nums}
.tw-clock.urgent .tw-clock-fill{stroke:#ff6b6b}
.tw-clock.urgent{animation:twShake .5s ease-in-out infinite}
.tw-dots{list-style:none;margin:0;padding:0;display:flex;gap:5px}
.tw-dots li{width:10px;height:10px;border-radius:50%;background:#ffffff26;box-shadow:inset 0 -2px 0 #0003}
.tw-dots li.scored.team-a{background:var(--tw-a)}
.tw-dots li.scored.team-b{background:var(--tw-b)}
.tw-dots li.miss{background:#ffffff40;box-shadow:inset 0 0 0 2px #ffffff55}
.tw-dots li.now{background:var(--tw-gold);box-shadow:0 0 10px var(--tw-gold);animation:twBreath 1.2s ease-in-out infinite}

.tw-arena{position:relative;aspect-ratio:16/9;border-radius:24px;overflow:hidden;background:#11142a;box-shadow:var(--shadow-art,0 16px 40px #0006);isolation:isolate}
.tw-arena-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.05);transition:opacity .6s ease,transform 1.2s ease;z-index:-2}
.tw-arena-art.loaded{opacity:1;transform:scale(1)}
.tw-arena:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0b0d1f99 0%,#0b0d1f26 30%,#0b0d1f40 55%,#0b0d1fe6 100%);pointer-events:none}
.tw-arena[data-phase="round"]:after,.tw-arena[data-phase="round-intro"]:after{background:linear-gradient(180deg,#0b0d1fb3 0%,#0b0d1f80 40%,#0b0d1fcc 100%)}
.tw-headline{position:absolute;left:0;right:0;top:0;margin:0;padding:14px 18px;font-size:clamp(15px,1.6vw,18px);font-weight:700;line-height:1.45;color:#fff;text-shadow:var(--text-shadow-art,0 2px 12px #000c)}
.tw-headline.mine{color:var(--tw-gold)}
.tw-topic{position:absolute;left:16px;top:56px;width:clamp(96px,22%,150px);border-radius:18px;overflow:hidden;background:#0006;box-shadow:var(--shadow-3);border:2px solid #ffffff33}
.tw-topic img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.tw-topic span{display:block;padding:6px 8px;font-size:13px;font-weight:700;text-align:center;background:#0b0d1fd9}
.tw-topic.intro{animation:twTopicIn .8s cubic-bezier(.2,.8,.2,1.2)}
.tw-hints{position:absolute;right:14px;left:calc(clamp(96px,22%,150px) + 30px);top:56px;bottom:14px;list-style:none;margin:0;padding:0;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:8px}
.tw-hints[hidden]{display:none}
.tw-hint-card{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:0 10px;padding:8px 12px;border-radius:16px;background:#0b0d1fb8;border:1px dashed #ffffff40;box-shadow:var(--shadow-1);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.tw-hint-card.open{background:linear-gradient(135deg,#fffaf0,#f3e7ff);border:0;color:#1d1f33;box-shadow:var(--shadow-3)}
.tw-hint-card.auto.open{background:linear-gradient(135deg,#f3f0ff,#e3ecff)}
.tw-hint-card.flip{animation:twFlip .6s cubic-bezier(.2,.8,.2,1)}
.tw-hint-head{grid-row:1 / span 2;display:grid;justify-items:center;gap:2px;min-width:46px}
.tw-hint-head b{font-size:11px;color:var(--tw-muted)}
.tw-hint-card.open .tw-hint-head b{color:#6a5d8a}
.tw-hint-head em{font-style:normal;font-size:15px;font-weight:700;color:var(--tw-gold)}
.tw-hint-card.open .tw-hint-head em{color:#c7362f}
.tw-hint-text{font-size:clamp(14px,1.5vw,17px);font-weight:700;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}
.tw-hint-text.empty{font-size:13px;font-weight:600;color:#ffffff80}
.tw-hint-by{font-size:11px;color:#6a5d8a}
.tw-moment{position:absolute;inset:0;z-index:3;padding:24px 18px;display:grid;place-content:center;justify-items:center;gap:8px;text-align:center;background:radial-gradient(70% 60% at 50% 50%,#0b0d1fe6 0%,#0b0d1fb3 60%,#0b0d1f66 100%);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.tw-moment strong{font-size:clamp(34px,5vw,56px);line-height:1.1;color:#fff;text-shadow:0 4px 24px #000c}
.tw-moment.win strong{color:var(--tw-gold)}
.tw-moment.win.team-a strong{text-shadow:0 4px 24px #d63d55cc}
.tw-moment.win.team-b strong{text-shadow:0 4px 24px #4a6fd0cc}
.tw-moment span{font-size:16px;font-weight:700;color:#fff}
.tw-moment.pop strong{animation:twBump .7s cubic-bezier(.2,.8,.2,1.4)}

.tw-mc{display:flex;align-items:center;gap:12px;padding:10px 16px 10px 10px;border-radius:18px;background:var(--tw-glass);border:1px solid var(--tw-line);box-shadow:var(--shadow-art,0 10px 30px #0005)}
.tw-mc.is-new{animation:twMcIn .45s cubic-bezier(.2,.8,.2,1)}
.tw-mc-face{flex-shrink:0;width:52px;height:52px;border-radius:16px;object-fit:cover;border:2px solid #ffd9ae;box-shadow:var(--shadow-1)}
.tw-mc strong{display:block;font-size:12px;color:#ffcf8a}
.tw-mc p{margin:2px 0 0;font-size:15px;line-height:1.55;color:var(--tw-ink)}

.tw-notice{background:#3a1f2c;border:1px solid #ff8a9a66;color:#ffd6dc;border-radius:14px;padding:10px 14px;font-size:14px;font-weight:700;box-shadow:var(--shadow-2)}
.tw-panel{display:flex;flex-direction:column;gap:12px;min-width:0}
.tw-panel:empty{display:none}
.tw-card,.tw-feed,.tw-log{background:var(--tw-glass);border:1px solid var(--tw-line);border-radius:20px;padding:18px;margin:0;box-shadow:var(--shadow-art,0 10px 30px #0005)}
.tw-card-title{margin:0 0 12px;font-size:17px}
.tw-wait{text-align:center;color:var(--tw-muted);font-size:15px;line-height:1.6}
.tw-wait-line{margin:0 0 4px;font-size:14px;color:var(--tw-muted);animation:twBreath 1.8s ease-in-out infinite}
.tw-teams-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tw-teams-col{display:grid;justify-items:center;gap:6px;padding:12px;border-radius:16px;background:#ffffff0d}
.tw-teams-col.team-a{box-shadow:inset 0 0 0 1px #d63d5566}
.tw-teams-col.team-b{box-shadow:inset 0 0 0 1px #4a6fd066}
.tw-teams-emblem{width:56px;height:56px;border-radius:50%;box-shadow:var(--shadow-2)}
.tw-teams-col ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;width:100%}
.tw-teams-col li{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700}
.tw-teams-col li img{width:26px;height:26px;border-radius:50%;object-fit:cover}
.tw-teams-col li.me{color:var(--tw-gold)}
.tw-intro{display:flex;align-items:center;gap:14px;animation:twTopicIn .6s cubic-bezier(.2,.8,.2,1.2)}
.tw-intro.team-a{background:linear-gradient(135deg,#6a2032f2,#261b3af2)}
.tw-intro.team-b{background:linear-gradient(135deg,#243a80f2,#1b1b3af2)}
.tw-intro-emblem{width:72px;height:72px;border-radius:50%;box-shadow:var(--shadow-3)}
.tw-intro small{display:block;font-size:12px;font-weight:700;color:var(--tw-gold)}
.tw-intro strong{display:block;font-size:24px;line-height:1.25}
.tw-intro span{font-size:13px;color:var(--tw-muted)}
.tw-word-card{display:grid;justify-items:center;gap:2px;padding:14px;border-radius:16px;background:linear-gradient(135deg,#ffe7a3,#f6c75a);color:#2a1c04;box-shadow:var(--shadow-3),inset 0 -4px 0 #0001}
.tw-word-card small{font-size:12px;font-weight:700;color:#7a5410}
.tw-word-card strong{font-size:32px;line-height:1.2;letter-spacing:-.5px}
.tw-word-card.spoiler{background:linear-gradient(135deg,#e9e3ff,#c9c0f5);color:#261d4a}
.tw-word-card.spoiler small{color:#5d4f95}
.tw-row{display:flex;gap:8px;margin-top:12px}
.tw-input{width:100%;min-width:0;min-height:52px;padding:12px 14px;border:1.5px solid #ffffff38;border-radius:14px;background:#0b0d1fcc;color:var(--tw-ink);font-size:17px;box-shadow:inset 0 2px 6px #0006}
.tw-input::placeholder{color:#9ea4cc}
.tw-input:focus{border-color:var(--tw-gold);outline:none;box-shadow:inset 0 2px 6px #0006,0 0 0 3px #ffd36b40}
.tw-input:disabled{opacity:.5}
.tw-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:10px 18px;border-radius:14px;border:0;font-size:15px;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s}
.tw-btn:disabled{opacity:.45;cursor:not-allowed}
.tw-btn-go{background:linear-gradient(180deg,#ffe08a,#f2b33e);color:#2a1c04;box-shadow:0 3px 0 #a36c12,0 8px 18px #ffd36b40}
.tw-btn-go:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #a36c12}
.tw-btn-ghost{background:#ffffff12;color:var(--tw-ink);border:1px solid #ffffff2e;box-shadow:var(--shadow-1)}
.tw-btn-ghost:hover{background:#ffffff1f}
.tw-row .tw-send{flex-shrink:0}
.tw-pass{width:100%;margin-top:12px}
.tw-hint-text-sm{margin:10px 0 0;font-size:13px;color:var(--tw-muted);line-height:1.6;text-align:center}
.tw-taboo{color:#ffb4bf}
.tw-rps-board{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}
.tw-rps-side{display:grid;justify-items:center;gap:4px;padding:12px 8px;border-radius:18px;background:#ffffff0d;transition:transform .3s,box-shadow .3s}
.tw-rps-side.team-a{box-shadow:inset 0 0 0 1px #d63d5566}
.tw-rps-side.team-b{box-shadow:inset 0 0 0 1px #4a6fd066}
.tw-rps-side.won{transform:scale(1.05);box-shadow:0 0 0 2px var(--tw-gold),0 0 26px #ffd36b66}
.tw-rps-face{width:56px;height:56px;border-radius:50%;object-fit:cover;box-shadow:var(--shadow-2)}
.tw-rps-side small{font-size:12px;font-weight:700;color:var(--tw-muted)}
.tw-rps-side strong{font-size:15px}
.tw-rps-state{font-size:12px;color:var(--tw-muted)}
.tw-rps-state.done{color:#8fe0ad}
.tw-rps-reveal{display:grid;justify-items:center;gap:2px;animation:twFlip .6s cubic-bezier(.2,.8,.2,1)}
.tw-rps-reveal img{width:72px;height:72px;border-radius:16px;object-fit:cover;box-shadow:var(--shadow-3)}
.tw-rps-reveal em{font-style:normal;font-size:13px;font-weight:700}
.tw-vs{font-size:20px;font-weight:700;color:var(--tw-gold);text-shadow:0 0 12px #ffd36b88}
.tw-rps-btns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.tw-rps-btn{display:grid;justify-items:center;gap:4px;padding:8px 6px 10px;border-radius:18px;border:2px solid #ffffff26;background:#0b0d1f99;color:var(--tw-ink);box-shadow:var(--shadow-2);transition:transform .15s,border-color .15s,box-shadow .15s}
.tw-rps-btn img{width:100%;max-width:110px;aspect-ratio:1;border-radius:14px;object-fit:cover}
.tw-rps-btn small{font-size:14px;font-weight:700}
.tw-rps-btn:hover:not(:disabled){transform:translateY(-3px);border-color:var(--tw-gold)}
.tw-rps-btn:active:not(:disabled){transform:translateY(1px);box-shadow:var(--shadow-press)}
.tw-rps-btn.selected{border-color:var(--tw-gold);box-shadow:0 0 0 3px #ffd36b55,var(--shadow-3)}
.tw-round-result{text-align:center}
.tw-round-result.win.team-a{box-shadow:var(--shadow-art),0 0 0 2px #d63d5588}
.tw-round-result.win.team-b{box-shadow:var(--shadow-art),0 0 0 2px #4a6fd088}
.tw-rr-answer{display:inline-grid;gap:2px;padding:10px 22px;border-radius:14px;background:#ffffff12}
.tw-rr-answer small{font-size:12px;color:var(--tw-muted)}
.tw-rr-answer strong{font-size:28px;color:var(--tw-gold)}
.tw-rr-who{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px}
.tw-rr-who img{width:40px;height:40px;border-radius:50%;object-fit:cover;box-shadow:var(--shadow-2)}
.tw-rr-who span{font-size:14px;font-weight:700}
.tw-rr-points{font-size:24px;color:var(--tw-gold);animation:twBump .7s cubic-bezier(.2,.8,.2,1.4)}
.tw-feed h2,.tw-log h2{margin:0 0 10px;font-size:15px}
.tw-guesses{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.tw-guess{display:flex;align-items:center;gap:6px;padding:3px 10px 3px 3px;border-radius:999px;background:#ff8e9e2a;color:#ffd6dc;font-size:13px;box-shadow:var(--shadow-1)}
.tw-guess img{width:24px;height:24px;border-radius:50%;object-fit:cover}
.tw-guess small{font-size:11px;opacity:.75}
.tw-guess.latest:not(.correct){animation:twShake .4s ease-in-out}
.tw-guess.correct{background:#3e9e62;color:#fff}
.tw-history{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.tw-history li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;background:#ffffff0d;font-size:13px;box-shadow:var(--shadow-1)}
.tw-history li b{color:var(--tw-gold)}
.tw-history li.team-a{border-left:3px solid var(--tw-a)}
.tw-history li.team-b{border-left:3px solid var(--tw-b)}
.tw-history li small{color:var(--tw-muted)}
.tw-history li.scored small{color:#8fe0ad}
.tw-result{display:grid;gap:14px}
.tw-ending{border-radius:22px;overflow:hidden}
.tw-final-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;text-align:center}
.tw-final-side{display:grid;justify-items:center;gap:4px;padding:10px;border-radius:16px}
.tw-final-side img{width:56px;height:56px;border-radius:50%;box-shadow:var(--shadow-2)}
.tw-final-side small{font-size:13px;font-weight:700}
.tw-final-side strong{font-size:40px;line-height:1;font-variant-numeric:tabular-nums}
.tw-final-side.won{background:#ffd36b1f;box-shadow:0 0 0 2px var(--tw-gold)}
.tw-final-colon{font-size:32px;color:var(--tw-muted)}

@keyframes twBump{0%{transform:scale(.6);opacity:.3}60%{transform:scale(1.2)}100%{transform:none;opacity:1}}
@keyframes twShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
@keyframes twBreath{0%,100%{opacity:1}50%{opacity:.5}}
@keyframes twFlip{from{transform:rotateX(80deg);opacity:0}to{transform:none;opacity:1}}
@keyframes twTopicIn{from{transform:scale(.8) rotate(-4deg);opacity:0}to{transform:none;opacity:1}}
@keyframes twMcIn{from{transform:translateY(6px);opacity:.3}to{transform:none;opacity:1}}
@keyframes twBubble{from{opacity:0;transform:translate(-50%,6px) scale(.9)}to{opacity:1;transform:translate(-50%,0)}}

@media(max-width:900px){
  .tw-stage{grid-template-columns:1fr;grid-template-areas:"board" "arena" "mc" "notes" "panel" "feed" "log" "chat"}
  .tw-main,.tw-side{display:contents}
}
@media(max-width:700px){
  .tw-board{grid-template-columns:1fr 1fr;grid-template-areas:"a b" "c c";gap:8px}
  .tw-team.team-a{grid-area:a}.tw-team.team-b{grid-area:b}.tw-center{grid-area:c;grid-auto-flow:column;justify-content:space-between;align-items:center;min-width:0;padding:6px 14px}
  .tw-team{grid-template-columns:auto minmax(0,1fr);padding:10px;gap:6px 8px;border-radius:18px}
  .tw-emblem{grid-row:auto;width:40px;height:40px}
  .tw-team-copy{flex-direction:column;align-items:flex-start;gap:0}
  .tw-team-copy small{font-size:12px}
  .tw-team-copy strong{font-size:28px}
  .tw-members{grid-column:1 / span 2}
  .tw-member{font-size:11px}
  .tw-member-face{width:22px;height:22px}
  .tw-clock{width:48px;height:48px}
  .tw-clock b{font-size:16px}
  .tw-arena{aspect-ratio:auto;min-height:330px;border-radius:20px}
  .tw-topic{top:52px;left:10px;width:88px;border-radius:14px}
  .tw-topic span{font-size:11px;padding:4px 6px}
  .tw-hints{left:108px;right:10px;top:52px;bottom:10px;gap:6px}
  .tw-hint-card{padding:6px 10px;gap:0 8px}
  .tw-hint-head{min-width:38px}
  .tw-hint-text{font-size:14px}
  .tw-card,.tw-feed,.tw-log{padding:14px;border-radius:18px}
  .tw-word-card strong{font-size:28px}
  .tw-rps-reveal img{width:58px;height:58px}
  .tw-rps-btn img{max-width:86px}
  .tw-bubble{max-width:160px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.tw-clock.urgent,.tw-dots li.now,.tw-wait-line,.tw-guess.latest{animation:none!important}}
.tw-screen .chat-area{background:var(--tw-glass);border:1px solid var(--tw-line);box-shadow:var(--shadow-art,0 10px 30px #0005);border-radius:20px}
.tw-screen .chat-messages{height:150px}
.tw-screen .chat-msg{color:var(--tw-ink)}
.tw-screen .chat-msg.system{color:var(--tw-muted)}
.tw-screen .chat-input-row{border-top-color:var(--tw-line)}
.tw-screen .chat-input-row input{background:#0b0d1fcc;border-color:#ffffff38;color:var(--tw-ink)}
.tw-screen .chat-input-row input::placeholder{color:#9ea4cc}
.tw-rps-btn,.tw-rps-reveal{position:relative}
.tw-rps-glyph{display:none;font-size:48px;line-height:1.2}
.tw-rps-btn:has(img.is-missing) .tw-rps-glyph,.tw-rps-reveal:has(img.is-missing) .tw-rps-glyph{display:block}
.tw-rps-btn img.is-missing,.tw-rps-reveal img.is-missing,.tw-topic img.is-missing{display:none}
@media(max-width:900px){.tw-stage.act-first{grid-template-areas:"board" "mc" "notes" "panel" "arena" "feed" "log" "chat"}}
.tw-side .stage-ending-card{grid-template-columns:1fr}
.tw-side .stage-ending-art{min-height:0;aspect-ratio:16/9}
.tw-side .stage-ending-copy{padding:24px 26px 26px}
