.lobby-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff;border:2px solid #e6b7cc;border-radius:18px;padding:20px 26px;margin:0 0 30px}.lobby-banner span{font-size:12px;color:#776b7e}.room-number{display:block;background:none;border:0;color:#ad315e;font-size:36px;letter-spacing:8px;font-weight:800;padding:8px 0}.lobby-banner strong{font-size:16px}.lobby-banner p{font-size:13px;line-height:1.6;color:#ad315e;margin:8px 0 0}.feedback-panel{background:#fff7dd;border:1px solid #e7d18d;padding:22px;border-radius:16px;margin-bottom:22px}.feedback-panel h2{font-size:20px;margin:0 0 14px}.feedback-panel p,.feedback-panel summary{font-size:13px;line-height:1.8}.feedback-panel details strong{display:block;font-size:25px;letter-spacing:6px;margin:10px 0}.feedback-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.feedback-options button{border:1px solid #d4b761;background:#fffdf5;border-radius:10px;min-width:44px;min-height:44px;font-size:20px;color:#352c48}.history-tabs{display:flex;gap:8px;margin-top:20px}.history-tabs button{flex:1;padding:12px;border-radius:10px;border:1px solid #e9d8e2;background:#fff;color:#776b7e}.history-tabs button[aria-pressed=true]{background:#ad315e;color:#fff;border-color:#ad315e}.pending-row{padding:18px;background:#fff7dd;border-radius:12px;font-size:14px;line-height:1.7;margin-bottom:12px}
.court{--gold:#f1d28a;background:#252c42;color:#fbf1d9;border:1px solid #4d5266;border-radius:26px;padding:34px;overflow:hidden}.court-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.court-heading h1{font-size:32px;letter-spacing:0;margin:10px 0 16px}.court-heading p{font-size:13px;color:#d8c8a3;margin:0}.card-clock{flex-shrink:0;display:flex;flex-direction:column;align-items:center;border:2px solid #706345;border-radius:50%;width:100px;height:100px;justify-content:center}.card-clock strong{font-size:34px;color:var(--gold);font-variant-numeric:tabular-nums}.card-clock span{font-size:10px;color:#d8c8a3}.card-clock.urgent{border-color:#fc8a8a;animation:clock-beat 1s 10}.card-clock.urgent strong{color:#ff9c9c}.court-rule{font-size:12px;line-height:1.9;color:#bfc2d0;text-align:center}.opponent-hand{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;font-size:13px;margin:24px 0}.opponent-hand span{padding:7px 12px;border:1px solid #555e78;border-radius:8px}.opponent-hand .gone{opacity:.4;text-decoration:line-through}.card-table{display:flex;justify-content:center;gap:70px;perspective:1000px;min-height:290px;padding:5px 0 15px}.duel-slot{text-align:center}.duel-slot>p{font-size:12px;min-height:20px}.playing-card{width:150px;min-height:210px;border:2px solid #c6a662;border-radius:12px;background:#f8ead0;color:#44351e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;box-shadow:inset 0 0 0 5px #f8ead0,inset 0 0 0 6px #c9a76a;position:relative}.playing-card:before,.playing-card:after{content:'✦';position:absolute;font-size:13px;color:#967943;top:12px;left:12px}.playing-card:after{top:auto;left:auto;bottom:12px;right:12px}.playing-card .card-icon{font-size:62px;line-height:1.2}.playing-card strong{font-size:22px}.playing-card small{font-size:10px;line-height:1.4}.playing-card.minister{background:#e0ecdf;color:#254c3f}.playing-card.knight{background:#dfe5f3;color:#2f4168}.playing-card.beggar{background:#ebdbe8;color:#654266}.playing-card.card-back{white-space:pre-line;background:repeating-linear-gradient(45deg,#333c58,#333c58 8px,#394361 8px,#394361 10px);color:#eed192;box-shadow:inset 0 0 0 5px #333c58,inset 0 0 0 6px #b79c68;font-size:28px;line-height:1.8}.card-outcome{display:block;min-height:22px;font-size:12px;margin-top:15px;color:#f1d28a}.revealed .playing-card{animation:card-flip .6s ease-out,card-clash .45s .7s ease-in-out}.side-1.revealed .playing-card{--clash:-18px}.side-0.revealed .playing-card{--clash:18px}.defeated .playing-card{animation:card-flip .6s ease-out,card-clash .45s .7s ease-in-out,card-burn 1.1s 1.3s forwards}.defeated .card-outcome{color:#ffaba1}.card-result{text-align:center;min-height:28px;color:#f1d28a;font-weight:700;font-size:16px}.hand-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 14px}.hand-heading h2{font-size:18px;margin:0}.hand-heading span{font-size:12px;color:#bfc2d0}.card-hand{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.hand-card{padding:0;border:0;background:none;border-radius:12px;transition:transform .18s}.hand-card .playing-card{width:140px;min-height:190px}.hand-card:hover:not(:disabled),.hand-card.selected{transform:translateY(-10px)}.hand-card.selected{outline:3px solid #ffe4a2;outline-offset:3px}.hand-card.destroyed{opacity:.22;filter:grayscale(1)}.hand-card:disabled{cursor:default}.court .primary{background:#efd08c;color:#352c48;max-width:440px;display:block;margin:24px auto 12px}.card-victory{text-align:center;border-top:1px solid #665c48;margin-top:24px;padding-top:20px}.card-victory h2{font-size:28px;color:#f1d28a}.card-log{background:white;border-radius:18px;padding:24px;margin-top:24px}.card-log h2{font-size:20px;margin:0 0 18px}.card-log p{font-size:13px;line-height:1.8;padding-bottom:12px;border-bottom:1px solid #e9d8e2}
@keyframes card-flip{from{transform:rotateY(90deg);opacity:.4}to{transform:rotateY(0);opacity:1}}@keyframes card-clash{50%{transform:translateX(var(--clash,15px)) scale(1.06)}}@keyframes card-burn{25%{filter:sepia(1);box-shadow:0 0 28px #ff8c41}100%{transform:translateY(25px) scale(.75);filter:grayscale(1);opacity:.16}}@keyframes clock-beat{50%{box-shadow:0 0 0 5px #ff9c9c20}}
@media(max-width:760px){.lobby-banner{padding:16px;gap:12px;align-items:flex-start;flex-direction:column}.room-number{font-size:34px;letter-spacing:7px}.lobby-banner strong{font-size:14px}.court{padding:20px 14px}.court-heading h1{font-size:23px;line-height:1.4}.card-clock{width:74px;height:74px}.card-clock strong{font-size:28px}.card-clock span{font-size:9px}.card-table{gap:24px;min-height:254px}.card-table .playing-card{width:120px;min-height:176px}.card-table .card-icon{font-size:44px}.card-hand{gap:10px}.hand-card{width:calc(50% - 5px)}.hand-card .playing-card{width:100%;min-height:176px}.card-hand .card-icon{font-size:42px}.court-rule{font-size:11px}.opponent-hand{gap:6px;font-size:11px}.opponent-hand span{padding:5px 7px}.card-result{font-size:14px}.hand-heading span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.revealed .playing-card,.defeated .playing-card,.card-clock.urgent{animation:none}.defeated .playing-card{opacity:.2}.hand-card{transition:none}}
body.quiet .revealed .playing-card,body.quiet .defeated .playing-card{animation:none}body.quiet .defeated .playing-card{opacity:.2}
.court{overflow:clip}.court-heading{position:sticky;top:0;z-index:2;background:#252c42;padding:12px 0;border-bottom:1px solid #4d5266}.hand-card:disabled{opacity:1}.hand-card.destroyed:disabled{opacity:.22}.playing-card.card-back{font-size:20px}body.quiet .card-clock.urgent{animation:none}
