@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;650;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;color:#242831;background:#f5f6f8;font-synthesis:none;--muted:#747b86;--line:#e7e9ed;--green:#568d22;--lime:#b9f565;--sidebar:#17191e;--ac:#397daf;--cf:#906bd0;--level0:#edf0f2;--level1:#ddf1c2;--level2:#b4dc87;--level3:#87bb54;--level4:#4e8429}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;font-size:16px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}a:hover{color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #6eab34;outline-offset:3px}button:disabled{opacity:.35;cursor:default}[hidden]{display:none!important}.shell{max-width:1800px;margin:auto;min-height:100vh}.sidebar{background:var(--sidebar);color:#fff;position:fixed;top:0;bottom:0;width:224px;padding:35px 24px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font:700 28px/1 'Space Grotesk',sans-serif;letter-spacing:-1px}.brand:hover{color:white}.brand-icon{display:grid;place-items:center;background:var(--lime);color:#17191e;border-radius:10px;width:42px;height:42px;font-size:30px}.brand-caption{font:500 10px/1.7 'DM Sans',sans-serif;letter-spacing:2.4px;display:block;margin-top:5px;color:#a6abb3}.identity{padding:44px 0 28px;border-bottom:1px solid #2c2f35}.avatar{display:grid;place-items:center;width:64px;height:64px;font:500 25px 'Space Grotesk',sans-serif;color:#d5edb5;border-radius:50%;background:#303b29;position:relative;border:1px solid #425038}.avatar span{position:absolute;width:12px;height:12px;border:3px solid var(--sidebar);background:var(--lime);border-radius:50%;right:0;bottom:0}.identity h1{font:600 24px 'Space Grotesk',sans-serif;letter-spacing:-.6px;margin:16px 0 6px}.identity p{font-size:12px;color:#949ba7;margin:0}nav{display:grid;gap:7px;padding-top:25px}.nav-link{padding:12px 14px;font-size:14px;border-radius:8px;display:flex;gap:13px;align-items:center;color:#a5acb8}.nav-link span{font-size:19px;line-height:1}.nav-link:hover{background:#24292b;color:var(--lime)}.nav-link.active{background:#2c3627;color:var(--lime)}.sidebar-bottom{margin-top:auto;padding-top:32px}.eyebrow{text-transform:uppercase;letter-spacing:1.7px;font-size:12px;font-weight:600;margin:0 0 10px;color:var(--muted)}.sidebar-bottom>.eyebrow{font-size:10px;color:#717883}.sidebar-bottom>a{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:7px 0;color:#a4aab5}.sidebar-bottom>a:hover{color:var(--lime)}.sidebar-bottom>a span{color:#67707b}.sidebar-note{border-top:1px solid #2c2f35;margin-top:22px;padding-top:22px;font-size:11px;line-height:2;color:#acb4bd}.muted{color:var(--muted)}.status-dot{width:6px;height:6px;display:inline-block;background:var(--lime);border-radius:50%;margin-right:6px}main{margin-left:224px;padding:0 44px;max-width:1576px}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;letter-spacing:1.3px;color:var(--muted)}#sync-label{letter-spacing:0;font-size:12px}.overview{padding-top:34px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.section-title h2{font-size:31px;letter-spacing:-1.1px;line-height:1.2;margin:0;font-weight:650}.heading-dot{color:#76a843;margin-left:4px}.section-title .eyebrow{font-size:11px;letter-spacing:1.6px}.section-title.compact{margin:34px 0 20px}.section-title.compact h2{font-size:22px;letter-spacing:-.5px}.section-title.compact .eyebrow{font-size:10px;margin-bottom:7px}.segmented{display:flex;border:1px solid #e0e3e8;background:#eaedf0;border-radius:8px;padding:4px;gap:3px;flex-shrink:0}.segmented button{border:0;background:none;color:#747a85;font-size:12px;padding:8px 14px;border-radius:5px;font-weight:500;white-space:nowrap}.segmented button[aria-pressed=true]{background:white;color:#252a31;box-shadow:0 1px 4px #1a20200d}.segmented button:hover{color:var(--green)}.segmented.small button{padding:6px 12px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-card{background:white;border:1px solid var(--line);border-radius:12px;padding:20px 22px;min-height:151px}.stat-card.primary{background:var(--sidebar);border-color:var(--sidebar);color:white}.stat-top{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#747b86}.stat-icon{font-family:'Space Grotesk',sans-serif;font-size:17px;color:#97a386}.primary .stat-top{color:#aeb5bd}.primary .stat-icon{color:var(--lime)}.stat-value{font-family:'Space Grotesk',sans-serif;font-size:40px;font-weight:500;letter-spacing:-2px;line-height:1.3;margin:9px 0 6px;font-variant-numeric:tabular-nums}.stat-value small{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:400;letter-spacing:0;margin-left:8px;color:#a0a7af}.stat-foot{font-size:11px;color:#939aa3}.primary .stat-foot{color:#9da6b1}.primary .stat-value{color:var(--lime)}.profiles{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:17px 0 24px}.profile-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 20px;display:flex;align-items:center;gap:13px;min-width:0}.platform-logo{width:35px;height:35px;border-radius:9px;display:grid;place-items:center;font:600 14px 'Space Grotesk',sans-serif;flex-shrink:0;background:#edf4fa;color:var(--ac)}.platform-logo.codeforces{color:var(--cf);background:#f2edfa}.profile-name{font:600 14px 'DM Sans',sans-serif}.profile-detail{font-size:11px;margin-top:4px;color:var(--muted)}.profile-rating{margin-left:auto;text-align:right}.profile-rating strong{font:600 20px 'Space Grotesk',sans-serif}.profile-rating small{font-size:10px;color:var(--muted);display:block}.profile-link{color:#929aa4;margin-left:4px}.panel{border:1px solid var(--line);border-radius:12px;background:white;overflow:hidden}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:22px 24px 18px}.panel-heading h3{font-size:16px;font-weight:600;letter-spacing:-.3px;margin:0}.panel-heading p{font-size:12px;color:var(--muted);margin:5px 0 0}.select-wrap{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}select{background:#fff;border:1px solid #dfe3e8;border-radius:6px;padding:7px 27px 7px 10px;font-size:12px;color:#424b57}select:focus{border-color:#92b56b}.heatmap-scroll{overflow-x:auto;padding:0 24px 5px}.heatmap{display:grid;grid-template-columns:24px repeat(54,minmax(10px,1fr));grid-template-rows:20px repeat(7,12px);gap:4px;min-width:750px}.heatmap .day{padding:0;border:0;border-radius:2px;background:var(--level0);width:100%;height:100%;transition:transform .12s}.heatmap .day:hover{transform:scale(1.3);outline:1px solid #4e8429;z-index:1}.heatmap .day.selected{outline:2px solid #303828;outline-offset:1px}.heatmap .day.future{opacity:.25;cursor:default}.month-label{font-size:10px;white-space:nowrap;color:var(--muted);align-self:start}.weekday-label{font-size:9px;line-height:12px;color:#9299a2}.heatmap [data-level="1"],.heatmap-legend [data-level="1"]{background:var(--level1)}.heatmap [data-level="2"],.heatmap-legend [data-level="2"]{background:var(--level2)}.heatmap [data-level="3"],.heatmap-legend [data-level="3"]{background:var(--level3)}.heatmap [data-level="4"],.heatmap-legend [data-level="4"]{background:var(--level4)}.heatmap-footer{display:flex;justify-content:space-between;gap:15px;padding:15px 24px 22px;color:#969da5;font-size:11px}.heatmap-legend{display:flex;align-items:center;gap:4px}.heatmap-legend i{width:10px;height:10px;border-radius:2px;background:var(--level0)}.heatmap-legend span:first-child{margin-right:3px}.heatmap-legend span:last-child{margin-left:3px}.date-controls{display:flex;align-items:center;gap:7px}input[type=date]{border:1px solid #dce1e7;border-radius:6px;background:#fff;padding:6px 10px;color:#4b535f;font-size:12px;min-height:34px}.icon-button{border:1px solid #dce1e7;background:#fff;border-radius:6px;width:32px;height:34px}.icon-button:hover,.text-button:hover{background:#eff5e9;color:var(--green)}.text-button{font-size:12px;border:1px solid #dfe3e8;background:white;border-radius:6px;padding:7px 11px}.daily-panel .panel-heading{border-bottom:1px solid #eef0f2}.daily-row{display:grid;grid-template-columns:68px 35px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 24px;border-bottom:1px solid #f0f1f4}.daily-row:last-child{border-bottom:0}.daily-time{font:500 13px 'Space Grotesk',sans-serif;color:#7c8591}.daily-row .platform-logo{width:30px;height:30px;border-radius:7px;font-size:11px}.problem-name{font-size:14px;font-weight:500;line-height:1.4}.problem-name:hover{color:#568d22}.problem-meta{font-size:11px;color:#969da6;margin-top:4px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.problem-index{font-family:'Space Grotesk',sans-serif;color:#747f8b}.ac-badge{font:500 11px 'Space Grotesk',sans-serif;background:#eef7e5;color:#54842c;padding:4px 7px;border-radius:4px;white-space:nowrap}.repeat-badge{background:#f0f2f5;color:#7c8591}.empty-state{padding:40px 24px;text-align:center;color:#9aa1a9;font-size:13px}.empty-state strong{display:block;color:#606975;font-weight:500;margin-bottom:5px}.progress-legend{display:flex;align-items:center;gap:6px;font-size:11px;color:#9098a2}.progress-legend i{width:8px;height:8px;border-radius:2px;margin-left:9px}.solved-key{background:#b4dc87}.attempted-key{background:#f1cf83}.unseen-key{background:#e7eaef}.contest-toolbar{padding:18px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}.search-field{display:flex;align-items:center;gap:8px;color:#9ba3ad;max-width:330px;width:100%}.search-field span{font-size:22px}.search-field input{border:0;outline:0;background:transparent;font-size:13px;width:100%;min-width:70px;padding:5px}.search-field:focus-within{outline:2px solid #92b56b;outline-offset:5px;border-radius:4px}.search-field input::placeholder{color:#9ba3ad}.contest-selects{display:flex;gap:8px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;table-layout:fixed;min-width:700px}th{padding:12px 24px;background:#fafbfc;color:#9098a2;font-size:11px;font-weight:500}th:first-child{width:37%}th:last-child{width:16%;text-align:right}td{padding:17px 24px;border-bottom:1px solid #eef0f3;font-size:13px;vertical-align:middle}tr:last-child td{border-bottom:0}.contest-name{font-size:13px;font-weight:500;display:block}.contest-meta{margin-top:5px;color:#929ba6;font-size:10px}.platform-tag{font-size:9px;color:var(--ac);background:#edf4fa;padding:2px 5px;border-radius:3px;margin-right:7px}.platform-tag.codeforces{color:var(--cf);background:#f3eef9}.problem-cells{display:flex;flex-wrap:wrap;gap:5px}.problem-cell{display:grid;place-items:center;width:29px;height:29px;border-radius:5px;border:1px solid #e9ecf0;background:#f3f5f7;color:#a0a8b2;font:500 11px 'Space Grotesk',sans-serif}.problem-cell.solved{background:#e7f3d9;color:#53842c;border-color:#d6e9bf}.problem-cell.attempted{background:#fff4db;color:#b78932;border-color:#f6e5ba}.problem-cell:hover{border-color:currentColor;transform:translateY(-1px)}.contest-progress{text-align:right;font:500 12px 'Space Grotesk',sans-serif;color:#5a6674}.contest-progress.completed{color:#659538}.progress-track{height:3px;border-radius:2px;background:#edf0f2;margin-top:8px;width:65px;margin-left:auto}.progress-track span{display:block;background:#91bd64;height:100%;border-radius:2px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 24px;border-top:1px solid var(--line);font-size:11px;color:#939ca7}.pagination>div{display:flex;align-items:center;gap:12px}.pagination .text-button{font-size:11px;border:0}.pagination #page-label{font-family:'Space Grotesk',sans-serif}footer{display:flex;justify-content:space-between;gap:14px;padding:26px 0;color:#a1a8b1;font-size:10px}footer p{margin:0}footer span{margin:0 7px}.error-banner,.source-warning{background:#fff5df;border:1px solid #eddbac;color:#86602b;font-size:13px;border-radius:8px;padding:12px 16px;margin:15px 0}.loading-state{padding:120px 20px;text-align:center;color:var(--muted);font-size:14px}.loader{display:inline-block;width:25px;height:25px;border:3px solid #e1e7d9;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}.skip-link{position:fixed;left:20px;top:-100px;background:white;color:#242831;padding:10px;z-index:10}.skip-link:focus{top:10px}.section-anchor{scroll-margin-top:28px}@keyframes spin{to{transform:rotate(360deg)}}
.avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.platform-logo.qoj,.platform-tag.qoj{color:#a25b22;background:#fbf0e5}
.profiles{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.scope-note{font-size:13px;color:var(--muted);margin:-8px 0 16px}
@media(max-width:680px){#platform-filter button{font-size:12px;padding:8px}}
/* Keep routine text readable without enlarging the compact data grid. */
.identity p,.nav-link,.profile-detail,.profile-name,.select-wrap,select,.segmented button,.panel-heading p,.date-controls input,.text-button,.problem-meta,.search-field input,.contest-name{font-size:14px}.topbar,#sync-label,.sidebar-bottom>a,.sidebar-note,.stat-foot,.heatmap-footer,.daily-time,.contest-meta,.pagination,footer{font-size:12px}.stat-top{font-size:14px}.profile-rating small,.problem-cell,.ac-badge,th,.progress-legend,.pagination .text-button{font-size:12px}.stat-value small{font-size:14px}.problem-name{font-size:16px}
@media(min-width:1650px){.sidebar{width:240px}main{margin-left:240px;padding:0 60px}.heatmap{grid-template-rows:20px repeat(7,15px)}}
@media(max-width:1200px){.sidebar{width:192px;padding:30px 20px}main{margin-left:192px;padding:0 26px}.stats-grid{gap:10px}.stat-card{padding:17px 16px}.stat-value{font-size:34px}.segmented button{padding:8px 10px}.profile-card{padding:14px}.profile-detail{font-size:12px}.contest-toolbar{padding:15px 18px}td,th{padding-left:18px;padding-right:18px}.section-title{gap:12px}.progress-legend{font-size:11px}footer{flex-direction:column;gap:6px}}
@media(max-width:950px){.section-title{align-items:flex-start;flex-wrap:wrap}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card{min-height:135px}.profiles{grid-template-columns:1fr}.profile-card{padding:14px 18px}.profile-detail{font-size:14px}.contest-toolbar{flex-wrap:wrap}.contest-selects{margin-left:auto}.panel-heading{padding:20px}.heatmap-scroll{padding-left:20px;padding-right:20px}.heatmap-footer{padding-left:20px;padding-right:20px}.daily-row{padding-left:20px;padding-right:20px}}
@media(max-width:680px){.sidebar{position:relative;width:100%;padding:16px 20px;display:flex;flex-direction:row;align-items:center;gap:15px}.brand{font-size:23px}.brand-icon{width:35px;height:35px;font-size:24px}.brand-caption{font-size:8px}.identity,.sidebar-bottom{display:none}nav{margin-left:auto;padding:0;display:flex;gap:3px}.nav-link{padding:8px;font-size:12px}.nav-link span{display:none}.nav-link.active{background:transparent;color:var(--lime)}main{margin:0;padding:0 18px}.topbar{height:56px;font-size:9px;letter-spacing:.6px;align-items:center}.topbar>span:first-child{display:none}#sync-label{font-size:11px}.overview{padding-top:25px}.section-title{margin-bottom:20px}.section-title h2{font-size:28px}.section-title .segmented{width:100%;margin-top:4px}.section-title .segmented button{flex:1}.stats-grid{gap:10px}.stat-card{padding:16px;min-height:140px}.stat-top{font-size:13px}.stat-value{font-size:34px}.stat-foot{font-size:11px}.profiles{margin-top:12px;gap:10px}.profile-detail{font-size:12px}.panel-heading{padding:18px 16px}.panel-heading h3{font-size:15px}.panel-heading p{font-size:12px}.heatmap-scroll{padding:0 16px 6px}.heatmap-footer{padding:12px 16px 18px;font-size:10px;flex-wrap:wrap}.section-title.compact{margin-top:28px}.section-title.compact h2{font-size:21px}.date-controls{gap:4px}.date-controls input{font-size:12px;max-width:137px;padding:5px}.date-controls .text-button{padding:6px 8px;font-size:12px}.icon-button{width:28px}.daily-row{padding:14px 16px;grid-template-columns:45px 26px minmax(0,1fr);gap:9px}.daily-row .platform-logo{width:26px;height:26px;font-size:9px}.daily-time{font-size:11px}.problem-name{font-size:14px}.problem-meta{font-size:12px}.daily-row>.ac-badge{grid-column:3;justify-self:start;margin-top:-4px}.segmented.small button{padding:5px 8px;font-size:12px}.progress-legend{font-size:10px;gap:4px}.progress-legend i:first-child{margin-left:0}.contest-toolbar{padding:12px 16px;gap:10px}.search-field{max-width:none}.contest-selects{width:100%;margin-left:0}.contest-selects select{flex:1;min-width:0;font-size:12px}.pagination{padding:12px;flex-wrap:wrap}.pagination>div{margin-left:auto;gap:8px}footer{font-size:11px;padding-bottom:30px}.section-title.compact .eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* A single continuous page, with the profile and sources in a compact header. */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1240px;margin:0 auto;padding:28px 32px 16px}
.profile-heading{display:flex;align-items:center;gap:14px}.profile-heading .avatar{width:48px;height:48px;flex-shrink:0}.profile-heading h1{font:600 24px/1.2 'Space Grotesk',sans-serif;letter-spacing:-.6px;margin:0}.profile-heading p{font-size:11px;letter-spacing:2px;color:var(--muted);margin:5px 0 0}
.source-links{display:flex;align-items:center;flex-wrap:wrap;gap:20px;font-size:14px;color:var(--muted)}
main{margin:0 auto;max-width:1240px;padding:0 32px}.topbar{height:48px}
@media(max-width:680px){.site-header{padding:20px 18px 8px;gap:16px;flex-wrap:wrap}.source-links{gap:16px;font-size:12px}main{margin:0 auto;padding:0 18px}.profile-heading h1{font-size:22px}}
.platform-logo.luogu,.platform-tag.luogu{color:#267d99;background:#e9f5fa}
#platform-filter{flex-wrap:wrap}
.undated-panel{margin-top:28px}
.undated-panel summary{cursor:pointer;padding:20px 24px;font-size:16px}
.undated-panel summary span{font-size:12px;color:var(--muted);margin-left:16px}
.undated-panel>.scope-note{margin:0;padding:0 24px 16px}
.undated-panel>.search-field{margin:0 24px 12px;max-width:calc(100% - 48px)}
.undated-row{display:grid;grid-template-columns:35px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 24px;border-top:1px solid var(--line)}
.undated-row .ac-badge{font-size:13px}
summary:focus-visible{outline:3px solid #6eab34;outline-offset:-4px}
@media(max-width:680px){.undated-panel summary{padding:18px 16px}.undated-panel summary span{display:block;margin:5px 0 0}.undated-row{padding:14px 16px;grid-template-columns:30px minmax(0,1fr) auto;gap:10px}.undated-panel>.scope-note{padding:0 16px 14px}.undated-panel>.search-field{margin:0 16px 12px;max-width:calc(100% - 32px)}}

/* One continuous progress chart replaces the four statistic cards. */
.trend-panel{padding:24px 26px 20px;overflow:hidden}
.trend-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}
.trend-title{font-size:14px;font-weight:500;color:var(--muted);margin:0 0 8px}
.trend-total{font:600 44px/1.1 'Space Grotesk',sans-serif;letter-spacing:-1.5px;color:#242831}
.trend-total small{font:400 14px sans-serif;color:var(--muted);margin-left:8px;letter-spacing:0}
.trend-platforms{font-size:12px;color:var(--muted);margin:10px 0 0;line-height:1.6}
.trend-summary{display:flex;flex-wrap:wrap;gap:12px 22px;color:var(--muted);font-size:14px}
.trend-summary strong{color:#242831;font:600 18px 'Space Grotesk',sans-serif;margin:0 3px}
.trend-plot{margin-top:22px;min-width:0;height:240px;cursor:crosshair;touch-action:pan-y;border-radius:4px}
.trend-plot svg{display:block;width:100%;height:240px;overflow:visible}
.trend-plot:focus-visible{outline:2px solid var(--green);outline-offset:5px}
.trend-grid{stroke:#edf0f2;stroke-width:1}
.trend-axis{fill:#78828d;font:12px 'Space Grotesk',sans-serif}
.trend-area{fill:#eff6e8}
.trend-line{fill:none;stroke:#70a345;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.trend-guide{stroke:#b6c9a3;stroke-width:1;stroke-dasharray:3 4}
.trend-dot{fill:#70a345;stroke:white;stroke-width:2.5}
.trend-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;margin-top:14px;font-size:12px;line-height:1.6}
.trend-readout{color:#50613f;font-variant-numeric:tabular-nums}
.trend-note{color:var(--muted)}
@media(max-width:680px){.trend-panel{padding:20px 16px 16px}.trend-heading{align-items:flex-start;flex-direction:column;gap:16px}.trend-total{font-size:38px}.trend-summary{gap:12px 18px;font-size:13px}.trend-summary strong{font-size:16px}.trend-plot{margin-top:14px}.trend-footer{margin-top:10px}}

.platform-logo.nowcoder,.platform-tag.nowcoder{color:#796118;background:#fff6ce}

/* Contest rows use aligned problem columns, including split A1 / A2 tasks. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contest-matrix{min-width:calc(204px + var(--task-columns,8)*116px);table-layout:fixed;border-collapse:separate;border-spacing:0}
.contest-matrix thead th{width:auto;padding:12px 10px;text-align:center;background:#f3f6f3;color:#626f62;font:600 13px 'Space Grotesk',sans-serif;border-bottom:1px solid #dce5d9;border-right:1px solid #e4e9e2}
.contest-matrix .matrix-contest-heading{width:204px;text-align:left;padding-left:16px;position:sticky;left:0;z-index:2}
.contest-matrix .matrix-contest{width:204px;position:sticky;left:0;z-index:1;background:#fff;text-align:left;vertical-align:top;padding:14px 16px;border-right:1px solid #dce5d9;border-bottom:1px solid #e4e9e2;font-weight:400}
.matrix-contest .contest-name{font-size:14px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}
.matrix-contest .contest-meta{font-size:11px;line-height:1.7;margin-top:7px}
.matrix-contest-detail{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;margin-top:5px;font-size:11px;color:#879183;font-variant-numeric:tabular-nums}
.matrix-completion{color:#65715f}.matrix-completion.complete{color:#438324;font-weight:600}
.matrix-catalog-note{display:block;font-size:11px;color:#9c803f;margin-top:5px}
.contest-matrix .matrix-cell{padding:0;vertical-align:top;border-right:1px solid #e4e9e2;border-bottom:1px solid #e4e9e2;background:white}
.matrix-task{display:flex;flex-direction:column;justify-content:space-between;gap:9px;min-height:82px;padding:12px 10px;line-height:1.45;color:#4f594e;overflow-wrap:anywhere}
.matrix-task+.matrix-task{border-top:1px solid #dce5d9}
.matrix-task-name{font-size:14px}.matrix-task-info{display:flex;align-items:center;justify-content:space-between;min-height:16px;font-size:11px;font-variant-numeric:tabular-nums;color:#7c8874}
.matrix-check{margin-left:auto;font-size:14px;line-height:1;font-weight:700;color:#538438}
.matrix-cell.solved,.matrix-task.solved{background:#e2f2d9}.matrix-task.solved{color:#3c6729}
.matrix-cell.attempted,.matrix-task.attempted{background:#fff3cd}.matrix-task.attempted{color:#806426}
.matrix-task:hover .matrix-task-name{text-decoration:underline;text-underline-offset:3px}.matrix-task:hover{filter:brightness(.97);color:inherit}
.matrix-task:focus-visible{position:relative;z-index:3;outline-offset:-3px}
.matrix-gap{display:block;padding:24px 10px;text-align:center;color:#d5dcd1;font-size:14px}
.contest-matrix tbody tr:last-child td,.contest-matrix tbody tr:last-child th{border-bottom:0}
@media(max-width:680px){.contest-matrix{min-width:calc(152px + var(--task-columns,8)*116px)}.contest-matrix .matrix-contest-heading,.contest-matrix .matrix-contest{width:152px;padding-left:12px;padding-right:12px}.matrix-contest .contest-name{font-size:14px}.matrix-task{padding:11px 9px}.matrix-contest-detail{display:block}.matrix-completion{display:block;margin-top:3px}}
