* { box-sizing: border-box; }
body {
margin: 0;
min-height: 100vh;
padding: 28px;
background: #1d2532;
color: #f2f6fc;
font-family: Arial, sans-serif;
}
.board { max-width: 1400px; margin: 0 auto; }
h1 { margin: 0 0 12px; font-size: 40px; }
.hint { color: #b5c2d5; margin-bottom: 26px; }
.columns { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.column {
padding: 20px;
background: #303e53;
border: 2px solid transparent;
border-radius: 12px;
transition: background .15s, border-color .15s;
}
h2 { margin: 0 0 18px; font-size: 24px; }
.task-list { min-height: 240px; display: flex; flex-direction: column; gap: 12px; }
.task {
width: 100%;
padding: 18px;
border: 1px solid #52617a;
border-radius: 8px;
background: #3c4c64;
color: inherit;
font: inherit;
font-size: 20px;
text-align: left;
cursor: grab;
overflow-wrap: anywhere;
}
.task:hover { background: #485c78; }
.task:focus-visible { outline: 3px solid #88c3ff; outline-offset: 3px; }
.task:active { cursor: grabbing; }
.task.dragging { opacity: .4; }
.column.drag-over { background: #354d66; border-color: #88c3ff; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 650px) {
body { padding: 16px; }
h1 { font-size: 32px; }
.columns { grid-template-columns: 1fr; gap: 18px; }
.task-list { min-height: 150px; }
}