:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#1c2940;background:#f4f7fa}
    *{box-sizing:border-box}body{margin:0}main{max-width:1040px;margin:auto;padding:28px 18px 64px}
    .page-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:4px}
    .page-heading button{padding:8px 12px}
    h1{font-size:30px;margin:8px 0}h2{font-size:20px;margin:0 0 12px}p{line-height:1.65}
    .intro{color:#53657b;margin:0 0 24px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
    .card{background:white;border:1px solid #dfe7ef;border-radius:16px;padding:22px;box-shadow:0 4px 20px #1e35500a}
    .full{grid-column:1/-1}label{display:block;font-weight:600;margin:12px 0 6px}
    select,input,textarea{font:inherit;border:1px solid #cbd7e4;border-radius:9px;background:white;padding:9px 11px;width:100%}
    textarea{resize:vertical;min-height:90px}
    .button{display:inline-block;font:inherit;border-radius:9px;padding:10px 15px;background:#155dd8;color:white;font-weight:650;text-decoration:none;margin:8px 8px 12px 0}.button:hover{background:#104bac}
    button{font:inherit;border:0;border-radius:9px;padding:10px 15px;background:#155dd8;color:white;cursor:pointer;font-weight:650}
    button:disabled{opacity:.55;cursor:wait}.secondary{background:#e9f0fc;color:#144a9a}.controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}
    .small{font-size:13px;color:#65758b}.notice{padding:10px 12px;background:#fff8e6;border-radius:8px;color:#765109;margin-top:12px}
    .error{color:#a62632}.chips{display:flex;gap:8px;flex-wrap:wrap;max-height:260px;overflow:auto;padding:6px 0}
    .chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #d0ddeb;border-radius:999px;font-size:14px;cursor:pointer}
    .chip-text{display:flex;flex-direction:column;line-height:1.25;gap:2px}.chip-text small{font-size:11px;color:#53657b}.chip-text strong{font-weight:650}
    .word-tools{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:12px 0}.word-tools>label{flex:1 1 190px;margin:0}.word-tools>input{flex:1 1 240px}.quick-select{display:flex;gap:7px;flex-wrap:wrap;width:100%}.quick-select button{padding:7px 10px;font-size:13px}.selection-status{margin:12px 0 2px}.over-limit{color:#a62632;font-weight:700}
    .random-select{display:flex;align-items:center;gap:9px;flex-wrap:wrap;width:100%}.random-select label{margin:0}.random-select input{width:80px}.random-select button{white-space:nowrap}.random-select .small{flex:1 1 220px}
    .chip:has(input:checked){background:#e7f0ff;border-color:#155dd8}.chip input{width:auto;margin:0;accent-color:#155dd8}
    .article{font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.85;white-space:pre-wrap}
    .article mark{background:#fff0a8;border-radius:3px;padding:0 2px}.article:not(.highlight) mark{background:transparent;padding:0}
    .quiz{border-top:1px solid #e3eaf1;margin-top:18px;padding-top:14px}.quiz-item{padding:12px 0;border-bottom:1px solid #eef2f7}
    .options{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.options button{background:#edf2fa;color:#243b5d;padding:6px 11px}
    .options button{text-align:left;line-height:1.45}.options:has(button:nth-child(4)){display:grid;grid-template-columns:1fr 1fr}
    .remember-row{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;cursor:pointer}.remember-row input{width:auto;margin:0;accent-color:#155dd8}
    .options button.active{background:#155dd8;color:white}.answer{background:#edf7ed;padding:8px;border-radius:6px;margin:6px 0}
    .history-list{display:grid;gap:9px;margin-top:12px}.history-item{border:1px solid #dfe7ef;border-radius:10px;padding:11px 13px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.history-item strong{display:block}.history-item .small{display:block;margin-top:3px}.history-item button{padding:7px 12px}
    [hidden]{display:none!important}@media(max-width:700px){.grid{grid-template-columns:1fr}main{padding:18px 12px}h1{font-size:25px}}
    @media(max-width:700px){.options:has(button:nth-child(4)){grid-template-columns:1fr}}

.credential-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}@media(max-width:700px){.credential-grid{grid-template-columns:1fr}}
.notice code{overflow-wrap:anywhere}

/* Start in a soft dark palette. The light theme retains the original colors. */
:root[data-theme="dark"]{color-scheme:dark;color:#e2e9f1;background:#111923}
:root[data-theme="dark"] .intro{color:#a7b9cb}
:root[data-theme="dark"] .card{background:#1b2734;border-color:#354759;box-shadow:0 8px 24px #060d1640}
:root[data-theme="dark"] select,:root[data-theme="dark"] input,:root[data-theme="dark"] textarea{background:#121d29;border-color:#4a5c6e;color:#edf3f9}
:root[data-theme="dark"] input::placeholder,:root[data-theme="dark"] textarea::placeholder{color:#9aadc0}
:root[data-theme="dark"] button,:root[data-theme="dark"] .button{background:#527fe3;color:#fff}
:root[data-theme="dark"] button:hover:not(:disabled),:root[data-theme="dark"] .button:hover{background:#6b92eb}
:root[data-theme="dark"] button.secondary{background:#304764;color:#e7f1ff}
:root[data-theme="dark"] button.secondary:hover:not(:disabled){background:#3c587b}
:root[data-theme="dark"] .small{color:#b1c1d1}
:root[data-theme="dark"] a:not(.button){color:#91b8ff}
:root[data-theme="dark"] .notice{background:#3c3525;color:#f4da9b}
:root[data-theme="dark"] .notice.error,:root[data-theme="dark"] .over-limit{color:#ffadb5}
:root[data-theme="dark"] .chip,:root[data-theme="dark"] .history-item{border-color:#415366;background:#202e3c}
:root[data-theme="dark"] .chip:has(input:checked){background:#304b72;border-color:#85aaff}
:root[data-theme="dark"] .chip-text small{color:#b1c1d1}
:root[data-theme="dark"] .quiz{border-color:#425266}
:root[data-theme="dark"] .quiz-item{border-color:#34485b}
:root[data-theme="dark"] .options button{background:#304357;color:#e4eef9}
:root[data-theme="dark"] .options button.active{background:#527fe3;color:#fff}
:root[data-theme="dark"] .answer{background:#263e36;color:#d7f1df}
:root[data-theme="dark"] .article mark{background:#69592c;color:#fff1b6}
:root[data-theme="dark"] .article:not(.highlight) mark{background:transparent;color:inherit}
:root[data-theme="dark"] :focus-visible{outline:2px solid #a5c4ff;outline-offset:2px}
:root[data-theme="light"]{color-scheme:light}
