/* БАЗА — большая карта навыков */
.skill-map-section{padding:92px 0 78px;scroll-margin-top:82px}
.skill-map-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:end;margin-bottom:30px}
.skill-map-head h2{font-size:clamp(32px,4vw,52px);line-height:1.02;letter-spacing:-1.7px;margin:10px 0 14px;max-width:900px}
.skill-map-head p{max-width:820px;color:var(--muted);font-size:16px;line-height:1.65;margin:0}
.skill-map-counter{min-width:126px;padding:20px 22px;border:1px solid var(--line);border-radius:24px;background:#fff;text-align:center;box-shadow:var(--shadow)}
.skill-map-counter b{display:block;font-size:38px;line-height:1;color:var(--violet);letter-spacing:-1px}.skill-map-counter span{display:block;margin-top:7px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}
.skill-map-tools{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;margin-bottom:24px;position:sticky;top:68px;z-index:4;padding:12px 0;background:rgba(251,252,255,.94);backdrop-filter:blur(12px)}
.skill-search{width:min(430px,100%);height:48px;border:1px solid var(--line);border-radius:15px;background:#fff;padding:0 16px;font:inherit;color:var(--ink);outline:none;box-shadow:0 8px 24px rgba(34,42,86,.05)}
.skill-search:focus{border-color:#bcb4ff;box-shadow:0 0 0 4px rgba(111,92,255,.08)}
.skill-filter{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.skill-filter-btn{border:1px solid var(--line);background:#fff;color:#656d8b;border-radius:999px;padding:9px 12px;font-weight:800;font-size:12px;cursor:pointer;transition:.18s ease}
.skill-filter-btn:hover,.skill-filter-btn.active{border-color:#cfc9ff;background:#f0eeff;color:#5749d9;transform:translateY(-1px)}
.skill-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.skill-section-card{appearance:none;text-align:left;border:1px solid var(--line);background:#fff;border-radius:22px;padding:19px;cursor:pointer;color:inherit;min-height:260px;display:flex;flex-direction:column;box-shadow:0 10px 32px rgba(34,42,86,.055);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.skill-section-card:hover{transform:translateY(-4px);border-color:#cfc9ff;box-shadow:0 18px 40px rgba(34,42,86,.10)}
.skill-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.skill-card-icon{min-width:48px;height:48px;padding:0 9px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#eeecff,#f7f6ff);border:1px solid #dfdbff;color:#594ce0;font-weight:950;font-size:16px}.skill-card-grade{font-size:11px;font-weight:900;color:#777e98;background:#f5f6fa;padding:6px 9px;border-radius:999px}
.skill-section-card h3{font-size:20px;letter-spacing:-.35px;margin:16px 0 7px}.skill-section-card p{font-size:13px;color:var(--muted);line-height:1.5;margin:0;min-height:58px}
.skill-card-meta{display:flex;gap:13px;color:#868ca2;font-size:11px;font-weight:800;margin-top:auto;padding-top:15px}.skill-card-progress{height:6px;background:#eceef6;border-radius:999px;overflow:hidden;margin:11px 0 9px}.skill-card-progress i{height:100%;display:block;background:linear-gradient(90deg,var(--blue),var(--violet));border-radius:999px}
.skill-card-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:11px;color:#7d849b}.skill-card-bottom b{color:#6658e8;font-size:12px}.skill-empty{grid-column:1/-1;padding:50px;text-align:center;border:1px dashed var(--line);border-radius:22px;color:var(--muted)}

.skill-detail-overlay{position:fixed;inset:0;z-index:1000;background:rgba(14,17,32,.52);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:22px}.skill-detail-overlay.open{display:flex}
.skill-detail-shell{position:relative;width:min(1000px,100%);max-height:92vh;overflow:auto;background:#fbfcff;border:1px solid rgba(255,255,255,.65);border-radius:30px;box-shadow:0 28px 90px rgba(15,20,55,.28);padding:34px}
.skill-detail-close{position:sticky;float:right;top:0;right:0;z-index:5;width:40px;height:40px;border-radius:13px;border:1px solid var(--line);background:#fff;color:#6b7188;font-size:25px;line-height:1;cursor:pointer}.skill-detail-close:hover{background:#f3f2ff;color:#5a4ce0}
.skill-detail-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:center;padding:4px 52px 25px 0;border-bottom:1px solid var(--line)}
.skill-detail-icon{min-width:70px;height:70px;padding:0 12px;border-radius:21px;background:linear-gradient(145deg,#e9e6ff,#f7f6ff);border:1px solid #dcd7ff;color:#5b4de1;display:grid;place-items:center;font-size:21px;font-weight:950}.skill-detail-kicker{color:var(--violet);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.8px}.skill-detail-head h2{font-size:34px;line-height:1.05;letter-spacing:-1px;margin:5px 0 7px}.skill-detail-head p{margin:0;color:var(--muted);line-height:1.55;font-size:14px}.skill-detail-score{text-align:center;padding:13px 15px;background:#fff;border:1px solid var(--line);border-radius:18px;min-width:94px}.skill-detail-score b{font-size:25px;display:block;color:#5d50df}.skill-detail-score span{font-size:10px;color:var(--muted);font-weight:800}
.skill-legend{display:flex;gap:18px;flex-wrap:wrap;padding:18px 0 10px;font-size:11px;font-weight:800;color:#777e95}.skill-legend span{display:flex;align-items:center;gap:6px}.skill-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.skill-legend .mastered{background:var(--green)}.skill-legend .active{background:var(--violet)}.skill-legend .available{background:#9ba2bb}.skill-legend .locked{background:#d5d9e7}
.skill-level-road{padding:10px 0 6px}.skill-level-row{display:grid;grid-template-columns:55px minmax(0,1fr);gap:14px;position:relative}.skill-level-marker{display:flex;flex-direction:column;align-items:center}.skill-level-marker span{position:relative;z-index:2;width:39px;height:39px;border-radius:13px;background:#f0f1f6;border:1px solid #e0e3ed;display:grid;place-items:center;color:#7d8499;font-weight:950;font-size:13px}.skill-level-marker i{width:2px;background:#e5e7f0;flex:1;min-height:34px}.skill-level-row:last-child .skill-level-marker i{display:none}.skill-level-row.mastered .skill-level-marker span{background:#e9f9f1;border-color:#c4efd9;color:#23865d}.skill-level-row.active .skill-level-marker span{background:#eeebff;border-color:#d6d0ff;color:#5b4dde}.skill-level-row.available .skill-level-marker span{background:#f5f6fa;color:#69708a}
.skill-level-card{border:1px solid var(--line);border-radius:20px;background:#fff;padding:18px;margin-bottom:14px;box-shadow:0 7px 22px rgba(34,42,86,.035)}.skill-level-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.skill-level-title small{display:block;color:#9298aa;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.5px}.skill-level-title h3{font-size:18px;margin:3px 0 0}.skill-status{border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.35px;background:#f1f2f6;color:#82889c}.skill-status.mastered{background:#e9f9f1;color:#23865d}.skill-status.active{background:#eeebff;color:#5b4dde}.skill-status.available{background:#f3f4f8;color:#69708a}
.skill-node-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.skill-node{display:flex;gap:8px;align-items:center;border:1px solid #eceef5;border-radius:13px;padding:10px;background:#fafbfe;min-height:50px}.skill-node>span{font-size:9px;font-weight:900;color:#9ba1b2}.skill-node b{font-size:11px;line-height:1.3}.skill-node.mastered{background:#f3fcf7;border-color:#dcefe5}.skill-node.active{background:#f6f4ff;border-color:#e2ddff}.skill-node.locked,.skill-node.planned{opacity:.58}
.skill-detail-footer{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:12px;padding:20px;border-radius:20px;background:linear-gradient(135deg,#f4f2ff,#f8f9ff);border:1px solid #e4e0ff}.skill-detail-footer b{font-size:14px}.skill-detail-footer p{margin:5px 0 0;font-size:12px;line-height:1.5;color:var(--muted);max-width:620px}.skill-detail-footer .primary{white-space:nowrap}

/* Guided path: визуально ведём по цепочке, но ни один узел не блокируется. */
.skill-map-grid.skill-path-view{display:block;max-width:980px;margin:0 auto}
.skill-path-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;margin-bottom:18px;border:1px solid #e1ddff;border-radius:22px;background:linear-gradient(135deg,#f8f7ff,#fff);box-shadow:0 10px 30px rgba(34,42,86,.045)}
.skill-path-intro small{display:block;color:#756be3;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.7px}.skill-path-intro h3{font-size:24px;margin:4px 0 5px;letter-spacing:-.45px}.skill-path-intro p{margin:0;max-width:690px;color:var(--muted);font-size:12px;line-height:1.55}.skill-path-intro>span{flex:0 0 auto;padding:8px 11px;border-radius:999px;background:#eeebff;color:#5b4dde;font-size:10px;font-weight:900}
.skill-path{position:relative;padding:18px 0 8px}.skill-path::before{content:"";position:absolute;top:34px;bottom:38px;left:50%;width:4px;transform:translateX(-50%);border-radius:999px;background:linear-gradient(180deg,#d9d4ff,#ebe9f8 72%,#f1f2f7)}
.skill-path-step{appearance:none;position:relative;z-index:1;width:100%;min-height:122px;border:0;background:transparent;color:inherit;display:grid;grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);align-items:center;padding:10px 0;cursor:pointer;text-align:left}
.skill-path-copy{grid-column:1;justify-self:end;width:min(340px,100%);padding:15px 17px;border:1px solid #e5e6ef;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(34,42,86,.045);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.skill-path-step:nth-child(even) .skill-path-copy{grid-column:3;justify-self:start}.skill-path-step:hover .skill-path-copy{transform:translateY(-2px);border-color:#cbc5ff;box-shadow:0 14px 30px rgba(34,42,86,.08)}
.skill-path-copy small{display:block;color:#969bad;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.5px}.skill-path-copy strong{display:block;margin:4px 0 5px;font-size:16px;letter-spacing:-.2px}.skill-path-copy>span{display:block;color:var(--muted);font-size:11px;line-height:1.42}.skill-path-copy em{display:block;margin-top:9px;color:#858ca3;font-size:9px;font-style:normal;font-weight:850}
.skill-path-node{grid-column:2;grid-row:1;justify-self:center;width:76px;height:76px;border-radius:27px;display:grid;place-items:center;background:#fff;border:4px solid #dfe2ec;box-shadow:0 7px 0 #cfd3df,0 13px 25px rgba(45,50,80,.09);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.skill-path-node i{display:grid;place-items:center;width:48px;height:48px;border-radius:18px;background:#f2f3f7;color:#7e8499;font-style:normal;font-size:14px;font-weight:950}.skill-path-step:hover .skill-path-node{transform:translateY(-3px)}
.skill-path-step.recommended .skill-path-node{border-color:#7667ff;box-shadow:0 7px 0 #584bdd,0 13px 28px rgba(91,77,222,.24)}.skill-path-step.recommended .skill-path-node i{background:#5d50df;color:#fff}.skill-path-step.recommended .skill-path-copy{border-color:#d5d0ff;background:#fbfaff}.skill-path-step.recommended .skill-path-copy small{color:#5b4dde}
.skill-path-step.active .skill-path-node{border-color:#8e82ff;box-shadow:0 7px 0 #6659df,0 13px 28px rgba(91,77,222,.18)}.skill-path-step.active .skill-path-node i{background:#eeeaff;color:#5749d9}.skill-path-step.active .skill-path-copy small{color:#6659df}
.skill-path-step.mastered .skill-path-node{border-color:#63c99d;box-shadow:0 7px 0 #32a875,0 13px 28px rgba(50,168,117,.16)}.skill-path-step.mastered .skill-path-node i{background:#e7f8ef;color:#25865e}.skill-path-step.mastered .skill-path-copy{border-color:#d7eee3}.skill-path-step.mastered .skill-path-copy small{color:#25865e}
.skill-path-step.available .skill-path-copy{opacity:.84}.skill-path-step.available:hover .skill-path-copy{opacity:1}
.skill-path-freedom{display:flex;align-items:center;justify-content:center;gap:8px;margin:15px auto 0;padding:13px 16px;width:min(620px,100%);border:1px dashed #d8d9e5;border-radius:16px;background:#fafbfe;color:#777e94;font-size:11px;line-height:1.4}.skill-path-freedom b{color:#555d77}.skill-path-freedom span{color:#7f869c}

@media(max-width:980px){.skill-map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-map-tools{position:static;display:block}.skill-filter{justify-content:flex-start;margin-top:12px}.skill-search{width:100%}.skill-node-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.skill-map-section{padding:64px 0 52px}.skill-map-head{grid-template-columns:1fr}.skill-map-counter{justify-self:start}.skill-map-grid{grid-template-columns:1fr}.skill-section-card{min-height:0}.skill-detail-overlay{padding:8px}.skill-detail-shell{padding:20px 15px;border-radius:22px;max-height:96vh}.skill-detail-head{grid-template-columns:auto 1fr;padding-right:42px}.skill-detail-score{grid-column:1/-1;text-align:left}.skill-detail-score b,.skill-detail-score span{display:inline;margin-right:6px}.skill-detail-head h2{font-size:27px}.skill-detail-icon{min-width:56px;height:56px;border-radius:17px}.skill-level-row{grid-template-columns:39px minmax(0,1fr);gap:8px}.skill-level-marker span{width:32px;height:32px;border-radius:10px}.skill-level-card{padding:14px}.skill-node-list{grid-template-columns:1fr}.skill-detail-footer{align-items:stretch;flex-direction:column}.skill-detail-footer .primary{width:100%}.skill-filter{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.skill-filter-btn{white-space:nowrap}
  .skill-path-intro{align-items:flex-start;padding:17px;gap:12px}.skill-path-intro h3{font-size:21px}.skill-path-intro>span{display:none}
  .skill-path{padding-left:4px}.skill-path::before{left:34px;transform:none;width:3px}.skill-path-step{grid-template-columns:68px minmax(0,1fr);min-height:108px;padding:8px 0}.skill-path-node{grid-column:1;width:60px;height:60px;border-radius:21px;border-width:3px;box-shadow:0 5px 0 #cfd3df,0 9px 20px rgba(45,50,80,.08)}.skill-path-node i{width:38px;height:38px;border-radius:14px;font-size:12px}.skill-path-copy,.skill-path-step:nth-child(even) .skill-path-copy{grid-column:2;justify-self:stretch;width:auto;padding:13px 14px}.skill-path-copy strong{font-size:15px}.skill-path-freedom{align-items:flex-start;flex-direction:column;gap:3px}
}
