/* 家具配置のレイアウト大会（tools/kagu-haichi/taikai/、scripts/pages/kagu-haichi-taikai.js が作る）の見た目。色はサイトの変数（ダークモードでも読める） */
.kht-steps{display:grid;gap:8px;padding:0;margin:12px 0;list-style:none;counter-reset:s}
.kht-steps li{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start;counter-increment:s}
.kht-steps li::before{content:counter(s);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700}
.kht-toc{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:12px 0;list-style:none}
.kht-toc a{display:inline-block;padding:6px 12px;border:1px solid var(--border);border-radius:999px;text-decoration:none;background:var(--surface)}
.kht-toc .kht-f a{border-color:#b7a6ea}
.kht-odai{margin:22px 0;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.kht-odai h2{margin-top:0}
.kht-fantasy{background:linear-gradient(160deg,rgba(150,120,230,.13),rgba(90,170,230,.10) 60%,rgba(240,190,90,.10));border-color:#b7a6ea}
.kht-tag{display:inline-block;font-size:.78rem;font-weight:700;padding:2px 10px;border-radius:999px;margin-right:6px;vertical-align:2px;background:var(--surface-2);color:var(--text);border:1px solid var(--border)}
.kht-fantasy .kht-tag{background:rgba(150,120,230,.22);border-color:#b7a6ea}
.kht-fnote{font-size:.9rem;font-weight:700;margin:6px 0;padding:6px 10px;border-radius:10px;background:rgba(150,120,230,.14)}
.kht-room{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:14px;align-items:start;margin:10px 0}
.kht-room .kht-fig{max-width:220px}
.kht-items{margin:0;padding-left:1.2em;font-size:.92rem}
.kht-go{margin:10px 0}
.kht-go .btn{display:inline-block}
.kht-h3{font-size:1rem;margin:16px 0 6px}
.kht-list{list-style:none;padding:0;margin:6px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.kht-entry{position:relative;border:1px solid var(--border);border-radius:12px;padding:8px;display:grid;gap:6px;background:var(--surface);max-width:none;min-width:0}
.kht-rk,.kht-new{justify-self:start;font-size:.82rem;font-weight:700;padding:1px 10px;border-radius:999px;background:var(--accent);color:#fff}
.kht-new{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}
.kht-fig svg,.kht-bigfig svg{display:block;width:100%;height:auto;max-height:200px}
.kht-bigfig svg{max-height:none}
.kht-meta{margin:0;font-size:.88rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px}
.kht-name{font-weight:700;overflow-wrap:anywhere}
.kht-btns{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.kht-btns button{width:100%;min-height:40px;padding:4px 6px;font-size:.88rem}
.kht-btns [aria-pressed="true"]{background:var(--accent);color:#fff;border-color:var(--accent)}
.kht-msg{margin:0;font-size:.82rem;min-height:0}
.kht-msg:empty{display:none}
.kht-big:not([hidden]){display:grid;gap:6px}
.kht-legend{margin:0;padding-left:1.4em;font-size:.82rem}
.kht-floor{fill:var(--surface-2)}
.kht-fantasy .kht-floor{fill:rgba(150,120,230,.16)}
.kht-wall{fill:none;stroke:var(--text);stroke-linejoin:round}
.kht-door{stroke:var(--surface)}
.kht-win{stroke:var(--accent-ink,var(--accent))}
.kht-item{fill:var(--surface);stroke:var(--text)}
.kht-c1{fill:rgba(90,150,220,.22)}.kht-c2{fill:rgba(110,180,110,.22)}.kht-c3{fill:rgba(230,150,100,.22)}.kht-c4{fill:rgba(170,120,210,.22)}.kht-c5{fill:rgba(220,190,80,.25)}
.kht-flat{fill:rgba(200,80,80,.14);stroke:var(--muted);stroke-dasharray:6 5}
.kht-num{fill:var(--text);text-anchor:middle;dominant-baseline:central;font-weight:700}
@media (max-width:560px){
  .kht-room{grid-template-columns:minmax(0,1fr)}
  .kht-room .kht-fig{max-width:240px}
  .kht-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .kht-btns{grid-template-columns:1fr}
}
