/* Forum page (adds to style.css; nothing in the main page uses these classes) */
.nav .links a.l.on{color:var(--rust);font-weight:600}
.fm-head{padding:44px 0 18px}
.fm-head h1{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:.25em}
.fm-head .lead{color:var(--ink2);max-width:46em}
.fm{padding:18px 0 70px}
.fm-bar{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:16px}
.fm-who{font-size:.92rem;color:var(--ink2)}
.fm-who b{color:var(--ink)}
.fm-who button{background:none;border:0;padding:0;margin-left:8px;font:inherit;font-size:.85rem;color:var(--rust);cursor:pointer;text-decoration:underline}
#fmSign,#fmNew{margin-bottom:22px}
.fm-chk{display:flex!important;gap:9px;align-items:flex-start;font-weight:400!important;margin-top:10px!important}
.fm-chk input{margin-top:5px}
.fm-actions{display:flex;gap:10px;flex-wrap:wrap}
.fm-actions .btn{margin-top:14px}
.fm-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;border-bottom:1px solid var(--line);padding-bottom:10px}
.fm-tab{font:600 .88rem var(--sans);background:transparent;border:1px solid var(--line);color:var(--ink2);padding:6px 13px;border-radius:99px;cursor:pointer}
.fm-tab:hover{border-color:var(--ink)}
.fm-tab[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.fm-tab span{opacity:.7;font-weight:400;margin-left:4px}
.fm-tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.fm-tools input{flex:1 1 220px;width:auto}
.fm-tools select{flex:0 0 190px;width:auto}
.fm-list{display:grid;gap:10px}
.fm-row{display:grid;grid-template-columns:62px 1fr auto;gap:14px;align-items:center;background:#fffdf6;border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;color:var(--ink);box-shadow:var(--shadow);text-decoration:none}
.fm-row:hover{border-color:var(--rust);text-decoration:none}
.fm-row.pinned{background:#fbf3dc}
.fm-vote{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line2);border-radius:8px;padding:6px 4px;font-size:.78rem;color:var(--mute);line-height:1.1}
.fm-vote b{font-size:1.15rem;color:var(--ink)}
.fm-title{font-family:var(--serif);font-weight:600;font-size:1.06rem;line-height:1.3;overflow-wrap:anywhere}
.fm-meta{font-size:.8rem;color:var(--mute);margin-top:3px}
.fm-meta b{color:var(--ink2);font-weight:600}
.fm-replies{font-size:.82rem;color:var(--ink2);text-align:right;white-space:nowrap}
.fm-chip{display:inline-block;font:600 .7rem var(--sans);letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:99px;border:1px solid var(--line);color:var(--ink2);margin-right:6px;vertical-align:1px}
.fm-chip.st-planned{background:#f7ecd0;border-color:#e0cd98;color:#6b5113}
.fm-chip.st-progress{background:#e3edf6;border-color:#b6cde3;color:#1f4a72}
.fm-chip.st-done{background:#e6f0e1;border-color:#b9d2b1;color:#2c5629}
.fm-chip.st-declined{background:#eee9e1;border-color:#d6cdbd;color:#6b5f4d}
.fm-chip.pin{background:var(--rust);border-color:var(--rust);color:#fff}
.fm-chip.own{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.fm-empty{text-align:center;border:1px dashed var(--line);border-radius:var(--r);padding:30px;color:var(--ink2)}
.fm-back{display:inline-block;margin-bottom:14px;font-size:.92rem}
.fm-topic{background:#fffdf6;border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;box-shadow:var(--shadow)}
.fm-topic h2{font-size:clamp(1.3rem,3vw,1.8rem);overflow-wrap:anywhere;margin-bottom:.3em}
.fm-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:14px 0 0;font-size:1rem;line-height:1.6}
.fm-topic .fm-vbtn{margin-top:16px}
.fm-vbtn{display:inline-flex;gap:8px;align-items:center;font:600 .9rem var(--sans);background:transparent;border:1px solid var(--ink);color:var(--ink);padding:7px 14px;border-radius:8px;cursor:pointer}
.fm-vbtn:hover{background:var(--ink);color:var(--paper)}
.fm-vbtn.on{background:var(--rust);border-color:var(--rust);color:#fff}
.fm-vbtn[disabled]{opacity:.5;cursor:not-allowed}
.fm-h{font-family:var(--serif);font-size:1.15rem;margin:28px 0 10px}
.fm-reply{background:#fffdf6;border:1px solid var(--line2);border-left:3px solid var(--line);border-radius:8px;padding:14px 18px;margin-bottom:10px}
.fm-reply.adm{border-left-color:var(--rust);background:#fbf3dc}
.fm-reply .fm-text{margin-top:8px}
.fm-admin{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);font-size:.85rem}
.fm-admin select{width:auto}
.fm-link{background:none;border:0;padding:0;font:inherit;font-size:.8rem;color:var(--bad);cursor:pointer;text-decoration:underline;margin-left:10px}
#fmReply{margin-top:18px}
.fm-signin-hint{margin-top:18px;padding:16px;border:1px dashed var(--line);border-radius:var(--r);text-align:center;color:var(--ink2)}
@media(max-width:620px){.fm-row{grid-template-columns:50px 1fr}.fm-replies{grid-column:2;text-align:left}.fm-tools select{flex:1 1 100%}}

/* ---- separate forums per app, separate sections per category, clearer cards ---- */
.fm-apps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.fm-app{font:600 .92rem var(--sans);background:transparent;border:1px solid var(--line);color:var(--ink2);padding:8px 16px;border-radius:10px;cursor:pointer}
.fm-app:hover{border-color:var(--ink)}
.fm-app[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.fm-app span{opacity:.65;font-weight:400;margin-left:6px}
.fm-sections{display:grid;gap:28px}
.fm-sec{padding:0;border:1px solid var(--line);border-radius:12px;background:var(--paper2);overflow:hidden}
.fm-sec-h{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--line);background:#efe0bb}
.fm-sec-h h3{margin:0;font-size:1.1rem}
.fm-sec-h h3 span{font:400 .85rem var(--sans);color:var(--mute);margin-left:8px}
.fm-sec-h p{margin:2px 0 0;font-size:.85rem;color:var(--ink2)}
.fm-sec-b{display:grid;gap:12px;padding:16px}
.fm-sec-b .fm-row{margin:0}
.fm-more{justify-self:center}
.fm-none{text-align:center;color:var(--mute);font-size:.92rem;padding:10px}
.fm-crumb{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.9rem;margin-bottom:14px;color:var(--mute)}
.fm-crumb a{font-weight:600}
.fm-topic{position:relative;border-top:4px solid var(--rust)}
.fm-ribbon{display:inline-block;font:700 .7rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--rust);margin-bottom:6px}
.fm-replies-wrap{margin-top:30px;padding-top:6px;border-top:2px solid var(--line)}
.fm-reply{margin-left:18px;position:relative}
.fm-reply .fm-no{position:absolute;right:14px;top:10px;font-size:.75rem;color:var(--mute)}
.fm-move{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}
.fm-move select{width:auto}
