.community-hero h1 { font-size:var(--step5); line-height:1.05; margin:20px 0; max-width:900px; }
.community-hero .lede { max-width:730px; margin-bottom:28px; }
.community-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:36px; align-items:start; }
.community-narrow { max-width:800px; }
.community-stack { display:grid; gap:18px; margin:24px 0 40px; }
.community-stack .card { min-width:0; }
.community-stack h3 { margin:8px 0; }
.community-stack p, .post-body { white-space:pre-wrap; overflow-wrap:anywhere; }
.community-meta { font-family:var(--font-mono); font-size:.8rem; color:var(--ink-soft); }
.community-form { margin-top:28px; }
.forum-filter { display:grid; grid-template-columns:1fr 1fr auto; gap:12px; align-items:end; margin:24px 0; }
.check-label { display:block; font-family:var(--font-body)!important; text-transform:none!important; letter-spacing:normal!important; }
.check-label input { min-height:0; width:auto; margin-right:8px; }
.text-button { border:0; background:none; color:var(--leaf-dark); text-decoration:underline; cursor:pointer; text-align:left; padding:8px 0; font:inherit; }
.reward-grid { margin:30px 0; }
.reward-grid, #account-boxes { grid-template-columns:repeat(4,minmax(0,1fr)); }
.reward-grid .card { background:var(--paper); color:var(--ink); }
.reward-grid .reward-ultra, #account-boxes .reward-ultra { background:var(--bloom); border:2px solid var(--leaf-dark); }
.reward-number { display:block; font-family:var(--font-display); font-size:4rem; line-height:1.2; color:var(--leaf-dark); }
.account-heading, .community-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:20px 0; }
.community-stack button { margin:4px 8px 4px 0; }
.community-status { display:inline-block; padding:4px 12px; border-radius:20px; background:var(--paper-dim); font-size:.85rem; }
.community-aside { position:sticky; top:100px; }
.community-error { color:#a52d27; }
.community-stack a { overflow-wrap:anywhere; }
button:disabled { opacity:.55; cursor:wait; }
#admin-access { overflow-wrap:anywhere; }
.backup-panel { margin:24px 0; }
.backup-panel p { margin:16px 0; overflow-wrap:anywhere; }
.backup-restore { border-top:1px solid var(--line); padding-top:20px; margin-top:24px; }
.backup-restore > summary { cursor:pointer; font-weight:700; }
.backup-restore .form-field { margin:20px 0; }
.backup-restore .form-grid { grid-template-columns:minmax(0,1fr); }
.backup-restore .form-field { min-width:0; }
.backup-restore select, .backup-restore input { max-width:100%; }
.backup-restore input[type="file"] { width:100%; }
.backup-restore .form-field > button { align-self:flex-start; }
.backup-preview { padding:24px; margin-top:24px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--paper); }
.backup-table-wrap { overflow-x:auto; }
.backup-table { width:100%; border-collapse:collapse; font-size:.9rem; }
.backup-table caption { text-align:left; margin:16px 0; }
.backup-table th, .backup-table td { text-align:left; padding:12px 8px; border-bottom:1px solid var(--line); }
.backup-table td { font-variant-numeric:tabular-nums; }
.backup-preview > label { display:block; margin:20px 0 8px; }
.backup-preview > input { width:100%; }
.account-navigation { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0 32px; }
.training-progress { padding:20px; background:var(--paper-dim); border-radius:var(--radius-sm); margin:24px 0; }
.training-progress label { font-weight:700; }
.training-progress progress { display:block; width:100%; height:18px; margin:12px 0; accent-color:var(--leaf-dark); }
.training-progress p { margin:0; font-size:.9rem; }
.training-filter { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:24px 0; }
.training-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:28px; align-items:start; }
.training-outline { position:sticky; top:100px; padding:20px; border:1px solid var(--line); border-radius:var(--radius-sm); }
.training-outline ol { list-style:none; padding:0; margin:16px 0 0; }
.training-outline li { margin:12px 0; }
.training-outline a { font-size:.9rem; text-decoration:none; }
.training-outline a:hover { text-decoration:underline; }
#training-modules { margin-top:0; }
.training-module { border:1px solid var(--line); border-radius:var(--radius); background:#fff; overflow:hidden; scroll-margin-top:100px; }
.training-module summary { display:flex; align-items:center; gap:14px; padding:22px; cursor:pointer; list-style:none; }
.training-module summary::-webkit-details-marker { display:none; }
.training-module summary::after { content:'+'; font-size:1.5rem; color:var(--leaf-dark); margin-left:auto; }
.training-module[open] summary::after { content:'−'; }
.training-module summary:focus-visible { outline:3px solid var(--leaf); outline-offset:-3px; border-radius:var(--radius); }
.training-number { font-family:var(--font-mono); color:var(--leaf-dark); }
.training-module-heading { display:flex; flex-direction:column; gap:4px; min-width:0; }
.training-module-heading strong { font-family:var(--font-display); font-size:var(--step1); line-height:1.25; }
.training-module summary .community-status { margin-left:auto; flex-shrink:0; }
.training-body { padding:0 24px 24px; }
.training-lede { color:var(--ink-soft); }
.training-section, .training-exercise { margin-top:28px; }
.training-section h3, .training-exercise h3 { font-size:var(--step1); margin:0 0 12px; }
.training-body li { margin:12px 0; padding-left:4px; }
.training-example { white-space:pre-wrap; padding:18px; background:var(--paper-dim); border-radius:var(--radius-sm); overflow-wrap:anywhere; }
.training-exercise { padding:20px; background:var(--bloom); border-radius:var(--radius-sm); }
.training-body > button { margin-top:24px; }
.training-quiz { margin-top:32px; padding-top:24px; border-top:1px solid var(--line); }
.training-quiz > h3 { font-size:var(--step1); }
.training-quiz fieldset { min-width:0; border:1px solid var(--line); border-radius:var(--radius-sm); padding:18px; margin:24px 0; }
.training-quiz legend { max-width:100%; padding:0 6px; font-weight:700; }
.training-answer { display:flex; align-items:flex-start; gap:10px; margin:14px 0; cursor:pointer; }
.training-answer input { margin-top:6px; flex-shrink:0; accent-color:var(--leaf-dark); }
.training-question-error { border-color:#a52d27!important; }
.training-quiz-hint { color:#a52d27; font-weight:600; }
.training-success { margin-top:24px; padding:16px; background:var(--leaf-light); border-radius:var(--radius-sm); }
[hidden] { display:none!important; }
@media (max-width:800px) {
 .community-layout { grid-template-columns:1fr; }
 .community-aside { position:static; }
 .forum-filter { grid-template-columns:1fr; }
 .form-grid { grid-template-columns:1fr; }
 .community-hero h1 { font-size:var(--step4); }
 .training-layout, .training-filter { grid-template-columns:1fr; }
 .training-outline { position:static; }
 .training-module summary { flex-wrap:wrap; padding:18px; }
 .training-module-heading { flex:1; }
 .training-module summary .community-status { margin-left:32px; }
}
@media (max-width:1100px) {
 .reward-grid, #account-boxes { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
 .reward-grid, #account-boxes { grid-template-columns:1fr; }
}

/* Private, guided first steps; progress stays in the existing quiz modules. */
#account-starter { margin-top: 32px; }
.starter-intro { max-width: 75ch; font-size: var(--step1); }
.starter-steps { display: grid; gap: 16px; }
.starter-step { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.starter-step summary { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 22px; cursor: pointer; }
.starter-step summary strong { flex: 1; min-width: 160px; }
.starter-step summary::after { content: '+'; margin-left: auto; font-size: 1.3rem; }
.starter-step[open] > summary::after { content: '−'; }
.starter-step-body, .starter-glossary { padding: 0 24px 24px; }
.starter-step-body ul, .starter-setup ul, #account-starter .card ul { padding-left: 22px; }
.starter-step-body li, .starter-setup li, #account-starter .card li { margin-top: 14px; }
.starter-step-body .btn { margin-top: 20px; white-space: normal; }
.starter-tips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.starter-tips h4 { font-size: var(--step1); margin-bottom: 12px; }
.starter-glossary dt { font-weight: 700; margin-top: 18px; }
.starter-glossary dd { margin: 8px 0 0; }
#account-starter, #account-starter h2, #account-starter h3, #account-starter h4 { overflow-wrap: anywhere; }
@media (max-width: 700px) { .starter-tips { grid-template-columns: minmax(0, 1fr); } .starter-step summary { padding: 18px; } }
