.board-hero .lead{margin-top:14px;max-width:66ch}
.board-section{min-height:48vh}
.board-narrow{max-width:900px}
.board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.board-tabs{display:flex;gap:8px}
.board-tab{min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink-3);font:inherit;font-weight:800;cursor:pointer}
.board-tab.active{border-color:var(--teal);background:rgba(22,179,198,.08);color:#08788a}
.board-filter{display:flex;align-items:center;gap:12px;margin:0 0 20px}
.board-filter label,.board-field label,.board-visibility legend{font-size:14px;font-weight:800;color:var(--navy)}
.board-filter select,.board-field select,.board-field input,.board-field textarea{border:1px solid #cbd4e0;border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:16px}
.board-filter select{min-height:44px;min-width:min(100%,360px);padding:0 38px 0 13px}
.board-message{padding:16px;border-radius:11px;background:var(--bg-soft);color:var(--ink-3);text-align:center}
.board-message:empty{display:none}
.board-message.error{color:#a82c2c;background:#fff2f1}
.board-list-head{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(150px,.7fr) 100px 100px 110px;gap:18px;padding:12px 14px;border-top:2px solid var(--navy);border-bottom:1px solid var(--line);color:var(--ink-4);font-size:12px;font-weight:800}
.board-list{display:flex;flex-direction:column}
.board-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(150px,.7fr) 100px 100px 110px;gap:18px;align-items:center;padding:20px 14px;border-bottom:1px solid var(--line);color:var(--ink-2)}
.board-row:hover{background:var(--bg-soft);color:var(--ink)}
.board-row-title{min-width:0}
.board-row-title strong{display:block;overflow:hidden;color:var(--navy);font-size:16px;text-overflow:ellipsis;white-space:nowrap}
.board-row-title .board-badges{margin-top:7px}
.board-row span{font-size:14px}
.board-badges{display:flex;flex-wrap:wrap;gap:7px}
.board-badge{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border-radius:999px;background:#eef2f6;color:var(--ink-3);font-size:12px;font-weight:800}
.board-badge.answered{background:#e8f8f2;color:#087865}
.board-badge.private{background:#fff4de;color:#8b5a00}
.board-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:28px;color:var(--ink-3);font-size:14px}
.board-auth-card{text-align:center}
.board-auth-card h2{margin-bottom:10px}
.board-auth-card p{color:var(--ink-3);margin-bottom:20px}
.board-form{box-shadow:0 12px 35px rgba(11,30,61,.06)}
.board-field{margin-bottom:22px}
.board-field label{display:block;margin-bottom:8px}
.board-field select,.board-field input,.board-field textarea{display:block;width:100%;padding:13px 14px}
.board-field textarea{resize:vertical;line-height:1.7}
.board-field select,.board-field input{min-height:50px}
.board-field select:focus,.board-field input:focus,.board-field textarea:focus{border-color:var(--teal);outline:3px solid rgba(22,179,198,.15)}
.board-field small{display:block;margin-top:7px;color:var(--ink-4)}
.board-visibility{display:flex;flex-direction:column;gap:10px;margin:0;padding:18px;border:1px solid var(--line);border-radius:12px}
.board-visibility legend{padding:0 6px}
.board-visibility label{display:flex;align-items:flex-start;gap:9px;color:var(--ink-2)}
.board-visibility input{width:18px;height:18px;flex:none;margin-top:3px}
.board-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
.board-back{display:inline-block;margin-bottom:24px;color:var(--ink-3);font-weight:700}
.board-detail h1{margin:18px 0 14px;color:var(--navy);font-size:clamp(25px,4vw,36px);line-height:1.35}
.board-meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding:0 0 24px;border-bottom:1px solid var(--line);color:var(--ink-4);font-size:14px}
.board-meta div{display:flex;gap:6px}.board-meta dt{font-weight:800}.board-meta dd{margin:0}
.board-body{padding-top:28px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;color:var(--ink-2)}
.board-answers{margin-top:36px}.board-answers h2{margin-bottom:16px}
.board-answer{margin-bottom:14px;padding:26px;border:1px solid rgba(22,179,198,.28);border-radius:16px;background:#f3fcfd}
.board-answer-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px;color:#08788a;font-size:14px;font-weight:800}
.board-answer-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;color:var(--ink-2)}
@media(max-width:850px){.board-list-head{display:none}.board-list{border-top:2px solid var(--navy)}.board-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:18px 10px}.board-row-course{grid-column:1/2}.board-row-status{grid-column:2/3;grid-row:1/3}.board-row-author,.board-row-date{font-size:12px!important}.board-row-date{text-align:right}}
@media(max-width:650px){.board-toolbar{align-items:stretch;flex-direction:column}.board-toolbar .btn{justify-content:center}.board-filter{align-items:stretch;flex-direction:column}.board-filter select{width:100%}.board-form{padding:24px 18px}.board-form-actions{flex-direction:column-reverse}.board-form-actions .btn{justify-content:center}.board-row-author{display:none}.board-row{grid-template-columns:minmax(0,1fr) auto}.board-detail{padding:24px 19px}.board-answer{padding:21px 18px}.board-answer-head{align-items:flex-start;flex-direction:column}}
