.sudoku-game{max-width:820px;margin:1.5rem auto;padding:clamp(12px,2.5vw,24px);border-radius:22px;background:linear-gradient(145deg,#f7f7f4,#ecece6);box-shadow:0 18px 42px rgba(0,0,0,.12);color:inherit}.sudoku-game *{box-sizing:border-box}.sudoku-header h2,.sudoku-header p{margin-top:0}.sudoku-tabs{display:grid;grid-template-columns:1fr 1fr;margin:14px 0 0;border-bottom:1px solid #aaa9a2}.sudoku-panel{display:grid;gap:14px}.sudoku-panel[hidden]{display:none!important}.sudoku-controls{display:grid;grid-template-columns:minmax(170px,240px) 1fr;gap:12px;align-items:end}.sudoku-controls label{display:grid;gap:6px}.sudoku-controls select{width:100%;padding:.7rem .8rem;border:1px solid #b7b7b2;border-radius:10px;background:#fff;color:inherit}.sudoku-actions{display:flex;gap:8px;flex-wrap:wrap}.sudoku-btn{border:1px solid #aaa9a2;border-radius:10px;background:#fff;color:inherit;padding:.7rem .9rem;cursor:pointer}.sudoku-btn-primary,.sudoku-btn.is-active{background:#242424;color:#fff;border-color:#242424}.sudoku-status{padding:11px 13px;border-radius:12px;background:rgba(255,255,255,.78);border-left:4px solid #686868}.sudoku-board{width:min(100%,620px);aspect-ratio:1;margin:0 auto;display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);border:3px solid #222;background:#222;gap:1px}.sudoku-cell{position:relative;min-width:0;min-height:0;background:#fff}.sudoku-cell:nth-child(3n){border-right:2px solid #222}.sudoku-cell:nth-child(9n){border-right:0}.sudoku-cell:nth-child(n+19):nth-child(-n+27),.sudoku-cell:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid #222}.sudoku-input{width:100%;height:100%;border:0;background:transparent;color:inherit;text-align:center;padding:0;appearance:textfield;-moz-appearance:textfield}.sudoku-input::-webkit-outer-spin-button,.sudoku-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sudoku-input:focus{outline:3px solid #d2a43e;outline-offset:-3px}.sudoku-input[readonly]{background:#e8e8e2}.sudoku-cell.is-error{background:#f8d8d5}.sudoku-cell.is-hint{background:#fff0b8}.sudoku-cell.is-solved{background:#e3f2df}.sudoku-rules{margin-top:16px;border-top:1px solid #ccc;padding-top:12px}.sudoku-rules summary{cursor:pointer}.sudoku-result[hidden]{display:none!important}.sudoku-result{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.7);backdrop-filter:blur(4px)}.sudoku-result-dialog{width:min(92vw,500px);padding:22px;border-radius:20px;background:#fff;color:inherit;box-shadow:0 24px 70px rgba(0,0,0,.4)}
@media(max-width:640px){.sudoku-game{margin:.7rem 0;padding:10px;border-radius:14px}.sudoku-controls{grid-template-columns:1fr}.sudoku-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sudoku-btn{width:100%;min-width:0}.sudoku-board{width:100%}}
@media(max-width:390px){.sudoku-actions{grid-template-columns:1fr}}


/* 0.13.10: Sudoku-Ziffern als robuste Spielgrafik; Theme-Eingabeschriften werden zurückgesetzt. */
.sudoku-input{all:initial;box-sizing:border-box;display:block;width:100%;height:100%;text-align:center;cursor:text;font-size:clamp(20px,6vw,38px);font-weight:600;line-height:1;color:#202124;font-variant-numeric:lining-nums tabular-nums;-webkit-text-security:none;text-security:none}
.sudoku-input[readonly]{cursor:default;font-weight:700;color:#111;background:#e8e8e2}
.sudoku-input:focus{outline:3px solid #d2a43e;outline-offset:-3px}


/* 0.14.16: native Input-Texte werden auf Mobilgeräten nicht mehr als sichtbare Ziffern benutzt.
   Die Zahl wird separat im Feld gerendert; das Input bleibt nur Eingabefläche. */
.sudoku-cell{overflow:hidden}
.sudoku-digit{position:absolute;inset:0;z-index:1;display:grid;place-items:center;pointer-events:none;color:#202124;font-size:clamp(20px,6vw,38px);font-weight:600;line-height:1}
.sudoku-digit.is-given{font-weight:700;color:#111}
.sudoku-input{position:absolute!important;inset:0!important;z-index:2!important;width:100%!important;height:100%!important;color:transparent!important;caret-color:#202124!important;background:transparent!important;text-shadow:none!important;-webkit-text-fill-color:transparent!important}
.sudoku-input[readonly]{background:transparent!important;cursor:default}
.sudoku-cell.is-given{background:#e8e8e2}
.sudoku-input:focus{outline:3px solid #d2a43e!important;outline-offset:-3px}


/* 0.14.20: Spielen/Lösen als echte Karteireiter. */
.sudoku-tab{appearance:none;border:1px solid transparent;border-bottom:0;border-radius:12px 12px 0 0;background:transparent;color:inherit;padding:.78rem 1rem;cursor:pointer;position:relative;top:1px}
.sudoku-tab.is-active{background:#fff;border-color:#aaa9a2;border-bottom-color:#fff}
.sudoku-panel{background:#fff;padding:16px;border:1px solid #aaa9a2;border-top:0;border-radius:0 0 14px 14px}
.sudoku-tabs + .sudoku-panel{border-top:0}
@media(max-width:640px){.sudoku-tabs{margin-top:10px}.sudoku-tab{padding:.72rem .5rem}.sudoku-panel{padding:10px}}
