:root{--primary:#4f46e5;--primary-dark:#4338ca;--success:#0d9488;--danger:#b91c1c;--warning:#d97706;--gray:#6b7280}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;margin:0;background:#f6f7fb;color:#222;line-height:1.6}@media (prefers-color-scheme:dark){body{background:#111827;color:#f3f4f6}section{background:#1f2937}header{background:#4338ca}.ad{background:#374151;color:#d1d5db;border-color:#4b5563}.course-row{background:#374151}.course-row:hover{background:#4b5563}.result.success{background:#064e3b;color:#6ee7b7;border-color:#065f46}.result.warning{background:#78350f;color:#fcd34d;border-color:#f59e0b}.result.danger{background:#7f1d1d;color:#fca5a5;border-color:#ef4444}input,select{background:#374151;border-color:#4b5563;color:#f3f4f6}}header{background:var(--primary);color:#fff;padding:3rem 1rem;text-align:center}header a{color:white;text-decoration:none}h1{margin:0;font-size:2.5rem}header p{margin:.5rem 0 0;opacity:.9}main{max-width:1000px;margin:0 auto;padding:1rem}section{background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.06);padding:2rem;margin-bottom:2rem}h2{color:var(--primary);border-bottom:2px solid #e0e7ff;padding-bottom:.5rem;margin-top:0}.form-group{margin-bottom:1rem}label{display:block;margin-bottom:.4rem;font-weight:600;color:#374151}input,select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;box-sizing:border-box}input:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(79,70,229,.2)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--primary);outline-offset:2px}button{background:var(--primary);color:white;border:none;padding:.75rem 1.2rem;border-radius:8px;font-size:1rem;cursor:pointer;font-weight:600;margin-right:.5rem}button:hover{background:var(--primary-dark)}button.secondary{background:var(--gray)}button.secondary:hover{background:#4b5563}button.danger{background:var(--danger)}button.danger:hover{background:#991b1b}.result{margin-top:1.5rem;padding:1rem;border-radius:8px;font-size:1.2rem;font-weight:bold;text-align:center;display:none}.result.success{display:block;background:#f0fdfa;color:var(--success);border:1px solid #99f6e4}.result.warning{display:block;background:#fffbeb;color:var(--warning);border:1px solid #fcd34d}.result.danger{display:block;background:#fee2e2;color:var(--danger);border:1px solid #fca5a5}.result.loading{display:block;background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db;animation:pulse 1.5s infinite}.course-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:.75rem;margin-bottom:.75rem;align-items:end}@media (max-width:640px){.course-row{grid-template-columns:1fr}}.add-course{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.ad{background:#eef0f6;padding:1.5rem;text-align:center;margin:2rem 0;border-radius:8px;font-size:.9rem;color:#555}footer{text-align:center;padding:3rem 1rem;color:#666;font-size:.9rem}footer a{color:var(--primary);margin:0 .5rem}.back-link{text-align:center;margin-bottom:1rem}.tool-card{display:block;padding:2rem;background:#f8fafc;border-radius:12px;text-decoration:none;color:#1e293b;transition:transform .2s}.tool-card:hover{transform:translateY(-4px);box-shadow:0 10px 20px rgba(0,0,0,.1)}.skip-to-content{position:absolute;left:-9999px;z-index:999}.skip-to-content:focus{left:10px;top:10px;background:var(--primary);color:white;padding:1rem;border-radius:8px}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}