/* БАЗА — интерактивные узлы карты навыков */
.skill-node[role="button"]{cursor:pointer;position:relative;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,opacity .16s ease}
.skill-node[role="button"]:hover{transform:translateY(-2px);border-color:#cbc5ff;box-shadow:0 8px 20px rgba(64,55,145,.08)}
.skill-node[role="button"]:focus-visible{outline:3px solid rgba(111,92,255,.18);outline-offset:2px}

.skill-node.has-practice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:8px;row-gap:7px;align-items:center;opacity:1}
.skill-node-task-count{font-size:10px!important;font-weight:950!important;color:#5d50df!important;background:#eeebff;border-radius:999px;padding:4px 7px;white-space:nowrap}
.skill-node-task-progress{grid-column:2/-1;height:5px;border-radius:999px;background:#e8eaf3;overflow:hidden}
.skill-node-task-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--violet));transition:width .25s ease}
.skill-node.has-practice.mastered .skill-node-task-progress i{background:var(--green)}

/* Узел без банка задач не выглядит заблокированным: он кликабелен и честно
   сообщает, что практический контент ещё готовится. */
.skill-node.content-pending{opacity:.76;border-style:dashed;background:#fafbfe;display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:8px;align-items:center}
.skill-node.content-pending:hover{opacity:1;background:#fff}
.skill-node-pending-badge{font-size:9px!important;font-weight:900!important;color:#858ba0!important;background:#f0f1f5;border:1px solid #e2e4eb;border-radius:999px;padding:4px 7px;white-space:nowrap}

.skill-level-task-summary{display:block!important;margin-top:4px;color:#7e849c!important;font-size:10px!important;font-weight:800!important;text-transform:none!important;letter-spacing:0!important}

@media(max-width:680px){
  .skill-node.has-practice,.skill-node.content-pending{grid-template-columns:auto minmax(0,1fr) auto}
}
