body {
    font-family: "Source Sans 3", "Source Sans Pro", Arial, Helvetica, sans-serif;
    color: #1F1D21;
    border-top: 6px solid #BC0031;
    min-height: 100vh;
    background-color: #FFFFFF;
    margin: 0;
}

.container {
    width: 90%;
    margin: 20px auto;
    box-sizing: border-box;
    max-width: 900px;
    background-color: #fff;
    padding: 30px;
    border-radius: 0;
}

h1 {
    text-align: center;
    color: #1F1D21;
    margin-bottom: 20px;
}

#documents textarea, #stopwords-container textarea {
    width: 100%;
    height: 60px;
    margin-bottom: 10px;
    padding: 10px;
    border: 1px solid #BEC6D1;
    font-family: "Courier New", Courier, monospace;
    border-radius: 6px;
    font-size: 1em;
    resize: vertical;
}

#stopwords-container {
    margin-top: 20px;
}

.buttons-container {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin: 20px 0;
}



.vocabulary {
    background-color: #F9F9F9;
    border: 1px solid #BEC6D1;
    padding: 15px;
    border-radius: 6px;
    margin-bottom: 20px;
    word-wrap: break-word;
}

.table-container {
    overflow-x: auto; /* For smaller screens */
}

table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}

th, td {
    border: 1px solid #BEC6D1;
    padding: 10px;
    text-align: center;
}

th {
    background-color: #BC0031;
    color: #FFFFFF;
    font-weight: 600;
}

.positive {
    background-color: #FBEEF1;
    color: #7E0021;
    font-weight: bold;
}

.zero {
    background-color: #FFFFFF;
    color: #9A9A9A;
}

/* course style */
input[type=range] { accent-color: #BC0031; }

/* Phase 3: examples, weighting buttons, what the computer keeps, similarity */
.example-row { display: flex; gap: 10px; align-items: center; justify-content: center; margin-bottom: 10px; }
.example-row select { font: inherit; padding: 4px 8px; border: 1px solid #BEC6D1; border-radius: 6px; }
.buttons-container button {
    font: inherit; font-weight: 600; font-size: 1.05em; padding: 10px 20px; border-radius: 6px; cursor: pointer;
    background: #FFFFFF; color: #BC0031; border: 1px solid #BC0031;
}
.buttons-container button[aria-pressed="true"] { background: #BC0031; color: #FFFFFF; }
.buttons-container button:hover { background: #FBEEF1; }
.buttons-container button[aria-pressed="true"]:hover { background: #7E0021; }
.buttons-container button.quiet { color: #555555; border-color: #BEC6D1; font-weight: 400; }
.buttons-container button:focus-visible { outline: 2px solid #BC0031; outline-offset: 2px; }
#output h3 { margin: 28px 0 8px; border-bottom: 1px solid #BEC6D1; padding-bottom: 3px; }
.reads { font-family: "Courier New", Courier, monospace; }
.read-row { display: flex; gap: 12px; padding: 4px 0; border-bottom: 1px solid #EBEBEC; align-items: baseline; }
.read-doc { font-family: "Source Sans 3", Arial, sans-serif; font-weight: 700; min-width: 48px; }
.kept { background: #FBEEF1; color: #7E0021; padding: 0 3px; border-radius: 3px; font-weight: 700; }
.stop { color: #8A8A8A; text-decoration-color: #BC0031; text-decoration-thickness: 2px; }
.note { font-size: 0.95em; color: #555555; margin: 8px 0; font-family: "Source Sans 3", Arial, sans-serif; }
td.rowhead { text-align: left; font-weight: 600; white-space: nowrap; }
tr.aux td { color: #555555; font-size: 0.9em; background: #F9F9F9; }
table.sim { width: auto; margin: 10px auto; }
table.sim td { min-width: 70px; font-family: "Courier New", monospace; font-weight: 700; }
table.sim td.diag { color: #8A8A8A; font-weight: 400; }
.muted { color: #8A8A8A; }
table.sim td.rowhead { font-family: "Source Sans 3", Arial, sans-serif; }
