/* 시즌: 공약 고르기 · 첫 출근 · 임기 성적표. js/season.js */
.pl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; margin: 10px 0; }
.pl-card { appearance: none; text-align: left; display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border-radius: 12px; border: 2px solid var(--line); background: var(--card); color: var(--ink); font: inherit; cursor: pointer; min-width: 0; }
.pl-card b { font: var(--hw) 15px var(--head); }
.pl-card small { font-size: 12.5px; line-height: 1.4; }
.pl-card .pl-meta { font-size: 11.5px; font-weight: 700; color: var(--muted); display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.pl-card .pl-size { font-style: normal; letter-spacing: 1px; color: var(--acc); }
.pl-card .pl-fit { font-size: 11.5px; font-weight: 800; color: var(--muted); }
.pl-card .pl-fit.hi { color: var(--good); } .pl-card .pl-fit.lo { color: var(--bad); }
.pl-card.on { border-color: var(--acc); background: color-mix(in srgb, var(--acc) 10%, var(--card)); box-shadow: inset 0 0 0 1px var(--acc); }
.pl-card.on b::before { content: '✓ '; color: var(--acc); }
.pl-est { font-size: 13px; color: var(--muted); margin: 4px 0 10px; } .pl-est b { color: var(--ink); }

.sr-h { font-size: 13px; color: var(--muted); margin: 12px 0 6px; }
.pl-list, .peer-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.pl-list li { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 7px 10px; border-radius: 10px; background: var(--soft); min-width: 0; }
.pl-list li b { font-size: 13.5px; } .pl-list li small { font-size: 11.5px; white-space: nowrap; }
.pl-st { font-style: normal; font: 800 12px var(--head); padding: 1px 8px; border-radius: 4px; border: 2px solid currentColor; transform: rotate(-4deg); white-space: nowrap; }
.pl-st.kept { color: var(--good); } .pl-st.half { color: var(--gold); } .pl-st.broken { color: var(--bad); }
.peer-list li { display: flex; align-items: center; gap: 8px; font-size: 13.5px; }
.peer-list li small { margin-left: auto; font-size: 12px; }
.peer-list .pr-ic { width: 18px; height: 18px; }

.sr-box { display: grid; gap: 8px; margin: 10px 0; padding: 12px; border: 2px solid var(--ink); border-radius: 14px; background: var(--bg); }
.sr-sec > small, .sr-row > small { display: block; font-size: 11.5px; font-weight: 800; margin-bottom: 4px; }
.sr-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; border-top: 1px dashed var(--line); padding-top: 8px; }
.sr-row > small { flex: 0 0 100%; margin: 0; }
.sr-row b { font: var(--hw) 15px var(--head); }
.sr-row.rank b { color: var(--acc); }
.sr-spark { color: var(--acc); margin-left: auto; max-width: 100%; }
