.achievement-board{--ink:#152d43;--gold:#ba8536;color:var(--ink);background:#f5f3ed;padding:76px 0 80px;position:relative;font-family:Inter,Arial,sans-serif;scroll-margin-top:100px}
.achievement-board .board-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}
.board-eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:#927039;margin-bottom:14px}
.board-eyebrow:before{content:'';width:32px;height:2px;background:#ba8536}
.achievement-board h2,.achievement-board h1{font-size:clamp(30px,4vw,48px);font-weight:800;letter-spacing:-.045em;line-height:1.12;margin:0 0 12px;color:#152d43}
.board-description{max-width:600px;font-size:14px;line-height:1.8;color:#677581;margin:0}
.board-year{display:grid;gap:7px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#687681;flex-shrink:0}
.board-year select{font-size:14px;color:#19344b;background:white;border:1px solid #dddcd5;border-radius:10px;padding:11px 32px 11px 14px;min-width:160px}
.board-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 24px}
.board-tab{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border:1px solid #deded7;border-radius:9px;background:transparent;color:#62717d;font-size:13px;font-weight:700;transition:background .15s,color .15s}
.board-tab:hover,.board-tab[aria-current=page]{background:#18354d;border-color:#18354d;color:white;text-decoration:none}
.board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.board-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid #e6e4dc;border-radius:18px;overflow:hidden;box-shadow:0 6px 24px #17354a06}
.board-card-top{padding:22px 24px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}
.board-class{font-size:11px;font-weight:800;letter-spacing:.06em;color:#647784;background:#f0f4f6;border-radius:6px;padding:7px 10px}
.board-award{font-size:11px;font-weight:700;color:#a1722f;display:flex;align-items:center;gap:6px}
.board-award svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6}
.board-portrait{position:relative;width:100px;height:100px;margin:26px auto 18px;border:5px solid #faf6ed;outline:1px solid #e6d5b5;border-radius:50%;background:#e8eef2;display:grid;place-items:center;color:#31556d;font-size:32px;font-weight:700}
.board-portrait img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.board-medal{position:absolute;bottom:-7px;right:-8px;width:31px;height:31px;border-radius:50%;background:#b58943;border:3px solid #fff;color:#fff;font-size:16px;display:grid;place-items:center}
.board-person{text-align:center;padding:0 20px;margin:0;font-size:19px;font-weight:800;line-height:1.4;color:#19344b}
.board-person-caption{text-align:center;font-size:11px;color:#8a959d;margin:7px 0 17px}
.board-score{text-align:center;line-height:1;margin-bottom:21px;color:#19344b;font-size:38px;font-weight:800;letter-spacing:-.04em}
.board-score span{font-size:12px;color:#a17b40;font-weight:600;letter-spacing:0;margin-left:5px}
.board-score-split{display:flex;justify-content:center;gap:24px;padding:15px 12px;border-top:1px solid #f0eee8;background:#fcfcfa;color:#7c8790;font-size:11px}
.board-score-split strong{display:block;font-size:16px;color:#2a4459;margin-top:4px}
.board-card-link{display:block;text-align:center;padding:15px;background:#f6f8f9;border-top:1px solid #eceff1;font-size:12px;color:#34596f;font-weight:700;margin-top:auto}
.board-card-link:hover{background:#eaf0f4;text-decoration:none}
.board-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:28px;border-top:1px solid #dfdfd7;padding-top:22px;font-size:12px;color:#7b858c}
.board-footer a{color:#18354d;font-weight:700}
.board-empty{border:1px dashed #cfcabe;border-radius:16px;text-align:center;padding:44px 24px;background:#ffffff70;color:#76818b;grid-column:1/-1}
.board-empty strong{display:block;color:#29475e;font-size:20px;margin-bottom:8px}
.board-directories{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.board-directories a{font-size:12px;color:#426478;border-bottom:1px solid #c5d0d5;padding:5px 0;margin-right:12px}
.ranking-page{padding-top:155px;min-height:70vh}
.ranking-summary{display:flex;gap:25px;color:#72808a;font-size:13px;margin:20px 0}
.ranking-summary strong{font-size:22px;color:#19344b;margin-right:5px}
.ranking-panel{border:1px solid #e0e4e7;background:white;border-radius:16px;overflow:hidden}
.ranking-scroll{overflow-x:auto}
.ranking-table{width:100%;border-collapse:collapse;min-width:700px;font-size:13px}
.ranking-table th{text-align:left;padding:17px 20px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:#19354b;color:#dbe6ed;white-space:nowrap}
.ranking-table td{padding:19px 20px;border-bottom:1px solid #edf0f2;vertical-align:top;color:#617380}
.ranking-table .ranking-name{color:#18354d;font-size:14px;font-weight:700}
.ranking-table .ranking-points{font-size:20px;font-weight:800;color:#19354b;white-space:nowrap}
.ranking-place{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f1f4f6;color:#607789;font-weight:800}
.ranking-place.is-first{background:#fbf2dd;color:#9b722e;border:1px solid #ead7a8}
.ranking-table details{margin-top:9px;font-size:11px;font-weight:400}
.ranking-table summary{cursor:pointer;color:#5e7e92}
.ranking-records{list-style:none;margin:10px 0 0;padding:0;min-width:220px;max-width:400px}
.ranking-records li{border-top:1px solid #edf0f2;padding:9px 0;line-height:1.5}
.ranking-records span{display:block;color:#87949d;font-size:10px}
.ranking-records strong{color:#a17633}
@media(max-width:991px){.board-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.achievement-board{padding:44px 0}.achievement-board .board-heading{display:block}.board-year{margin-top:20px;max-width:190px}.board-grid{grid-template-columns:1fr;gap:16px}.board-tab{padding:9px 13px;font-size:12px}.board-footer{align-items:start;flex-direction:column}.ranking-page{padding-top:125px}.ranking-summary{gap:18px;flex-wrap:wrap}.ranking-table td,.ranking-table th{padding:15px}.board-card-top{padding-top:18px}}
