/* Space Go — Brain Boosters. Builds on chess.css (shared header, coach, sheets, academy). Mobile-first (390px). */
.go-shell { padding: 5px; }
.go-board { display: block; width: 100%; aspect-ratio: 1; border-radius: 13px; touch-action: manipulation; user-select: none; -webkit-user-select: none; -webkit-tap-highlight-color: transparent;
  background:
    radial-gradient(1px 1px at 12% 18%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 33% 72%, #fff 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 57% 31%, #c7d2fe 50%, transparent 51%), radial-gradient(1px 1px at 78% 84%, #fff 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 91% 12%, #a5f3fc 50%, transparent 51%), radial-gradient(1px 1px at 45% 52%, #fff 50%, transparent 51%),
    radial-gradient(1px 1px at 22% 91%, #fde68a 50%, transparent 51%), radial-gradient(1px 1px at 67% 60%, #fff 50%, transparent 51%),
    radial-gradient(1px 1px at 5% 55%, #f9a8d4 50%, transparent 51%), radial-gradient(1.5px 1.5px at 84% 40%, #fff 50%, transparent 51%),
    radial-gradient(120% 90% at 20% 10%, rgba(99,102,241,.5), transparent 60%), radial-gradient(90% 80% at 90% 100%, rgba(236,72,153,.3), transparent 60%),
    radial-gradient(70% 60% at 85% 15%, rgba(34,211,238,.18), transparent 60%),
    #060b24; }
.go-board .ln { stroke: rgba(165,243,252,.5); stroke-width: .045; }
.go-board .ln.edge { stroke: rgba(165,243,252,.75); stroke-width: .06; }
.go-board .star { fill: url(#gStar); }
.go-board .star-core { fill: #fde047; filter: drop-shadow(0 0 .08px #fde047); }
.go-board .crd { fill: rgba(226,232,255,.65); font-size: .34px; font-weight: 800; font-family: system-ui, -apple-system, sans-serif; text-anchor: middle; dominant-baseline: central; }
.go-board .stone { transform-box: fill-box; transform-origin: center; }
.go-board .stone.e { filter: drop-shadow(0 0 .06px rgba(34,211,238,.9)) drop-shadow(0 0 .12px rgba(34,211,238,.6)); }
.go-board .stone.m { filter: drop-shadow(0 0 .06px rgba(251,146,60,.9)) drop-shadow(0 0 .12px rgba(251,146,60,.6)); }
.go-board .stone.new { animation: land .28s cubic-bezier(.3,1.6,.5,1) both; }
@keyframes land { from { transform: scale(.2); opacity: .2; } }
.go-board .stone.dead { opacity: .4; }
.go-board .stone.ghost { opacity: .5; animation: ghost 1s ease-in-out infinite; }
@keyframes ghost { 50% { opacity: .8; } }
.go-board .poof { fill: none; stroke: #fde047; stroke-width: .08; transform-box: fill-box; transform-origin: center; animation: poof .6s ease-out forwards; }
@keyframes poof { to { transform: scale(2.2); opacity: 0; } }
.go-board .last { fill: none; stroke: #fde047; stroke-width: .07; filter: drop-shadow(0 0 .08px #fde047); }
.go-board .atari { fill: none; stroke: #f43f5e; stroke-width: .07; stroke-dasharray: .14 .09; animation: blink 1.2s ease-in-out infinite; }
.go-board .lib { fill: #fde047; filter: drop-shadow(0 0 .1px #fde047); transform-box: fill-box; transform-origin: center; animation: dotin .25s ease-out both; }
.go-board .lib.found { fill: #a3e635; }
.go-board .glow { fill: none; stroke: #a3e635; stroke-width: .07; animation: hintglow 1s ease-in-out infinite; }
.go-board .hint { fill: none; stroke: #fde047; stroke-width: .09; animation: hintglow 1s ease-in-out infinite; }
@keyframes hintglow { 50% { stroke: #fff; } }
.go-board .xm { stroke: #f43f5e; stroke-width: .09; stroke-linecap: round; }
.go-board .terr.e { fill: #22d3ee; } .go-board .terr.m { fill: #fb923c; }
.go-board .shade.e { fill: rgba(34,211,238,.22); } .go-board .shade.m { fill: rgba(251,146,60,.22); }
.go-board .bdg { stroke-width: .03; }
.go-board .bdg.l1 { fill: #f43f5e; stroke: #fff; } .go-board .bdg.l2 { fill: #fde047; stroke: #1a0b2e; } .go-board .bdg.l3 { fill: #0b1638; stroke: rgba(226,232,255,.6); }
.go-board .bdt { font-size: .26px; font-weight: 900; font-family: system-ui, -apple-system, sans-serif; text-anchor: middle; dominant-baseline: central; fill: #fff; pointer-events: none; }
.go-board .bdt.l2 { fill: #1a0b2e; }
.go-board .shake { animation: shake .35s ease; }

.view-chips { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 6px; margin-top: 8px; }
.chip { min-height: 40px; border-radius: 999px; font-weight: 800; font-size: 13px; background: rgba(255,255,255,.06); border: 1px solid var(--line); color: var(--ink-soft); }
.chip[aria-pressed="true"] { color: var(--gold); border-color: rgba(253,224,71,.6); background: rgba(253,224,71,.12); }
.chip:disabled { opacity: 1; color: var(--ink); }
.score-controls { grid-template-columns: 1fr 1fr; }
.score-controls button.go { background: linear-gradient(135deg, var(--lime), var(--earth)); color: #052e16; border: 0; }
.result-card .scoreline { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 10px 0; text-align: left; }
.result-card .scoreline div { padding: 8px 10px; border-radius: 14px; font-size: 13px; line-height: 1.35; background: rgba(255,255,255,.05); }
.result-card .scoreline .e { border: 2px solid var(--earth); } .result-card .scoreline .m { border: 2px solid var(--mars); }
.result-card .scoreline b { display: block; font-size: 24px; }
.go-page .history ol { columns: 3; }

/* academy additions */
.rank-row { display: flex; align-items: center; gap: 8px; margin: 14px 2px 6px; }
.rank-row .opt-label { margin: 0; flex: 1; }
.rank-row .lock { font-size: 12px; color: var(--ink-soft); font-weight: 700; }
.lesson-card.locked { opacity: .45; }
.lesson-step { font-size: 12px; font-weight: 800; color: var(--ink-soft); letter-spacing: .08em; text-transform: uppercase; }
.lesson-why { margin: 8px 0; padding: 10px 12px; border-radius: 14px; background: rgba(167,139,250,.12); border: 1px solid rgba(167,139,250,.45); font-size: 15px; line-height: 1.4; }
.lesson-why b { color: var(--gold); }
.lesson-say.bad { background: rgba(244,63,94,.12); border-color: rgba(244,63,94,.55); color: #ffe4e6; }
.lesson-say.good { background: rgba(163,230,53,.12); border-color: rgba(163,230,53,.55); color: #ecfccb; }
.lesson-btns button:disabled { opacity: .35; }
.unlock-link { display: block; margin: 16px auto 0; font-size: 13px; color: var(--ink-soft); text-decoration: underline; background: none; border: 0; min-height: 44px; }
@media (prefers-reduced-motion: reduce) { .go-board .stone.new, .go-board .atari, .go-board .glow, .go-board .hint, .go-board .poof, .go-board .stone.ghost { animation: none !important; } }
.go-page .cz-title { white-space: nowrap; font-size: 21px; }

/* Sprocket's deadpan commentary */
.coach .wit, .wit { display:block; font-style:italic; font-size:13px; color:#c4b5fd; margin-top:4px; line-height:1.35; }
#result-wit { margin-top:8px; }
