.puzzle-caption{font-size:12px;line-height:1.8;color:var(--muted);text-align:center;margin:20px auto 0;max-width:440px}.puzzle-key{min-width:44px;min-height:46px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font-size:20px;cursor:pointer}.puzzle-key:hover:not(:disabled){border-color:var(--green);background:var(--soft)}.puzzle-key:disabled{opacity:.4;cursor:default}.puzzle-invalid{outline:2px dashed #c56471!important;outline-offset:-4px;color:#b84056!important}.sudoku-board{display:grid;grid-template-columns:repeat(var(--puzzle-size),minmax(0,1fr));width:min(100%,420px);aspect-ratio:1;margin:auto;border:2px solid var(--green);border-radius:13px;overflow:hidden;background:var(--paper)}.sudoku-cell{min-width:0;aspect-ratio:1;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);color:var(--green);font-family:Georgia,serif;font-size:clamp(22px,5vw,33px);cursor:pointer;padding:0}.sudoku-cell.given{font-weight:bold;color:var(--ink);background:var(--soft)}.sudoku-cell.peer:not(.given){background:color-mix(in srgb,var(--soft) 50%,var(--paper))}.sudoku-cell.box-right{border-right:2px solid var(--green)}.sudoku-cell.box-bottom{border-bottom:2px solid var(--green)}.sudoku-cell.selected{background:var(--green)!important;color:var(--on)!important;box-shadow:inset 0 0 0 3px var(--warm)}.sudoku-notes{display:grid;grid-template-columns:repeat(3,1fr);font-family:var(--sans);font-size:11px;padding:5px;gap:2px;line-height:1.2}.sudoku-notes i{font-style:normal}.sudoku-keypad{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin:18px auto 0}.sudoku-keypad .puzzle-key{flex:1;max-width:54px}.sudoku-keypad .erase-key{font-size:13px;max-width:65px}.nonogram-scroll{max-width:100%;overflow-x:auto;padding:3px}.nonogram-board{display:grid;grid-template-columns:minmax(48px,1.5fr) repeat(var(--puzzle-size),minmax(25px,1fr));grid-template-rows:minmax(54px,auto) repeat(var(--puzzle-size),1fr);width:min(100%,460px);margin:auto;gap:3px}.nonogram-clue{font-family:var(--mono,monospace);font-size:13px;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:5px;background:var(--soft);border-radius:6px}.col-clue{flex-direction:column;gap:1px;padding:6px 0}.row-clue{padding:3px}.nonogram-clue.clue-done{color:var(--green);background:color-mix(in srgb,var(--green) 12%,var(--paper))}.nonogram-corner{display:grid;place-items:center;color:var(--green);font-size:23px}.nonogram-cell{border:1px solid var(--line);border-radius:5px;aspect-ratio:1;min-width:0;background:var(--paper);color:var(--muted);font-size:clamp(12px,3vw,22px);padding:0;cursor:pointer}.nonogram-cell.filled{background:var(--green);color:var(--on);border-color:var(--green);box-shadow:inset 0 0 0 2px #ffffff15}.nonogram-cell.marked{background:var(--soft);color:var(--muted)}.nonogram-cell:hover:not(:disabled){outline:2px solid var(--warm);outline-offset:-3px}.twentyfour-intro{text-align:center}.twentyfour-intro .eyebrow{font-size:9px;letter-spacing:1.5px}.twentyfour-intro p{font-size:15px}.twentyfour-intro strong{font-size:24px;color:var(--green)}.twentyfour-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:25px auto;max-width:460px}.twentyfour-cards>button{border:1px solid var(--line);border-radius:18px;aspect-ratio:.72;display:flex;flex-direction:column;align-items:center;justify-content:space-around;background:linear-gradient(145deg,var(--paper),var(--soft));color:var(--green);padding:12px 5px;cursor:pointer;box-shadow:0 7px 18px #00000009}.twentyfour-cards small{font-size:9px;letter-spacing:1px}.twentyfour-cards strong{font-family:Georgia,serif;font-size:clamp(30px,5vw,55px)}.twentyfour-cards>button:disabled{opacity:.36;transform:translateY(5px);box-shadow:none;cursor:default}.twentyfour-cards>button:hover:not(:disabled){border-color:var(--green);transform:translateY(-3px)}.twentyfour-expression{display:block;padding:20px 12px;min-height:66px;text-align:center;border:1px dashed var(--line);border-radius:14px;background:var(--paper);color:var(--ink);font-family:var(--mono,monospace);font-size:18px;overflow-wrap:anywhere;max-width:460px;margin:auto}.twentyfour-operators{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;max-width:400px;margin:18px auto}.twentyfour-submit{display:block;margin:18px auto}.twentyfour-solution{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:15px;max-width:460px;margin:20px auto;color:var(--ink)}.twentyfour-solution p{font-family:var(--mono,monospace);font-size:18px;overflow-wrap:anywhere}.twentyfour-solution small{color:var(--muted)}
body[data-slug=sudoku] .game-console,body[data-slug=nonogram] .game-console,body[data-slug=twentyfour] .game-console{background:var(--soft);border:1px solid var(--line)}body[data-slug=sudoku] .game-stage,body[data-slug=nonogram] .game-stage,body[data-slug=twentyfour] .game-stage{padding:22px}body[data-slug=sudoku] .game-controls,body[data-slug=nonogram] .game-controls,body[data-slug=twentyfour] .game-controls{padding:0 22px 24px}.game-symbol:has(+.game-art-label){line-height:1}.arcade-card .game-art:has(.game-symbol[data-new-puzzle]){background:var(--soft)}
@media(max-width:600px){body[data-slug=sudoku] .game-stage,body[data-slug=nonogram] .game-stage,body[data-slug=twentyfour] .game-stage{padding:13px}body[data-slug=sudoku] .game-controls,body[data-slug=nonogram] .game-controls,body[data-slug=twentyfour] .game-controls{padding:0 13px 20px}.twentyfour-cards{gap:7px}.twentyfour-cards>button{border-radius:12px}.twentyfour-cards small{font-size:8px}.sudoku-notes{font-size:10px;padding:3px}.nonogram-clue{font-size:11px;gap:3px}.nonogram-board{gap:2px;grid-template-columns:minmax(37px,1.25fr) repeat(var(--puzzle-size),minmax(22px,1fr))}.twentyfour-expression{font-size:15px}.twentyfour-operators{gap:5px}.twentyfour-operators .puzzle-key{min-width:0}}

.puzzle-new-badge{position:absolute;top:14px;left:14px;font:10px var(--sans,sans-serif);letter-spacing:1px;padding:7px 10px;border-radius:30px;background:#fcfff6ed;color:#29483f;border:1px solid #ffffff80;z-index:1}.arcade-card .game-unlock-label{max-width:55%;text-align:center}@media(max-width:600px){.puzzle-new-badge{top:10px;left:10px;font-size:9px;padding:6px 8px}}
