.gnb-active{margin:0 0 28px;padding:23px 26px;border:1px solid var(--accent);background:linear-gradient(120deg,#25391d,#151d13)}.gnb-active>span,.gnb-play-stats span{color:var(--accent);font:750 .65rem ui-monospace,Consolas,monospace;letter-spacing:.1em}.gnb-active h3{margin-top:9px;font-size:1.6rem}.gnb-active p{margin-top:8px;color:var(--muted);font-size:.77rem}.gnb-active>div{display:flex;gap:10px;margin-top:18px}.gnb-active :is(a,button),.gnb-play-actions :is(a,button){display:inline-flex;align-items:center;padding:11px 14px;border:1px solid #739255;background:#1e2c18;color:#d7f2b3;font:750 .68rem ui-monospace,Consolas,monospace;letter-spacing:.04em}.gnb-active :is(a,button):hover,.gnb-play-actions :is(a,button):hover{border-color:var(--accent);color:var(--accent)}.gnb-template-actions button:disabled{opacity:.4;cursor:not-allowed}.gnb-recent{margin-top:44px}.gnb-recent ol{margin:0;padding:0;list-style:none}.gnb-recent li{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid var(--line);font-size:.78rem}.gnb-recent li span{color:var(--muted)}.gnb-play{padding-top:22px}.gnb-play-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin:22px 0}.gnb-play-head h2{margin-top:10px;font-size:clamp(2rem,4vw,4rem);letter-spacing:-.06em}.gnb-play-head>div>p:last-child{margin-top:8px;color:var(--muted);font:.65rem ui-monospace,Consolas,monospace}.gnb-play-stats{display:flex;gap:2px;background:var(--line);border:1px solid var(--line)}.gnb-play-stats>div{min-width:110px;padding:12px;background:#1a2117}.gnb-play-stats strong{display:block;margin-top:7px;font-size:1.1rem}.gnb-play-board{max-width:780px;margin:auto;aspect-ratio:1}.gnb-play-cell{position:relative;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;min-height:0}.gnb-play-cell small{flex:none}.gnb-play-cell span{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;font-size:clamp(.63rem,1.25vw,.95rem)}.gnb-play-cell em{margin-top:auto;color:#7c9870;font:750 .55rem ui-monospace,Consolas,monospace;font-style:normal;letter-spacing:.04em}.gnb-play-cell.is-marked{border-color:var(--accent);background:#2c4220}.gnb-play-cell.is-marked em{color:var(--accent)}.gnb-play-cell.is-complete{box-shadow:inset 0 0 0 2px #c1f46a,0 0 18px #b4ee5224}.gnb-play-cell.is-free{cursor:default;opacity:1}.gnb-play-board.has-bingo{box-shadow:0 0 24px #b5ec4b26}.gnb-play-cell.just-marked{animation:gnb-mark .2s ease-out}@keyframes gnb-mark{50%{box-shadow:inset 0 0 0 3px #d7ff91}}.gnb-play-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.gnb-play-actions #gnb-finish{margin-left:auto;border-color:var(--accent);background:var(--accent);color:#17220d}.gnb-summary{margin-top:24px}.gnb-summary h2{margin:10px 0 28px;font-size:clamp(2.5rem,6vw,5rem);color:var(--accent)}.gnb-summary dl{display:grid;grid-template-columns:150px 1fr;gap:0;margin:0}.gnb-summary dt,.gnb-summary dd{margin:0;padding:14px 0;border-top:1px solid var(--line)}.gnb-summary dt{color:var(--muted);font:.68rem ui-monospace,Consolas,monospace}.gnb-summary dd{font-weight:750}.gnb-bingo-dialog{border-color:var(--accent);box-shadow:0 0 70px #adf15a30}.gnb-bingo-dialog h2{color:var(--accent);font-size:3rem}.gnb-bingo-dialog button:last-child{border-color:var(--accent);color:var(--accent)}.gnb-next-button{display:block;text-align:center;cursor:pointer;color:#bed9a0}.gnb-play [hidden],.gnb-library [hidden]{display:none!important}@media(max-width:650px){.gnb-play-head{display:block}.gnb-play-stats{margin-top:18px}.gnb-play-stats>div{min-width:0;flex:1;padding:9px}.gnb-play-stats span{font-size:.5rem}.gnb-play-stats strong{font-size:.78rem}.gnb-play-board{gap:2px;padding:3px}.gnb-play-cell{padding:3px;gap:2px;min-height:56px}.gnb-play-cell span{font-size:clamp(.48rem,2vw,.68rem);-webkit-line-clamp:4}.gnb-play-cell small,.gnb-play-cell em{font-size:.43rem}.gnb-play-actions #gnb-finish{margin-left:0}.gnb-recent li{display:block}.gnb-recent li span{display:block;margin-top:5px}.gnb-summary dl{grid-template-columns:110px 1fr}}@media(prefers-reduced-motion:reduce){.gnb-play-cell.just-marked{animation:none}.gnb-play-cell{transition:none}}
