: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-prob-wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.gk-prob-wrap h1{font-size:1.65rem;margin:.4rem 0 .2rem;line-height:1.25}
.gk-prob-wrap h2{font-size:1.2rem;margin:1.6rem 0 .6rem;font-weight:700}
.gk-prob-wrap h3{font-size:1.02rem;margin:.4rem 0 .5rem;font-weight:700;color:var(--cold)}
.gk-prob-wrap p{line-height:1.55;margin:.55rem 0}
.gk-prob-intro{color:var(--text-secondary);font-size:.98rem}
.gk-prob-note{border:1px solid var(--border-accent);border-radius:8px;padding:.7rem .9rem;color:var(--accent-hover);font-size:.92rem;margin:1rem 0}
.gk-prob-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:1.1rem 0}
.gk-prob-meta-card{border:1px solid var(--border);border-radius:8px;padding:.75rem;text-align:center}
.gk-prob-meta-card .lbl{font-size:.78rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}
.gk-prob-meta-card .val{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin-top:2px}
.gk-prob-card{border:1px solid var(--border);border-radius:10px;padding:1rem 1.1rem;margin:1.1rem 0}
.gk-prob-card h2{margin-top:0}
.gk-prob-formula{background:var(--bg-card-subtle);border:1px solid var(--border);border-radius:8px;padding:.9rem 1rem;margin:.8rem 0;font-size:.98rem;color:var(--cold);line-height:1.7;text-align:center;overflow-x:auto}
.gk-prob-formula .frac{display:inline-block;vertical-align:middle;text-align:center;margin:0 .2em}
.gk-prob-formula .num{display:block;border-bottom:1px solid var(--text-muted);padding:0 .4em 2px}
.gk-prob-formula .den{display:block;padding:2px .4em 0}
.gk-prob-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px;margin-top:.6rem}
.gk-prob-tile{background:var(--text-muted);border:1px solid var(--border);border-radius:8px;padding:.9rem .9rem .7rem}
.gk-prob-tile h3{margin:0 0 .5rem;font-size:.98rem}
.gk-prob-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:6px}
.gk-prob-table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:380px}
.gk-prob-table th{padding:.32rem .5rem;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--bg-card-subtle);font-weight:600;font-size:.76rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}
.gk-prob-table td{padding:.32rem .5rem;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}
.gk-prob-table td.right{text-align:right;font-variant-numeric:tabular-nums}
.gk-prob-table td.center{text-align:center}
.gk-prob-table tbody tr:hover{background:var(--bg-card)}
.gk-prob-marquee{border:2px solid var(--cold);border-radius:10px;padding:1rem 1.1rem;margin:1.2rem 0}
.gk-prob-marquee h2{color:var(--cold);margin-top:0}
.gk-prob-marquee .gk-prob-table{font-size:.92rem;min-width:480px}
.gk-prob-marquee .gk-prob-table th{background:var(--text-muted)}
.gk-prob-chip-nav{display:flex;flex-wrap:wrap;gap:6px;margin:.5rem 0 1rem}
.gk-prob-chip{display:inline-block;padding:.3rem .7rem;border:1px solid var(--border);border-radius:999px;color:var(--cold);text-decoration:none;font-size:.85rem;font-weight:600}
.gk-prob-chip:hover{background:var(--text-muted)}
.gk-prob-faq details{border-bottom:1px solid var(--border);padding:.7rem 0}
.gk-prob-faq summary{cursor:pointer;font-weight:600;color:var(--text-primary);font-size:.98rem;padding:.2rem 0;list-style-position:inside}
.gk-prob-faq summary::-webkit-details-marker{color:var(--text-dim)}
.gk-prob-faq details[open] summary{color:var(--cold)}
.gk-prob-faq p{font-size:.94rem;color:var(--text-secondary);margin:.5rem 0 0}
.gk-prob-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:.8rem}
.gk-prob-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-prob-links a:hover{background:var(--bg-card-subtle)}
.gk-prob-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-prob-footer-meta strong{color:var(--text-primary)}
.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-prob-wrap h1{font-size:1.4rem}
  .gk-prob-formula{font-size:.88rem}
  .gk-prob-grid{grid-template-columns:1fr}
  .gk-prob-table th{padding:.28rem .4rem;font-size:.82rem}
  .gk-prob-table td{padding:.28rem .4rem;font-size:.82rem}
}
@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}
}
