/* Yukty LMS — frontend. Deep navy / violet system with light + dark themes. */
.ylms{
	--bg:#f6f7fb; --surface:#ffffff; --border:#e4e6f0; --text:#141a33; --muted:#6b7290;
	--accent:#7c5cff; --accent-2:#4c3fd4; --success:#22c55e; --chip:#eef0fa;
	font-family:'Inter',system-ui,-apple-system,sans-serif; color:var(--text);
	background:var(--bg); border-radius:20px; padding:28px; max-width:1200px; margin:0 auto;
}
.ylms[data-theme="dark"]{
	--bg:#0b1020; --surface:#141a33; --border:#252d52; --text:#e8eaf6; --muted:#8b93b8; --chip:#1d2547;
}
.ylms *{box-sizing:border-box}
.ylms a{text-decoration:none;color:inherit}
.ylms h1{font-size:26px;margin:0 0 4px}
.ylms h3,.ylms h4{margin:0}
.ylms-muted{color:var(--muted);font-size:13px}

/* Buttons & chips */
.ylms-btn{display:inline-block;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border:0;
	padding:11px 22px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:.2s;box-shadow:0 6px 18px rgba(124,92,255,.25)}
.ylms-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(124,92,255,.35);color:#fff}
.ylms-btn-ghost{background:var(--chip);color:var(--text);box-shadow:none}
.ylms-btn-done{background:var(--success);box-shadow:none;cursor:default}
.ylms-chip{display:inline-block;background:var(--chip);color:var(--text);border-radius:99px;padding:4px 12px;font-size:12px;font-weight:600}
.ylms-chip-accent{background:var(--accent);color:#fff}
.ylms-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;border-radius:99px;font-size:10px;padding:1px 5px}

/* Header */
.ylms-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.ylms-head-actions{display:flex;gap:10px;align-items:center}
.ylms-icon-btn{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:42px;height:42px;cursor:pointer;font-size:16px}
.ylms-search-wrap{position:relative}
#ylms-search{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:10px 16px;width:260px;font-size:14px}
.ylms-search-results{position:absolute;top:48px;left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:12px;z-index:50;max-height:320px;overflow:auto;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.ylms-search-results a{display:block;padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px}
.ylms-search-results a:hover{background:var(--chip)}
.ylms-search-results em{color:var(--accent);font-style:normal;font-size:11px;display:block}

/* Stats */
.ylms-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:24px}
.ylms-stat{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px;color:var(--muted);font-size:13px}
.ylms-stat span{display:block;font-size:26px;font-weight:700;color:var(--text)}

