.lc-dashboard-grid{grid-template-columns:1.2fr 1fr;gap:20px;padding-bottom:80px;display:grid}.lc-col{flex-direction:column;gap:20px;display:flex}.lc-row-split{grid-template-columns:1fr 1fr;gap:20px;display:grid}.lc-card{background:color-mix(in srgb, var(--surface) 60%, transparent);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;padding:24px}.lc-card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.lc-card-header h3{color:var(--text);margin:0;font-size:16px}.lc-card-header span{font-family:var(--font-mono);color:var(--muted);font-size:12px}.lc-hero{flex-direction:column;gap:24px;display:flex}.lc-hero-header{align-items:center;gap:20px;display:flex}.lc-avatar{border:1px solid var(--line);border-radius:16px;width:72px;height:72px}.lc-hero-header h2{margin:0 0 4px;font-size:24px}.lc-username{font-family:var(--font-mono);color:var(--green);font-size:14px;text-decoration:none}.lc-hero-stats{flex-wrap:wrap;gap:24px;display:flex}.lc-hero-stat{flex-direction:column;gap:4px;display:flex}.lc-hero-stat span{color:var(--muted);font-size:12px}.lc-hero-stat strong{font-size:20px;font-weight:600;font-family:var(--font-mono)}.lc-progress-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.lc-progress-wrapper{width:140px;height:140px;margin-bottom:16px;position:relative}.lc-progress-svg{width:100%;height:100%;transform:rotate(-90deg)}.lc-progress-bg{fill:none;stroke:var(--line);stroke-width:8px}.lc-progress-bar{fill:none;stroke:var(--green);stroke-width:8px;stroke-linecap:round}.lc-progress-text{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.lc-progress-text strong{font-size:28px;font-weight:600;font-family:var(--font-mono)}.lc-progress-text span{color:var(--muted);font-size:12px}.lc-progress-footer{color:var(--muted);font-size:13px}.lc-progress-footer span{color:var(--green);font-weight:500}.lc-stats-breakdown{flex-direction:column;justify-content:center;gap:16px;display:flex}.lc-stat-row{flex-direction:column;gap:6px;display:flex}.lc-stat-info{font-size:13px;font-family:var(--font-mono);justify-content:space-between;display:flex}.lc-stat-info strong{color:var(--text)}.lc-stat-info small{color:var(--muted)}.lc-stat-bar-bg{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.lc-stat-bar-fill{border-radius:3px;height:100%}.lc-sub-list,.lc-contest-list{flex-direction:column;gap:12px;display:flex}.lc-sub-row,.lc-contest-row{background:color-mix(in srgb, var(--surface-2) 40%, transparent);border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;padding:12px 16px;text-decoration:none;transition:border-color .2s;display:flex}.lc-sub-row:hover{border-color:color-mix(in srgb, var(--green) 40%, var(--line))}.lc-sub-info,.lc-contest-info{flex-direction:column;gap:4px;display:flex}.lc-sub-info strong,.lc-contest-info strong{color:var(--text);font-size:14px}.lc-sub-lang{color:var(--muted);font-size:12px;font-family:var(--font-mono)}.lc-sub-meta,.lc-contest-stats{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.lc-status{border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600}.status-ac{color:var(--green);background:color-mix(in srgb, var(--green) 15%, transparent)}.status-tle{color:var(--orange);background:color-mix(in srgb, var(--orange) 15%, transparent)}.status-err{color:#ff4b4b;background:#ff4b4b26}.lc-sub-meta small,.lc-contest-info small{color:var(--muted);font-size:12px}.lc-contest-stats span{font-size:13px;font-family:var(--font-mono);color:var(--text)}.lc-contest-percent{color:var(--green)!important}.lc-badge.rating{background:color-mix(in srgb, var(--blue) 15%, transparent);color:var(--blue);border-radius:6px;padding:4px 8px}.lc-heatmap-grid{grid-template-columns:repeat(12,1fr);gap:4px;margin-bottom:16px;display:grid}.lc-heatmap-cell{aspect-ratio:1;background:color-mix(in srgb, var(--surface-2) 60%, transparent);border:1px solid var(--line);border-radius:4px}.lc-heatmap-cell.level-1{background:color-mix(in srgb, var(--green) 30%, transparent);border-color:color-mix(in srgb, var(--green) 40%, transparent)}.lc-heatmap-cell.level-2{background:color-mix(in srgb, var(--green) 50%, transparent);border-color:color-mix(in srgb, var(--green) 60%, transparent)}.lc-heatmap-cell.level-3{background:color-mix(in srgb, var(--green) 75%, transparent);border-color:color-mix(in srgb, var(--green) 85%, transparent)}.lc-heatmap-cell.level-4{background:var(--green);border-color:var(--green)}.lc-heatmap-legend{color:var(--muted);justify-content:flex-end;align-items:center;gap:4px;font-size:11px;display:flex}.lc-heatmap-legend .lc-heatmap-cell{width:12px;height:12px}.lc-badge-grid{flex-wrap:wrap;gap:12px;display:flex}.lc-badge-item{background:color-mix(in srgb, var(--surface-2) 50%, transparent);border:1px solid var(--line);cursor:pointer;border-radius:12px;place-items:center;width:56px;height:56px;transition:transform .2s,box-shadow .2s;display:grid;position:relative}.lc-badge-item img{object-fit:contain;width:40px;height:40px}.lc-badge-item:hover{border-color:var(--green);transform:translateY(-2px);box-shadow:0 8px 16px #0003}.lc-badge-tooltip{background:var(--surface-2);color:var(--text);white-space:nowrap;opacity:0;pointer-events:none;border:1px solid var(--line);border-radius:4px;padding:4px 8px;font-size:11px;transition:opacity .2s;position:absolute;bottom:110%;left:50%;transform:translate(-50%)}.lc-badge-item:hover .lc-badge-tooltip{opacity:1}.lc-cloud-container{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:12px 0;display:flex}.lc-topic-tag{color:var(--text);cursor:default;align-items:center;gap:6px;font-weight:500;transition:opacity .2s;display:flex}.lc-topic-tag:hover{color:var(--green);opacity:1!important}.lc-topic-count{background:var(--surface-2);font-size:11px;font-family:var(--font-mono);border-radius:10px;padding:2px 6px}@media (max-width:900px){.lc-dashboard-grid{grid-template-columns:1fr;gap:16px;padding-bottom:60px}.lc-row-split{grid-template-columns:1fr;gap:16px}.lc-card{border-radius:16px;padding:18px}.lc-hero-header{flex-direction:column;align-items:flex-start;gap:12px}.lc-hero-stats{gap:16px}}
