* { box-sizing: border-box; }

body {
    background: #0a0e0a;
    color: #33ff66;
    font-family: "JetBrains Mono", ui-monospace, Consolas, monospace;
    margin: 0;
    padding: 2rem;
    text-shadow: 0 0 4px rgba(51, 255, 102, 0.6);
}

.crt { max-width: 960px; margin: 0 auto; }

.ascii-header {
    font-size: 0.55rem;
    line-height: 1;
    white-space: pre;
    color: #33ff66;
}

a { color: #33ff66; }

input, button, textarea {
    background: #0a0e0a;
    color: #33ff66;
    border: 1px solid #33ff66;
    font-family: inherit;
    padding: 0.4rem 0.6rem;
}

button { cursor: pointer; }
button:hover { background: #33ff66; color: #0a0e0a; }

.nick-form { display: flex; flex-direction: column; gap: 0.75rem; max-width: 360px; }

.task-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
}

.task-card {
    border: 1px solid #33ff66;
    padding: 1rem;
    background: rgba(51, 255, 102, 0.03);
}

.task-card.solved { background: rgba(51, 255, 102, 0.12); }

.task-title { font-weight: bold; margin-bottom: 0.5rem; }
.task-title::before { content: "root@ctf:~$ "; opacity: 0.6; }

.flag-form { display: flex; flex-direction: column; gap: 0.5rem; margin-top: 0.75rem; }

.error, .result { color: #ff3355; }
.answer { color: #33ff66; }

.admin-table { width: 100%; border-collapse: collapse; margin-top: 1rem; }
.admin-table th, .admin-table td { border: 1px solid #33ff66; padding: 0.4rem; text-align: left; }
