.quest-workspace {max-width:1100px;margin:0 auto;padding:20px;color:#eef2fb}
.quests-page.is-open {overflow-y:auto;}
.quest-toolbar,.quest-tabs,.quest-actions,.quest-card-heading {display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.quest-toolbar {justify-content:space-between;margin-bottom:16px}
.quest-workspace button,.quest-admin button {cursor:pointer;min-height:44px;border:1px solid #637d95;border-radius:12px;padding:10px 16px;background:#d7f2aa;color:#172d23;font:inherit;font-weight:600}
.quest-workspace button:disabled,.quest-admin button:disabled {opacity:.55;cursor:wait}
.quest-workspace button.quest-secondary,.quest-tabs button[aria-pressed=false] {background:#233348;color:#eef2fb}
.quest-cards {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.quest-groups > .quest-cards[hidden] {display:none}
.quest-group-heading {margin:18px 0 10px;font-size:1rem}
.quest-group-heading:first-child {margin-top:0}
.quest-workspace .quest-group-heading button {display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 12px;border:0;border-radius:10px;background:rgba(20,30,45,.88);color:#eef2fb;text-align:left}
.quest-group-arrow {font-size:1.4rem;line-height:1;transform:rotate(90deg)}
.quest-group-heading button[aria-expanded=false] .quest-group-arrow {transform:rotate(0)}
.quest-group-count {margin-left:auto;font-size:.85rem;color:#c2cede}
.quest-claim-limit {font-size:.85rem;line-height:1.5;background:rgba(20,30,45,.88);padding:8px 12px;border-radius:10px}
.quest-workspace button[data-action=claim]:disabled {cursor:not-allowed}
.quest-card {background:#1d2a3d;border:1px solid #455872;border-radius:18px;padding:20px;overflow-wrap:anywhere;color:#eef2fb}
.quest-card-heading {align-items:flex-start;justify-content:space-between;flex-wrap:nowrap}
.quest-card h3 {margin:0;font-size:1.2rem}.quest-card p {line-height:1.5}.quest-points {color:#d7f2aa;white-space:nowrap}
.quest-meta {color:#c2cede;font-size:.85rem}.quest-description {white-space:pre-wrap}
.quest-checklist {display:grid;gap:12px;margin:20px 0}.quest-checklist label {display:flex;align-items:center;gap:12px;min-height:36px;cursor:pointer}
.quest-checklist input {width:22px;height:22px;flex-shrink:0;accent-color:#a4d36a}
.quest-note {padding:12px;background:#594c29;border-radius:10px}.quest-success {color:#d7f2aa}
.quest-empty,.quest-status {line-height:1.5}.quest-status:empty {display:none}
.quest-admin {padding-bottom:40px}.quest-admin .quest-cards {margin:16px 0 28px}
.quest-admin .quest-table-wrap {overflow:auto;border:1px solid #ddd;border-radius:12px}
.quest-admin table {width:100%;border-collapse:collapse}.quest-admin th,.quest-admin td {padding:12px;text-align:left;vertical-align:top}
.quest-admin td small {display:block;margin-top:5px}.quest-admin td:first-child {min-width:160px}
.quest-admin .quest-actions {min-width:190px}.quest-admin .quest-actions button {padding:7px 10px;font-size:.85rem}
.quest-admin input,.quest-admin select,.quest-admin textarea {width:100%;box-sizing:border-box}
.quest-admin input[type=checkbox] {width:20px;height:20px}.quest-inline {display:flex;align-items:center;gap:10px}
.quest-form-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px}
.quest-form-grid label {display:grid;gap:6px}.quest-point-history {padding-left:20px;max-height:280px;overflow:auto}.quest-point-history small {display:block;color:#666}
.quest-admin .quest-editor {width:min(650px,calc(100vw - 32px));max-height:90vh;overflow:auto;border-radius:16px;padding:24px;border:1px solid #ccc}
.quest-editor textarea {min-height:85px}.quest-editor::backdrop {background:#0009}
.quest-admin .quest-editor form {display:grid;gap:16px}.quest-admin .quest-editor h2 {margin:0}
.quest-admin .quest-danger {background:#fbe1dd;color:#74291b;border-color:#d8aaa0}
.quest-admin .quest-search {max-width:400px}.quest-history-list {max-height:400px;overflow:auto;padding-left:20px}
.quest-history-list li {margin:10px 0}.quest-history-list small {display:block}
/* Admin project pages use the shared low-glare dark palette. */
.quest-admin .quest-card,.quest-admin .quest-admin-card {background:var(--panel);border-color:var(--border);color:var(--text)}
.quest-admin .quest-points,.quest-admin .quest-admin-card .admin-quest-points {color:var(--accent-strong)}
.quest-admin .quest-meta,.quest-admin .quest-group-count,.quest-admin .quest-point-history small {color:var(--muted)}
.quest-admin .quest-group-heading button,.quest-admin .quest-claim-limit {background:var(--panel-soft);color:var(--text)}
.quest-admin .quest-admin-card .admin-quest-state {background:var(--panel-soft);color:var(--text)}
.quest-admin .quest-admin-card .admin-quest-state[data-active=true] {background:var(--accent-soft);color:var(--accent-strong)}
.quest-admin .quest-table-wrap,.quest-admin .quest-editor {border-color:var(--border)}
.quest-admin .quest-editor {background:var(--panel);color:var(--text)}
.quest-admin .quest-danger {background:#573b3b;color:#f6d8d5;border-color:#805b59}
.quest-admin button:not(.quest-danger) {background:var(--accent);color:#1d2a26;border-color:#8eafa4}
.quest-admin button.quest-secondary,.quest-admin .quest-tabs button[aria-pressed=false] {background:var(--panel-soft);color:var(--text);border-color:var(--border)}
@media(max-width:600px){.quest-workspace{padding:12px}.quest-card{padding:16px}.quest-tabs{width:100%;gap:6px}.quest-tabs button{flex:1;padding:10px 7px;font-size:.85rem}.quest-admin .quest-editor{padding:16px}.quest-admin .quest-toolbar{align-items:stretch}}
