.d17-recap-cards{display:grid;gap:20px}.d17-recap-cards--1col{grid-template-columns:1fr}.d17-recap-cards--2col{grid-template-columns:repeat(2, 1fr)}.d17-recap-cards--3col{grid-template-columns:repeat(3, 1fr)}.d17-recap-cards--4col{grid-template-columns:repeat(4, 1fr)}.d17-recap-cards--team,.d17-recap-cards--archive{grid-template-columns:1fr}@media (max-width: 1100px){.d17-recap-cards--4col{grid-template-columns:repeat(2, 1fr)}}@media (max-width: 640px){.d17-recap-cards--2col,.d17-recap-cards--3col,.d17-recap-cards--4col{grid-template-columns:1fr}}.d17-recap-card{background:#fff;border:1px
solid #E2E8F0;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s ease, border-color .15s ease}.d17-recap-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);border-color:#CBD5E1}.d17-recap-cards--team .d17-recap-card{flex-direction:row;border-radius:10px;border:1px
solid #E2E8F0;overflow:hidden;align-items:stretch;min-height:110px;transition:box-shadow .15s ease, border-color .15s ease, transform .15s ease}.d17-recap-cards--team .d17-recap-card:hover{box-shadow:0 6px 20px rgba(27,54,93,.1);border-color:#BAC8D8;transform:translateY(-1px)}.d17-recap-card__score-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;width:72px;padding:12px
6px;gap:1px;background:#1B365D;text-align:center}.d17-recap-card--l .d17-recap-card__score-panel{background:#F8FAFC;box-shadow:inset -1px 0 0 #E2E8F0}.d17-recap-card--t .d17-recap-card__score-panel{background:#64748B}.d17-recap-card__result-badge{font-size:1.5rem;font-weight:900;line-height:1;color:#C89212;letter-spacing:-.02em}.d17-recap-card--l .d17-recap-card__result-badge{color:#94A3B8}.d17-recap-card--t .d17-recap-card__result-badge{color:rgba(255,255,255,.8)}.d17-recap-card__score-big{font-size:var(--d17-text-xs);font-weight:700;color:rgba(255,255,255,.75);line-height:1.2;white-space:nowrap;margin-top:3px}.d17-recap-card--l .d17-recap-card__score-big{color:#374151}.d17-recap-card__score-date{font-size:var(--d17-text-xs);font-weight:500;color:rgba(255,255,255,.38);line-height:1;white-space:nowrap;margin-top:2px;text-transform:uppercase;letter-spacing: .04em}.d17-recap-card--l .d17-recap-card__score-date{color:#94A3B8}.d17-recap-card__thumb-link{display:block;flex-shrink:0}.d17-recap-cards--team .d17-recap-card__thumb-link{width:130px}.d17-recap-cards--archive .d17-recap-card__thumb-link{width:100px}.d17-recap-card__thumb{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.d17-recap-cards--team .d17-recap-card__thumb,
.d17-recap-cards--archive .d17-recap-card__thumb{height:100%;aspect-ratio:unset}.d17-recap-cards--archive .d17-recap-card{flex-direction:row;border-radius:10px}.d17-recap-card__body{padding:14px
18px;display:flex;flex-direction:column;gap:5px;flex:1;min-width:0;justify-content:center}.d17-recap-card__meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.d17-recap-card__score{font-weight:700;font-size:var(--d17-text-sm);color:#374151;background:#F8FAFC;padding:2px
8px;border-radius:999px;border:1px
solid #E2E8F0}.d17-recap-card__date{font-size:var(--d17-text-sm);color:#94A3B8}.d17-recap-card__opponent{font-size:1.05rem;font-weight:700;color:#0F172A;margin:0;line-height:1.25}.d17-recap-card__opponent
a{text-decoration:none;color:inherit}.d17-recap-card__opponent a:hover{color:#1B365D}.d17-recap-card__excerpt{font-size:var(--d17-text-sm);color:#64748B;line-height:1.55;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.d17-recap-cards--homepage .d17-recap-card__excerpt{-webkit-line-clamp:5;line-clamp:5}.d17-recap-card__result-chip{font-size:var(--d17-text-xs);font-weight:800;letter-spacing: .05em;padding:1px
6px;border-radius:4px}.d17-recap-card__result-chip--w{background:#1B365D;color:#C89212}.d17-recap-card__result-chip--l{background:#F1F5F9;color:#64748B}.d17-recap-card__result-chip--t{background:#E2E8F0;color:#64748B}.d17-recap-card__quote{font-size:var(--d17-text-sm);color:#374151;font-style:italic;border-left:3px solid #C89212;padding:6px
10px;margin:2px
0 0;background:#FFFBF0;border-radius:0 4px 4px 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.d17-recap-card__read-more{display:inline-flex;align-items:center;gap:4px;font-size:var(--d17-text-sm);font-weight:700;color:#1B365D;text-decoration:none;margin-top:auto;padding-top:6px;opacity: .7;transition:opacity .12s ease}.d17-recap-card__read-more:hover{opacity:1;text-decoration:none}.d17-recaps-archive{max-width:720px}.d17-recap-day{margin-bottom:28px}.d17-recap-day__head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px;padding-bottom:6px;border-bottom:2px solid #E2E8F0}.d17-recap-day__date{margin:0;font-size:1.05rem;font-weight:700;color:#1B365D}.d17-recap-day__count{font-size:var(--d17-text-sm);font-weight:600;color:#64748B;text-transform:uppercase;letter-spacing: .03em}.d17-recaps-filter{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.d17-recaps-filter
label{font-weight:600;font-size:var(--d17-text-base);color:#374151}.d17-recaps-filter
select{border:1.5px solid #CBD5E1;border-radius:8px;padding:7px
12px;font-size:var(--d17-text-base);color:#0F172A;background:#fff;cursor:pointer}.d17-recaps-empty{color:#94A3B8;font-style:italic;padding:24px
0}.d17-recaps-archive-link,.d17-recaps-rss-link{margin-top:16px;font-size:var(--d17-text-sm)}.d17-recaps-archive-link a,
.d17-recaps-rss-link
a{color:#00467F;font-weight:600;text-decoration:none}.d17-recaps-archive-link a:hover,
.d17-recaps-rss-link a:hover{text-decoration:underline}.d17-recap-strip{display:grid;grid-template-columns:repeat(4, 1fr);gap:16px}@media (max-width: 900px){.d17-recap-strip{grid-template-columns:repeat(2, 1fr)}}@media (max-width: 560px){.d17-recap-strip{grid-template-columns:1fr}}.d17-recap-strip-card{display:flex;flex-direction:column;border:1px
solid #dbe3ec;border-radius:10px;overflow:hidden;background:#fff;text-decoration:none;transition:box-shadow .15s ease, transform .15s ease}.d17-recap-strip-card:hover{box-shadow:0 6px 18px rgba(27, 54, 93, .12);transform:translateY(-2px)}.d17-recap-strip-card__media{position:relative;aspect-ratio:16 / 10;background:#1b365d}.d17-recap-strip-card__media
img{width:100%;height:100%;object-fit:cover;display:block}.d17-recap-tile{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg, #1b365d, #2c4f7c)}.d17-recap-tile__logo{width:46px;height:46px;object-fit:contain}.d17-recap-tile__score{color:#fff;font-size:1.6rem;font-weight:800;letter-spacing: .02em}.d17-recap-strip-card__body{padding:12px
14px 14px;display:flex;flex-direction:column;gap:6px;flex:1}.d17-recap-strip-card__meta{display:flex;align-items:center;gap:8px}.d17-recap-strip-card__date{font-size:var(--d17-text-xs);font-weight:700;text-transform:uppercase;letter-spacing: .04em;color:#64748b}.d17-recap-strip-card__result{font-size:var(--d17-text-xs);font-weight:800;letter-spacing: .02em;color:#1b365d}.d17-recap-strip-card__result::before{content:"·";margin-right:8px;color:#cbd5e1;font-weight:700}.d17-recap-strip-card__matchup{margin:0;font-size:var(--d17-text-base);line-height:1.25;color:#0f172a}.d17-recap-strip-card__excerpt{margin:0;font-size:var(--d17-text-sm);line-height:1.5;color:#475569}.d17-recap-strip-card__cta{margin-top:auto;font-size:var(--d17-text-sm);font-weight:700;color:#1b365d}.d17-recap-single{max-width:720px;margin:0
auto;padding:0
20px 60px}.d17-recap-single__hero{width:100%;aspect-ratio:16/7;object-fit:cover;border-radius:12px;margin-bottom:24px;display:block}.d17-recap-single__header{margin-bottom:24px}.d17-recap-single__scoreline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.d17-recap-single__teams{font-size:1.4rem;font-weight:800;color:#0F172A;line-height:1.2}.d17-recap-single__score-pill{font-size:1rem;font-weight:700;color:#374151;background:#F1F5F9;padding:4px
14px;border-radius:999px;border:1px
solid #E2E8F0}.d17-recap-single__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:var(--d17-text-sm);color:#64748B}.d17-recap-single__meta
a{color:#00467F;text-decoration:none;font-weight:600}.d17-recap-single__meta a:hover{text-decoration:underline}.d17-recap-single__body{font-size:1rem;line-height:1.75;color:#374151;margin-bottom:24px}.d17-recap-single__body
p{margin-bottom:1em}.d17-recap-single__quote{background:#FFFBF0;border-left:4px solid #C89212;padding:16px
20px;border-radius:0 8px 8px 0;margin:24px
0;font-style:italic;color:#374151;font-size:1.05rem;line-height:1.6}.d17-recap-single__clip{margin:24px
0}.d17-recap-single__back{display:inline-block;color:#00467F;font-weight:600;font-size:var(--d17-text-base);text-decoration:none;margin-top:12px}.d17-recap-single__back:hover{text-decoration:underline}