:root{--primary:#84cbff;--success:#2ecc71;--warning:#f39c12;--danger:#e74c3c;--light:#f8f9fa;--dark:#343a40;--gray:#6c757d;--bg-color:#f5f7fa;--card-bg:#ffffff;--text:#2c3e50;--border:#e1e8ed}
*{margin:0;padding:0;box-sizing:border-box;font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif}
body{background-color:var(--bg-color);color:var(--text);line-height:1.6;padding:20px}
.container{max-width:1200px;margin:0 auto}
header{text-align:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,var(--primary),#1e9fff);color:white;border-radius:10px;box-shadow:0 4px 6px rgba(0,0,0,0.1)}
h1{font-size:2.2rem;margin-bottom:10px}
.subtitle{font-size:1.1rem;opacity:0.9}
.week-plan{background-color:var(--card-bg);border-radius:10px;padding:25px;margin-bottom:30px;box-shadow:0 4px 6px rgba(0,0,0,0.05)}
table{width:100%;border-collapse:collapse;margin:20px 0}
th,td{padding:12px 15px;text-align:left;border-bottom:1px solid var(--border)}
th{background-color:#f1f8ff;font-weight:600}
tr:hover{background-color:#f9f9f9}
.status{display:inline-block;width:24px;height:24px;border-radius:50%;text-align:center;line-height:24px;font-weight:bold}
.status.completed{background-color:var(--success);color:white}
.status.pending{background-color:var(--warning);color:white}
.status.not-started{background-color:#ddd;color:#777}
.progress-section{background-color:var(--card-bg);border-radius:10px;padding:25px;margin-bottom:30px;box-shadow:0 4px 6px rgba(0,0,0,0.05)}
.progress-bar{height:6px;background-color:#e9ecef;border-radius:10px;margin:10px 0;overflow:hidden}
.progress-fill{height:100%;border-radius:10px;transition:width 0.5s ease-in-out}
.progress-info{display:flex;justify-content:space-between;margin-top:5px;font-size:0.5rem;color:var(--gray)}
.overall-progress{text-align:center;margin-top:20px;padding:15px;background:linear-gradient(135deg,#fdebce 0%,#e7773c 100%);color:white;border-radius:10px}
.overall-progress h3{margin-bottom:10px}
.module-tag{display:inline-block;padding:3px 8px;border-radius:4px;font-size:0.8rem;margin-right:5px}
.books{background-color:#e3f2fd;color:#1565c0}
.giter{background-color:#e8f5e9;color:#2e7d32}
.tools{background-color:#fff3e0;color:#ef6c00}
.system{background-color:#f3e5f5;color:#7b1fa2}
.coding{background-color:#e0f2f1;color:#00695c}
.docker{background-color:#e8eaf6;color:#283593}
.review{background-color:#fff8e1;color:#ff8f00}
@media (max-width:768px){table{display:block;overflow-x:auto}
th,td{padding:8px 10px}
}