:root{--primary-color: #3b82f6;--primary-hover: #2563eb;--bg-color: #f8fafc;--card-bg: #ffffff;--text-color: #1e293b;--text-muted: #64748b;--border-radius: 12px;--shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--font-family: "Inter", system-ui, -apple-system, sans-serif}:root.dark,body.dark{--bg-color: #0b1220;--card-bg: #071022;--text-color: #e6eef8;--text-muted: #9fb0c9;--primary-color: #60a5fa;--primary-hover: #3b82f6;--shadow: 0 6px 18px -8px rgb(0 0 0 / .6)}body{margin:0;font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-color);line-height:1.6}.container{max-width:800px;margin:0 auto;padding:2rem}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1100px;margin:0 auto;padding:1rem 1.25rem}.site-brand{display:flex;align-items:center}.brand-link{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:inherit}.brand-mark{color:var(--primary-color)}.site-title{font-weight:700;font-size:1.125rem}.site-actions{display:flex;align-items:center;gap:.5rem}.theme-toggle{background:transparent;border:1px solid rgba(15,23,42,.06);color:inherit;padding:.5rem;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.theme-toggle:focus{outline:2px solid rgba(59,130,246,.25)}.hero,.page-header{text-align:center;margin-bottom:3rem}.hero .cta{margin-top:1rem;display:inline-flex;background:var(--primary-color);color:#fff;padding:.6rem 1rem;border-radius:999px;text-decoration:none;align-items:center;gap:.6rem;box-shadow:0 6px 18px -6px #3b82f659}.hero .cta:hover{background:var(--primary-hover)}h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;color:#0f172a}p{color:var(--text-muted)}.search-bar{margin-top:1.5rem}.search-bar input{width:100%;max-width:400px;padding:.75rem 1rem;border:1px solid #cbd5e1;border-radius:var(--border-radius);font-size:1rem;transition:border-color .2s}.search-bar input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.study-list,.class-list{display:grid;gap:1.5rem}.study-card,.class-card{background:var(--card-bg);padding:1.5rem;border-radius:var(--border-radius);box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s;display:block}details.class-card{padding:1rem}details.class-card[open]{transform:translateY(-2px)}details.class-card summary{list-style:none;cursor:pointer}details.class-card summary::-webkit-details-marker{display:none}details.class-card summary h3{margin:0;display:inline-block}.lesson{background:var(--card-bg);padding:.6rem .9rem;border-radius:12px;box-shadow:var(--shadow);transition:box-shadow .15s,transform .15s}.lesson+.lesson{margin-top:.85rem}.lesson.open{transform:translateY(-2px)}.lesson.completed{opacity:.9;border:1px solid rgba(59,130,246,.06)}.lesson-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.lesson-title{background:transparent;border:0;padding:0;text-align:left;display:flex;align-items:center;gap:.6rem;cursor:pointer;font-size:1rem;color:inherit}.lesson-title:focus{outline:2px solid rgba(59,130,246,.18);border-radius:8px}.lesson-title-text{font-weight:600}.lesson-chevron{color:var(--text-muted);font-size:.95rem}.lesson-actions{display:flex;gap:.5rem;align-items:center}.btn.small{background:transparent;border:1px solid rgba(15,23,42,.06);padding:.35rem .6rem;border-radius:8px;cursor:pointer;color:inherit}.btn.small[aria-pressed=true]{background:linear-gradient(90deg,#3b82f61f,#3b82f60f);border-color:#3b82f629}.lesson-content{margin-top:.7rem;color:var(--text-muted)}.lesson-desc{margin:0 0 .5rem}.progress-wrap{display:flex;align-items:center;gap:.75rem;max-width:360px}.progress-track{flex:1;height:10px;background:#0f172a0f;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--primary-hover));transition:width .3s ease}.progress-label{font-size:.85rem;color:var(--text-muted);min-width:76px;text-align:right}.lesson-subtitle{color:var(--text-muted);font-size:.9rem;margin-top:2px;max-width:56ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson.open .lesson-subtitle{display:none}.lesson-detail .detail-card{background:var(--card-bg);padding:1rem;border-radius:12px;box-shadow:var(--shadow)}.lesson-detail .detail-meta{display:flex;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:.75rem}.lesson-detail .estimate{color:var(--text-muted)}.lesson-detail h2{margin-top:0}.notes{margin-top:1rem}.notes label{display:block;font-weight:600;margin-bottom:.4rem}.notes textarea{width:100%;min-height:120px;border:1px solid rgba(15,23,42,.06);background:var(--card-bg);color:var(--text-color);padding:.6rem;border-radius:8px;resize:vertical}.study-card .meta{color:var(--text-muted);font-size:.9rem;margin-top:.4rem}.study-card .icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;margin-right:12px;background:linear-gradient(135deg,#3b82f617,#60a5fa0f)}.study-card-inner{display:flex;align-items:center;gap:1rem}.study-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a}@media(prefers-reduced-motion:reduce){.study-card,.class-card{transition:none}}.study-card h2,.class-card h3{margin:0 0 .5rem;color:#0f172a}.back-link{display:inline-block;margin-bottom:1rem;color:var(--primary-color);text-decoration:none;font-weight:500}.back-link:hover{text-decoration:underline}.no-results{text-align:center;font-style:italic}
