.contest-catalog{padding-top:120px;padding-bottom:70px;max-width:1200px;overflow-wrap:anywhere}
.contest-catalog h1{margin:12px 0;font-size:clamp(1.8rem,4vw,2.6rem)}
.contest-study{margin:22px 0 12px;padding:20px 24px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary)}
.contest-study-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.contest-study-heading h2{font-size:1.15rem;margin:0}.contest-study-heading p,.contest-study-explain{font-size:.83rem;line-height:1.6;color:var(--text-secondary);margin:7px 0 12px}.contest-study-heading strong{white-space:nowrap}
.contest-study progress{display:block;width:100%;height:12px;accent-color:#326796}.contest-study-overall{margin:14px 0}.contest-study h3{font-size:.95rem;margin:20px 0 10px}.contest-study-row{display:grid;grid-template-columns:minmax(100px,180px) minmax(0,1fr) 115px;gap:14px;align-items:center;padding:6px 0;font-size:.86rem}.contest-study-row strong{text-align:right;font-variant-numeric:tabular-nums}.contest-study button{margin:10px 0}
.contest-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 18px}
.contest-catalog button,.contest-catalog select,.contest-catalog input[type=search]{font:inherit;border:1px solid var(--border-color,#b6c0cd);border-radius:6px;padding:9px 12px;color:var(--text-primary);background:var(--bg-secondary)}
.contest-catalog button{cursor:pointer}.contest-tabs [aria-pressed=true]{background:#244b6b;color:#fff;border-color:#244b6b}
.contest-filters{display:flex;flex-direction:column;gap:18px;padding:24px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px}
.contest-primary-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:18px}
.contest-algorithm-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:14px}
.contest-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.contest-filter-heading>span,.contest-filters small{font-size:.8rem;color:var(--text-secondary);line-height:1.6}
.contest-source-switch{border-bottom:1px solid var(--border-color);padding-bottom:18px}
.contest-source-switch button{margin-right:8px}.contest-source-switch [aria-pressed=true]{background:#244b6b;color:white}
.contest-source-switch p{margin-top:10px;font-size:.85rem;color:var(--text-secondary)}
.contest-year-quick{display:flex;gap:8px}.contest-year-quick button{padding:3px 10px;font-size:.8rem}
.contest-advanced{border-top:1px solid var(--border-color);padding-top:14px;font-size:.85rem;color:var(--text-secondary)}
.contest-advanced summary{cursor:pointer}.contest-advanced .contest-algorithm-fields{margin-top:15px}
.contest-filter-summary{margin-top:20px;padding:12px 16px;background:var(--bg-secondary);border-left:3px solid #326796;font-size:.95rem}
.contest-result-group{margin:24px 0}.contest-result-group h2{font-size:1.05rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;border-bottom:2px solid var(--border-color);padding:12px 0}
.contest-result-group h2 small{font-size:.8rem;font-weight:400;color:var(--text-secondary)}
.contest-empty{padding:30px 0}.contest-empty h2{font-size:1.1rem}.contest-empty p{margin:12px 0}
.contest-catalog [hidden]{display:none!important}#problemGrid[aria-busy=true]{opacity:.45;pointer-events:none}
.contest-filters label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;min-width:0}.contest-filters select{width:100%;min-width:0}
.contest-filters .contest-show-tags{flex-direction:row;align-items:center}.contest-filters button{align-self:end}
.contest-source-note{font-size:.85rem;color:var(--text-secondary);margin:16px 0;line-height:1.8}
.contest-row{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:15px;align-items:center;padding:18px 12px;border-bottom:1px solid var(--border-color)}
.contest-row .problem-pill{display:inline-block;font-weight:700}.contest-row .contest-title{display:block;margin:4px 0;color:var(--text-primary)}
.contest-meta,.contest-tags{font-size:.82rem;color:var(--text-secondary)}.contest-row .problem-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.contest-write-link{white-space:nowrap}.contest-solution-slot:empty{display:none}
.contest-row-locked .contest-title{filter:blur(2px)}.contest-pagination{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:24px}
.contest-catalog button:disabled{opacity:.5;cursor:default}.contest-catalog a{color:var(--accent-color,#326796)}
@media(max-width:640px){.contest-catalog{padding-top:100px}.contest-row{grid-template-columns:minmax(0,1fr) auto}.contest-row>div:first-child{grid-column:1/-1}.contest-filters{padding:12px}.contest-pagination{gap:8px}.contest-study{padding:16px}.contest-study-row{grid-template-columns:minmax(90px,1fr) 100px;gap:6px}.contest-study-row progress{grid-column:1/-1;grid-row:2}.contest-study-row strong{grid-column:2;grid-row:1}}
