.page{--ng-paper: #F4F1EA;--ng-panel: #FFFFFF;--ng-gutter: #E3DED4;--ng-grid: #2B2E35;--ng-thin: #D9D4C8;--ng-fill: #23262C;--ng-clue-done: #5E554A}.game-title,.panel h2,.banner h2{font-family:var(--font-round);font-weight:600}.board-wrap{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);background:var(--ng-paper);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-3)}.check{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}.check input{width:24px;height:24px;margin:0;flex:none;accent-color:var(--ng-fill)}.ng-scroll{max-width:100%;overflow-x:auto;padding-bottom:var(--space-1);-webkit-overflow-scrolling:touch}.ng{--cell: clamp(28px, calc((min(100vw, 720px) - 64px - 90px) / var(--n)), 36px);display:grid;width:max-content;grid-template-columns:auto repeat(var(--n),var(--cell));grid-template-rows:auto repeat(var(--n),var(--cell));background:var(--ng-panel);border:2px solid var(--ng-grid);border-radius:var(--radius-sm);overflow:hidden;user-select:none;-webkit-user-select:none}.ng-corner{background:var(--ng-gutter);border-right:2px solid var(--ng-grid);border-bottom:2px solid var(--ng-grid)}.ng-clue{display:flex;gap:3px;font-family:var(--font-round);font-size:clamp(.75rem,calc(var(--cell) * .46),.9rem);font-weight:600;line-height:1;color:var(--ng-fill);padding:4px;background:var(--ng-gutter)}.ng-clue--col{flex-direction:column;align-items:center;justify-content:flex-end;border-bottom:2px solid var(--ng-grid);padding-bottom:5px}.ng-clue--row{align-items:center;justify-content:flex-end;border-right:2px solid var(--ng-grid);padding-right:5px;white-space:nowrap}.ng-clue--done{color:var(--ng-clue-done);font-weight:400}.ng-clue.flash{animation:rh-flash .3s var(--ease) 2}.ng-cell{width:var(--cell);height:var(--cell);border:0;border-right:1px solid var(--ng-thin);border-bottom:1px solid var(--ng-thin);padding:0;background:var(--ng-panel);color:var(--color-text-muted);font-size:calc(var(--cell) * .6);line-height:1;display:flex;align-items:center;justify-content:center;touch-action:none;position:relative}.ng-cell.br{border-right:2px solid var(--ng-grid)}.ng-cell.bb{border-bottom:2px solid var(--ng-grid)}.ng-cell.fill{background:var(--ng-fill)}.ng-cell.cross:after{content:"×"}.ng-cell.last{outline:2px solid var(--color-accent);outline-offset:-2px;z-index:1}.ng-cell:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px;z-index:1}.ng-cell.pop{animation:rh-pop .18s var(--ease);z-index:1}.ng-cell.blink{animation:rh-blink .6s var(--ease) 2;z-index:2}.ng--done{border-color:var(--color-good);animation:rh-flash .5s var(--ease) 2}.ng--done .ng-cell{cursor:default}.ng--done .ng-cell.fill{background:var(--color-good)}.ng-modes{display:flex;gap:var(--space-2)}.btn.ng-mode--on,.btn.ng-mode--on:hover{background:var(--ng-fill);color:var(--ng-panel);border-color:var(--ng-fill)}.chip strong{font-weight:600;font-variant-numeric:tabular-nums}@media (max-width: 480px){.board-wrap{padding:var(--space-2)}.ng{--cell: clamp(26px, calc((100vw - 98px) / var(--n)), 36px)}}@media (max-width: 360px){.board-wrap{padding:4px}.ng{--cell: clamp(23px, calc((100vw - 84px) / var(--n)), 36px)}.ng-clue--row{padding:3px 4px 3px 3px;gap:2px}}
