:root{--white:#ffffff;--gray-100:#fdf1e5;--gray-200:#f6e4d9;--gray-300:#e6d3c5;--gray-400:#d5c3b6;--gray-500:#b9a899;--gray-600:#9e8c7f;--gray-700:#a78d7c;--gray-800:#6b4e43;--gray-900:#44251e;--black:#000000;--primary:#f2644c;--secondary:#f3964d;--success:#56cc9d;--info:#6cc3d5;--warning:#ffce67;--danger:#ff7851;--light:var(--gray-100);--dark:var(--gray-900);--border-radius:0.4rem;--border-radius-lg:0.6rem;--border-radius-sm:0.3rem}*{box-sizing:border-box}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,sans-serif;background-color:var(--gray-100);color:var(--gray-800);margin:0;line-height:1.6}.table-container{width:100%;margin:50px auto 0;background:var(--white);border-radius:var(--border-radius-lg);box-shadow:0 4px 6px -1px rgba(68,37,30,.1),0 2px 4px -1px rgba(68,37,30,6%);overflow:hidden}.table-title{font-family:montserrat,-apple-system,system-ui,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,sans-serif;font-weight:700;font-size:1.875rem;color:var(--gray-900);text-align:center;margin:0;padding:2rem 1.5rem 1.5rem;background:linear-gradient(135deg,var(--gray-100) 0%,var(--gray-200) 100%);border-bottom:1px solid var(--gray-300)}.table-wrapper{overflow-x:auto;padding:0;-webkit-overflow-scrolling:touch}.course-table{width:100%;min-width:800px;border-collapse:collapse;font-size:.875rem;background-color:var(--white);margin-top:0!important;margin-bottom:0!important;table-layout:fixed}.course-table thead{background:linear-gradient(135deg,var(--gray-900) 0%,var(--gray-800) 100%);position:sticky;top:0;z-index:10}.course-table thead th{background-color:var(--gray-400);color:var(--black);font-family:montserrat,-apple-system,system-ui,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,sans-serif;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;padding:.7rem .75rem;text-align:left;border-right:1px solid rgba(255,255,255,.1)}.course-table thead th:nth-child(1){width:40px}.course-table thead th:nth-child(2){width:180px}.course-table thead th:nth-child(3){width:150px}.course-table thead th:nth-child(4){width:160px}.course-table thead th:nth-child(5),.course-table tbody td:nth-child(5){width:330px;border-right:none}.course-table tbody tr{transition:background-color .2s ease}.monday-row{background-color:var(--white)}.wednesday-row{background-color:var(--gray-100)}.course-table td{border-right:1px solid var(--gray-300);border-bottom:1px solid var(--gray-300);vertical-align:middle;transition:all .2s ease;padding:.5rem .75rem}.course-table td:last-child{border-right:none}.week-cell{font-weight:600;font-size:1.125rem;text-align:center;color:var(--gray-900);position:relative}.topic-cell{font-weight:600;color:var(--gray-900);position:relative;white-space:normal!important;overflow-wrap:break-word}.keywords{font-size:.8em;color:#a9a3a3}.topic-cell::after{content:'';position:absolute;left:0;top:0;bottom:0;width:4px}.worksheet-cell{text-align:center}.course-table td:last-child{min-width:200px}.worksheet-link{display:inline-block;padding:.5rem .7rem;background:var(--gray-700);color:var(--white);text-decoration:none;border-radius:var(--border-radius);font-weight:500;font-size:.8rem;transition:all .3s ease;box-shadow:0 2px 4px rgba(185,168,153,.2)}.worksheet-link:hover{background:var(--gray-600);transform:translateY(-1px);box-shadow:0 3px 6px rgba(185,168,153,.3);text-decoration:none}.worksheet-link-active{display:inline-block;padding:.5rem .7rem;background:linear-gradient(135deg,var(--success) 0%,var(--info) 100%);color:var(--white);text-decoration:none;border-radius:var(--border-radius);font-weight:500;font-size:.8rem;transition:all .3s ease;box-shadow:0 2px 4px rgba(242,100,76,.2);position:relative;overflow:hidden}.worksheet-link-active:hover{box-shadow:0 4px 8px rgba(242,100,76,.3);text-decoration:none}.worksheet-link-active::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.worksheet-link-active:hover::after{left:100%}.coming-soon{display:inline-block;padding:.5rem 1rem;background-color:var(--gray-400);color:var(--white);border-radius:var(--border-radius);font-size:.8rem;font-weight:500}@keyframes pulse-exam{0%,100%{transform:scale(1);box-shadow:0 1px 3px rgba(0,0,0,.1)}50%{transform:scale(1.05);box-shadow:0 2px 6px rgba(255,120,81,.3)}}@media(max-width:1199px){.table-container{margin-left:10px;margin-right:10px;border-radius:var(--border-radius)}}@media(min-width:1200px){.table-container{width:calc(100% + 8rem);margin-left:calc(-4rem);margin-right:calc(-4rem)}}@media(min-width:1400px){.table-container{width:calc(100% + 16rem);margin-left:calc(-8rem);margin-right:calc(-8rem)}}@media(max-width:768px){.table-title{font-size:1.5rem;padding:1.5rem 1rem 1rem}.course-table{font-size:.8rem;min-width:700px}.course-table th,.course-table td{padding:.5rem .4rem}}@media(max-width:480px){.course-table{font-size:.75rem;min-width:600px}.course-table th,.course-table td{padding:.4rem .3rem}.table-title{font-size:1.25rem}}.staff-container{width:100%;max-width:1200px;margin-bottom:40px}.staff-container h2{font-size:1.75rem;color:var(--gray-900);border-bottom:2px solid var(--gray-300);padding-bottom:.5rem;margin-top:2rem;margin-bottom:1.5rem}.staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;justify-items:center}.staff-card{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,8%);text-align:center;padding:1rem;width:100%;max-width:220px;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;display:flex;flex-direction:column;align-items:center}.staff-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px rgba(0,0,0,.12)}.staff-card>.profile{width:120px;height:120px;object-fit:cover;border-radius:50%;margin-bottom:1rem;border:3px solid #e9ecef}.staff-card .name{font-size:1.1rem;font-weight:600;margin:0}.staff-card .role{font-size:.9rem;color:#495057;background-color:var(--info);border-radius:20px;padding:.2rem .6rem;margin-top:.5rem;margin-bottom:.75rem;display:inline-block}.staff-card #instructor{font-size:.9rem;color:#495057;background-color:var(--warning);border-radius:20px;padding:.2rem .6rem;margin-top:.5rem;margin-bottom:.75rem;display:inline-block}.staff-card .email{font-size:.85rem;color:#6c757d;text-decoration:none;word-break:break-all}.staff-card .email:hover{color:#005a9c;text-decoration:underline}