/* codenames — dedicated layout; no game rules or private projections changed. */
body[data-play-game="codenames"].jalsa-active{background:#E8DFD5}
body[data-play-game="codenames"].jalsa-active #app{max-width:1150px}
body[data-play-game="codenames"] .teams{gap:20px}
body[data-play-game="codenames"] .teamBox.t-b{border-top-color:#629BA6}
body[data-play-game="codenames"] .teamBox.on{box-shadow:0 0 0 2px #6B4E45}
body[data-play-game="codenames"] .tb-head{font-size:16px;color:#231F20}
body[data-play-game="codenames"] .tb-names{font-size:12px;line-height:1.8;gap:9px;color:#7A6259}
body[data-play-game="codenames"] .tb-names em{border-radius:4px;padding:2px 5px;font-style:normal;font-size:10px}
body[data-play-game="codenames"] .pips{gap:5px}
body[data-play-game="codenames"] .pips i{width:12px;height:12px;border-radius:3px;background:#ded1c2;opacity:1}
body[data-play-game="codenames"] .t-r .pips i.got{background:#A32B38}
body[data-play-game="codenames"] .t-b .pips i.got{background:#629BA6}
body[data-play-game="codenames"] .clueBar.t-b{border-right-color:#629BA6}
body[data-play-game="codenames"] .clueBar b{font-size:29px;font-weight:500;color:#F5D758}
body[data-play-game="codenames"] .clueBar span{font-size:12px;color:#DCCFC2}
body[data-play-game="codenames"] .tile:is(.rev-r,.hint-r){background:#A32B38;color:#F4EADA;border-color:#79202b;box-shadow:0 4px 0 #79202b}
body[data-play-game="codenames"] .tile:is(.rev-b,.hint-b){background:#629BA6;color:#152d32;border-color:#447d87;box-shadow:0 4px 0 #447d87}
body[data-play-game="codenames"] .tile:is(.rev-x,.hint-x){background:#231F20;color:#F4EADA;border-color:#231F20;box-shadow:0 4px 0 #090808}
body[data-play-game="codenames"] .tile.rev-n{background:#c7b8a8;color:#6B4E45;box-shadow:none;border-style:dashed}
body[data-play-game="codenames"] .teamBox{background:#FBF6EE;color:#231F20;border:1px solid #d3c1ad;border-top:5px solid #A32B38;border-radius:12px 12px 3px 3px;padding:16px 20px;box-shadow:none}
body[data-play-game="codenames"] .board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;background:#dccbb5;border:1px solid #c8b39d;border-radius:16px;padding:22px;box-shadow:inset 0 0 0 5px #e9ddcd}
body[data-play-game="codenames"] .tile{min-height:106px;aspect-ratio:auto;border-radius:3px 12px 3px 12px;background:#FBF6EE;color:#231F20;border:1px solid #bca58d;box-shadow:0 3px 0 #b6a28c;font:500 clamp(18px,2.2vw,28px) var(--body);line-height:1.5;padding:12px 6px;overflow-wrap:anywhere;position:relative}
body[data-play-game="codenames"] .tile:not([class*=rev-]):not([class*=hint-])::after{content:'';position:absolute;inset-inline:15%;bottom:9px;height:1px;background:#73534526}
body[data-play-game="codenames"] .tile.sel{outline:3px solid var(--j-ink);outline-offset:3px;transform:translateY(-3px)}
body[data-play-game="codenames"] .clueBar{background:#231F20;color:#F4EADA;border:0;border-right:6px solid #A32B38;padding:22px 28px;text-align:center;border-radius:12px;font-size:19px;line-height:1.8;display:flex;flex-direction:column;gap:5px}
body[data-play-game="codenames"] .actions{padding:15px;background:#FBF6EE;border-radius:9px;display:flex;justify-content:center;gap:12px;border:1px solid var(--j-line)}
body[data-play-game="codenames"] .nums button{min-height:48px}
body[data-play-game="codenames"] .codeArena{grid-template-columns:230px minmax(0,1fr) 230px;gap:20px}
body[data-play-game="codenames"] .codeArena .panel{padding:20px}
body[data-play-game="codenames"] .waiting{padding:18px;background:var(--j-surface);border:1px solid #d8c7b4;border-radius:8px;font-size:14px}
@media(min-width:1100px){body[data-play-game="codenames"] .codeArena .cmid{min-width:0}
body[data-play-game="codenames"] .codeArena .board{padding:12px;gap:10px}
body[data-play-game="codenames"] .codeArena .tile{font-size:22px;min-height:90px}}
@media(max-width:1000px){body[data-play-game="codenames"] .codeArena{display:flex;flex-direction:column}
body[data-play-game="codenames"] .codeArena>*{width:100%}}
@media(max-width:700px){body[data-play-game="codenames"] .tb-head{font-size:13px}
body[data-play-game="codenames"] .tb-names{font-size:11px}
body[data-play-game="codenames"] .clueBar{padding:17px;font-size:15px}
body[data-play-game="codenames"] .clueBar b{font-size:23px}
body[data-play-game="codenames"] .pips i{width:8px;height:8px}
body[data-play-game="codenames"] .pips{gap:3px}
body[data-play-game="codenames"] .board{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:13px}
body[data-play-game="codenames"] .tile{min-height:78px;font-size:18px;padding:12px 4px}
body[data-play-game="codenames"] .teams{gap:10px}
body[data-play-game="codenames"] .teamBox{padding:14px;border-top-width:4px}
body[data-play-game="codenames"] .tb-names span{white-space:normal}
body[data-play-game="codenames"] .actions{flex-wrap:wrap}}
