body { font-family: sans-serif; width: min-content; margin: auto; } h1 { text-align: center; margin: 1rem; } section, div, footer { display: flex; flex-wrap: wrap; align-items: center; row-gap: 0.5rem; justify-content: center; text-align: center; column-gap: 0.3rem; } section, footer { margin: 0.8rem auto; } div { margin: 0 auto; } .grid { border-spacing: 0; border: 1px solid black; border-radius: 6px; } .grid td, tr { padding: 0; } .grid tr:first-child td:first-child { border-top-left-radius: 5px; } .grid tr:first-child td:first-child input { border-top-left-radius: 4px; } .grid tr:first-child td:last-child { border-top-right-radius: 5px; } .grid tr:first-child td:last-child input { border-top-right-radius: 4px; } .grid tr:last-child td:first-child { border-bottom-left-radius: 5px; } .grid tr:last-child td:first-child > input { border-bottom-left-radius: 4px; } .grid tr:last-child td:last-child { border-bottom-right-radius: 5px; } .grid tr:last-child td:last-child input { border-bottom-right-radius: 4px; } .grid tr:nth-child(3n+1) td { border-top: 1px solid black; } .grid tr:nth-child(3n+2) td { border-top: 1px solid grey; border-bottom: 1px solid grey; } .grid tr:nth-child(3n) td { border-bottom: 1px solid black; } .grid td:nth-child(3n+1) { border-left: 1px solid black; } .grid td:nth-child(3n+2) { border-left: 1px solid grey; border-right: 1px solid grey; } .grid td:nth-child(3n+3) { border-right: 1px solid black; } .grid input { width: 2.5rem; height: 2.5rem; font-size: 1.5rem; border: 0; border-radius: 0; padding: 0; text-align: center; transition: background 0.5s; caret-color: transparent; -moz-appearance: textfield; } input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } input::-webkit-calendar-picker-indicator { display: none; } .grid input:enabled { background: white; color: darkblue; } .grid input:disabled, button:enabled, .tools input+label { color: white; background: #6666ff; } .grid input.forbidden-value:enabled { background: #ffffaa; } .grid input.same-value:enabled { background: #ffff33; } .grid input.forbidden-value:disabled { color: #ffffaa; background: #6666ff; } .grid input.same-value:disabled, button.same-value:enabled, .tools input:checked+label { color: #ffffaa !important; background: #00b359 !important; } .grid input.pencil, input::placeholder { color: #888 !important; font-size: 1rem !important; width: 2.5rem !important; height: 2.5rem !important; } .tools input { display:none; } button, .tools input+label { border: 2px outset #6666ff; border-radius: 4px; font-size: 1.3rem; padding: 4px 9px 5px 9px; margin: 0px 1px 1px 1px; } img { width: 16px; height: 16px; } button:enabled:hover, .tools input:enabled:hover+label { border-width: 1px; border-style: outset; padding: 5px 9px 5px 10px; margin: 1px 1px 1px 2px; } button.pressed:enabled:hover, .tools input:enabled:checked:hover+label { border-width: 3px; border-style: inset; padding: 4px 6px 2px 9px; margin: 1px 1px 1px 2px; } button.pressed, .tools input:checked+label { border: 2px inset #00b359; background: #00b359; padding: 4px 8px 4px 9px; margin: 1px 1px 0px 2px; } button:enabled:active, .tools input:enabled:active+label { border-width: 4px !important; border-style: inset !important; padding: 4px 4px 0px 9px !important; margin: 0px 1px 0px 2px !important; } button:disabled, .tools input:disabled+label { color: #666; background: darkgrey; border: 1px outset darkgrey; padding: 5px 10px 6px 10px; margin: 0px 1px 1px 1px; } button.warning { background: #ff5050; border-color: #ff5050; } a { text-decoration: none; } .context-menu { display: none; z-index: 1000; position: absolute; overflow: hidden; border: 1px solid #CCC; white-space: nowrap; font-family: sans-serif; background: #EEE; color: #333; border-top-right-radius: 3px; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; padding: 0; margin: 0; } .context-menu li { padding: 6px 10px; cursor: default; list-style-type: none; transition: all .3s ease; user-select: none; font-size: 1rem; } .context-menu li:hover { background-color: #DEF; } .context-menu li.error { color: #888 } .context-menu li.error:hover { background-color: #EEE; } .credits { font-size: 0.8rem; margin: 0; }