:root{--game-accent:var(--accent);--game-border:var(--border-accent);--accent-ink:var(--text-on-accent,var(--text-primary));--accent-strong:var(--text-accent);--r:16px}
#header{background:rgba(255,255,255,.94);box-shadow:0 1px 0 rgba(28,27,23,.08)}
.menu-toggle span{background:var(--text-primary)}
.logo-badge{color:var(--text-primary)}
.gk-csj-wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.gk-csj-wrap h1{font-size:1.65rem;margin:.4rem 0 .2rem;line-height:1.25}
.gk-csj-wrap h2{font-size:1.2rem;margin:1.6rem 0 .6rem;font-weight:700}
.gk-csj-wrap p{line-height:1.6;margin:.55rem 0}
.gk-csj-intro{color:var(--text-secondary);font-size:.98rem}
.gk-csj-note{border:1px solid var(--border-accent);border-radius:8px;padding:.7rem .9rem;color:var(--accent-hover);font-size:.92rem;margin:1rem 0}
.gk-csj-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:1.1rem 0}
.gk-csj-meta-card{border:1px solid var(--border);border-radius:8px;padding:.75rem;text-align:center}
.gk-csj-meta-card .lbl{font-size:.78rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}
.gk-csj-meta-card .val{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin-top:2px}
.gk-csj-card{border:1px solid var(--border);border-radius:10px;padding:1rem 1.1rem;margin:1.1rem 0}
.gk-csj-card h2{margin-top:0}
.gk-csj-card ul{margin:.4rem 0;padding-left:1.4rem;line-height:1.7;color:var(--text-secondary);font-size:.95rem}
.gk-csj-card ol{margin:.4rem 0;padding-left:1.4rem;line-height:1.7;color:var(--text-secondary);font-size:.95rem}
.gk-csj-mistakes ul{list-style:none;padding:0}
.gk-csj-mistakes li{padding:.55rem .8rem;margin-bottom:.4rem;background:var(--bg-card-subtle);border-left:3px solid var(--warning);border-radius:4px;color:var(--text-primary);font-size:.93rem}
.gk-csj-mistakes li strong{color:var(--text-primary)}
.gk-csj-pages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:.6rem}
.gk-csj-page-tile{border:1px solid var(--border);border-radius:8px;padding:.8rem .9rem;text-decoration:none;color:var(--text-primary);transition:background .15s ease,border-color .15s ease;display:block}
.gk-csj-page-tile:hover{background:var(--bg-card-subtle);border-color:var(--cold)}
.gk-csj-page-tile strong{display:block;color:var(--cold);font-size:.95rem;margin-bottom:.2rem}
.gk-csj-page-tile span{display:block;color:var(--text-dim);font-size:.82rem}
.gk-csj-faq details{border-bottom:1px solid var(--border);padding:.7rem 0}
.gk-csj-faq summary{cursor:pointer;font-weight:600;color:var(--text-primary);font-size:.98rem;padding:.2rem 0;list-style-position:inside}
.gk-csj-faq summary::-webkit-details-marker{color:var(--text-dim)}
.gk-csj-faq details[open] summary{color:var(--cold)}
.gk-csj-faq p{font-size:.94rem;color:var(--text-secondary);margin:.5rem 0 0}
.gk-csj-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:.8rem}
.gk-csj-links a{display:inline-block;padding:.5rem .85rem;border:1px solid var(--border);border-radius:6px;color:var(--cold);text-decoration:none;font-size:.92rem;font-weight:500}
.gk-csj-links a:hover{background:var(--bg-card-subtle)}
.gk-csj-footer-meta{margin-top:1.2rem;padding:.8rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;font-size:.85rem;color:var(--text-dim)}
.gk-csj-footer-meta strong{color:var(--text-primary)}
.gk-csj-define{background:var(--bg-card-subtle);border-left:3px solid var(--cold);padding:.4rem .8rem;margin:.5rem 0;font-size:.93rem;border-radius:0 4px 4px 0}
.gk-csj-define strong{color:var(--cold)}
.gk-cluster-nav{margin:14px 0 22px;padding:0}
.gk-cluster-nav-title{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.7px;margin:0 0 10px;font-weight:700;display:flex;align-items:center;gap:6px}
.gk-cluster-nav-title::before{content:"⚡";font-size:.85rem}
.gk-cluster-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.gk-cluster-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:11px 6px;border:1px solid var(--border);border-radius:11px;color:var(--text-body);text-decoration:none;transition:all .15s;line-height:1.2;min-height:74px;overflow:hidden;box-sizing:border-box}
.gk-cluster-card:hover{border-color:var(--border-accent);transform:translateY(-1px);color:var(--text-primary);text-decoration:none}
.gk-cluster-card.is-current{background:linear-gradient(180deg,var(--accent-bg),var(--warning-bg));border-color:rgba(245,158,11,.70);color:var(--text-primary);box-shadow:0 4px 12px rgba(var(--accent-rgb),0.18);cursor:default;pointer-events:none}
.gk-cluster-card.is-current::after{content:"●";position:absolute;top:5px;right:7px;font-size:.5rem;color:var(--text-accent)}
.gk-cluster-card .em{font-size:1.35rem;line-height:1;margin-bottom:4px;display:block}
.gk-cluster-card .ttl{font-size:.7rem;font-weight:700;letter-spacing:.1px;line-height:1.15;color:inherit;display:block}
.gk-cluster-card .sub{font-size:.58rem;color:var(--text-muted);margin-top:2px;line-height:1.1;font-weight:500;display:block}
.gk-cluster-card.is-current .sub{color:var(--text-body)}
@media (max-width: 640px){
  .gk-csj-wrap h1{font-size:1.4rem}
  .gk-csj-card{padding:.85rem .9rem}
  .gk-csj-meta-card .val{font-size:.95rem}
}
@media(max-width:360px){
  .gk-cluster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .gk-cluster-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
}
