/* 共通の部品 v3：右の縦の余白と右下の札（2026-10-19 カズ137）。色は game.css の変数を使う */
.side{display:grid;gap:12px;min-width:0}
.kp-s{padding:12px;display:grid;gap:8px;min-width:0}
.kp-s h3{font-size:16px;color:var(--gold);text-shadow:2px 2px 0 #000}
.kp-s p{margin:0;font-size:13px;color:var(--ink2);line-height:1.6}
.kp-img{display:block;line-height:0;transition:transform .15s,filter .15s}
.kp-img img{display:block;width:100%;height:auto;image-rendering:auto;box-shadow:0 0 0 2px #06101a}
.kp-img:hover{transform:translateY(-3px);filter:brightness(1.08)}
.kp-bn{margin-top:2px}.kp-pr .kp-bn:first-of-type img{max-height:260px;object-fit:cover;object-position:top}
.kp-row{display:flex;flex-wrap:wrap;gap:8px}
.kp-prtag{font:11px var(--f-dot);color:#2b1a00;background:var(--gold);padding:0 5px;margin-left:8px;vertical-align:2px;text-shadow:none}
.kp-x .twitter-tweet{margin:0!important}
.kp-x blockquote.twitter-tweet{margin:0;padding:0;border:0}
.kp-x blockquote.twitter-tweet a{font:13px var(--f-dot);color:var(--line)}
.kp-link{display:grid;gap:0;text-decoration:none;color:var(--ink);padding:6px 8px;background:#06101a;box-shadow:inset 0 0 0 2px var(--frame);transition:transform .15s}
.kp-link:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 2px var(--frame-hi)}
.kp-link b{font-size:15px;color:var(--ink)}.kp-link span{font-size:12px;color:var(--mut)}
.kp-by{font-family:var(--f-dot)}
.kp-badge{position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:50;display:inline-flex;align-items:center;gap:8px;font:14px var(--f-dot);color:#2b1a00;text-decoration:none;background:linear-gradient(180deg,#fff1c2,#e8b84a 60%,#c8860a);border:3px solid #6b4a0a;box-shadow:0 4px 0 #6b4a0a;padding:7px 8px 7px 12px;opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s}
.kp-badge.on{opacity:1;transform:none}.kp-badge.on:hover{transform:translateY(-3px)}
.kp-badge.away{opacity:0!important;transform:translateY(12px)!important;pointer-events:none}
.kp-badge .x{font:13px var(--f-dot);background:#2b1a00;color:#fff1c2;border:0;width:22px;height:22px;cursor:pointer;padding:0}
@media (max-width:980px){.side{position:static;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}
