/* Counterweight — scoped styles (cw-*) */
.new-game[data-game=counterweight] .intro-art{background:#f3e6d3}
.new-game[data-game=counterweight] .game-intro>p.board-note{font-size:12px;margin:16px auto 0}
.new-game[data-game=counterweight] .game-status strong{display:flex;align-items:center;gap:10px}
.cw-pips{display:inline-flex;gap:4px}
.cw-pip{width:9px;height:9px;border-radius:3px;border:1px solid #c9c2b2;background:#f4efe5}
.cw-pip.now{border-color:var(--ink);background:var(--paper)}
.cw-pip.first{background:#7fb38f;border-color:#4f8a62}
.cw-pip.retry{background:#efc969;border-color:#b8952e}
.cw-clues{display:grid;gap:10px;margin:4px auto 14px;max-width:640px}
.cw-clues.cw-n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cw-clues.cw-n3{grid-template-columns:repeat(2,minmax(0,1fr))}
.cw-clues.cw-n3 .cw-card:last-child{grid-column:1/-1;justify-self:center;width:calc(50% - 5px)}
.cw-clues.cw-n1{max-width:340px}
.cw-card{margin:0;padding:8px 6px 6px;border:1px solid #e3dccd;border-radius:14px;background:#fbf8f1;min-width:0}
.cw-card figcaption{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-top:2px}
.cw-scale{display:block;width:100%;height:auto;overflow:visible}
.cw-beam,.cw-pan{transition:transform .7s cubic-bezier(.34,1.35,.5,1)}
.cw-q{font-family:'Fredoka',sans-serif;font-size:26px;font-weight:500;fill:#a39a88}
.cw-question{border:1.5px dashed #d8c7a8;border-radius:16px;padding:10px 10px 6px;max-width:400px;margin:0 auto;background:#fffdf7;transition:background .3s,border-color .3s}
.cw-question.solved{border-style:solid;border-color:#9cc5a6;background:#f1f7ef}
.cw-ask{font-family:'Fredoka',sans-serif;font-weight:500;font-size:19px;margin:2px 0 4px;letter-spacing:-.2px}
.cw-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:520px;margin:16px auto 0}
.cw-options.cw-o3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:600px}
.cw-option{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:8px 30px;border:1px solid #d7cfbf;border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:0 2px 0 #e7e0d1;transition:transform .12s,background .15s,border-color .15s}
.cw-option:hover:not(:disabled){border-color:#a99a7c;background:#fdf9f0;transform:translateY(-1px)}
.cw-row{display:block;height:22px;width:auto;max-width:100%}
.cw-key{position:absolute;left:8px;top:5px;font-size:11px;font-weight:600;color:#a39a88}
.cw-mark{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:15px;font-weight:700}
.cw-option.wrong{background:#f6ece9;border-color:#e2c3bb;border-style:dashed;box-shadow:none}
.cw-option.wrong .cw-row{opacity:.45}
.cw-option.wrong .cw-mark{color:#a84046}
.cw-option.right{background:#e6f1e4;border-color:#7fb38f;box-shadow:none}
.cw-option.right .cw-mark{color:#2f6b40}
.new-game .cw-option:disabled{opacity:1}
.cw-option.wrong{animation:cw-shake .35s ease}
@keyframes cw-shake{25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}
.cw-reveal{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;margin:6px auto 0;padding:12px 14px;border-radius:12px;background:#f3ecdf;max-width:520px;animation:cw-in .35s ease}
.cw-reveal-label{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);width:100%}
.cw-weight{display:inline-flex;align-items:center;gap:6px;font-family:'Fredoka',sans-serif;font-size:20px}
.cw-weight b{font-weight:500}
@keyframes cw-in{from{opacity:0;transform:translateY(4px)}}
.cw-summary{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.cw-tile{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:72px;padding:9px 8px;border-radius:10px;font-size:11px;border:1px solid}
.cw-tile small{font-family:'Fredoka',sans-serif;font-size:18px}
.cw-tile.first{background:#e6f1e4;border-color:#9cc5a6;color:#2f5b3a}
.cw-tile.retry{background:#fbf0cf;border-color:#e0c472;color:#6d5418}
@media(max-width:650px){
  .cw-clues.cw-n2,.cw-clues.cw-n3{grid-template-columns:minmax(0,1fr)}
  .cw-clues{max-width:340px}
  .cw-clues.cw-n3 .cw-card:last-child{grid-column:auto;width:auto;justify-self:stretch}
  .cw-card{display:grid;grid-template-columns:minmax(0,1fr);padding:4px 4px 2px}
  .cw-card figcaption{display:none}
  .cw-options{gap:8px}
  .cw-options.cw-o3{grid-template-columns:minmax(0,1fr);max-width:300px}
  .cw-option{padding:8px 14px;min-height:52px}
  .cw-option .cw-row{height:19px}
  .cw-mark{right:7px;top:auto;bottom:4px;transform:none;font-size:13px}
  .cw-tile{min-width:56px}
}
@media(max-width:360px){.cw-options{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.cw-beam,.cw-pan,.cw-question{transition:none!important}.cw-option,.cw-reveal{animation:none!important}}
