.mai-sudoku{--mai-sudoku-accent:#c62828;max-width:920px;margin:28px auto;padding:24px;border:1px solid #e5e7eb;border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(0,0,0,.08);font-family:inherit;color:#1f2937}.mai-sudoku *{box-sizing:border-box}.mai-sudoku__header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.mai-sudoku__title{margin:0 0 6px;font-size:clamp(26px,4vw,38px);line-height:1.1}.mai-sudoku__intro{margin:0;color:#6b7280}.mai-sudoku__status{display:flex;flex-direction:column;align-items:flex-end;font-weight:700;color:var(--mai-sudoku-accent);white-space:nowrap}.mai-sudoku__toolbar{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:18px}.mai-sudoku__toolbar label{display:flex;flex-direction:column;gap:6px;font-weight:700}.mai-sudoku select{min-width:160px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff}.mai-sudoku__layout{display:grid;grid-template-columns:minmax(280px,560px) minmax(190px,1fr);gap:24px;align-items:start}.mai-sudoku__board{display:grid;grid-template-columns:repeat(9,1fr);aspect-ratio:1/1;border:3px solid #111827;background:#111827;gap:1px;touch-action:manipulation}.mai-sudoku__cell{display:flex;align-items:center;justify-content:center;border:0;background:#fff;font-size:clamp(20px,4.5vw,34px);font-weight:600;cursor:pointer;min-width:0;padding:0}.mai-sudoku__cell:nth-child(3n){border-right:2px solid #111827}.mai-sudoku__cell:nth-child(9n){border-right:0}.mai-sudoku__cell:nth-child(n+19):nth-child(-n+27),.mai-sudoku__cell:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid #111827}.mai-sudoku__cell.is-fixed{background:#f3f4f6;font-weight:800;color:#111827;cursor:default}.mai-sudoku__cell.is-selected{outline:3px solid var(--mai-sudoku-accent);outline-offset:-3px;background:#fff7f7}.mai-sudoku__cell.is-related{background:#f8fafc}.mai-sudoku__cell.is-error{background:#fee2e2;color:#b91c1c}.mai-sudoku__cell.is-hint{background:#fef3c7}.mai-sudoku__side{display:flex;flex-direction:column;gap:18px}.mai-sudoku__numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mai-sudoku__numbers button{aspect-ratio:1/1;border:1px solid #cbd5e1;border-radius:12px;background:#fff;font-size:23px;font-weight:800;cursor:pointer}.mai-sudoku__numbers button:hover{border-color:var(--mai-sudoku-accent);color:var(--mai-sudoku-accent)}.mai-sudoku__actions{display:grid;gap:9px}.mai-sudoku__button{border:0;border-radius:10px;padding:11px 14px;background:#e5e7eb;color:#111827;font-weight:800;cursor:pointer}.mai-sudoku__button:hover{filter:brightness(.97)}.mai-sudoku__check,.mai-sudoku__new{background:var(--mai-sudoku-accent);color:#fff}.mai-sudoku__message{min-height:24px;margin-top:16px;font-weight:800;color:var(--mai-sudoku-accent)}.mai-sudoku__help{margin:8px 0 0;color:#6b7280;font-size:14px;line-height:1.5}@media(max-width:720px){.mai-sudoku{padding:16px;border-radius:14px}.mai-sudoku__header,.mai-sudoku__toolbar{align-items:stretch;flex-direction:column}.mai-sudoku__status{align-items:flex-start}.mai-sudoku__layout{grid-template-columns:1fr}.mai-sudoku__side{gap:12px}.mai-sudoku__numbers{grid-template-columns:repeat(5,1fr)}.mai-sudoku__numbers button{aspect-ratio:auto;min-height:46px}.mai-sudoku__actions{grid-template-columns:1fr 1fr}.mai-sudoku__cell{font-size:clamp(18px,7vw,30px)}}