/* Tabs */
.ylms-tabs,.ylms-course-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--border);margin-bottom:22px}
.ylms-tabs button,.ylms-course-tabs button{background:none;border:0;color:var(--muted);padding:10px 14px;font-size:14px;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.ylms-tabs button.active,.ylms-course-tabs button.active{color:var(--accent);border-color:var(--accent)}
.ylms-tab,.ylms-ctab{display:none;animation:ylmsfade .25s ease}
.ylms-tab.active,.ylms-ctab.active{display:block}
@keyframes ylmsfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Continue card */
.ylms-continue{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border-radius:18px;padding:24px 28px;margin-bottom:22px;transition:.2s}
.ylms-continue:hover{transform:translateY(-2px);color:#fff}
.ylms-continue .ylms-muted{color:rgba(255,255,255,.75)}
.ylms-continue .ylms-progress{background:rgba(255,255,255,.25);margin:10px 0 6px}
.ylms-continue .ylms-progress i{background:#fff}
.ylms-eyebrow{font-size:11px;letter-spacing:.15em;text-transform:uppercase;opacity:.8}
.ylms-play{font-size:26px;background:rgba(255,255,255,.18);width:58px;height:58px;border-radius:50%;display:grid;place-items:center}

/* Cards grid */
.ylms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.ylms-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:.2s;display:block}
.ylms-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(20,26,51,.12)}
.ylms-card-thumb{height:130px;background:linear-gradient(135deg,#2a3358,#4c3fd4);background-size:cover;background-position:center}
.ylms-card-body{padding:16px}
.ylms-card-body h4{font-size:15px;margin-bottom:8px}
.ylms-card-meta{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap}

/* Progress bar */
.ylms-progress{background:var(--chip);border-radius:99px;height:7px;overflow:hidden;margin-bottom:5px}
.ylms-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:99px;transition:width .4s ease}

/* Rows (lists) */
.ylms-row{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px 18px;margin-bottom:10px;transition:.15s}
a.ylms-row:hover{border-color:var(--accent)}
.ylms-unread{border-left:3px solid var(--accent)}
.ylms-empty{color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:14px;padding:26px;text-align:center}

/* Profile */
.ylms-profile{display:flex;gap:18px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px}
.ylms-avatar{border-radius:50%}

/* ---------- Course page ---------- */
.ylms-course{max-width:1280px}
.ylms-player-layout{display:grid;grid-template-columns:1fr 330px;gap:24px}
.ylms-player{background:#000;border-radius:16px;overflow:hidden;aspect-ratio:16/9}
.ylms-player iframe{width:100%;height:100%;display:block}
.ylms-player-empty{color:#889;display:grid;place-items:center;height:100%}
.ylms-player-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:18px 0;flex-wrap:wrap}
.ylms-player-head h1{font-size:22px}

.ylms-curriculum{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px;align-self:start;position:sticky;top:24px}
.ylms-curriculum-head{margin-bottom:12px}
.ylms-lesson-list{list-style:none;margin:0;padding:0;counter-reset:none}
.ylms-lesson-list li{border-radius:10px;margin-bottom:4px}
.ylms-lesson-list li a{display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:14px;border-radius:10px}
.ylms-lesson-list li a em{margin-left:auto;font-style:normal;color:var(--muted);font-size:12px}
.ylms-lesson-list li:hover a{background:var(--chip)}
.ylms-lesson-list li.active a{background:var(--chip);color:var(--accent);font-weight:600}
.ylms-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);display:grid;place-items:center;font-size:11px;color:transparent;flex:none}
.ylms-lesson-list li.done .ylms-check{background:var(--success);border-color:var(--success);color:#fff}

/* Quiz */
.ylms-q{border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:14px;background:var(--surface)}
.ylms-q legend{font-weight:600;padding:0 6px}
.ylms-q label{display:block;padding:6px 4px;cursor:pointer}
#ylms-quiz-result{margin-top:14px;font-weight:600}

/* Discussion & reviews */
#ylms-discussion-form textarea,#ylms-review-form textarea{width:100%;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:12px;font-family:inherit;margin-bottom:10px}
.ylms-thread{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px;margin:12px 0}
.ylms-thread-r{border-left:3px solid var(--accent);margin:10px 0 0 14px;padding:8px 14px;background:var(--chip);border-radius:0 10px 10px 0}
.ylms-stars button{background:none;border:0;font-size:26px;color:var(--border);cursor:pointer;padding:2px}
.ylms-stars button.on{color:#f6b93b}

/* Gate (locked course) */
.ylms-gate{display:grid;place-items:center;padding:20px 0}
.ylms-gate-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:34px;max-width:640px;text-align:center}
.ylms-gate-thumb{width:100%;border-radius:14px;margin-bottom:18px}
.ylms-gate-desc{text-align:left;margin:16px 0 22px;color:var(--muted)}
.ylms-gate-card .ylms-card-meta{justify-content:center}
.ylms-invite{display:flex;gap:10px;justify-content:center}
.ylms-invite input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:11px 16px;text-transform:uppercase;letter-spacing:.1em}
.ylms-login{text-align:center;padding:40px}

/* Responsive */
@media(max-width:980px){
	.ylms-player-layout{grid-template-columns:1fr}
	.ylms-curriculum{position:static}
}
@media(max-width:640px){
	.ylms{padding:16px;border-radius:0}
	#ylms-search{width:100%}
	.ylms-head-actions{width:100%}
	.ylms-search-wrap{flex:1}
}
@media(prefers-reduced-motion:reduce){
	.ylms *{animation:none!important;transition:none!important}
}
